#ifndef __CINT__
#include <Rtypes.h>
#endif
Int_t AddRsnDaughterCutsKStarNsigma(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("AddRsnDaughterCutsKStarNsigma Option : %s",opt.Data());
// default values
Double_t nSigmaTPC_Pi=3.0;
Double_t nSigmaTPC_K=3.0;
Double_t nSigmaTOF_Pi=3.0;
Double_t nSigmaTOF_K=3.0;
Double_t etaRange=0.8;
Bool_t useTPC_Pi=kFALSE;
Bool_t useTOF_Pi=kFALSE;
Bool_t useTPC_K=kFALSE;
Bool_t useTOF_K=kFALSE;
if (opt.Contains("qualityonly")) {
useTPC_Pi=kFALSE;
useTOF_Pi=kFALSE;
useTPC_K=kFALSE;
useTOF_K=kFALSE;
} else if (!opt.Contains("nsig")) {
useTPC_Pi=kTRUE;
useTOF_Pi=kTRUE;
useTPC_K=kTRUE;
useTOF_K=kTRUE;
}
if (opt.Contains("PiTPCnsig")) useTPC_Pi=kTRUE;
if (opt.Contains("PiTOFnsig")) useTOF_Pi=kTRUE;
if (opt.Contains("KTPCnsig")) useTPC_K=kTRUE;
if (opt.Contains("KTOFnsig")) useTOF_K=kTRUE;
if (opt.Contains("PiTPCnsig10")) nSigmaTPC_Pi = 1.0;
if (opt.Contains("PiTPCnsig15")) nSigmaTPC_Pi = 1.5;
if (opt.Contains("PiTPCnsig20")) nSigmaTPC_Pi = 2.0;
if (opt.Contains("PiTPCnsig25")) nSigmaTPC_Pi = 2.5;
if (opt.Contains("PiTPCnsig30")) nSigmaTPC_Pi = 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("PiTOFnsig10")) nSigmaTOF_Pi = 1.0;
if (opt.Contains("PiTOFnsig15")) nSigmaTOF_Pi = 1.5;
if (opt.Contains("PiTOFnsig20")) nSigmaTOF_Pi = 2.0;
if (opt.Contains("PiTOFnsig25")) nSigmaTOF_Pi = 2.5;
if (opt.Contains("PiTOFnsig30")) nSigmaTOF_Pi = 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;
}
// KAON SETTINGS =======================================
TString scheme="";
TString cutname = "K_Kstar";
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 =======================================
// Pion SETTINGS ===========================================
scheme="";
cutname = "Pi_Kstar";
if (!opt.IsNull()) cutname += Form("_%s",opt.Data());
AliRsnCutSet *cutsP = new AliRsnCutSet(cutname.Data(), AliRsnTarget::kDaughter);
AliRsnCutTrackQuality *qualityCutPi = new AliRsnCutTrackQuality("cutQuatityPi");
if (useCommonQualityCut>=0) {
qualityCutPi->SetAODTestFilterBit(useCommonQualityCut);
} else {
qualityCutPi->SetDefaults2010();
}
cutsP->AddCut(qualityCutPi);
if (!scheme.IsNull()) scheme += "&";
scheme += qualityCutPi->GetName();
if (useTPC_Pi) {
AliRsnCutPIDNSigma *cutPiTPC = new AliRsnCutPIDNSigma("cutNSigmaTPCPi",AliPID::kPion,AliRsnCutPIDNSigma::kTPC);
cutPiTPC->SinglePIDRange(nSigmaTPC_Pi);
cutsP->AddCut(cutPiTPC);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPiTPC->GetName();
}
if (useTOF_Pi) {
AliRsnCutPIDNSigma *cutPiTOF = new AliRsnCutPIDNSigma("cutNSigmaTOFPi",AliPID::kPion,AliRsnCutPIDNSigma::kTOF);
cutPiTOF->SinglePIDRange(nSigmaTOF_Pi);
cutsP->AddCut(cutPiTOF);
if (!scheme.IsNull()) scheme += "&";
scheme += cutPiTOF->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 PION is '%s'",scheme.Data());
cutsP->SetCutScheme(scheme.Data());
// END PROTON =======================================
if (opt.Contains("mon")) {
AddMonitorOutput(cutsP->GetMonitorOutput(),opt);
AddMonitorOutput(cutsK->GetMonitorOutput(),opt);
}
if (isRsnMini) {
AliRsnMiniAnalysisTask *taskRsnMini = dynamic_cast<AliRsnMiniAnalysisTask *>(task);
if (taskRsnMini) {
taskRsnMini->AddTrackCuts(cutsK);
taskRsnMini->AddTrackCuts(cutsP);
}
} else {
AliRsnDaughterSelector *sel = rsnIH->GetSelector();
// sel->SetLabelCheck(kFALSE);
sel->Add(cutsP, kTRUE);
sel->Add(cutsK, kTRUE);
}
return numberOfCuts;
}
AddRsnDaughterCutsKStarNsigma.C:1 AddRsnDaughterCutsKStarNsigma.C:2 AddRsnDaughterCutsKStarNsigma.C:3 AddRsnDaughterCutsKStarNsigma.C:4 AddRsnDaughterCutsKStarNsigma.C:5 AddRsnDaughterCutsKStarNsigma.C:6 AddRsnDaughterCutsKStarNsigma.C:7 AddRsnDaughterCutsKStarNsigma.C:8 AddRsnDaughterCutsKStarNsigma.C:9 AddRsnDaughterCutsKStarNsigma.C:10 AddRsnDaughterCutsKStarNsigma.C:11 AddRsnDaughterCutsKStarNsigma.C:12 AddRsnDaughterCutsKStarNsigma.C:13 AddRsnDaughterCutsKStarNsigma.C:14 AddRsnDaughterCutsKStarNsigma.C:15 AddRsnDaughterCutsKStarNsigma.C:16 AddRsnDaughterCutsKStarNsigma.C:17 AddRsnDaughterCutsKStarNsigma.C:18 AddRsnDaughterCutsKStarNsigma.C:19 AddRsnDaughterCutsKStarNsigma.C:20 AddRsnDaughterCutsKStarNsigma.C:21 AddRsnDaughterCutsKStarNsigma.C:22 AddRsnDaughterCutsKStarNsigma.C:23 AddRsnDaughterCutsKStarNsigma.C:24 AddRsnDaughterCutsKStarNsigma.C:25 AddRsnDaughterCutsKStarNsigma.C:26 AddRsnDaughterCutsKStarNsigma.C:27 AddRsnDaughterCutsKStarNsigma.C:28 AddRsnDaughterCutsKStarNsigma.C:29 AddRsnDaughterCutsKStarNsigma.C:30 AddRsnDaughterCutsKStarNsigma.C:31 AddRsnDaughterCutsKStarNsigma.C:32 AddRsnDaughterCutsKStarNsigma.C:33 AddRsnDaughterCutsKStarNsigma.C:34 AddRsnDaughterCutsKStarNsigma.C:35 AddRsnDaughterCutsKStarNsigma.C:36 AddRsnDaughterCutsKStarNsigma.C:37 AddRsnDaughterCutsKStarNsigma.C:38 AddRsnDaughterCutsKStarNsigma.C:39 AddRsnDaughterCutsKStarNsigma.C:40 AddRsnDaughterCutsKStarNsigma.C:41 AddRsnDaughterCutsKStarNsigma.C:42 AddRsnDaughterCutsKStarNsigma.C:43 AddRsnDaughterCutsKStarNsigma.C:44 AddRsnDaughterCutsKStarNsigma.C:45 AddRsnDaughterCutsKStarNsigma.C:46 AddRsnDaughterCutsKStarNsigma.C:47 AddRsnDaughterCutsKStarNsigma.C:48 AddRsnDaughterCutsKStarNsigma.C:49 AddRsnDaughterCutsKStarNsigma.C:50 AddRsnDaughterCutsKStarNsigma.C:51 AddRsnDaughterCutsKStarNsigma.C:52 AddRsnDaughterCutsKStarNsigma.C:53 AddRsnDaughterCutsKStarNsigma.C:54 AddRsnDaughterCutsKStarNsigma.C:55 AddRsnDaughterCutsKStarNsigma.C:56 AddRsnDaughterCutsKStarNsigma.C:57 AddRsnDaughterCutsKStarNsigma.C:58 AddRsnDaughterCutsKStarNsigma.C:59 AddRsnDaughterCutsKStarNsigma.C:60 AddRsnDaughterCutsKStarNsigma.C:61 AddRsnDaughterCutsKStarNsigma.C:62 AddRsnDaughterCutsKStarNsigma.C:63 AddRsnDaughterCutsKStarNsigma.C:64 AddRsnDaughterCutsKStarNsigma.C:65 AddRsnDaughterCutsKStarNsigma.C:66 AddRsnDaughterCutsKStarNsigma.C:67 AddRsnDaughterCutsKStarNsigma.C:68 AddRsnDaughterCutsKStarNsigma.C:69 AddRsnDaughterCutsKStarNsigma.C:70 AddRsnDaughterCutsKStarNsigma.C:71 AddRsnDaughterCutsKStarNsigma.C:72 AddRsnDaughterCutsKStarNsigma.C:73 AddRsnDaughterCutsKStarNsigma.C:74 AddRsnDaughterCutsKStarNsigma.C:75 AddRsnDaughterCutsKStarNsigma.C:76 AddRsnDaughterCutsKStarNsigma.C:77 AddRsnDaughterCutsKStarNsigma.C:78 AddRsnDaughterCutsKStarNsigma.C:79 AddRsnDaughterCutsKStarNsigma.C:80 AddRsnDaughterCutsKStarNsigma.C:81 AddRsnDaughterCutsKStarNsigma.C:82 AddRsnDaughterCutsKStarNsigma.C:83 AddRsnDaughterCutsKStarNsigma.C:84 AddRsnDaughterCutsKStarNsigma.C:85 AddRsnDaughterCutsKStarNsigma.C:86 AddRsnDaughterCutsKStarNsigma.C:87 AddRsnDaughterCutsKStarNsigma.C:88 AddRsnDaughterCutsKStarNsigma.C:89 AddRsnDaughterCutsKStarNsigma.C:90 AddRsnDaughterCutsKStarNsigma.C:91 AddRsnDaughterCutsKStarNsigma.C:92 AddRsnDaughterCutsKStarNsigma.C:93 AddRsnDaughterCutsKStarNsigma.C:94 AddRsnDaughterCutsKStarNsigma.C:95 AddRsnDaughterCutsKStarNsigma.C:96 AddRsnDaughterCutsKStarNsigma.C:97 AddRsnDaughterCutsKStarNsigma.C:98 AddRsnDaughterCutsKStarNsigma.C:99 AddRsnDaughterCutsKStarNsigma.C:100 AddRsnDaughterCutsKStarNsigma.C:101 AddRsnDaughterCutsKStarNsigma.C:102 AddRsnDaughterCutsKStarNsigma.C:103 AddRsnDaughterCutsKStarNsigma.C:104 AddRsnDaughterCutsKStarNsigma.C:105 AddRsnDaughterCutsKStarNsigma.C:106 AddRsnDaughterCutsKStarNsigma.C:107 AddRsnDaughterCutsKStarNsigma.C:108 AddRsnDaughterCutsKStarNsigma.C:109 AddRsnDaughterCutsKStarNsigma.C:110 AddRsnDaughterCutsKStarNsigma.C:111 AddRsnDaughterCutsKStarNsigma.C:112 AddRsnDaughterCutsKStarNsigma.C:113 AddRsnDaughterCutsKStarNsigma.C:114 AddRsnDaughterCutsKStarNsigma.C:115 AddRsnDaughterCutsKStarNsigma.C:116 AddRsnDaughterCutsKStarNsigma.C:117 AddRsnDaughterCutsKStarNsigma.C:118 AddRsnDaughterCutsKStarNsigma.C:119 AddRsnDaughterCutsKStarNsigma.C:120 AddRsnDaughterCutsKStarNsigma.C:121 AddRsnDaughterCutsKStarNsigma.C:122 AddRsnDaughterCutsKStarNsigma.C:123 AddRsnDaughterCutsKStarNsigma.C:124 AddRsnDaughterCutsKStarNsigma.C:125 AddRsnDaughterCutsKStarNsigma.C:126 AddRsnDaughterCutsKStarNsigma.C:127 AddRsnDaughterCutsKStarNsigma.C:128 AddRsnDaughterCutsKStarNsigma.C:129 AddRsnDaughterCutsKStarNsigma.C:130 AddRsnDaughterCutsKStarNsigma.C:131 AddRsnDaughterCutsKStarNsigma.C:132 AddRsnDaughterCutsKStarNsigma.C:133 AddRsnDaughterCutsKStarNsigma.C:134 AddRsnDaughterCutsKStarNsigma.C:135 AddRsnDaughterCutsKStarNsigma.C:136 AddRsnDaughterCutsKStarNsigma.C:137 AddRsnDaughterCutsKStarNsigma.C:138 AddRsnDaughterCutsKStarNsigma.C:139 AddRsnDaughterCutsKStarNsigma.C:140 AddRsnDaughterCutsKStarNsigma.C:141 AddRsnDaughterCutsKStarNsigma.C:142 AddRsnDaughterCutsKStarNsigma.C:143 AddRsnDaughterCutsKStarNsigma.C:144 AddRsnDaughterCutsKStarNsigma.C:145 AddRsnDaughterCutsKStarNsigma.C:146 AddRsnDaughterCutsKStarNsigma.C:147 AddRsnDaughterCutsKStarNsigma.C:148 AddRsnDaughterCutsKStarNsigma.C:149 AddRsnDaughterCutsKStarNsigma.C:150 AddRsnDaughterCutsKStarNsigma.C:151 AddRsnDaughterCutsKStarNsigma.C:152 AddRsnDaughterCutsKStarNsigma.C:153 AddRsnDaughterCutsKStarNsigma.C:154 AddRsnDaughterCutsKStarNsigma.C:155 AddRsnDaughterCutsKStarNsigma.C:156 AddRsnDaughterCutsKStarNsigma.C:157 AddRsnDaughterCutsKStarNsigma.C:158 AddRsnDaughterCutsKStarNsigma.C:159 AddRsnDaughterCutsKStarNsigma.C:160 AddRsnDaughterCutsKStarNsigma.C:161 AddRsnDaughterCutsKStarNsigma.C:162 AddRsnDaughterCutsKStarNsigma.C:163 AddRsnDaughterCutsKStarNsigma.C:164 AddRsnDaughterCutsKStarNsigma.C:165 AddRsnDaughterCutsKStarNsigma.C:166 AddRsnDaughterCutsKStarNsigma.C:167 AddRsnDaughterCutsKStarNsigma.C:168 AddRsnDaughterCutsKStarNsigma.C:169 AddRsnDaughterCutsKStarNsigma.C:170 AddRsnDaughterCutsKStarNsigma.C:171 AddRsnDaughterCutsKStarNsigma.C:172 AddRsnDaughterCutsKStarNsigma.C:173 AddRsnDaughterCutsKStarNsigma.C:174 AddRsnDaughterCutsKStarNsigma.C:175 AddRsnDaughterCutsKStarNsigma.C:176 AddRsnDaughterCutsKStarNsigma.C:177 AddRsnDaughterCutsKStarNsigma.C:178 AddRsnDaughterCutsKStarNsigma.C:179 AddRsnDaughterCutsKStarNsigma.C:180 AddRsnDaughterCutsKStarNsigma.C:181 AddRsnDaughterCutsKStarNsigma.C:182 AddRsnDaughterCutsKStarNsigma.C:183 AddRsnDaughterCutsKStarNsigma.C:184 AddRsnDaughterCutsKStarNsigma.C:185 AddRsnDaughterCutsKStarNsigma.C:186 AddRsnDaughterCutsKStarNsigma.C:187 AddRsnDaughterCutsKStarNsigma.C:188 AddRsnDaughterCutsKStarNsigma.C:189 AddRsnDaughterCutsKStarNsigma.C:190 AddRsnDaughterCutsKStarNsigma.C:191 AddRsnDaughterCutsKStarNsigma.C:192 AddRsnDaughterCutsKStarNsigma.C:193 AddRsnDaughterCutsKStarNsigma.C:194 AddRsnDaughterCutsKStarNsigma.C:195 AddRsnDaughterCutsKStarNsigma.C:196 AddRsnDaughterCutsKStarNsigma.C:197 AddRsnDaughterCutsKStarNsigma.C:198 AddRsnDaughterCutsKStarNsigma.C:199 AddRsnDaughterCutsKStarNsigma.C:200 AddRsnDaughterCutsKStarNsigma.C:201 AddRsnDaughterCutsKStarNsigma.C:202 AddRsnDaughterCutsKStarNsigma.C:203 AddRsnDaughterCutsKStarNsigma.C:204 AddRsnDaughterCutsKStarNsigma.C:205 AddRsnDaughterCutsKStarNsigma.C:206 AddRsnDaughterCutsKStarNsigma.C:207 AddRsnDaughterCutsKStarNsigma.C:208 AddRsnDaughterCutsKStarNsigma.C:209 AddRsnDaughterCutsKStarNsigma.C:210 AddRsnDaughterCutsKStarNsigma.C:211 AddRsnDaughterCutsKStarNsigma.C:212 AddRsnDaughterCutsKStarNsigma.C:213 AddRsnDaughterCutsKStarNsigma.C:214 AddRsnDaughterCutsKStarNsigma.C:215 AddRsnDaughterCutsKStarNsigma.C:216 AddRsnDaughterCutsKStarNsigma.C:217 AddRsnDaughterCutsKStarNsigma.C:218 AddRsnDaughterCutsKStarNsigma.C:219