#ifndef __CINT__
#include <PWGLF/RESONANCES/AliRsnCutSet.h>
#include <PWGLF/RESONANCES/AliRsnInputHandler.h>
#include <PWGLF/RESONANCES/AliRsnCutKaonForPhi2010.h>
#include <PWGLF/RESONANCES/AliRsnMiniAnalysisTask.h>
#include <PWGLF/RESONANCES/AliRsnAnalysisTask.h>
#include <PWGLF/RESONANCES/AliRsnValueDaughter.h>
#include <RESONANCES/AliRsnCutPID.h>
#include <RESONANCES/AliRsnCutKaonForPhi2010PP.h>
#include <RESONANCES/AliRsnCutValue.h>
#endif
Int_t AddRsnDaughterCutsPhi2010(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("AddRsnDaughterCutsPhi2010 Option : %s",opt.Data());
Bool_t useTrackPtCut = kFALSE;
Double_t trackPtMin = 0.0;
Double_t trackPtMax = 100000.0;
Double_t nSigmaTPC=3.0;
Double_t nSigmaTOF=3.0;
Double_t ptTPCMax=0.6;
Double_t etaRange=0.5;
// etaRange=0.1;
if (opt.Contains("trackPt")) {
useTrackPtCut = kTRUE;
if (opt.Contains("trackPtMax18")) trackPtMax = 1.8;
if (opt.Contains("trackPtMax20")) trackPtMax = 2.0;
if (opt.Contains("trackPtMax25")) trackPtMax = 2.5;
}
if (opt.Contains("TPCsigma1")) nSigmaTPC = 1.0;
if (opt.Contains("TPCsigma2")) nSigmaTPC = 2.0;
if (opt.Contains("TPCsigma3")) nSigmaTPC = 3.0;
if (opt.Contains("TPCsigma1.5")) nSigmaTPC = 1.5;
if (opt.Contains("TPCsigma2.5")) nSigmaTPC = 2.5;
if (opt.Contains("TOFsigma1")) nSigmaTOF = 1.0;
if (opt.Contains("TOFsigma2")) nSigmaTOF = 2.0;
if (opt.Contains("TOFsigma3")) nSigmaTOF = 3.0;
if (opt.Contains("tpcptMax")) {
if (opt.Contains("tpcptMax04")) ptTPCMax=0.4;
if (opt.Contains("tpcptMax05")) ptTPCMax=0.5;
if (opt.Contains("tpcptMax06")) ptTPCMax=0.6;
if (opt.Contains("tpcptMax07")) ptTPCMax=0.7;
if (opt.Contains("tpcptMax08")) ptTPCMax=0.8;
if (opt.Contains("tpcptMax09")) ptTPCMax=0.9;
if (opt.Contains("tpcptMax10")) ptTPCMax=1.0;
}
AliRsnCutKaonForPhi2010PP *cutPP=0;
AliRsnCutKaonForPhi2010 *cutPbPb=0;
AliRsnCut *cut;
if (usePPCut) {
Printf("Using AliRsnCutKaonForPhi2010PP ...");
AliRsnCutKaonForPhi2010PP *cutPP = new AliRsnCutKaonForPhi2010PP("cutKaonPhi2010PP");
cutPP->SetTPCNSigmaLow(nSigmaTPC);
cutPP->SetTPCNSigmaHigh(5.0);
cutPP->SetTPCLimit(ptTPCMax);
cutPP->SetTOFNSigma(nSigmaTOF);
cut = cutPP;
}
else {
Printf("Using AliRsnCutKaonForPhi2010 ...");
AliRsnCutKaonForPhi2010 *cutPbPb = new AliRsnCutKaonForPhi2010("cutKaonPhi2010",nSigmaTPC,nSigmaTOF,ptTPCMax);
if (opt.Contains("qualityonly")) cutPbPb->SetMode(AliRsnCutKaonForPhi2010::kQuality);
if (opt.Contains("tofonly")) cutPbPb->SetMode(AliRsnCutKaonForPhi2010::kOnlyTOF);
if (opt.Contains("tpconly")) cutPbPb->SetMode(AliRsnCutKaonForPhi2010::kOnlyTPC);
cut = cutPbPb;
}
Bool_t usePDG=kFALSE;
if (opt.Contains("pdg")) {
Printf("Using PDG");
usePDG = kTRUE;
if (opt.Contains("pdgPI")) type1 = AliPID::kPion;
// type1 = AliPID::kPion;
}
Bool_t useEta = kFALSE;
if (opt.Contains("eta")) {
Printf("Using ETA range (%.2f,%.2f)",-etaRange,etaRange);
useEta = kTRUE;
}
//---------------------------------------------
// Combine cuts
//---------------------------------------------
TString cutname = "kaonPhi2010";
if (!opt.IsNull()) cutname += Form("_%s",opt.Data());
AliRsnCutSet *cuts = new AliRsnCutSet(cutname.Data(), AliRsnTarget::kDaughter);
cuts->AddCut(cut);
TString scheme="";
if (useTrackPtCut) {
Printf("Adding Pt min=%.3f max=%.3f ...",trackPtMin,trackPtMax);
AliRsnValueDaughter *valTrackPt = new AliRsnValueDaughter(Form("val%sTrackPt%s",AliPID::ParticleName(type1),opt.Data()),AliRsnValueDaughter::kPt);
AliRsnCutValue *cutTrackPt = new AliRsnCutValue(Form("cut%sTrackPt%s",AliPID::ParticleName(type1),opt.Data()),trackPtMin,trackPtMax);
cutTrackPt->SetTargetType(AliRsnTarget::kDaughter);
cutTrackPt->SetValueObj(valTrackPt);
cuts->AddCut(cutTrackPt);
if (!scheme.IsNull()) scheme += "&";
scheme += cutTrackPt->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();
}
if (!scheme.IsNull()) scheme += "&";
scheme += cut->GetName();
Printf ("------ scheme '%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;
}
AddRsnDaughterCutsPhi2010.C:1 AddRsnDaughterCutsPhi2010.C:2 AddRsnDaughterCutsPhi2010.C:3 AddRsnDaughterCutsPhi2010.C:4 AddRsnDaughterCutsPhi2010.C:5 AddRsnDaughterCutsPhi2010.C:6 AddRsnDaughterCutsPhi2010.C:7 AddRsnDaughterCutsPhi2010.C:8 AddRsnDaughterCutsPhi2010.C:9 AddRsnDaughterCutsPhi2010.C:10 AddRsnDaughterCutsPhi2010.C:11 AddRsnDaughterCutsPhi2010.C:12 AddRsnDaughterCutsPhi2010.C:13 AddRsnDaughterCutsPhi2010.C:14 AddRsnDaughterCutsPhi2010.C:15 AddRsnDaughterCutsPhi2010.C:16 AddRsnDaughterCutsPhi2010.C:17 AddRsnDaughterCutsPhi2010.C:18 AddRsnDaughterCutsPhi2010.C:19 AddRsnDaughterCutsPhi2010.C:20 AddRsnDaughterCutsPhi2010.C:21 AddRsnDaughterCutsPhi2010.C:22 AddRsnDaughterCutsPhi2010.C:23 AddRsnDaughterCutsPhi2010.C:24 AddRsnDaughterCutsPhi2010.C:25 AddRsnDaughterCutsPhi2010.C:26 AddRsnDaughterCutsPhi2010.C:27 AddRsnDaughterCutsPhi2010.C:28 AddRsnDaughterCutsPhi2010.C:29 AddRsnDaughterCutsPhi2010.C:30 AddRsnDaughterCutsPhi2010.C:31 AddRsnDaughterCutsPhi2010.C:32 AddRsnDaughterCutsPhi2010.C:33 AddRsnDaughterCutsPhi2010.C:34 AddRsnDaughterCutsPhi2010.C:35 AddRsnDaughterCutsPhi2010.C:36 AddRsnDaughterCutsPhi2010.C:37 AddRsnDaughterCutsPhi2010.C:38 AddRsnDaughterCutsPhi2010.C:39 AddRsnDaughterCutsPhi2010.C:40 AddRsnDaughterCutsPhi2010.C:41 AddRsnDaughterCutsPhi2010.C:42 AddRsnDaughterCutsPhi2010.C:43 AddRsnDaughterCutsPhi2010.C:44 AddRsnDaughterCutsPhi2010.C:45 AddRsnDaughterCutsPhi2010.C:46 AddRsnDaughterCutsPhi2010.C:47 AddRsnDaughterCutsPhi2010.C:48 AddRsnDaughterCutsPhi2010.C:49 AddRsnDaughterCutsPhi2010.C:50 AddRsnDaughterCutsPhi2010.C:51 AddRsnDaughterCutsPhi2010.C:52 AddRsnDaughterCutsPhi2010.C:53 AddRsnDaughterCutsPhi2010.C:54 AddRsnDaughterCutsPhi2010.C:55 AddRsnDaughterCutsPhi2010.C:56 AddRsnDaughterCutsPhi2010.C:57 AddRsnDaughterCutsPhi2010.C:58 AddRsnDaughterCutsPhi2010.C:59 AddRsnDaughterCutsPhi2010.C:60 AddRsnDaughterCutsPhi2010.C:61 AddRsnDaughterCutsPhi2010.C:62 AddRsnDaughterCutsPhi2010.C:63 AddRsnDaughterCutsPhi2010.C:64 AddRsnDaughterCutsPhi2010.C:65 AddRsnDaughterCutsPhi2010.C:66 AddRsnDaughterCutsPhi2010.C:67 AddRsnDaughterCutsPhi2010.C:68 AddRsnDaughterCutsPhi2010.C:69 AddRsnDaughterCutsPhi2010.C:70 AddRsnDaughterCutsPhi2010.C:71 AddRsnDaughterCutsPhi2010.C:72 AddRsnDaughterCutsPhi2010.C:73 AddRsnDaughterCutsPhi2010.C:74 AddRsnDaughterCutsPhi2010.C:75 AddRsnDaughterCutsPhi2010.C:76 AddRsnDaughterCutsPhi2010.C:77 AddRsnDaughterCutsPhi2010.C:78 AddRsnDaughterCutsPhi2010.C:79 AddRsnDaughterCutsPhi2010.C:80 AddRsnDaughterCutsPhi2010.C:81 AddRsnDaughterCutsPhi2010.C:82 AddRsnDaughterCutsPhi2010.C:83 AddRsnDaughterCutsPhi2010.C:84 AddRsnDaughterCutsPhi2010.C:85 AddRsnDaughterCutsPhi2010.C:86 AddRsnDaughterCutsPhi2010.C:87 AddRsnDaughterCutsPhi2010.C:88 AddRsnDaughterCutsPhi2010.C:89 AddRsnDaughterCutsPhi2010.C:90 AddRsnDaughterCutsPhi2010.C:91 AddRsnDaughterCutsPhi2010.C:92 AddRsnDaughterCutsPhi2010.C:93 AddRsnDaughterCutsPhi2010.C:94 AddRsnDaughterCutsPhi2010.C:95 AddRsnDaughterCutsPhi2010.C:96 AddRsnDaughterCutsPhi2010.C:97 AddRsnDaughterCutsPhi2010.C:98 AddRsnDaughterCutsPhi2010.C:99 AddRsnDaughterCutsPhi2010.C:100 AddRsnDaughterCutsPhi2010.C:101 AddRsnDaughterCutsPhi2010.C:102 AddRsnDaughterCutsPhi2010.C:103 AddRsnDaughterCutsPhi2010.C:104 AddRsnDaughterCutsPhi2010.C:105 AddRsnDaughterCutsPhi2010.C:106 AddRsnDaughterCutsPhi2010.C:107 AddRsnDaughterCutsPhi2010.C:108 AddRsnDaughterCutsPhi2010.C:109 AddRsnDaughterCutsPhi2010.C:110 AddRsnDaughterCutsPhi2010.C:111 AddRsnDaughterCutsPhi2010.C:112 AddRsnDaughterCutsPhi2010.C:113 AddRsnDaughterCutsPhi2010.C:114 AddRsnDaughterCutsPhi2010.C:115 AddRsnDaughterCutsPhi2010.C:116 AddRsnDaughterCutsPhi2010.C:117 AddRsnDaughterCutsPhi2010.C:118 AddRsnDaughterCutsPhi2010.C:119 AddRsnDaughterCutsPhi2010.C:120 AddRsnDaughterCutsPhi2010.C:121 AddRsnDaughterCutsPhi2010.C:122 AddRsnDaughterCutsPhi2010.C:123 AddRsnDaughterCutsPhi2010.C:124 AddRsnDaughterCutsPhi2010.C:125 AddRsnDaughterCutsPhi2010.C:126 AddRsnDaughterCutsPhi2010.C:127 AddRsnDaughterCutsPhi2010.C:128 AddRsnDaughterCutsPhi2010.C:129 AddRsnDaughterCutsPhi2010.C:130 AddRsnDaughterCutsPhi2010.C:131 AddRsnDaughterCutsPhi2010.C:132 AddRsnDaughterCutsPhi2010.C:133 AddRsnDaughterCutsPhi2010.C:134 AddRsnDaughterCutsPhi2010.C:135 AddRsnDaughterCutsPhi2010.C:136 AddRsnDaughterCutsPhi2010.C:137 AddRsnDaughterCutsPhi2010.C:138 AddRsnDaughterCutsPhi2010.C:139 AddRsnDaughterCutsPhi2010.C:140 AddRsnDaughterCutsPhi2010.C:141 AddRsnDaughterCutsPhi2010.C:142 AddRsnDaughterCutsPhi2010.C:143 AddRsnDaughterCutsPhi2010.C:144 AddRsnDaughterCutsPhi2010.C:145 AddRsnDaughterCutsPhi2010.C:146 AddRsnDaughterCutsPhi2010.C:147 AddRsnDaughterCutsPhi2010.C:148 AddRsnDaughterCutsPhi2010.C:149 AddRsnDaughterCutsPhi2010.C:150 AddRsnDaughterCutsPhi2010.C:151 AddRsnDaughterCutsPhi2010.C:152 AddRsnDaughterCutsPhi2010.C:153 AddRsnDaughterCutsPhi2010.C:154 AddRsnDaughterCutsPhi2010.C:155 AddRsnDaughterCutsPhi2010.C:156 AddRsnDaughterCutsPhi2010.C:157 AddRsnDaughterCutsPhi2010.C:158 AddRsnDaughterCutsPhi2010.C:159 AddRsnDaughterCutsPhi2010.C:160 AddRsnDaughterCutsPhi2010.C:161 AddRsnDaughterCutsPhi2010.C:162 AddRsnDaughterCutsPhi2010.C:163 AddRsnDaughterCutsPhi2010.C:164 AddRsnDaughterCutsPhi2010.C:165 AddRsnDaughterCutsPhi2010.C:166 AddRsnDaughterCutsPhi2010.C:167 AddRsnDaughterCutsPhi2010.C:168 AddRsnDaughterCutsPhi2010.C:169 AddRsnDaughterCutsPhi2010.C:170 AddRsnDaughterCutsPhi2010.C:171 AddRsnDaughterCutsPhi2010.C:172 AddRsnDaughterCutsPhi2010.C:173