]>
Commit | Line | Data |
---|---|---|
239e1e7a | 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), | |
f3a8c2fa | 25 | fCutQuality(Form("%s_quality", name)), |
26 | cut1(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 1)), | |
27 | cut2(AliESDtrackCuts::GetStandardITSTPCTrackCuts2011(kTRUE, 0)), | |
28 | cut3(AliESDtrackCuts::GetStandardITSTPCTrackCuts2010()) | |
239e1e7a | 29 | { |
30 | // | |
31 | // Constructor | |
32 | // Initialize the contained cuts and sets defaults | |
33 | // | |
f3a8c2fa | 34 | |
35 | // cut1 | |
239e1e7a | 36 | cut1->SetEtaRange(-0.8, 0.8); |
37 | cut1->SetPtRange(0.30,1e10); | |
f3a8c2fa | 38 | // cut2 |
239e1e7a | 39 | cut2->SetEtaRange(-0.8, 0.8); |
40 | cut2->SetPtRange(0.30,1e10); | |
f3a8c2fa | 41 | // cut3 |
239e1e7a | 42 | cut3->SetEtaRange(-0.8, 0.8); |
43 | cut3->SetPtRange(0.30,1e10); | |
44 | ||
239e1e7a | 45 | //V end |
46 | ||
47 | } | |
48 | ||
49 | //__________________________________________________________________________________________________ | |
50 | AliRsnCutPhiRAA::AliRsnCutPhiRAA(const AliRsnCutPhiRAA ©) : | |
51 | AliRsnCut(copy), | |
52 | fMode(copy.fMode), | |
f3a8c2fa | 53 | fCutQuality(copy.fCutQuality), |
54 | cut1(copy.cut1), | |
55 | cut2(copy.cut2), | |
56 | cut3(copy.cut3) | |
57 | ||
239e1e7a | 58 | { |
59 | // | |
60 | // Copy constructor | |
61 | // | |
62 | } | |
63 | ||
64 | //__________________________________________________________________________________________________ | |
65 | AliRsnCutPhiRAA &AliRsnCutPhiRAA::operator=(const AliRsnCutPhiRAA ©) | |
66 | { | |
67 | // | |
68 | // Assignment operator | |
69 | // | |
70 | ||
71 | AliRsnCut::operator=(copy); | |
72 | if (this == ©) | |
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; | |
239e1e7a | 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 | } |