]>
Commit | Line | Data |
---|---|---|
6be5eb30 | 1 | class LMEECutLib { |
2 | ||
3 | public: | |
4 | static enum LMMECutSet { | |
c9868ab1 | 5 | kPbPb2011TPCandTOF, //TOF required |
6 | kPbPb2011TPCandTOFwide, //TOF required, more relaxed cut on TPC | |
6be5eb30 | 7 | kPbPb2011TPCorTOF, |
8 | kpp2010TPCandTOF, | |
9 | kpp2010TPCorTOF, | |
10 | kCUTSETMAX | |
11 | }; | |
12 | ||
13 | static enum LMMECentSel { | |
14 | kPbPb2011Central, | |
15 | kPbPb2011SemiCentral, | |
16 | kPbPb2011Peripheral, | |
17 | kCENTSELMAX | |
18 | }; | |
19 | ||
20 | //char* LMEECutNames[kCUTSETMAX] = { "PbPb2011TPCandTOF","PbPb2011TPCorTOF"}; | |
8349c102 | 21 | |
22 | Bool_t useMC; | |
6be5eb30 | 23 | |
24 | ||
8349c102 | 25 | LMEECutLib() {useMC=kFALSE;} |
6be5eb30 | 26 | |
27 | AliDielectronEventCuts* GetEventCuts(Int_t cutSet); | |
28 | AliAnalysisCuts* GetCentralityCuts(Int_t centSel); | |
29 | AliDielectronTrackRotator* GetTrackRotator(Int_t cutSet); | |
30 | AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet); | |
31 | ||
32 | AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet); | |
33 | AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet); | |
34 | ||
1350e718 | 35 | AliAnalysisCuts* GetPairCuts2(Int_t cutSet,Bool_t tooglePC=kFALSE); |
6be5eb30 | 36 | AliAnalysisCuts* GetPairCuts(Int_t cutSet); |
37 | ||
38 | AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet); | |
39 | AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet); | |
40 | ||
8349c102 | 41 | void SetMCFlag( Bool_t isMC=kTRUE) {useMC=isMC;} |
42 | ||
6be5eb30 | 43 | AliDielectronEventCuts* GetEventCuts(Int_t cutSet) { |
44 | AliDielectronEventCuts* eventCuts = 0x0; | |
45 | switch (cutSet) { | |
46 | case kPbPb2011TPCandTOF : | |
c9868ab1 | 47 | case kPbPb2011TPCandTOFwide : |
6be5eb30 | 48 | case kPbPb2011TPCorTOF : |
49 | case kpp2010TPCandTOF : | |
50 | case kpp2010TPCorTOF : | |
51 | eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0"); | |
52 | eventCuts->SetRequireVertex(); | |
53 | eventCuts->SetMinVtxContributors(1); | |
54 | eventCuts->SetVertexZ(-10.,10.); | |
6be5eb30 | 55 | break; |
56 | default: cout << "No Event Cut defined" << endl; | |
57 | } | |
58 | return eventCuts; | |
59 | } | |
60 | ||
61 | AliAnalysisCuts* GetCentralityCuts(Int_t centSel) { | |
62 | AliDielectronVarCuts* centCuts = 0x0; | |
63 | switch (centSel) { | |
64 | case kPbPb2011Central: | |
65 | centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Central"); | |
66 | centCuts->AddCut(AliDielectronVarManager::kCentrality,0.,10.); | |
67 | break; | |
68 | case kPbPb2011SemiCentral: | |
69 | centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011SemiCentral"); | |
70 | //Restrict to 50%, Trigger selction | |
9a476b26 | 71 | centCuts->AddCut(AliDielectronVarManager::kCentrality,20.,50.); |
6be5eb30 | 72 | break; |
73 | case kPbPb2011Peripheral: | |
74 | centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Peripheral"); | |
75 | centCuts->AddCut(AliDielectronVarManager::kCentrality,50.,90.); | |
76 | break; | |
77 | default: cout << "No Centrality selected" << endl; | |
78 | } | |
79 | return centCuts; | |
80 | } | |
81 | ||
82 | ||
83 | AliDielectronTrackRotator* GetTrackRotator(Int_t cutSet) { | |
84 | AliDielectronTrackRotator* trackRotator = 0x0; | |
85 | switch (cutSet) { | |
86 | case kPbPb2011TPCandTOF : | |
c9868ab1 | 87 | case kPbPb2011TPCandTOFwide : |
6be5eb30 | 88 | case kPbPb2011TPCorTOF : |
89 | case kpp2010TPCandTOF : | |
90 | case kpp2010TPCorTOF : | |
91 | trackRotator = new AliDielectronTrackRotator(); | |
92 | trackRotator->SetIterations(20); | |
93 | trackRotator->SetConeAnglePhi(TMath::Pi()/180*165); | |
94 | trackRotator->SetStartAnglePhi(TMath::Pi()); | |
95 | break; | |
96 | default: cout << "No Rotator defined" << endl; | |
97 | } | |
98 | return trackRotator; | |
99 | } | |
100 | ||
101 | ||
102 | AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet) { | |
103 | AliDielectronMixingHandler* mixingHandler = 0x0; | |
104 | switch (cutSet) { | |
8217d84c | 105 | case kPbPb2011TPCandTOF : |
c9868ab1 | 106 | case kPbPb2011TPCandTOFwide : |
7f5f1ec3 | 107 | case kPbPb2011TPCorTOF : |
8217d84c | 108 | mixingHandler = new AliDielectronMixingHandler; |
109 | mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10"); | |
7f5f1ec3 | 110 | mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80,100"); |
111 | mixingHandler->AddVariable(AliDielectronVarManager::kv0ACrpH2,"-6*(TMath::Pi()/6),-5*(TMath::Pi()/6),-4*(TMath::Pi()/6),-3*(TMath::Pi()/6),-2*(TMath::Pi()/6),-1*(TMath::Pi()/6),0,1*(TMath::Pi()/6),2*(TMath::Pi()/6),3*(TMath::Pi()/6),4*(TMath::Pi()/6),5*(TMath::Pi()/6),6*(TMath::Pi()/6)"); | |
8217d84c | 112 | //mixingHandler->SetDepth(50); |
7f5f1ec3 | 113 | mixingHandler->SetDepth(15); |
8217d84c | 114 | mixingHandler->SetMixType(AliDielectronMixingHandler::kAll); |
6be5eb30 | 115 | break; |
116 | case kpp2010TPCandTOF : | |
117 | case kpp2010TPCorTOF : | |
118 | mixingHandler = new AliDielectronMixingHandler; | |
119 | mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10"); | |
8217d84c | 120 | mixingHandler->AddVariable(AliDielectronVarManager::kNacc,"0,10000"); |
6be5eb30 | 121 | //might want to add multiplicity? |
7f5f1ec3 | 122 | mixingHandler->SetDepth(25); |
6be5eb30 | 123 | mixingHandler->SetMixType(AliDielectronMixingHandler::kAll); |
124 | break; | |
7f5f1ec3 | 125 | default: cout << "No Mixing Handler defined" << endl; |
6be5eb30 | 126 | } |
127 | return mixingHandler; | |
128 | } | |
129 | ||
130 | ||
131 | AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet) { | |
132 | AliAnalysisCuts* anaCuts=0x0; | |
133 | ||
134 | // + [2] added for Dec2010 Cut! | |
135 | TF1 *lowerCut = new TF1("lowerCut", "[0] * TMath::Exp([1]*x) + [2]", 0, 20); | |
136 | /* until Nov2010 | |
137 | lowerCut->SetParameter(0, -2.7); | |
138 | lowerCut->SetParameter(1, -0.4357); | |
139 | */ | |
140 | /* 18.01.2011 ALiHFEpid.cxx */ | |
141 | lowerCut->SetParameter(0,-3.7); | |
142 | lowerCut->SetParameter(1,-0.8); | |
143 | lowerCut->SetParameter(2,-0.35); | |
144 | ||
8349c102 | 145 | if (useMC) { //overwrite parameters |
6be5eb30 | 146 | lowerCut->SetParameter(0,-2.5); |
147 | lowerCut->SetParameter(2,-2.2); | |
148 | } | |
149 | ||
150 | //--------------------------------------------- | |
cb0b0223 | 151 | AliDielectronPID *pidTPCTOFeOnly = new AliDielectronPID("TPC-TOF","TPC-TOF"); |
7f5f1ec3 | 152 | pidTPCTOFeOnly->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3. ,3.,0.0,100.,kFALSE); |
6be5eb30 | 153 | pidTPCTOFeOnly->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE ); |
154 | ||
7f5f1ec3 | 155 | AliDielectronPID *pidTPCandTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE"); |
156 | pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.,0.0,100.,kFALSE); | |
157 | pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE); | |
158 | pidTPCandTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE ); | |
159 | ||
6be5eb30 | 160 | AliDielectronPID *pidTPChardTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE"); |
161 | pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,0.0,100.,kFALSE); | |
7f5f1ec3 | 162 | pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE); |
6be5eb30 | 163 | pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE); |
164 | pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE); | |
165 | pidTPChardTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE ); | |
166 | //___________________________________________ | |
cb0b0223 | 167 | AliDielectronPID *pidTT = new AliDielectronPID("TPC-TOF","TPC-TOF"); |
168 | pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,0.4,kFALSE); | |
169 | pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.4,100.,kFALSE); | |
0ff2c21d | 170 | pidTT->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.2 , 100., kFALSE ); |
6be5eb30 | 171 | |
172 | pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE); | |
173 | pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE); | |
174 | pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE); | |
175 | //___________________________________________ | |
176 | AliDielectronVarCuts *pidTPCsignal = new AliDielectronVarCuts("pidTPCsignal","cut on the TPC signal"); | |
8349c102 | 177 | if (useMC) { |
178 | pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,65.,85.); | |
179 | } | |
180 | else { | |
181 | pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,75.,90.); | |
182 | } | |
6be5eb30 | 183 | //___________________________________________ |
c9868ab1 | 184 | AliDielectronVarCuts *pidTPCsignalWide = new AliDielectronVarCuts("pidTPCsignalWide","cut on the TPC signal"); |
54beba6b | 185 | pidTPCsignalWide->AddCut(AliDielectronVarManager::kTPCsignal,70.,90.); |
c9868ab1 | 186 | //___________________________________________ |
6be5eb30 | 187 | |
188 | AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4"); | |
50191baf | 189 | pTPC->AddCut(AliDielectronVarManager::kPt,.4,5.); |
6be5eb30 | 190 | |
191 | AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2"); | |
50191baf | 192 | pMin->AddCut(AliDielectronVarManager::kPt,.2,5.); |
6be5eb30 | 193 | |
194 | switch (cutSet) { | |
195 | case kPbPb2011TPCandTOF : | |
196 | AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND); | |
197 | cgSecondTrackFilterPIDTPC1->AddCut(pTPC); | |
7f5f1ec3 | 198 | cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF); |
6be5eb30 | 199 | cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal); |
200 | cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet)); | |
201 | anaCuts = cgSecondTrackFilterPIDTPC1; | |
202 | break; | |
c9868ab1 | 203 | case kPbPb2011TPCandTOFwide : |
204 | AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND); | |
205 | cgSecondTrackFilterPIDTPC1->AddCut(pTPC); | |
206 | cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF); | |
207 | cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignalWide); | |
208 | cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet)); | |
209 | anaCuts = cgSecondTrackFilterPIDTPC1; | |
210 | break; | |
6be5eb30 | 211 | case kPbPb2011TPCorTOF : |
212 | AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND); | |
213 | cgSecondTrackFilterPIDTPC2->AddCut(pMin); | |
214 | cgSecondTrackFilterPIDTPC2->AddCut(pidTT); | |
215 | cgSecondTrackFilterPIDTPC2->AddCut(pidTPCsignal); | |
216 | cgSecondTrackFilterPIDTPC2->AddCut(GetTrackCutsAna(cutSet)); | |
217 | anaCuts = cgSecondTrackFilterPIDTPC2; | |
218 | break; | |
219 | case kpp2010TPCandTOF : | |
220 | AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND); | |
221 | cgSecondTrackFilterPIDTPC->AddCut(pTPC); | |
222 | //cgSecondTrackFilterPIDTPC->AddCut(pidTPChardTOF); | |
7f5f1ec3 | 223 | cgSecondTrackFilterPIDTPC->AddCut(pidTPCandTOF); |
6be5eb30 | 224 | cgSecondTrackFilterPIDTPC->AddCut(pidTPCTOFeOnly); |
0ff2c21d | 225 | cgSecondTrackFilterPIDTPC->AddCut(GetTrackCutsAna(cutSet)); |
6be5eb30 | 226 | anaCuts = cgSecondTrackFilterPIDTPC; |
227 | break; | |
228 | case kpp2010TPCorTOF : | |
229 | AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND); | |
230 | cgSecondTrackFilterPIDTPC->AddCut(pMin); | |
231 | cgSecondTrackFilterPIDTPC->AddCut(pidTT); | |
0ff2c21d | 232 | cgSecondTrackFilterPIDTPC->AddCut(GetTrackCutsAna(cutSet)); |
6be5eb30 | 233 | anaCuts = cgSecondTrackFilterPIDTPC; |
234 | break; | |
235 | default: cout << "No Analysis PID Cut defined " << endl; | |
236 | } | |
237 | return anaCuts; | |
238 | } | |
239 | ||
240 | AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet) { | |
241 | AliAnalysisCuts* anaCuts=0x0; | |
242 | switch (cutSet) { | |
243 | case kPbPb2011TPCandTOF : | |
c9868ab1 | 244 | case kPbPb2011TPCandTOFwide : |
6be5eb30 | 245 | case kPbPb2011TPCorTOF : |
246 | case kpp2010TPCandTOF : | |
247 | case kpp2010TPCorTOF : | |
248 | AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND); | |
249 | AliDielectronCutGroup* cgITSTPC = new AliDielectronCutGroup("cgITSTPC","cgITSTPC",AliDielectronCutGroup::kCompAND); | |
250 | AliDielectronPID *pidITSTPC = new AliDielectronPID("TPCpre","TPCpre"); | |
251 | pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.); | |
252 | cgITSTPC->AddCut(pidITSTPC); | |
0ff2c21d | 253 | cgITSTPC->AddCut(GetTrackCutsAna(cutSet)); |
6be5eb30 | 254 | |
255 | AliDielectronCutGroup* cgITSSA = new AliDielectronCutGroup("cgITSSA","cgITSSA",AliDielectronCutGroup::kCompAND); | |
256 | AliDielectronPID *pidITSSA = new AliDielectronPID("pidITSSA","pidITSSA"); | |
257 | pidITSSA->AddCut(AliDielectronPID::kITS,AliPID::kElectron,-3.,3.); | |
258 | cgITSSA->AddCut(pidITSSA); | |
0ff2c21d | 259 | cgITSSA->AddCut(GetTrackCutsPre(cutSet)); |
6be5eb30 | 260 | |
261 | AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR); | |
262 | cgInitialTrackFilter->AddCut(cgITSTPC); | |
263 | cgInitialTrackFilter->AddCut(cgITSSA); | |
264 | anaCuts = cgInitialTrackFilter; | |
265 | break; | |
266 | default: cout << "No Pre-PID Cut defined " << endl; | |
267 | } | |
268 | return anaCuts; | |
269 | } | |
270 | ||
271 | ||
1350e718 | 272 | AliAnalysisCuts* GetPairCuts2(Int_t cutSet, Bool_t togglePC /*=kFALSE*/) { |
54beba6b | 273 | AliDielectronVarCuts* pairCuts=0x0; |
274 | switch (cutSet) { | |
275 | case kPbPb2011TPCorTOF : | |
276 | case kpp2010TPCandTOF : | |
277 | pairCuts = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV"); | |
278 | pairCuts->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE); | |
279 | break; | |
280 | case kPbPb2011TPCandTOF : | |
281 | case kPbPb2011TPCandTOFwide : | |
282 | case kpp2010TPCorTOF : | |
1350e718 | 283 | if (!togglePC) { |
54beba6b | 284 | pairCuts =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad"); |
285 | pairCuts->AddCut(AliDielectronVarManager::kPhivPair, 2.0, TMath::ACos(-1.0), kTRUE); //exclude | |
1350e718 | 286 | } |
287 | else { | |
288 | pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad"); | |
289 | pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035,kTRUE); //Logic inverted with pre-cut | |
290 | } | |
54beba6b | 291 | break; |
292 | default: cout << "No Pair Cuts defined " << endl; | |
293 | } | |
294 | return pairCuts; | |
295 | } | |
296 | ||
6be5eb30 | 297 | AliAnalysisCuts* GetPairCuts(Int_t cutSet) { |
298 | AliDielectronVarCuts* pairCuts=0x0; | |
299 | switch (cutSet) { | |
6be5eb30 | 300 | case kPbPb2011TPCorTOF : |
301 | case kpp2010TPCandTOF : | |
6be5eb30 | 302 | pairCuts = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV"); |
303 | pairCuts->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE); | |
304 | break; | |
cb0b0223 | 305 | case kPbPb2011TPCandTOF : |
c9868ab1 | 306 | case kPbPb2011TPCandTOFwide : |
cb0b0223 | 307 | case kpp2010TPCorTOF : |
308 | pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad"); | |
309 | pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035); | |
310 | break; | |
6be5eb30 | 311 | default: cout << "No Pair Cuts defined " << endl; |
312 | } | |
313 | return pairCuts; | |
314 | } | |
315 | ||
316 | AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet) { | |
317 | AliESDtrackCuts* trackCuts=0x0; | |
318 | switch (cutSet) { | |
319 | case kPbPb2011TPCandTOF : | |
c9868ab1 | 320 | case kPbPb2011TPCandTOFwide : |
6be5eb30 | 321 | case kPbPb2011TPCorTOF : |
322 | case kpp2010TPCandTOF : | |
323 | case kpp2010TPCorTOF : | |
324 | trackCuts = new AliESDtrackCuts(); | |
325 | trackCuts->SetDCAToVertex2D(kTRUE); | |
326 | trackCuts->SetMaxDCAToVertexZ(3.0); | |
327 | trackCuts->SetMaxDCAToVertexXY(1.0); | |
328 | //trackCuts->SetMaxNsigmaToVertex(3.0); | |
329 | trackCuts->SetPtRange( 0.05 , 200.0); | |
330 | trackCuts->SetEtaRange( -0.84 , 0.84 ); | |
331 | trackCuts->SetAcceptKinkDaughters(kFALSE); | |
332 | trackCuts->SetRequireITSRefit(kTRUE); | |
333 | trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst); | |
334 | trackCuts->SetMinNClustersITS(3); | |
335 | trackCuts->SetRequireTPCRefit(kTRUE); | |
336 | //trackCuts->SetMinNClustersTPC(60); | |
337 | trackCuts->SetMinNCrossedRowsTPC(110); | |
338 | trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.7); | |
339 | trackCuts->SetMaxChi2PerClusterTPC(3.5); | |
cb0b0223 | 340 | //trackCuts->SetMaxChi2PerClusterITS(6); |
6be5eb30 | 341 | break; |
342 | default: cout << "No Analysis Track Cut defined " << endl; | |
343 | } | |
344 | return trackCuts; | |
345 | } | |
346 | ||
347 | AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet) { | |
348 | AliESDtrackCuts* trackCuts=0x0; | |
349 | switch (cutSet) { | |
350 | case kPbPb2011TPCandTOF : | |
c9868ab1 | 351 | case kPbPb2011TPCandTOFwide : |
6be5eb30 | 352 | case kPbPb2011TPCorTOF : |
353 | case kpp2010TPCandTOF : | |
354 | case kpp2010TPCorTOF : | |
355 | trackCuts = new AliESDtrackCuts(); | |
356 | trackCuts->SetDCAToVertex2D(kTRUE); | |
357 | trackCuts->SetMaxDCAToVertexZ(3.0); | |
358 | trackCuts->SetMaxDCAToVertexXY(1.0); | |
359 | trackCuts->SetEtaRange( -0.84 , 0.84 ); | |
360 | trackCuts->SetPtRange( 0.05 , 0.5); | |
361 | trackCuts->SetAcceptKinkDaughters(kFALSE); | |
362 | trackCuts->SetRequireITSRefit(kTRUE); | |
363 | trackCuts->SetRequireITSStandAlone(kTRUE); | |
364 | trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst); | |
365 | trackCuts->SetMinNClustersITS(3); //PhotonGroup-Dalitz: 2?! | |
366 | break; | |
367 | default: cout << "No Pre-Track Cut defined " << endl; | |
368 | } | |
369 | return trackCuts; | |
370 | } | |
371 | ||
372 | }; |