]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGDQ/dielectron/macrosLMEE/LMEECutLibAOD.C
add ITS Cut
[u/mrichter/AliRoot.git] / PWGDQ / dielectron / macrosLMEE / LMEECutLibAOD.C
CommitLineData
9f00b65f 1class LMEECutLib {
2
3 public:
4 static enum LMMECutSet {
5 kPbPb2011TPCandTOF,
4118e72c 6 kPbPb2011TPCandTOFwide, //TOF required, more relaxed cut on TPC
9f00b65f 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"};
21
22
23 LMEECutLib() {}
24
25 AliDielectronEventCuts* GetEventCuts(Int_t cutSet);
26 AliAnalysisCuts* GetCentralityCuts(Int_t centSel);
27 AliDielectronTrackRotator* GetTrackRotator(Int_t cutSet);
28 AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet);
29
30 AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet);
31 AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet);
32
4118e72c 33 AliAnalysisCuts* GetPairCuts2(Int_t cutSet,Bool_t tooglePC=kFALSE);
9f00b65f 34 AliAnalysisCuts* GetPairCuts(Int_t cutSet);
35
36 AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet);
37 AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet);
38
39
40
41
42 AliDielectronEventCuts* GetEventCuts(Int_t cutSet) {
43 AliDielectronEventCuts* eventCuts = 0x0;
44 switch (cutSet) {
45 case kPbPb2011TPCandTOF :
4118e72c 46 case kPbPb2011TPCandTOFwide :
9f00b65f 47 case kPbPb2011TPCorTOF :
48 case kpp2010TPCandTOF :
49 case kpp2010TPCorTOF :
50 eventCuts=new AliDielectronEventCuts("eventCuts","Vertex Track && |vtxZ|<10 && ncontrib>0");
ee00eb9d 51 eventCuts->SetVertexType(AliDielectronEventCuts::kVtxAny); // AOD
52 // eventCuts->SetCentralityRange(0.0,80.0);
9f00b65f 53 eventCuts->SetRequireVertex();
54 eventCuts->SetMinVtxContributors(1);
55 eventCuts->SetVertexZ(-10.,10.);
56 break;
57 default: cout << "No Event Cut defined" << endl;
58 }
59 return eventCuts;
60 }
61
62 AliAnalysisCuts* GetCentralityCuts(Int_t centSel) {
63 AliDielectronVarCuts* centCuts = 0x0;
64 switch (centSel) {
65 case kPbPb2011Central:
66 centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Central");
67 centCuts->AddCut(AliDielectronVarManager::kCentrality,0.,10.);
68 break;
69 case kPbPb2011SemiCentral:
70 centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011SemiCentral");
71 //Restrict to 50%, Trigger selction
4118e72c 72 centCuts->AddCut(AliDielectronVarManager::kCentrality,20.,50.);
9f00b65f 73 break;
74 case kPbPb2011Peripheral:
75 centCuts = new AliDielectronVarCuts("centCuts","CentralityPbPb2011Peripheral");
76 centCuts->AddCut(AliDielectronVarManager::kCentrality,50.,90.);
77 break;
78 default: cout << "No Centrality selected" << endl;
79 }
80 return centCuts;
81 }
82
83
84 AliDielectronTrackRotator* GetTrackRotator(Int_t cutSet) {
85 AliDielectronTrackRotator* trackRotator = 0x0;
86 switch (cutSet) {
87 case kPbPb2011TPCandTOF :
4118e72c 88 case kPbPb2011TPCandTOFwide :
9f00b65f 89 case kPbPb2011TPCorTOF :
90 case kpp2010TPCandTOF :
91 case kpp2010TPCorTOF :
92 trackRotator = new AliDielectronTrackRotator();
93 trackRotator->SetIterations(20);
94 trackRotator->SetConeAnglePhi(TMath::Pi()/180*165);
95 trackRotator->SetStartAnglePhi(TMath::Pi());
96 break;
97 default: cout << "No Rotator defined" << endl;
98 }
99 return trackRotator;
100 }
101
102
103 AliDielectronMixingHandler* GetMixingHandler(Int_t cutSet) {
104 AliDielectronMixingHandler* mixingHandler = 0x0;
105 switch (cutSet) {
106 case kPbPb2011TPCorTOF :
4118e72c 107/*
9f00b65f 108 mixingHandler = new AliDielectronMixingHandler;
109 mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
110 mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80");
111 mixingHandler->SetDepth(25);
112 mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
4118e72c 113 break;
114*/
9f00b65f 115 case kPbPb2011TPCandTOF :
4118e72c 116 case kPbPb2011TPCandTOFwide :
9f00b65f 117 mixingHandler = new AliDielectronMixingHandler;
118 mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
119 mixingHandler->AddVariable(AliDielectronVarManager::kCentrality,"0,5,10,20,40,80");
120 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)");
121 //mixingHandler->SetDepth(50);
4118e72c 122 mixingHandler->SetDepth(15);
9f00b65f 123 mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
124 break;
125 case kpp2010TPCandTOF :
126 case kpp2010TPCorTOF :
127 mixingHandler = new AliDielectronMixingHandler;
128 mixingHandler->AddVariable(AliDielectronVarManager::kZvPrim,"-10,-5,0,5,10");
129 mixingHandler->AddVariable(AliDielectronVarManager::kNacc,"0,10000");
130 //might want to add multiplicity?
131 mixingHandler->SetDepth(50);
132 mixingHandler->SetMixType(AliDielectronMixingHandler::kAll);
133 break;
134 default: cout << "No Rotator defined" << endl;
135 }
136 return mixingHandler;
137 }
138
139
140 AliAnalysisCuts* GetPIDCutsAna(Int_t cutSet) {
141 AliAnalysisCuts* anaCuts=0x0;
142
143 // + [2] added for Dec2010 Cut!
144 TF1 *lowerCut = new TF1("lowerCut", "[0] * TMath::Exp([1]*x) + [2]", 0, 20);
145 /* until Nov2010
146 lowerCut->SetParameter(0, -2.7);
147 lowerCut->SetParameter(1, -0.4357);
148 */
149 /* 18.01.2011 ALiHFEpid.cxx */
150 lowerCut->SetParameter(0,-3.7);
151 lowerCut->SetParameter(1,-0.8);
152 lowerCut->SetParameter(2,-0.35);
153
154 if (MCenabled) { //overwrite parameters
155 lowerCut->SetParameter(0,-2.5);
156 lowerCut->SetParameter(2,-2.2);
157 }
158
159 //---------------------------------------------
160 AliDielectronPID *pidTPCTOFeOnly = new AliDielectronPID("TPC-TOF","TPC-TOF");
161 pidTPCTOFeOnly->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.0,100.,kFALSE);
162 pidTPCTOFeOnly->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
163
4118e72c 164
165 AliDielectronPID *pidTPCandTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
166 pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.,0.0,100.,kFALSE);
167 pidTPCandTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3.,3.,0.,100.,kTRUE);
168 pidTPCandTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
169
9f00b65f 170 AliDielectronPID *pidTPChardTOF = new AliDielectronPID("TPC-TOF-HFE","TPC-TOF-HFE");
171 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,lowerCut,3.,0.0,100.,kFALSE);
172 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
173 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE);
174 pidTPChardTOF->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE);
175 pidTPChardTOF->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.0 , 100., kFALSE );
176 //___________________________________________
177 AliDielectronPID *pidTT = new AliDielectronPID("TPC-TOF","TPC-TOF");
178 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-1.5,3.,0.2,0.4,kFALSE);
179 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3,3.,0.4,100.,kFALSE);
4118e72c 180 pidTT->AddCut(AliDielectronPID::kTOF ,AliPID::kElectron , -3. , 3. , 0.2 , 100., kFALSE );
9f00b65f 181
182 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kPion,-3,3.,0.,100.,kTRUE);
183 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kProton,-3.,3.,0.,100.,kTRUE);
184 pidTT->AddCut(AliDielectronPID::kTPC,AliPID::kKaon,-3.,3.,0.,100.,kTRUE);
185 //___________________________________________
186 AliDielectronVarCuts *pidTPCsignal = new AliDielectronVarCuts("pidTPCsignal","cut on the TPC signal");
4118e72c 187 if (MCenabled) {
188 pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,65.,85.);
189 }
190 else {
9f00b65f 191 pidTPCsignal->AddCut(AliDielectronVarManager::kTPCsignal,75.,90.);
4118e72c 192 }
9f00b65f 193 //___________________________________________
194
4118e72c 195 AliDielectronVarCuts *pidTPCsignalWide = new AliDielectronVarCuts("pidTPCsignalWide","cut on the TPC signal");
196 pidTPCsignalWide->AddCut(AliDielectronVarManager::kTPCsignal,70.,90.);
197
198
9f00b65f 199 AliDielectronVarCuts *pTPC = new AliDielectronVarCuts("P>.4","P>.4");
4118e72c 200 pTPC->AddCut(AliDielectronVarManager::kPt,.4,5.);
9f00b65f 201
202 AliDielectronVarCuts *pMin = new AliDielectronVarCuts("P>.2","P>.2");
4118e72c 203 pMin->AddCut(AliDielectronVarManager::kPt,.2,5.);
9f00b65f 204
205 switch (cutSet) {
206 case kPbPb2011TPCandTOF :
207 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
208 cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
209 //cgSecondTrackFilterPIDTPC1->AddCut(pidTPChardTOF);
210 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCTOFeOnly);
211 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignal);
212 cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
213 anaCuts = cgSecondTrackFilterPIDTPC1;
214 break;
4118e72c 215 case kPbPb2011TPCandTOFwide :
216 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC1 = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
217 cgSecondTrackFilterPIDTPC1->AddCut(pTPC);
218 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCandTOF);
219 cgSecondTrackFilterPIDTPC1->AddCut(pidTPCsignalWide);
220 cgSecondTrackFilterPIDTPC1->AddCut(GetTrackCutsAna(cutSet));
221 anaCuts = cgSecondTrackFilterPIDTPC1;
222 break;
223
9f00b65f 224 case kPbPb2011TPCorTOF :
225 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC2 = new AliDielectronCutGroup("cgPIDTPC2","cgPIDTPC2",AliDielectronCutGroup::kCompAND);
226 cgSecondTrackFilterPIDTPC2->AddCut(pMin);
227 cgSecondTrackFilterPIDTPC2->AddCut(pidTT);
228 cgSecondTrackFilterPIDTPC2->AddCut(pidTPCsignal);
229 cgSecondTrackFilterPIDTPC2->AddCut(GetTrackCutsAna(cutSet));
230 anaCuts = cgSecondTrackFilterPIDTPC2;
231 break;
232 case kpp2010TPCandTOF :
233 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
234 cgSecondTrackFilterPIDTPC->AddCut(pTPC);
235 //cgSecondTrackFilterPIDTPC->AddCut(pidTPChardTOF);
236 cgSecondTrackFilterPIDTPC->AddCut(pidTPCTOFeOnly);
237 anaCuts = cgSecondTrackFilterPIDTPC;
238 break;
239 case kpp2010TPCorTOF :
240 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
241 cgSecondTrackFilterPIDTPC->AddCut(pMin);
242 cgSecondTrackFilterPIDTPC->AddCut(pidTT);
243 anaCuts = cgSecondTrackFilterPIDTPC;
244 break;
245 default: cout << "No Analysis PID Cut defined " << endl;
246 }
247 return anaCuts;
248 }
249
250 AliAnalysisCuts* GetPIDCutsPre(Int_t cutSet) {
251 AliAnalysisCuts* anaCuts=0x0;
252 switch (cutSet) {
253 case kPbPb2011TPCandTOF :
4118e72c 254 case kPbPb2011TPCandTOFwide :
9f00b65f 255 case kPbPb2011TPCorTOF :
256 case kpp2010TPCandTOF :
257 case kpp2010TPCorTOF :
258 AliDielectronCutGroup* cgSecondTrackFilterPIDTPC = new AliDielectronCutGroup("cgPIDTPC","cgPIDTPC",AliDielectronCutGroup::kCompAND);
259 AliDielectronCutGroup* cgITSTPC = new AliDielectronCutGroup("cgITSTPC","cgITSTPC",AliDielectronCutGroup::kCompAND);
260 AliDielectronPID *pidITSTPC = new AliDielectronPID("TPCpre","TPCpre");
261 pidITSTPC->AddCut(AliDielectronPID::kTPC,AliPID::kElectron,-3.,3.);
262 cgITSTPC->AddCut(pidITSTPC);
263 // cgITSTPC->AddCut(GetTrackCutsAna(cutSet));
264
265 AliDielectronCutGroup* cgITSSA = new AliDielectronCutGroup("cgITSSA","cgITSSA",AliDielectronCutGroup::kCompAND);
266 AliDielectronPID *pidITSSA = new AliDielectronPID("pidITSSA","pidITSSA");
267 pidITSSA->AddCut(AliDielectronPID::kITS,AliPID::kElectron,-3.,3.);
268 cgITSSA->AddCut(pidITSSA);
269 // cgITSSA->AddCut(GetTrackCutsPre(cutSet));
270
271 AliDielectronCutGroup* cgInitialTrackFilter = new AliDielectronCutGroup("cgInitialTrackFilter","cgInitialTrackFilter",AliDielectronCutGroup::kCompOR);
272 cgInitialTrackFilter->AddCut(cgITSTPC);
273 cgInitialTrackFilter->AddCut(cgITSSA);
274 anaCuts = cgInitialTrackFilter;
275 break;
276 default: cout << "No Pre-PID Cut defined " << endl;
277 }
278 return anaCuts;
279 }
280
281
4118e72c 282
283 AliAnalysisCuts* GetPairCuts2(Int_t cutSet, Bool_t togglePC /*=kFALSE*/) {
284 AliAnalysisCuts* pairCuts=0x0;
285 switch (cutSet) {
286 case kPbPb2011TPCorTOF :
287 case kpp2010TPCandTOF :
288 AliDielectronVarCuts* pairCutsV= new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");
289 pairCutsV->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
290 pairCuts = pairCutsV;
291 break;
292 case kPbPb2011TPCandTOF :
293 case kPbPb2011TPCandTOFwide :
294 case kpp2010TPCorTOF :
295 if (!togglePC) {
296
297 AliDielectronCutGroup* pairCutsCG2 =new AliDielectronCutGroup("pairCutsCG2","pairCutsCG2",AliDielectronCutGroup::kCompOR);
298 AliDielectronCutGroup* pairCutsCG =new AliDielectronCutGroup("pairCutsCG","pairCutsCG",AliDielectronCutGroup::kCompAND);
299 pairCutsPhiv =new AliDielectronVarCuts("Phiv Cuts","Phiv<2.0rad");
300 pairCutsPhiv->AddCut(AliDielectronVarManager::kPhivPair, 0.0, 2.0);
301 pairCutsInvM =new AliDielectronVarCuts("InvM Cuts","InvM<0.3");
302 pairCutsInvM->AddCut(AliDielectronVarManager::kM, 0.0, 0.3);
303 pairCutsInvMgood =new AliDielectronVarCuts("InvM Cuts good","InvM>0.3");
304 pairCutsInvMgood->AddCut(AliDielectronVarManager::kM, 0.3, 99999.);
305 pairCutsCG->AddCut(pairCutsPhiv);
306 pairCutsCG->AddCut(pairCutsInvM);
307 pairCutsCG2->AddCut(pairCutsInvMgood);
308 pairCutsCG2->AddCut(pairCutsCG);
309 pairCuts = pairCutsCG2;
310 }
311 else {
312 AliDielectronVarCuts* pairCutsV =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
313 pairCutsV->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035,kTRUE);
314 pairCuts = pairCutsV;
315 }
316 break;
317 default: cout << "No Pair Cuts defined " << endl;
318 }
319 return pairCuts;
320 }
321
322
9f00b65f 323 AliAnalysisCuts* GetPairCuts(Int_t cutSet) {
324 AliDielectronVarCuts* pairCuts=0x0;
325 switch (cutSet) {
326 case kPbPb2011TPCorTOF :
327 case kpp2010TPCandTOF :
328 pairCuts = new AliDielectronVarCuts("InvMass","InvMass > 150 MeV");
329 pairCuts->AddCut(AliDielectronVarManager::kM,0.15,100.,kTRUE);
330 break;
331 case kPbPb2011TPCandTOF :
4118e72c 332 case kPbPb2011TPCandTOFwide :
9f00b65f 333 case kpp2010TPCorTOF :
334 pairCuts =new AliDielectronVarCuts("OpeningAngle","Opening angle > .035rad");
335 pairCuts->AddCut(AliDielectronVarManager::kOpeningAngle, 0. , 0.035);
336 break;
337 default: cout << "No Pair Cuts defined " << endl;
338 }
339 return pairCuts;
340 }
341
342 AliAnalysisCuts* GetTrackCutsAna(Int_t cutSet) {
343 AliDielectronCutGroup* trackCuts=0x0;
344 switch (cutSet) {
345 case kPbPb2011TPCandTOF :
4118e72c 346 case kPbPb2011TPCandTOFwide :
9f00b65f 347 case kPbPb2011TPCorTOF :
348 case kpp2010TPCandTOF :
349 case kpp2010TPCorTOF :
350 trackCuts = new AliDielectronCutGroup("cgPIDTPC1","cgPIDTPC1",AliDielectronCutGroup::kCompAND);
351
352 trackCutsAOD =new AliDielectronVarCuts("trackCutsAOD","trackCutsAOD");
353
354 //Not necessary for AOD?
355 //-AOD-trackCuts->SetDCAToVertex2D(kTRUE);
356
9f00b65f 357
5520ccf0 358
9f00b65f 359 //-AOD-trackCuts->SetMinNCrossedRowsTPC(110);
360 //-AOD-trackCuts->SetMinRatioCrossedRowsOverFindableClustersTPC(0.7);
4118e72c 361 //Legacy cut: Use Crossed Rows in ESD, in AOD ASAP
362 trackCutsAOD->AddCut(AliDielectronVarManager::kNclsTPC, 60.0, 160.0);
363
9f00b65f 364 trackCutsAOD->AddCut(AliDielectronVarManager::kPt,0.05,200.);
365 trackCutsAOD->AddCut(AliDielectronVarManager::kEta,-0.84,0.84);
366
4118e72c 367 //DCA Cut
9f00b65f 368 trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParXY, -1.0, 1.0);
369 trackCutsAOD->AddCut(AliDielectronVarManager::kImpactParZ, -3.0, 3.0);
5520ccf0 370 trackCutsAOD->AddCut(AliDielectronVarManager::kTPCchi2Cl, 0.0, 3.5);
9f00b65f 371
5520ccf0 372
373
ee00eb9d 374 trackCutsAOD->AddCut(AliDielectronVarManager::kNclsITS, 3.0, 100.0);
5520ccf0 375
9f00b65f 376 trackCutsAOD->AddCut(AliDielectronVarManager::kKinkIndex0, 0.0);
377
9f00b65f 378
379
380
381 AliDielectronTrackCuts *trackCutsDiel = new AliDielectronTrackCuts("trackCutsDiel","trackCutsDiel");
382 trackCutsDiel->SetRequireITSRefit(kTRUE);
383 trackCutsDiel->SetRequireTPCRefit(kTRUE);
5520ccf0 384
385 //-AOD-trackCuts->SetMinNClustersITS(3);
386 trackCutsDiel->SetITSclusterCut(AliDielectronTrackCuts::kAtLeast,7); //>=3
ee00eb9d 387 trackCutsDiel->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst)
388 // trackCutsAOD->AddCut(AliDielectronVarManager::kITSLayerFirstCls,-0.01,0.5); //ITS(0) = SPDfirst
389
9f00b65f 390 trackCuts->AddCut(trackCutsDiel);
391 trackCuts->AddCut(trackCutsAOD);
392
393 break;
394 default: cout << "No Analysis Track Cut defined " << endl;
395 }
396 return trackCuts;
397 }
398
399 AliAnalysisCuts* GetTrackCutsPre(Int_t cutSet) {
400 AliESDtrackCuts* trackCuts=0x0;
401 switch (cutSet) {
402 case kPbPb2011TPCandTOF :
403 case kPbPb2011TPCorTOF :
404 case kpp2010TPCandTOF :
405 case kpp2010TPCorTOF :
406/*
407 // trackCuts = new AliESDtrackCuts();
408 // trackCuts->SetDCAToVertex2D(kTRUE);
409 // trackCuts->SetMaxDCAToVertexZ(3.0);
410 // trackCuts->SetMaxDCAToVertexXY(1.0);
411 trackCuts->SetEtaRange( -0.84 , 0.84 );
412 trackCuts->SetPtRange( 0.05 , 0.5);
413 trackCuts->SetAcceptKinkDaughters(kFALSE);
414 trackCuts->SetRequireITSRefit(kTRUE);
415 trackCuts->SetRequireITSStandAlone(kTRUE);
416 trackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kFirst);
417 trackCuts->SetMinNClustersITS(3); //PhotonGroup-Dalitz: 2?!
418*/
419 cout << "No Pre-Track Cut defined for AODs at the moment " << endl;
420 break;
421 default: cout << "No Pre-Track Cut defined " << endl;
422 }
423 return trackCuts;
424 }
425
426};