#ifndef __CINT__
#include <AliRsnCutPIDNSigma.h>
#include <PWGLF/RESONANCES/AliRsnCutTrackQuality.h>
#endif
Int_t AddRsnDaughterCutsRhoNsigma(AliPID::EParticleType type1,AliPID::EParticleType type2,TString opt,Bool_t isRsnMini=kFALSE,AliRsnInputHandler *rsnIH=0,AliAnalysisTaskSE *task=0)
{
if (!rsnIH) return 0;
Bool_t valid = kTRUE;
Int_t isPP = AliAnalysisManager::GetGlobalInt("rsnIsPP",valid);
Bool_t usePPCut = kFALSE;
if (isPP && (opt.Contains("usePP"))) usePPCut = kTRUE;
// === USER HAS TO SET CORRECT NUMBER OF CUTS SETS =====
Int_t numberOfCuts = 1;
//---------------------------------------------
// Define single cuts
//---------------------------------------------
Printf("AddRsnDaughterCutsRho Option : %s",opt.Data());
Double_t nSigmaTPC=3.0;
Double_t nSigmaTOF=3.0;
Double_t etaRange=0.8;
Bool_t useTPC_Pi=kFALSE;
Bool_t useTOF_Pi=kFALSE;
if (opt.Contains("qualityonly")) {
useTPC_Pi=kFALSE;
useTOF_Pi=kFALSE;
} else if (!opt.Contains("nsig")) {
useTPC_Pi=kTRUE;
useTOF_Pi=kTRUE;
}
if (opt.Contains("PiTPCnsig")) useTPC_Pi=kTRUE;
if (opt.Contains("PiTOFnsig")) useTOF_Pi=kTRUE;
if (opt.Contains("PiTPCnsig10")) nSigmaTPC = 1.0;
if (opt.Contains("PiTPCnsig15")) nSigmaTPC = 1.5;
if (opt.Contains("PiTPCnsig20")) nSigmaTPC = 2.0;
if (opt.Contains("PiTPCnsig25")) nSigmaTPC = 2.5;
if (opt.Contains("PiTPCnsig30")) nSigmaTPC = 3.0;
if (opt.Contains("PiTOFnsig10")) nSigmaTOF = 1.0;
if (opt.Contains("PiTOFnsig15")) nSigmaTOF = 1.5;
if (opt.Contains("PiTOFnsig20")) nSigmaTOF = 2.0;
if (opt.Contains("PiTOFnsig25")) nSigmaTOF = 2.5;
if (opt.Contains("PiTOFnsig30")) nSigmaTOF = 3.0;
Bool_t usePDG=kFALSE;
if (opt.Contains("pdg")) {
Printf("Using PDG");
usePDG = kTRUE;
}
Bool_t useEta = kFALSE;
if (opt.Contains("eta")) {
Printf("Using ETA range (%.2f,%.2f)",-etaRange,etaRange);
useEta = kTRUE;
}
//---------------------------------------------
// Combine cuts
//---------------------------------------------
TString cutname = "Pi_Rho";
if (!opt.IsNull()) cutname += Form("_%s",opt.Data());
AliRsnCutSet *cuts = new AliRsnCutSet(cutname.Data(), AliRsnTarget::kDaughter);
TString scheme="";
AliRsnCutTrackQuality *qualityCut = new AliRsnCutTrackQuality("cutQuatityPi");
qualityCut->SetDefaults2010();
cuts->AddCut(qualityCut);
if (!scheme.IsNull()) scheme += "&";
scheme += qualityCut->GetName();
if (useTPC_Pi) {
AliRsnCutPIDNSigma *cutPiTPC = new AliRsnCutPIDNSigma("cutPIDNSigmaTPCPi",AliPID::kPion,AliRsnCutPIDNSigma::kTPC);
cutPiTPC->SinglePIDRange(nSigmaTPC);
cuts->AddCut(cutPiTPC);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPiTPC->GetName();
}
if (useTOF_Pi) {
AliRsnCutPIDNSigma *cutPiTOF = new AliRsnCutPIDNSigma("cutPIDNSigmaTOFPi",AliPID::kPion,AliRsnCutPIDNSigma::kTOF);
cutPiTOF->SinglePIDRange(nSigmaTOF);
cuts->AddCut(cutPiTOF);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPiTOF->GetName();
}
if (useEta) {
Printf("Adding ETA ...");
AliRsnValueDaughter *valEta = new AliRsnValueDaughter(Form("val%sETA%s",AliPID::ParticleName(type1),opt.Data()),AliRsnValueDaughter::kEta);
AliRsnCutValue *cutEta = new AliRsnCutValue(Form("cut%sETA%s",AliPID::ParticleName(type1),opt.Data()),-etaRange,etaRange);
cutEta->SetTargetType(AliRsnTarget::kDaughter);
cutEta->SetValueObj(valEta);
cuts->AddCut(cutEta);
if (!scheme.IsNull()) scheme += "&";
scheme += cutEta->GetName();
}
if (usePDG) {
Printf("Adding PDG ...");
AliRsnCutPID *cutPDG = new AliRsnCutPID(Form("cut%sPDG%s",AliPID::ParticleName(type1),opt.Data()),type1,0.0,kTRUE);
cuts->AddCut(cutPDG);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPDG->GetName();
}
Printf ("CUT Scheme is '%s'",scheme.Data());
cuts->SetCutScheme(scheme.Data());
if (opt.Contains("mon")) {
AddMonitorOutput(cuts->GetMonitorOutput(),opt);
}
if (isRsnMini) {
AliRsnMiniAnalysisTask *taskRsnMini = dynamic_cast<AliRsnMiniAnalysisTask *>(task);
if (taskRsnMini) {
taskRsnMini->AddTrackCuts(cuts);
}
} else {
AliRsnDaughterSelector *sel = rsnIH->GetSelector();
// sel->SetLabelCheck(kFALSE);
sel->Add(cuts, kTRUE);
}
return numberOfCuts;
}
AddRsnDaughterCutsRhoNsigma.C:1 AddRsnDaughterCutsRhoNsigma.C:2 AddRsnDaughterCutsRhoNsigma.C:3 AddRsnDaughterCutsRhoNsigma.C:4 AddRsnDaughterCutsRhoNsigma.C:5 AddRsnDaughterCutsRhoNsigma.C:6 AddRsnDaughterCutsRhoNsigma.C:7 AddRsnDaughterCutsRhoNsigma.C:8 AddRsnDaughterCutsRhoNsigma.C:9 AddRsnDaughterCutsRhoNsigma.C:10 AddRsnDaughterCutsRhoNsigma.C:11 AddRsnDaughterCutsRhoNsigma.C:12 AddRsnDaughterCutsRhoNsigma.C:13 AddRsnDaughterCutsRhoNsigma.C:14 AddRsnDaughterCutsRhoNsigma.C:15 AddRsnDaughterCutsRhoNsigma.C:16 AddRsnDaughterCutsRhoNsigma.C:17 AddRsnDaughterCutsRhoNsigma.C:18 AddRsnDaughterCutsRhoNsigma.C:19 AddRsnDaughterCutsRhoNsigma.C:20 AddRsnDaughterCutsRhoNsigma.C:21 AddRsnDaughterCutsRhoNsigma.C:22 AddRsnDaughterCutsRhoNsigma.C:23 AddRsnDaughterCutsRhoNsigma.C:24 AddRsnDaughterCutsRhoNsigma.C:25 AddRsnDaughterCutsRhoNsigma.C:26 AddRsnDaughterCutsRhoNsigma.C:27 AddRsnDaughterCutsRhoNsigma.C:28 AddRsnDaughterCutsRhoNsigma.C:29 AddRsnDaughterCutsRhoNsigma.C:30 AddRsnDaughterCutsRhoNsigma.C:31 AddRsnDaughterCutsRhoNsigma.C:32 AddRsnDaughterCutsRhoNsigma.C:33 AddRsnDaughterCutsRhoNsigma.C:34 AddRsnDaughterCutsRhoNsigma.C:35 AddRsnDaughterCutsRhoNsigma.C:36 AddRsnDaughterCutsRhoNsigma.C:37 AddRsnDaughterCutsRhoNsigma.C:38 AddRsnDaughterCutsRhoNsigma.C:39 AddRsnDaughterCutsRhoNsigma.C:40 AddRsnDaughterCutsRhoNsigma.C:41 AddRsnDaughterCutsRhoNsigma.C:42 AddRsnDaughterCutsRhoNsigma.C:43 AddRsnDaughterCutsRhoNsigma.C:44 AddRsnDaughterCutsRhoNsigma.C:45 AddRsnDaughterCutsRhoNsigma.C:46 AddRsnDaughterCutsRhoNsigma.C:47 AddRsnDaughterCutsRhoNsigma.C:48 AddRsnDaughterCutsRhoNsigma.C:49 AddRsnDaughterCutsRhoNsigma.C:50 AddRsnDaughterCutsRhoNsigma.C:51 AddRsnDaughterCutsRhoNsigma.C:52 AddRsnDaughterCutsRhoNsigma.C:53 AddRsnDaughterCutsRhoNsigma.C:54 AddRsnDaughterCutsRhoNsigma.C:55 AddRsnDaughterCutsRhoNsigma.C:56 AddRsnDaughterCutsRhoNsigma.C:57 AddRsnDaughterCutsRhoNsigma.C:58 AddRsnDaughterCutsRhoNsigma.C:59 AddRsnDaughterCutsRhoNsigma.C:60 AddRsnDaughterCutsRhoNsigma.C:61 AddRsnDaughterCutsRhoNsigma.C:62 AddRsnDaughterCutsRhoNsigma.C:63 AddRsnDaughterCutsRhoNsigma.C:64 AddRsnDaughterCutsRhoNsigma.C:65 AddRsnDaughterCutsRhoNsigma.C:66 AddRsnDaughterCutsRhoNsigma.C:67 AddRsnDaughterCutsRhoNsigma.C:68 AddRsnDaughterCutsRhoNsigma.C:69 AddRsnDaughterCutsRhoNsigma.C:70 AddRsnDaughterCutsRhoNsigma.C:71 AddRsnDaughterCutsRhoNsigma.C:72 AddRsnDaughterCutsRhoNsigma.C:73 AddRsnDaughterCutsRhoNsigma.C:74 AddRsnDaughterCutsRhoNsigma.C:75 AddRsnDaughterCutsRhoNsigma.C:76 AddRsnDaughterCutsRhoNsigma.C:77 AddRsnDaughterCutsRhoNsigma.C:78 AddRsnDaughterCutsRhoNsigma.C:79 AddRsnDaughterCutsRhoNsigma.C:80 AddRsnDaughterCutsRhoNsigma.C:81 AddRsnDaughterCutsRhoNsigma.C:82 AddRsnDaughterCutsRhoNsigma.C:83 AddRsnDaughterCutsRhoNsigma.C:84 AddRsnDaughterCutsRhoNsigma.C:85 AddRsnDaughterCutsRhoNsigma.C:86 AddRsnDaughterCutsRhoNsigma.C:87 AddRsnDaughterCutsRhoNsigma.C:88 AddRsnDaughterCutsRhoNsigma.C:89 AddRsnDaughterCutsRhoNsigma.C:90 AddRsnDaughterCutsRhoNsigma.C:91 AddRsnDaughterCutsRhoNsigma.C:92 AddRsnDaughterCutsRhoNsigma.C:93 AddRsnDaughterCutsRhoNsigma.C:94 AddRsnDaughterCutsRhoNsigma.C:95 AddRsnDaughterCutsRhoNsigma.C:96 AddRsnDaughterCutsRhoNsigma.C:97 AddRsnDaughterCutsRhoNsigma.C:98 AddRsnDaughterCutsRhoNsigma.C:99 AddRsnDaughterCutsRhoNsigma.C:100 AddRsnDaughterCutsRhoNsigma.C:101 AddRsnDaughterCutsRhoNsigma.C:102 AddRsnDaughterCutsRhoNsigma.C:103 AddRsnDaughterCutsRhoNsigma.C:104 AddRsnDaughterCutsRhoNsigma.C:105 AddRsnDaughterCutsRhoNsigma.C:106 AddRsnDaughterCutsRhoNsigma.C:107 AddRsnDaughterCutsRhoNsigma.C:108 AddRsnDaughterCutsRhoNsigma.C:109 AddRsnDaughterCutsRhoNsigma.C:110 AddRsnDaughterCutsRhoNsigma.C:111 AddRsnDaughterCutsRhoNsigma.C:112 AddRsnDaughterCutsRhoNsigma.C:113 AddRsnDaughterCutsRhoNsigma.C:114 AddRsnDaughterCutsRhoNsigma.C:115 AddRsnDaughterCutsRhoNsigma.C:116 AddRsnDaughterCutsRhoNsigma.C:117 AddRsnDaughterCutsRhoNsigma.C:118 AddRsnDaughterCutsRhoNsigma.C:119 AddRsnDaughterCutsRhoNsigma.C:120 AddRsnDaughterCutsRhoNsigma.C:121 AddRsnDaughterCutsRhoNsigma.C:122 AddRsnDaughterCutsRhoNsigma.C:123 AddRsnDaughterCutsRhoNsigma.C:124 AddRsnDaughterCutsRhoNsigma.C:125 AddRsnDaughterCutsRhoNsigma.C:126 AddRsnDaughterCutsRhoNsigma.C:127 AddRsnDaughterCutsRhoNsigma.C:128 AddRsnDaughterCutsRhoNsigma.C:129 AddRsnDaughterCutsRhoNsigma.C:130 AddRsnDaughterCutsRhoNsigma.C:131 AddRsnDaughterCutsRhoNsigma.C:132 AddRsnDaughterCutsRhoNsigma.C:133 AddRsnDaughterCutsRhoNsigma.C:134 AddRsnDaughterCutsRhoNsigma.C:135 AddRsnDaughterCutsRhoNsigma.C:136