]>
Commit | Line | Data |
---|---|---|
221dc8d3 | 1 | #ifndef __CINT__ |
2 | #include <PWG2/RESONANCES/AliRsnInputHandler.h> | |
3 | #include <PWG2/RESONANCES/AliRsnCutSet.h> | |
4 | #include <PWG2/RESONANCES/AliRsnCutDaughterKStar2010PP.h> | |
5 | #endif | |
6 | Int_t AddRsnDaughterCutsKStar(AliPID::EParticleType type1,AliPID::EParticleType type2,TString opt,AliRsnInputHandler *rsnIH=0,AliAnalysisTaskSE *task=0) | |
7 | { | |
8 | ||
9 | if (!rsnIH) return 0; | |
e22320ab | 10 | |
221dc8d3 | 11 | Bool_t valid; |
12 | Int_t isRsnMini = AliRsnTrainManager::GetGlobalInt("IsRsnMini",valid); | |
13 | ||
14 | // === USER HAS TO SET CORRECT NUMBER OF CUTS SETS ===== | |
15 | Int_t numberOfCuts = 2; | |
16 | ||
17 | Printf("AddRsnDaughterCutsKStar Option : %s",opt.Data()); | |
18 | ||
19 | AliRsnCutPion *cutPi = 0; | |
20 | AliRsnCutKaon *cutK = 0; | |
21 | if (opt.Contains("TPCTOFpidDefaultKstarPP2010")) { | |
22 | cutPi = new AliRsnCutPion("cutPionTPCTOFpidDefaultKstarPP2010", AliRsnCutPion::kTPCTOFpidDefaultKstarPP2010); | |
23 | cutK = new AliRsnCutKaon("cutKaonTPCTOFpidDefaultKstarPP2010", AliRsnCutKaon::kTPCTOFpidDefaultKstarPP2010); | |
24 | } else if (opt.Contains("FastTPCpid1point5sigma")) { | |
25 | cutPi = new AliRsnCutPion("cutPionForKStarFastTPCpid1point5sigma", AliRsnCutPion::kFastTPCpid1point5sigma); | |
26 | cutK = new AliRsnCutKaon("cutKaonForKStarFastTPCpid1point5sigma", AliRsnCutKaon::kFastTPCpid1point5sigma); | |
27 | } else if (opt.Contains("FastTPCpid2sigma")) { | |
28 | cutPi = new AliRsnCutPion("cutPionForKStarFastTPCpid2sigma", AliRsnCutPion::kFastTPCpid2sigma); | |
29 | cutK = new AliRsnCutKaon("cutKaonForKStarFastTPCpid2sigma", AliRsnCutKaon::kFastTPCpid2sigma); | |
30 | } else { | |
31 | cutPi = new AliRsnCutPion("cutPionDefault"); | |
32 | cutK = new AliRsnCutKaon("cutKaonDefault") | |
33 | } | |
34 | AliRsnCutSet *cutSetPi = new AliRsnCutSet(Form("set%s",cutPi->GetName()), AliRsnTarget::kDaughter); | |
35 | cutSetPi->AddCut(cutPi); | |
36 | cutSetPi->SetCutScheme(cutPi->GetName()); | |
37 | ||
38 | // cut set | |
39 | AliRsnCutSet *cutSetK = new AliRsnCutSet(Form("set%s",cutK->GetName()), AliRsnTarget::kDaughter); | |
40 | cutSetK->AddCut(cutK); | |
41 | cutSetK->SetCutScheme(cutK->GetName()); | |
42 | ||
43 | ||
44 | if (opt.Contains("mon")) { | |
45 | Printf("Monitoring cut AddRsnDaughterCutsKStar Option : %s",opt.Data()); | |
46 | AddMonitorOutput(cutSetPi->GetMonitorOutput()); | |
47 | AddMonitorOutput(cutSetK->GetMonitorOutput()); | |
48 | } | |
49 | if (isRsnMini) { | |
50 | AliRsnMiniAnalysisTask *taskRsnMini = dynamic_cast<AliRsnMiniAnalysisTask *>(task); | |
51 | if (taskRsnMini) { | |
52 | taskRsnMini->AddTrackCuts(cutSetPi); | |
53 | taskRsnMini->AddTrackCuts(cutSetK); | |
54 | } | |
55 | } else { | |
56 | AliRsnDaughterSelector *sel = rsnIH->GetSelector(); | |
57 | sel->Add(cutSetPi, kTRUE); | |
58 | sel->Add(cutSetK, kTRUE); | |
59 | } | |
60 | ||
61 | ||
62 | return numberOfCuts; | |
63 | } |