]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/RESONANCES/macros/lego_train/AddRsnDaughterCutsKStar.C
Merge branch 'feature-movesplit'
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / macros / lego_train / AddRsnDaughterCutsKStar.C
CommitLineData
221dc8d3 1#ifndef __CINT__
2#include <PWG2/RESONANCES/AliRsnInputHandler.h>
3#include <PWG2/RESONANCES/AliRsnCutSet.h>
4#include <PWG2/RESONANCES/AliRsnCutDaughterKStar2010PP.h>
5#endif
6Int_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}