#ifndef __CINT__
#endif
Int_t AddRsnDaughterCutsLambdaNsigma(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);
Int_t useCommonQualityCut = AliAnalysisManager::GetGlobalInt("rsnCommonQualityCut",valid);
Bool_t usePPCut = kFALSE;
if (isPP && (opt.Contains("usePP"))) usePPCut = kTRUE;
// === USER HAS TO SET CORRECT NUMBER OF CUTS SETS =====
Int_t numberOfCuts = 2;
//---------------------------------------------
// Define single cutsP
//---------------------------------------------
Printf("AddRsnDaughterCutsLambda Option : %s",opt.Data());
Double_t nSigmaTPC_P=3.0;
Double_t nSigmaTPC_K=3.0;
Double_t nSigmaTOF_P=3.0;
Double_t nSigmaTOF_K=3.0;
Double_t etaRange=0.8;
// default values
Double_t nSigmaTPC_P=3.0;
Double_t nSigmaTPC_K=3.0;
Double_t nSigmaTOF_P=3.0;
Double_t nSigmaTOF_K=3.0;
Double_t etaRange=0.8;
Bool_t useTPC_P=kFALSE;
Bool_t useTOF_P=kFALSE;
Bool_t useTPC_K=kFALSE;
Bool_t useTOF_K=kFALSE;
if (opt.Contains("qualityonly")) {
useTPC_P=kFALSE;
useTOF_P=kFALSE;
useTPC_K=kFALSE;
useTOF_K=kFALSE;
} else if (!opt.Contains("nsig")) {
useTPC_P=kTRUE;
useTOF_P=kTRUE;
useTPC_K=kTRUE;
useTOF_K=kTRUE;
}
if (opt.Contains("PTPCnsig")) useTPC_P=kTRUE;
if (opt.Contains("PTOFnsig")) useTOF_P=kTRUE;
if (opt.Contains("KTPCnsig")) useTPC_K=kTRUE;
if (opt.Contains("KTOFnsig")) useTOF_K=kTRUE;
if (opt.Contains("PTPCnsig10")) nSigmaTPC_P = 1.0;
if (opt.Contains("PTPCnsig15")) nSigmaTPC_P = 1.5;
if (opt.Contains("PTPCnsig20")) nSigmaTPC_P = 2.0;
if (opt.Contains("PTPCnsig25")) nSigmaTPC_P = 2.5;
if (opt.Contains("PTPCnsig30")) nSigmaTPC_P = 3.0;
if (opt.Contains("KTPCnsig10")) nSigmaTPC_K = 1.0;
if (opt.Contains("KTPCnsig15")) nSigmaTPC_K = 1.5;
if (opt.Contains("KTPCnsig20")) nSigmaTPC_K = 2.0;
if (opt.Contains("KTPCnsig25")) nSigmaTPC_K = 2.5;
if (opt.Contains("KTPCnsig30")) nSigmaTPC_K = 3.0;
if (opt.Contains("PTOFnsig10")) nSigmaTOF_P = 1.0;
if (opt.Contains("PTOFnsig15")) nSigmaTOF_P = 1.5;
if (opt.Contains("PTOFnsig20")) nSigmaTOF_P = 2.0;
if (opt.Contains("PTOFnsig25")) nSigmaTOF_P = 2.5;
if (opt.Contains("PTOFnsig30")) nSigmaTOF_P = 3.0;
if (opt.Contains("KTOFnsig10")) nSigmaTOF_K = 1.0;
if (opt.Contains("KTOFnsig15")) nSigmaTOF_K = 1.5;
if (opt.Contains("KTOFnsig20")) nSigmaTOF_K = 2.0;
if (opt.Contains("KTOFnsig25")) nSigmaTOF_K = 2.5;
if (opt.Contains("KTOFnsig30")) nSigmaTOF_K = 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;
}
// PROTON SETTINGS ===========================================
TString scheme="";
TString cutname = "p_Lambda";
if (!opt.IsNull()) cutname += Form("_%s",opt.Data());
AliRsnCutSet *cutsP = new AliRsnCutSet(cutname.Data(), AliRsnTarget::kDaughter);
AliRsnCutTrackQuality *qualityCutP = new AliRsnCutTrackQuality("cutQuatityP");
if (useCommonQualityCut>=0) {
qualityCutP->SetAODTestFilterBit(useCommonQualityCut);
} else {
qualityCutP->SetDefaults2010();
}
cutsP->AddCut(qualityCutP);
if (!scheme.IsNull()) scheme += "&";
scheme += qualityCutP->GetName();
if (useTPC_P) {
AliRsnCutPIDNSigma *cutPTPC = new AliRsnCutPIDNSigma("cutNSigmaTPCP",AliPID::kProton,AliRsnCutPIDNSigma::kTPC);
cutPTPC->SinglePIDRange(nSigmaTPC_P);
cutsP->AddCut(cutPTPC);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPTPC->GetName();
}
if (useTOF_P) {
AliRsnCutPIDNSigma *cutPTOF = new AliRsnCutPIDNSigma("cutNSigmaTOFP",AliPID::kProton,AliRsnCutPIDNSigma::kTOF);
cutPTOF->SinglePIDRange(nSigmaTOF_P);
cutsP->AddCut(cutPTOF);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPTOF->GetName();
}
if (useEta) {
AliRsnValueDaughter *valEtaP = new AliRsnValueDaughter(Form("val%sETA%s",AliPID::ParticleName(type1),opt.Data()),AliRsnValueDaughter::kEta);
AliRsnCutValue *cutEtaP = new AliRsnCutValue(Form("cut%sETA%s",AliPID::ParticleName(type1),opt.Data()),-etaRange,etaRange);
cutEtaP->SetTargetType(AliRsnTarget::kDaughter);
cutEtaP->SetValueObj(valEtaP);
cutsP->AddCut(cutEtaP);
if (!scheme.IsNull()) scheme += "&";
scheme += cutEtaP->GetName();
}
if (usePDG) {
AliRsnCutPID *cutPDGP = new AliRsnCutPID(Form("cut%sPDG%s",AliPID::ParticleName(type1),opt.Data()),type1,0.0,kTRUE);
cutsP->AddCut(cutPDGP);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPDGP->GetName();
}
Printf ("CUT Scheme for PROTON is '%s'",scheme.Data());
cutsP->SetCutScheme(scheme.Data());
// END PROTON =======================================
// KAON SETTINGS =======================================
scheme="";
cutname = "K_Lambda";
if (!opt.IsNull()) cutname += Form("_%s",opt.Data());
AliRsnCutSet *cutsK = new AliRsnCutSet(cutname.Data(), AliRsnTarget::kDaughter);
AliRsnCutTrackQuality *qualityCutK = new AliRsnCutTrackQuality("cutQuatityK");
if (useCommonQualityCut>=0) {
qualityCutK->SetAODTestFilterBit(useCommonQualityCut);
} else {
qualityCutK->SetDefaults2010();
}
cutsK->AddCut(qualityCutK);
if (!scheme.IsNull()) scheme += "&";
scheme += qualityCutK->GetName();
if (useTPC_K) {
AliRsnCutPIDNSigma *cutKTPC = new AliRsnCutPIDNSigma("cutNSigmaTPCK",AliPID::kKaon,AliRsnCutPIDNSigma::kTPC);
cutKTPC->SinglePIDRange(nSigmaTPC_K);
cutsK->AddCut(cutKTPC);
if (!scheme.IsNull()) scheme += "&";
scheme += cutKTPC->GetName();
}
if (useTOF_K) {
AliRsnCutPIDNSigma *cutKTOF = new AliRsnCutPIDNSigma("cutNSigmaTOFK",AliPID::kKaon,AliRsnCutPIDNSigma::kTOF);
cutKTOF->SinglePIDRange(nSigmaTOF_K);
cutsK->AddCut(cutKTOF);
if (!scheme.IsNull()) scheme += "&";
scheme += cutKTOF->GetName();
}
if (useEta) {
AliRsnValueDaughter *valEtaK = new AliRsnValueDaughter(Form("val%sETA%s",AliPID::ParticleName(type2),opt.Data()),AliRsnValueDaughter::kEta);
AliRsnCutValue *cutEtaK = new AliRsnCutValue(Form("cut%sETA%s",AliPID::ParticleName(type2),opt.Data()),-etaRange,etaRange);
cutEtaK->SetTargetType(AliRsnTarget::kDaughter);
cutEtaK->SetValueObj(valEtaK);
cutsK->AddCut(cutEtaK);
if (!scheme.IsNull()) scheme += "&";
scheme += cutEtaK->GetName();
}
if (usePDG) {
AliRsnCutPID *cutPDGK = new AliRsnCutPID(Form("cut%sPDG%s",AliPID::ParticleName(type2),opt.Data()),type2,0.0,kTRUE);
cutsK->AddCut(cutPDGK);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPDGK->GetName();
}
Printf ("CUT Scheme for KAON is '%s'",scheme.Data());
cutsK->SetCutScheme(scheme.Data());
// END KAON =======================================
if (opt.Contains("mon")) {
AddMonitorOutput(cutsP->GetMonitorOutput(),opt);
AddMonitorOutput(cutsK->GetMonitorOutput(),opt);
}
if (isRsnMini) {
AliRsnMiniAnalysisTask *taskRsnMini = dynamic_cast<AliRsnMiniAnalysisTask *>(task);
if (taskRsnMini) {
taskRsnMini->AddTrackCuts(cutsP);
taskRsnMini->AddTrackCuts(cutsK);
}
} else {
AliRsnDaughterSelector *sel = rsnIH->GetSelector();
// sel->SetLabelCheck(kFALSE);
sel->Add(cutsP, kTRUE);
sel->Add(cutsK, kTRUE);
}
return numberOfCuts;
}
AddRsnDaughterCutsLambdaNsigma.C:1 AddRsnDaughterCutsLambdaNsigma.C:2 AddRsnDaughterCutsLambdaNsigma.C:3 AddRsnDaughterCutsLambdaNsigma.C:4 AddRsnDaughterCutsLambdaNsigma.C:5 AddRsnDaughterCutsLambdaNsigma.C:6 AddRsnDaughterCutsLambdaNsigma.C:7 AddRsnDaughterCutsLambdaNsigma.C:8 AddRsnDaughterCutsLambdaNsigma.C:9 AddRsnDaughterCutsLambdaNsigma.C:10 AddRsnDaughterCutsLambdaNsigma.C:11 AddRsnDaughterCutsLambdaNsigma.C:12 AddRsnDaughterCutsLambdaNsigma.C:13 AddRsnDaughterCutsLambdaNsigma.C:14 AddRsnDaughterCutsLambdaNsigma.C:15 AddRsnDaughterCutsLambdaNsigma.C:16 AddRsnDaughterCutsLambdaNsigma.C:17 AddRsnDaughterCutsLambdaNsigma.C:18 AddRsnDaughterCutsLambdaNsigma.C:19 AddRsnDaughterCutsLambdaNsigma.C:20 AddRsnDaughterCutsLambdaNsigma.C:21 AddRsnDaughterCutsLambdaNsigma.C:22 AddRsnDaughterCutsLambdaNsigma.C:23 AddRsnDaughterCutsLambdaNsigma.C:24 AddRsnDaughterCutsLambdaNsigma.C:25 AddRsnDaughterCutsLambdaNsigma.C:26 AddRsnDaughterCutsLambdaNsigma.C:27 AddRsnDaughterCutsLambdaNsigma.C:28 AddRsnDaughterCutsLambdaNsigma.C:29 AddRsnDaughterCutsLambdaNsigma.C:30 AddRsnDaughterCutsLambdaNsigma.C:31 AddRsnDaughterCutsLambdaNsigma.C:32 AddRsnDaughterCutsLambdaNsigma.C:33 AddRsnDaughterCutsLambdaNsigma.C:34 AddRsnDaughterCutsLambdaNsigma.C:35 AddRsnDaughterCutsLambdaNsigma.C:36 AddRsnDaughterCutsLambdaNsigma.C:37 AddRsnDaughterCutsLambdaNsigma.C:38 AddRsnDaughterCutsLambdaNsigma.C:39 AddRsnDaughterCutsLambdaNsigma.C:40 AddRsnDaughterCutsLambdaNsigma.C:41 AddRsnDaughterCutsLambdaNsigma.C:42 AddRsnDaughterCutsLambdaNsigma.C:43 AddRsnDaughterCutsLambdaNsigma.C:44 AddRsnDaughterCutsLambdaNsigma.C:45 AddRsnDaughterCutsLambdaNsigma.C:46 AddRsnDaughterCutsLambdaNsigma.C:47 AddRsnDaughterCutsLambdaNsigma.C:48 AddRsnDaughterCutsLambdaNsigma.C:49 AddRsnDaughterCutsLambdaNsigma.C:50 AddRsnDaughterCutsLambdaNsigma.C:51 AddRsnDaughterCutsLambdaNsigma.C:52 AddRsnDaughterCutsLambdaNsigma.C:53 AddRsnDaughterCutsLambdaNsigma.C:54 AddRsnDaughterCutsLambdaNsigma.C:55 AddRsnDaughterCutsLambdaNsigma.C:56 AddRsnDaughterCutsLambdaNsigma.C:57 AddRsnDaughterCutsLambdaNsigma.C:58 AddRsnDaughterCutsLambdaNsigma.C:59 AddRsnDaughterCutsLambdaNsigma.C:60 AddRsnDaughterCutsLambdaNsigma.C:61 AddRsnDaughterCutsLambdaNsigma.C:62 AddRsnDaughterCutsLambdaNsigma.C:63 AddRsnDaughterCutsLambdaNsigma.C:64 AddRsnDaughterCutsLambdaNsigma.C:65 AddRsnDaughterCutsLambdaNsigma.C:66 AddRsnDaughterCutsLambdaNsigma.C:67 AddRsnDaughterCutsLambdaNsigma.C:68 AddRsnDaughterCutsLambdaNsigma.C:69 AddRsnDaughterCutsLambdaNsigma.C:70 AddRsnDaughterCutsLambdaNsigma.C:71 AddRsnDaughterCutsLambdaNsigma.C:72 AddRsnDaughterCutsLambdaNsigma.C:73 AddRsnDaughterCutsLambdaNsigma.C:74 AddRsnDaughterCutsLambdaNsigma.C:75 AddRsnDaughterCutsLambdaNsigma.C:76 AddRsnDaughterCutsLambdaNsigma.C:77 AddRsnDaughterCutsLambdaNsigma.C:78 AddRsnDaughterCutsLambdaNsigma.C:79 AddRsnDaughterCutsLambdaNsigma.C:80 AddRsnDaughterCutsLambdaNsigma.C:81 AddRsnDaughterCutsLambdaNsigma.C:82 AddRsnDaughterCutsLambdaNsigma.C:83 AddRsnDaughterCutsLambdaNsigma.C:84 AddRsnDaughterCutsLambdaNsigma.C:85 AddRsnDaughterCutsLambdaNsigma.C:86 AddRsnDaughterCutsLambdaNsigma.C:87 AddRsnDaughterCutsLambdaNsigma.C:88 AddRsnDaughterCutsLambdaNsigma.C:89 AddRsnDaughterCutsLambdaNsigma.C:90 AddRsnDaughterCutsLambdaNsigma.C:91 AddRsnDaughterCutsLambdaNsigma.C:92 AddRsnDaughterCutsLambdaNsigma.C:93 AddRsnDaughterCutsLambdaNsigma.C:94 AddRsnDaughterCutsLambdaNsigma.C:95 AddRsnDaughterCutsLambdaNsigma.C:96 AddRsnDaughterCutsLambdaNsigma.C:97 AddRsnDaughterCutsLambdaNsigma.C:98 AddRsnDaughterCutsLambdaNsigma.C:99 AddRsnDaughterCutsLambdaNsigma.C:100 AddRsnDaughterCutsLambdaNsigma.C:101 AddRsnDaughterCutsLambdaNsigma.C:102 AddRsnDaughterCutsLambdaNsigma.C:103 AddRsnDaughterCutsLambdaNsigma.C:104 AddRsnDaughterCutsLambdaNsigma.C:105 AddRsnDaughterCutsLambdaNsigma.C:106 AddRsnDaughterCutsLambdaNsigma.C:107 AddRsnDaughterCutsLambdaNsigma.C:108 AddRsnDaughterCutsLambdaNsigma.C:109 AddRsnDaughterCutsLambdaNsigma.C:110 AddRsnDaughterCutsLambdaNsigma.C:111 AddRsnDaughterCutsLambdaNsigma.C:112 AddRsnDaughterCutsLambdaNsigma.C:113 AddRsnDaughterCutsLambdaNsigma.C:114 AddRsnDaughterCutsLambdaNsigma.C:115 AddRsnDaughterCutsLambdaNsigma.C:116 AddRsnDaughterCutsLambdaNsigma.C:117 AddRsnDaughterCutsLambdaNsigma.C:118 AddRsnDaughterCutsLambdaNsigma.C:119 AddRsnDaughterCutsLambdaNsigma.C:120 AddRsnDaughterCutsLambdaNsigma.C:121 AddRsnDaughterCutsLambdaNsigma.C:122 AddRsnDaughterCutsLambdaNsigma.C:123 AddRsnDaughterCutsLambdaNsigma.C:124 AddRsnDaughterCutsLambdaNsigma.C:125 AddRsnDaughterCutsLambdaNsigma.C:126 AddRsnDaughterCutsLambdaNsigma.C:127 AddRsnDaughterCutsLambdaNsigma.C:128 AddRsnDaughterCutsLambdaNsigma.C:129 AddRsnDaughterCutsLambdaNsigma.C:130 AddRsnDaughterCutsLambdaNsigma.C:131 AddRsnDaughterCutsLambdaNsigma.C:132 AddRsnDaughterCutsLambdaNsigma.C:133 AddRsnDaughterCutsLambdaNsigma.C:134 AddRsnDaughterCutsLambdaNsigma.C:135 AddRsnDaughterCutsLambdaNsigma.C:136 AddRsnDaughterCutsLambdaNsigma.C:137 AddRsnDaughterCutsLambdaNsigma.C:138 AddRsnDaughterCutsLambdaNsigma.C:139 AddRsnDaughterCutsLambdaNsigma.C:140 AddRsnDaughterCutsLambdaNsigma.C:141 AddRsnDaughterCutsLambdaNsigma.C:142 AddRsnDaughterCutsLambdaNsigma.C:143 AddRsnDaughterCutsLambdaNsigma.C:144 AddRsnDaughterCutsLambdaNsigma.C:145 AddRsnDaughterCutsLambdaNsigma.C:146 AddRsnDaughterCutsLambdaNsigma.C:147 AddRsnDaughterCutsLambdaNsigma.C:148 AddRsnDaughterCutsLambdaNsigma.C:149 AddRsnDaughterCutsLambdaNsigma.C:150 AddRsnDaughterCutsLambdaNsigma.C:151 AddRsnDaughterCutsLambdaNsigma.C:152 AddRsnDaughterCutsLambdaNsigma.C:153 AddRsnDaughterCutsLambdaNsigma.C:154 AddRsnDaughterCutsLambdaNsigma.C:155 AddRsnDaughterCutsLambdaNsigma.C:156 AddRsnDaughterCutsLambdaNsigma.C:157 AddRsnDaughterCutsLambdaNsigma.C:158 AddRsnDaughterCutsLambdaNsigma.C:159 AddRsnDaughterCutsLambdaNsigma.C:160 AddRsnDaughterCutsLambdaNsigma.C:161 AddRsnDaughterCutsLambdaNsigma.C:162 AddRsnDaughterCutsLambdaNsigma.C:163 AddRsnDaughterCutsLambdaNsigma.C:164 AddRsnDaughterCutsLambdaNsigma.C:165 AddRsnDaughterCutsLambdaNsigma.C:166 AddRsnDaughterCutsLambdaNsigma.C:167 AddRsnDaughterCutsLambdaNsigma.C:168 AddRsnDaughterCutsLambdaNsigma.C:169 AddRsnDaughterCutsLambdaNsigma.C:170 AddRsnDaughterCutsLambdaNsigma.C:171 AddRsnDaughterCutsLambdaNsigma.C:172 AddRsnDaughterCutsLambdaNsigma.C:173 AddRsnDaughterCutsLambdaNsigma.C:174 AddRsnDaughterCutsLambdaNsigma.C:175 AddRsnDaughterCutsLambdaNsigma.C:176 AddRsnDaughterCutsLambdaNsigma.C:177 AddRsnDaughterCutsLambdaNsigma.C:178 AddRsnDaughterCutsLambdaNsigma.C:179 AddRsnDaughterCutsLambdaNsigma.C:180 AddRsnDaughterCutsLambdaNsigma.C:181 AddRsnDaughterCutsLambdaNsigma.C:182 AddRsnDaughterCutsLambdaNsigma.C:183 AddRsnDaughterCutsLambdaNsigma.C:184 AddRsnDaughterCutsLambdaNsigma.C:185 AddRsnDaughterCutsLambdaNsigma.C:186 AddRsnDaughterCutsLambdaNsigma.C:187 AddRsnDaughterCutsLambdaNsigma.C:188 AddRsnDaughterCutsLambdaNsigma.C:189 AddRsnDaughterCutsLambdaNsigma.C:190 AddRsnDaughterCutsLambdaNsigma.C:191 AddRsnDaughterCutsLambdaNsigma.C:192 AddRsnDaughterCutsLambdaNsigma.C:193 AddRsnDaughterCutsLambdaNsigma.C:194 AddRsnDaughterCutsLambdaNsigma.C:195 AddRsnDaughterCutsLambdaNsigma.C:196 AddRsnDaughterCutsLambdaNsigma.C:197 AddRsnDaughterCutsLambdaNsigma.C:198 AddRsnDaughterCutsLambdaNsigma.C:199 AddRsnDaughterCutsLambdaNsigma.C:200 AddRsnDaughterCutsLambdaNsigma.C:201 AddRsnDaughterCutsLambdaNsigma.C:202 AddRsnDaughterCutsLambdaNsigma.C:203 AddRsnDaughterCutsLambdaNsigma.C:204 AddRsnDaughterCutsLambdaNsigma.C:205 AddRsnDaughterCutsLambdaNsigma.C:206 AddRsnDaughterCutsLambdaNsigma.C:207 AddRsnDaughterCutsLambdaNsigma.C:208 AddRsnDaughterCutsLambdaNsigma.C:209 AddRsnDaughterCutsLambdaNsigma.C:210 AddRsnDaughterCutsLambdaNsigma.C:211 AddRsnDaughterCutsLambdaNsigma.C:212 AddRsnDaughterCutsLambdaNsigma.C:213 AddRsnDaughterCutsLambdaNsigma.C:214 AddRsnDaughterCutsLambdaNsigma.C:215 AddRsnDaughterCutsLambdaNsigma.C:216 AddRsnDaughterCutsLambdaNsigma.C:217 AddRsnDaughterCutsLambdaNsigma.C:218 AddRsnDaughterCutsLambdaNsigma.C:219 AddRsnDaughterCutsLambdaNsigma.C:220 AddRsnDaughterCutsLambdaNsigma.C:221 AddRsnDaughterCutsLambdaNsigma.C:222 AddRsnDaughterCutsLambdaNsigma.C:223 AddRsnDaughterCutsLambdaNsigma.C:224 AddRsnDaughterCutsLambdaNsigma.C:225