]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWGLF/RESONANCES/AliRsnCutPhiRAA.cxx
GetVTrack() method added
[u/mrichter/AliRoot.git] / PWGLF / RESONANCES / AliRsnCutPhiRAA.cxx
1 //
2 // This cut implements all the checks done to accept a track as a Kaon
3 // for the PbPb analysis using 2010 runs.
4 // It is based on standard cuts on track quality and nsigma cuts
5 // with respect to the TPC and TOF signals for the PID.
6 //
7
8 #include <Riostream.h>
9
10 #include "AliLog.h"
11 #include "AliPID.h"
12 #include "AliPIDResponse.h"
13 #include "AliESDpid.h"
14 #include "AliAODpidUtil.h"
15 #include "AliRsnCutPhiRAA.h"
16 #include "AliESDtrackCuts.h"
17
18 ClassImp(AliRsnCutPhiRAA)
19
20 //__________________________________________________________________________________________________
21 AliRsnCutPhiRAA::AliRsnCutPhiRAA
22 (const char *name) :
23    AliRsnCut(name, AliRsnTarget::kDaughter),
24    fMode(k2011_1),
25    fCutQuality(Form("%s_quality", name)),
26    cut1(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 1)),
27    cut2(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 0)),
28    cut3(AliESDtrackCuts::GetStandardITSTPCTrackCuts2010())
29 {
30 //
31 // Constructor
32 // Initialize the contained cuts and sets defaults
33 //
34
35 //  cut1
36   cut1->SetEtaRange(-0.8, 0.8);
37   cut1->SetPtRange(0.30,1e10);
38 //  cut2
39   cut2->SetEtaRange(-0.8, 0.8);
40   cut2->SetPtRange(0.30,1e10);
41 //  cut3
42   cut3->SetEtaRange(-0.8, 0.8);
43   cut3->SetPtRange(0.30,1e10);
44
45   //V end
46
47 }
48
49 //__________________________________________________________________________________________________
50 AliRsnCutPhiRAA::AliRsnCutPhiRAA(const AliRsnCutPhiRAA &copy) :
51    AliRsnCut(copy),
52    fMode(copy.fMode),
53    fCutQuality(copy.fCutQuality),
54    cut1(copy.cut1),
55    cut2(copy.cut2),
56    cut3(copy.cut3)
57
58 {
59 //
60 // Copy constructor
61 //
62 }
63
64 //__________________________________________________________________________________________________
65 AliRsnCutPhiRAA &AliRsnCutPhiRAA::operator=(const AliRsnCutPhiRAA &copy)
66 {
67 //
68 // Assignment operator
69 //
70
71    AliRsnCut::operator=(copy);
72    if (this == &copy)
73       return *this;
74    fMode = copy.fMode;
75    fCutQuality = copy.fCutQuality;
76
77    return *this;
78 }
79
80 //__________________________________________________________________________________________________
81 Bool_t AliRsnCutPhiRAA::IsSelected(TObject *obj)
82 {
83 //
84 // Global check
85 //
86
87    // coherence check
88    if (!TargetOK(obj)) return kFALSE;
89
90    // check track
91    AliVTrack *track = fDaughter->Ref2Vtrack();
92    if (!track) {
93       if (!fDaughter->GetRef()) AliWarning("NULL ref");
94       return kFALSE;
95    }
96
97    // initialize check variables
98    Bool_t   accept = kFALSE;
99
100    // decide cut result depending on mode
101    switch (fMode) {
102      case k2010:
103        fCutQuality.SetESDtrackCuts(cut3);
104        if (fCutQuality.IsSelected(obj)) accept = kTRUE;
105        ::Info("AnalysisSetup", "ESD cut 2010!!! ");
106      break;
107      case k2011_0:
108            fCutQuality.SetESDtrackCuts(cut2);
109        if (fCutQuality.IsSelected(obj)) accept = kTRUE;
110      break;
111      case k2011_1:
112            fCutQuality.SetESDtrackCuts(cut1);
113        if (fCutQuality.IsSelected(obj)) accept = kTRUE;
114        ::Info("AnalysisSetup", "ESD cut 2011 ");
115      break;
116      case k2011_1_05:
117           cut1->SetPtRange(0.50,1e10);
118            fCutQuality.SetESDtrackCuts(cut1);
119        if (fCutQuality.IsSelected(obj)) accept = kTRUE;
120        ::Info("AnalysisSetup", "ESD cut 2011 pT > 0.5 GeV/c");
121      break;
122      case k2011_1_075:
123           cut1->SetPtRange(0.75,1e10);
124            fCutQuality.SetESDtrackCuts(cut1);
125        if (fCutQuality.IsSelected(obj)) accept = kTRUE;
126        ::Info("AnalysisSetup", "ESD cut 2011 pT > 0.75 GeV/c ");
127      break;
128      default:
129          AliDebugClass(1, Form("[%s] Wrong mode", GetName()));
130          accept = kFALSE;
131    }
132
133    AliDebugClass(1, Form("[%s] Track %s", GetName(), (accept ? "accepted" : "rejected")));
134    return accept;
135 }