]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG0/dNdPt/macros/CreatedNdPtTrackCuts.C
update to run TPC+ITS analysis
[u/mrichter/AliRoot.git] / PWG0 / dNdPt / macros / CreatedNdPtTrackCuts.C
1 /* $Id: CreateCuts.C,v 1.5 2008/01/11 08:28:52 jgrosseo Exp $ */
2
3 // this macro creates the track and event cuts used in this analysis
4
5 AliESDtrackCuts* CreatedNdPtTrackCuts(Int_t cutMode=1, Bool_t fieldOn = kTRUE, Bool_t hists = kTRUE)
6 {
7   AliESDtrackCuts* esdTrackCuts = new AliESDtrackCuts("AliESDtrackCuts");
8
9   if (hists)
10     esdTrackCuts->DefineHistograms(1);
11
12   Double_t cov1, cov2, cov3, cov4, cov5;
13   Double_t nSigma;
14   Double_t maxDCAtoVertex, maxDCAtoVertexXY, maxDCAtoVertexZ;
15   Double_t minNClustersTPC;
16   Double_t maxChi2PerClusterTPC;
17   Double_t minPt, maxPt;
18
19   // default cuts for ITS+TPC
20   if (cutMode == 0) 
21   {
22     cov1 = 2;
23     cov2 = 2;
24     cov3 = 0.5;
25     cov4 = 0.5;
26     cov5 = 2;
27     nSigma = 3;
28     minNClustersTPC = 50;
29     maxChi2PerClusterTPC = 3.5;
30
31     esdTrackCuts->SetMaxCovDiagonalElements(cov1, cov2, cov3, cov4, cov5);
32     esdTrackCuts->SetMinNsigmaToVertex(nSigma);
33     esdTrackCuts->SetRequireSigmaToVertex(kTRUE);
34     esdTrackCuts->SetRequireTPCRefit(kTRUE);
35     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
36     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
37     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
38
39     TString tag("Global tracking");
40   }
41
42   // TPC-only cuts (vertex n sigma cut)
43   if (cutMode == 1) 
44   {
45     // beta cuts (still under investigation)
46     //cov1 = 4;
47     //cov2 = 4;
48     cov1 = 2;
49     cov2 = 2;
50     cov3 = 0.5;
51     cov4 = 0.5;
52     cov5 = 2;
53     nSigma = 4;
54     minNClustersTPC = 50;
55     maxChi2PerClusterTPC = 3.5;
56
57     esdTrackCuts->SetMaxCovDiagonalElements(cov1, cov2, cov3, cov4, cov5);
58     esdTrackCuts->SetMinNsigmaToVertex(nSigma);
59     esdTrackCuts->SetRequireSigmaToVertex(kTRUE);
60     esdTrackCuts->SetRequireTPCRefit(kFALSE);
61     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
62     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
63     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
64
65     TString tag = "TPC-only tracking";
66   }
67
68   // TPC-only cuts (vertex maxDCAtoVertex cut)
69   if (cutMode == 2) 
70   {
71     // beta cuts (still under investigation)
72     maxDCAtoVertex = 3.0; // cm
73     minNClustersTPC = 50;
74     maxChi2PerClusterTPC = 3.5;
75
76     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
77     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertex);    
78     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertex);    
79     esdTrackCuts->SetRequireTPCRefit(kFALSE);
80     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
81     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
82     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
83
84     TString tag = "TPC-only tracking";
85   }
86
87   // TPC-only no vertex cuts
88   if (cutMode == 3) 
89   {
90     // beta cuts (still under investigation)
91     minNClustersTPC = 50;
92     maxChi2PerClusterTPC = 3.5;
93
94     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
95     esdTrackCuts->SetRequireTPCRefit(kFALSE);
96     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
97     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
98     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
99
100     TString tag = "TPC-only tracking";
101   }
102
103   // TPC-only no cuts at all 
104   if (cutMode == 4) 
105   {
106
107     // beta cuts (still under investigation)
108     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
109     esdTrackCuts->SetRequireTPCRefit(kFALSE);
110     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
111
112     TString tag = "TPC-only tracking";
113   }
114
115   // TPC-only no kink removal no chi2 
116   if (cutMode == 5) 
117   {
118     // beta cuts (still under investigation)
119     minNClustersTPC = 50;
120     //maxChi2PerClusterTPC = 3.5;
121
122     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
123     esdTrackCuts->SetRequireTPCRefit(kFALSE);
124     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
125     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
126     //esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
127
128     TString tag = "TPC-only tracking";
129   }
130
131   // TPC-only no kink removal 
132   if (cutMode == 6) 
133   {
134     // beta cuts (still under investigation)
135     minNClustersTPC = 50;
136     maxChi2PerClusterTPC = 3.5;
137
138     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
139     esdTrackCuts->SetRequireTPCRefit(kFALSE);
140     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
141     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
142     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
143
144     TString tag = "TPC-only tracking";
145   }
146
147   // TPC-only no kink removal no minNClustersTPC 
148   if (cutMode == 7) 
149   {
150     // beta cuts (still under investigation)
151     //minNClustersTPC = 50;
152     maxChi2PerClusterTPC = 3.5;
153
154     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
155     esdTrackCuts->SetRequireTPCRefit(kFALSE);
156     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
157     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
158     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
159
160     TString tag = "TPC-only tracking";
161   }
162   // TPC-only no kink removal no minNClustersTPC 
163   if (cutMode == 8) 
164   {
165     // beta cuts (still under investigation)
166     //minNClustersTPC = 50;
167     maxChi2PerClusterTPC = 3.5;
168     maxDCAtoVertex = 3.0; // cm
169
170     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
171     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertex);    
172     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertex);    
173     esdTrackCuts->SetRequireTPCRefit(kFALSE);
174     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
175     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
176     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
177
178     TString tag = "TPC-only tracking";
179   }
180
181   // TPC-only no kink removal no minNClustersTPC no maxChi2PerClusterTPC
182   if (cutMode == 9) 
183   {
184     // beta cuts (still under investigation)
185     //minNClustersTPC = 50;
186     //maxChi2PerClusterTPC = 3.5;
187     maxDCAtoVertex = 3.0; // cm
188
189     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
190     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertex);    
191     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertex);    
192     esdTrackCuts->SetRequireTPCRefit(kFALSE);
193     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
194     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
195     //esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
196
197     TString tag = "TPC-only tracking";
198   }
199
200   // TPC-only (loose cuts, absolute DCA cut) 
201   if (cutMode == 10) 
202   {
203     // beta cuts (still under investigation)
204     minNClustersTPC = 50;
205     maxChi2PerClusterTPC = 4.0;
206     maxDCAtoVertex = 2.8; // cm
207     minPt=0.15;
208     maxPt=1.e10;
209
210     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
211     esdTrackCuts->SetRequireTPCRefit(kFALSE);
212     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
213     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
214     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
215     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertex);    
216     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertex);    
217     esdTrackCuts->SetPtRange(minPt,maxPt);
218
219     TString tag = "TPC-only tracking";
220   }
221
222
223   // TPC-only (loose cuts, no DCA cut) 
224   if (cutMode == 11) 
225   {
226     // beta cuts (still under investigation)
227     minNClustersTPC = 50;
228     maxChi2PerClusterTPC = 4.0;
229     maxDCAtoVertexXY = 1.e10; // cm
230     maxDCAtoVertexZ  = 1.e10; // cm
231     minPt=0.15;
232     maxPt=1.e10;
233
234     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
235     esdTrackCuts->SetRequireTPCRefit(kFALSE);
236     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
237     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
238     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
239     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
240     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
241     esdTrackCuts->SetDCAToVertex2D(kTRUE);
242     esdTrackCuts->SetPtRange(minPt,maxPt);
243
244     TString tag = "TPC-only tracking";
245   }
246
247   // TPC-only (standard cuts, no DCA cut) 
248   if (cutMode == 12) 
249   {
250     // beta cuts (still under investigation)
251     minNClustersTPC = 96;
252     maxChi2PerClusterTPC = 3.5;
253     maxDCAtoVertexXY = 1.e10; // cm
254     maxDCAtoVertexZ  = 1.e10; // cm
255     minPt=0.2;
256     maxPt=1.e10;
257
258     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
259     esdTrackCuts->SetRequireTPCRefit(kFALSE);
260     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
261     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
262     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
263     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
264     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
265     esdTrackCuts->SetDCAToVertex2D(kTRUE);
266     esdTrackCuts->SetPtRange(minPt,maxPt);
267
268     TString tag = "TPC-only tracking";
269   }
270
271   // TPC-only (tight cuts, no DCA cut) 
272   if (cutMode == 13) 
273   {
274     // beta cuts (still under investigation)
275     minNClustersTPC = 120;
276     maxChi2PerClusterTPC = 3.5;
277     maxDCAtoVertexXY = 1.e10; // cm
278     maxDCAtoVertexZ  = 1.e10; // cm
279     minPt=0.3;
280     maxPt=1.e10;
281
282     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
283     esdTrackCuts->SetRequireTPCRefit(kFALSE);
284     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
285     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
286     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
287     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
288     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
289     esdTrackCuts->SetDCAToVertex2D(kTRUE);
290     esdTrackCuts->SetPtRange(minPt,maxPt);
291
292     TString tag = "TPC-only tracking";
293   }
294
295   // TPC-only (loose cuts, no pt cut) 
296   if (cutMode == 14) 
297   {
298     // beta cuts (still under investigation)
299     minNClustersTPC = 50;
300     maxChi2PerClusterTPC = 4.0;
301     maxDCAtoVertexXY = 1.e10; // cm
302     maxDCAtoVertexZ  = 1.e10; // cm
303     minPt=0.0;
304     maxPt=1.e10;
305
306     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
307     esdTrackCuts->SetRequireTPCRefit(kFALSE);
308     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
309     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
310     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
311     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
312     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
313     esdTrackCuts->SetDCAToVertex2D(kTRUE);
314     esdTrackCuts->SetPtRange(minPt,maxPt);
315
316     TString tag = "TPC-only tracking";
317   }
318
319   // TPC-only (standard cuts, no pt cut) 
320   if (cutMode == 15) 
321   {
322     // beta cuts (still under investigation)
323     minNClustersTPC = 96;
324     maxChi2PerClusterTPC = 3.5;
325     maxDCAtoVertexXY = 1.e10; // cm
326     maxDCAtoVertexZ  = 1.e10; // cm
327     minPt=0.0;
328     maxPt=1.e10;
329
330     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
331     esdTrackCuts->SetRequireTPCRefit(kFALSE);
332     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
333     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
334     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
335     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
336     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
337     esdTrackCuts->SetDCAToVertex2D(kTRUE);
338     esdTrackCuts->SetPtRange(minPt,maxPt);
339
340     TString tag = "TPC-only tracking";
341   }
342
343   // TPC-only (tight cuts, no pt cuts) 
344   if (cutMode == 16) 
345   {
346     // beta cuts (still under investigation)
347     minNClustersTPC = 120;
348     maxChi2PerClusterTPC = 3.5;
349     maxDCAtoVertexXY = 1.e10; // cm
350     maxDCAtoVertexZ  = 1.e10; // cm
351     minPt=0.0;
352     maxPt=1.e10;
353
354     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
355     esdTrackCuts->SetRequireTPCRefit(kFALSE);
356     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
357     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
358     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
359     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
360     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
361     esdTrackCuts->SetDCAToVertex2D(kTRUE);
362     esdTrackCuts->SetPtRange(minPt,maxPt);
363
364     TString tag = "TPC-only tracking";
365   }
366   // TPC-only (loose cuts)
367   if (cutMode == 17) 
368   {
369     // beta cuts (still under investigation)
370     minNClustersTPC = 50;
371     maxChi2PerClusterTPC = 4.0;
372     //maxDCAtoVertexXY = 2.4; // cm
373     //maxDCAtoVertexZ  = 3.2; // cm
374     maxDCAtoVertexXY = 1.6; // cm
375     maxDCAtoVertexZ  = 2.1; // cm
376     minPt=0.15;
377     maxPt=1.e10;
378
379     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
380     esdTrackCuts->SetRequireTPCRefit(kFALSE);
381     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
382     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
383     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
384     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
385     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
386     esdTrackCuts->SetDCAToVertex2D(kTRUE);
387     esdTrackCuts->SetPtRange(minPt,maxPt);
388
389     TString tag = "TPC-only tracking";
390   }
391
392   // TPC-only (standard cuts)
393   if (cutMode == 18) 
394   {
395     // beta cuts (still under investigation)
396     minNClustersTPC = 96;
397     maxChi2PerClusterTPC = 3.5;
398     //maxDCAtoVertexXY = 2.4; // cm
399     //maxDCAtoVertexZ  = 3.2; // cm
400     maxDCAtoVertexXY = 1.4; // cm
401     maxDCAtoVertexZ  = 1.8; // cm
402     minPt=0.2;
403     maxPt=1.e10;
404
405     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
406     esdTrackCuts->SetRequireTPCRefit(kFALSE);
407     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
408     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
409     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
410     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
411     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
412     esdTrackCuts->SetDCAToVertex2D(kTRUE);
413     esdTrackCuts->SetPtRange(minPt,maxPt);
414
415     TString tag = "TPC-only tracking";
416   }
417
418  // TPC-only (tight cuts)
419   if (cutMode == 19) 
420   {
421     // beta cuts (still under investigation)
422     minNClustersTPC = 120;
423     maxChi2PerClusterTPC = 3.0;
424     //maxDCAtoVertexXY = 2.4; // cm
425     //maxDCAtoVertexZ  = 3.2; // cm
426     maxDCAtoVertexXY = 1.4; // cm
427     maxDCAtoVertexZ  = 1.8; // cm
428     minPt=0.3;
429     maxPt=1.e10;
430
431     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
432     esdTrackCuts->SetRequireTPCRefit(kFALSE);
433     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
434     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
435     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
436     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
437     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
438     esdTrackCuts->SetDCAToVertex2D(kTRUE);
439     esdTrackCuts->SetPtRange(minPt,maxPt);
440
441     TString tag = "TPC-only tracking";
442   }
443
444   // TPC-only (arb. cuts, kink cuts included)
445   if (cutMode == 20) 
446   {
447     // beta cuts (still under investigation)
448     minNClustersTPC = 50;
449     maxChi2PerClusterTPC = 1.e10;
450     maxDCAtoVertexXY = 3.0; // cm
451     maxDCAtoVertexZ  = 3.0; // cm
452     minPt=0.0;
453     maxPt=1.e10;
454
455     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
456     esdTrackCuts->SetRequireTPCRefit(kFALSE);
457     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
458     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
459     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
460     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
461     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
462     esdTrackCuts->SetDCAToVertex2D(kTRUE);
463     esdTrackCuts->SetPtRange(minPt,maxPt);
464
465     TString tag = "TPC-only tracking";
466   }
467
468   // TPC-only (arb. cuts, kink cuts excluded)
469   if (cutMode == 21) 
470   {
471     // beta cuts (still under investigation)
472     minNClustersTPC = 50;
473     maxChi2PerClusterTPC = 1.e10;
474     maxDCAtoVertexXY = 3.0; // cm
475     maxDCAtoVertexZ  = 3.0; // cm
476     minPt=0.0;
477     maxPt=1.e10;
478
479     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
480     esdTrackCuts->SetRequireTPCRefit(kFALSE);
481     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
482     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
483     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
484     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
485     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
486     esdTrackCuts->SetDCAToVertex2D(kTRUE);
487     esdTrackCuts->SetPtRange(minPt,maxPt);
488
489     TString tag = "TPC-only tracking";
490   }
491
492   // TPC-only (arb. cuts, kink cuts excluded, no chi2, no DCA)
493   if (cutMode == 22) 
494   {
495     // beta cuts (still under investigation)
496     minNClustersTPC = 50;
497     maxChi2PerClusterTPC = 1.e10;
498     maxDCAtoVertexXY = 1.e10; // cm
499     maxDCAtoVertexZ  = 1.e10; // cm
500     minPt=0.15;
501     maxPt=1.e10;
502
503     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
504     esdTrackCuts->SetRequireTPCRefit(kFALSE);
505     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
506     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
507     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
508     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
509     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
510     esdTrackCuts->SetDCAToVertex2D(kTRUE);
511     esdTrackCuts->SetPtRange(minPt,maxPt);
512
513     TString tag = "TPC-only tracking";
514   }
515
516   // TPC-only 
517   if (cutMode == 23) 
518   {
519     // beta cuts (still under investigation)
520     minNClustersTPC = 70;
521     maxChi2PerClusterTPC = 4.0;
522     maxDCAtoVertexXY = 2.4; // cm
523     maxDCAtoVertexZ  = 3.2; // cm
524
525     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
526     esdTrackCuts->SetRequireTPCRefit(kFALSE);
527     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
528     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
529     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
530     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
531     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
532     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
533     esdTrackCuts->SetDCAToVertex2D(kTRUE);
534     //esdTrackCuts->SetPtRange(minPt,maxPt);
535     //esdTrackCuts->SetEtaRange(minEta,maxEta);
536
537     TString tag = "TPC-only tracking";
538   }
539
540   // TPC-only (no pt cut, no eta cut)
541   if (cutMode == 24) 
542   {
543     // beta cuts (still under investigation)
544     minNClustersTPC = 50;
545     maxChi2PerClusterTPC = 4.0;
546     maxDCAtoVertexXY = 2.4; // cm
547     maxDCAtoVertexZ  = 3.2; // cm
548     minPt=0.0;
549     maxPt=1.e10;
550
551     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
552     esdTrackCuts->SetRequireTPCRefit(kFALSE);
553     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
554     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
555     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
556     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
557     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
558     esdTrackCuts->SetDCAToVertex2D(kTRUE);
559     esdTrackCuts->SetPtRange(minPt,maxPt);
560
561     TString tag = "TPC-only tracking";
562   }
563
564   //
565   // systematic errors DCA cut studies
566   //
567   // TPC-only
568   if (cutMode == 25) 
569   {
570     // beta cuts (still under investigation)
571     minNClustersTPC = 50;
572     maxChi2PerClusterTPC = 4.0;
573     maxDCAtoVertexXY = 1.4; // cm
574     maxDCAtoVertexZ  = 2.2; // cm
575     minPt=0.0;
576     maxPt=1.e10;
577
578     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
579     esdTrackCuts->SetRequireTPCRefit(kFALSE);
580     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
581     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
582     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
583     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
584     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
585     esdTrackCuts->SetDCAToVertex2D(kTRUE);
586     esdTrackCuts->SetPtRange(minPt,maxPt);
587
588     TString tag = "TPC-only tracking";
589   }
590
591   if (cutMode == 26) 
592   {
593     // beta cuts (still under investigation)
594     minNClustersTPC = 50;
595     maxChi2PerClusterTPC = 4.0;
596     maxDCAtoVertexXY = 1.6; // cm
597     maxDCAtoVertexZ  = 2.4; // cm
598     minPt=0.0;
599     maxPt=1.e10;
600
601     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
602     esdTrackCuts->SetRequireTPCRefit(kFALSE);
603     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
604     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
605     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
606     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
607     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
608     esdTrackCuts->SetDCAToVertex2D(kTRUE);
609     esdTrackCuts->SetPtRange(minPt,maxPt);
610
611     TString tag = "TPC-only tracking";
612   }
613
614   //
615   // systematic errors cut studies
616   //
617   // TPC-only
618   if (cutMode == 27) 
619   {
620     // beta cuts (still under investigation)
621     minNClustersTPC = 50;
622     maxChi2PerClusterTPC = 4.0;
623     maxDCAtoVertexXY = 1.8; // cm
624     maxDCAtoVertexZ  = 2.6; // cm
625     minPt=0.0;
626     maxPt=1.e10;
627
628     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
629     esdTrackCuts->SetRequireTPCRefit(kFALSE);
630     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
631     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
632     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
633     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
634     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
635     esdTrackCuts->SetDCAToVertex2D(kTRUE);
636     esdTrackCuts->SetPtRange(minPt,maxPt);
637
638     TString tag = "TPC-only tracking";
639   }
640
641   if (cutMode == 28) 
642   {
643     // beta cuts (still under investigation)
644     minNClustersTPC = 50;
645     maxChi2PerClusterTPC = 4.0;
646     maxDCAtoVertexXY = 2.0; // cm
647     maxDCAtoVertexZ  = 2.8; // cm
648     minPt=0.0;
649     maxPt=1.e10;
650
651     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
652     esdTrackCuts->SetRequireTPCRefit(kFALSE);
653     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
654     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
655     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
656     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
657     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
658     esdTrackCuts->SetDCAToVertex2D(kTRUE);
659     esdTrackCuts->SetPtRange(minPt,maxPt);
660
661     TString tag = "TPC-only tracking";
662   }
663
664   if (cutMode == 29) 
665   {
666     // beta cuts (still under investigation)
667     minNClustersTPC = 50;
668     maxChi2PerClusterTPC = 4.0;
669     maxDCAtoVertexXY = 2.2; // cm
670     maxDCAtoVertexZ  = 3.0; // cm
671     minPt=0.0;
672     maxPt=1.e10;
673
674     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
675     esdTrackCuts->SetRequireTPCRefit(kFALSE);
676     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
677     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
678     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
679     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
680     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
681     esdTrackCuts->SetDCAToVertex2D(kTRUE);
682     esdTrackCuts->SetPtRange(minPt,maxPt);
683
684     TString tag = "TPC-only tracking";
685   }
686
687   if (cutMode == 30) 
688   {
689     // beta cuts (still under investigation)
690     minNClustersTPC = 50;
691     maxChi2PerClusterTPC = 4.0;
692     maxDCAtoVertexXY = 2.4; // cm
693     maxDCAtoVertexZ  = 3.2; // cm
694     minPt=0.0;
695     maxPt=1.e10;
696
697     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
698     esdTrackCuts->SetRequireTPCRefit(kFALSE);
699     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
700     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
701     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
702     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
703     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
704     esdTrackCuts->SetDCAToVertex2D(kTRUE);
705     esdTrackCuts->SetPtRange(minPt,maxPt);
706
707     TString tag = "TPC-only tracking";
708   }
709
710   if (cutMode == 31) 
711   {
712     // beta cuts (still under investigation)
713     minNClustersTPC = 50;
714     maxChi2PerClusterTPC = 4.0;
715     maxDCAtoVertexXY = 2.6; // cm
716     maxDCAtoVertexZ  = 3.4; // cm
717     minPt=0.0;
718     maxPt=1.e10;
719
720     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
721     esdTrackCuts->SetRequireTPCRefit(kFALSE);
722     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
723     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
724     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
725     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
726     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
727     esdTrackCuts->SetDCAToVertex2D(kTRUE);
728     esdTrackCuts->SetPtRange(minPt,maxPt);
729
730     TString tag = "TPC-only tracking";
731   }
732
733
734   if (cutMode == 32) 
735   {
736     // beta cuts (still under investigation)
737     minNClustersTPC = 50;
738     maxChi2PerClusterTPC = 4.0;
739     maxDCAtoVertexXY = 2.8; // cm
740     maxDCAtoVertexZ  = 3.6; // cm
741     minPt=0.0;
742     maxPt=1.e10;
743
744     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
745     esdTrackCuts->SetRequireTPCRefit(kFALSE);
746     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
747     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
748     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
749     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
750     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
751     esdTrackCuts->SetDCAToVertex2D(kTRUE);
752     esdTrackCuts->SetPtRange(minPt,maxPt);
753
754     TString tag = "TPC-only tracking";
755   }
756
757   if (cutMode == 33) 
758   {
759     // beta cuts (still under investigation)
760     minNClustersTPC = 50;
761     maxChi2PerClusterTPC = 4.0;
762     maxDCAtoVertexXY = 3.0; // cm
763     maxDCAtoVertexZ  = 3.8; // cm
764     minPt=0.0;
765     maxPt=1.e10;
766
767     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
768     esdTrackCuts->SetRequireTPCRefit(kFALSE);
769     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
770     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
771     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
772     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
773     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
774     esdTrackCuts->SetDCAToVertex2D(kTRUE);
775     esdTrackCuts->SetPtRange(minPt,maxPt);
776
777     TString tag = "TPC-only tracking";
778   }
779
780   if (cutMode == 34) 
781   {
782     // beta cuts (still under investigation)
783     minNClustersTPC = 50;
784     maxChi2PerClusterTPC = 4.0;
785     maxDCAtoVertexXY = 3.2; // cm
786     maxDCAtoVertexZ  = 4.0; // cm
787     minPt=0.0;
788     maxPt=1.e10;
789
790     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
791     esdTrackCuts->SetRequireTPCRefit(kFALSE);
792     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
793     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
794     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
795     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
796     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
797     esdTrackCuts->SetDCAToVertex2D(kTRUE);
798     esdTrackCuts->SetPtRange(minPt,maxPt);
799
800     TString tag = "TPC-only tracking";
801   }
802
803   if (cutMode == 35) 
804   {
805     // beta cuts (still under investigation)
806     minNClustersTPC = 50;
807     maxChi2PerClusterTPC = 4.0;
808     maxDCAtoVertexXY = 3.4; // cm
809     maxDCAtoVertexZ  = 4.2; // cm
810     minPt=0.0;
811     maxPt=1.e10;
812
813     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
814     esdTrackCuts->SetRequireTPCRefit(kFALSE);
815     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
816     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
817     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
818     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
819     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
820     esdTrackCuts->SetDCAToVertex2D(kTRUE);
821     esdTrackCuts->SetPtRange(minPt,maxPt);
822
823     TString tag = "TPC-only tracking";
824   }
825
826 //
827 // cut stability systematics
828 //
829
830   if (cutMode == 36) 
831   {
832     // beta cuts (still under investigation)
833     minNClustersTPC = 70;
834     maxChi2PerClusterTPC = 4.0;
835     maxDCAtoVertexXY = 2.4; // cm
836     maxDCAtoVertexZ  = 3.2; // cm
837     minPt=0.0;
838     maxPt=1.e10;
839
840     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
841     esdTrackCuts->SetRequireTPCRefit(kFALSE);
842     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
843     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
844     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
845     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
846     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
847     esdTrackCuts->SetDCAToVertex2D(kTRUE);
848     esdTrackCuts->SetPtRange(minPt,maxPt);
849
850     TString tag = "TPC-only tracking";
851   }
852
853  if (cutMode == 37) 
854   {
855     // beta cuts (still under investigation)
856     minNClustersTPC = 90;
857     maxChi2PerClusterTPC = 4.0;
858     maxDCAtoVertexXY = 2.4; // cm
859     maxDCAtoVertexZ  = 3.2; // cm
860     minPt=0.0;
861     maxPt=1.e10;
862
863     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
864     esdTrackCuts->SetRequireTPCRefit(kFALSE);
865     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
866     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
867     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
868     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
869     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
870     esdTrackCuts->SetDCAToVertex2D(kTRUE);
871     esdTrackCuts->SetPtRange(minPt,maxPt);
872
873     TString tag = "TPC-only tracking";
874   }
875
876   if (cutMode == 38) 
877   {
878     // beta cuts (still under investigation)
879     minNClustersTPC = 50;
880     maxChi2PerClusterTPC = 3.0;
881     maxDCAtoVertexXY = 2.4; // cm
882     maxDCAtoVertexZ  = 3.2; // cm
883     minPt=0.0;
884     maxPt=1.e10;
885
886     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
887     esdTrackCuts->SetRequireTPCRefit(kFALSE);
888     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
889     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
890     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
891     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
892     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
893     esdTrackCuts->SetDCAToVertex2D(kTRUE);
894     esdTrackCuts->SetPtRange(minPt,maxPt);
895
896     TString tag = "TPC-only tracking";
897   }
898
899   if (cutMode == 39) 
900   {
901     // beta cuts (still under investigation)
902     minNClustersTPC = 50;
903     maxChi2PerClusterTPC = 5.0;
904     maxDCAtoVertexXY = 2.4; // cm
905     maxDCAtoVertexZ  = 3.2; // cm
906     minPt=0.0;
907     maxPt=1.e10;
908
909     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
910     esdTrackCuts->SetRequireTPCRefit(kFALSE);
911     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
912     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
913     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
914     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
915     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
916     esdTrackCuts->SetDCAToVertex2D(kTRUE);
917     esdTrackCuts->SetPtRange(minPt,maxPt);
918
919     TString tag = "TPC-only tracking";
920   }
921
922   if (cutMode == 40) 
923   {
924     // beta cuts (still under investigation)
925     minNClustersTPC = 50;
926     maxChi2PerClusterTPC = 4.0;
927     maxDCAtoVertexXY = 1.4; // cm
928     maxDCAtoVertexZ  = 2.2; // cm
929     minPt=0.0;
930     maxPt=1.e10;
931
932     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
933     esdTrackCuts->SetRequireTPCRefit(kFALSE);
934     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
935     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
936     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
937     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
938     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
939     esdTrackCuts->SetDCAToVertex2D(kTRUE);
940     esdTrackCuts->SetPtRange(minPt,maxPt);
941
942     TString tag = "TPC-only tracking";
943   }
944
945   if (cutMode == 41) 
946   {
947     // beta cuts (still under investigation)
948     minNClustersTPC = 50;
949     maxChi2PerClusterTPC = 4.0;
950     maxDCAtoVertexXY = 3.4; // cm
951     maxDCAtoVertexZ  = 4.2; // cm
952     minPt=0.0;
953     maxPt=1.e10;
954
955     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
956     esdTrackCuts->SetRequireTPCRefit(kFALSE);
957     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
958     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
959     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
960     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
961     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
962     esdTrackCuts->SetDCAToVertex2D(kTRUE);
963     esdTrackCuts->SetPtRange(minPt,maxPt);
964
965     TString tag = "TPC-only tracking";
966   }
967
968   if (cutMode == 42) 
969   {
970     // beta cuts (still under investigation)
971     minNClustersTPC = 50;
972     maxChi2PerClusterTPC = 4.0;
973     maxDCAtoVertexXY = 2.4; // cm
974     maxDCAtoVertexZ  = 3.2; // cm
975     minPt=0.0;
976     maxPt=1.e10;
977
978     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
979     esdTrackCuts->SetRequireTPCRefit(kFALSE);
980     //esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
981     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
982     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
983     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
984     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
985     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
986     esdTrackCuts->SetDCAToVertex2D(kTRUE);
987     esdTrackCuts->SetPtRange(minPt,maxPt);
988
989     TString tag = "TPC-only tracking";
990   }
991   // test
992   if (cutMode == 43) 
993   {
994     // beta cuts (still under investigation)
995     minNClustersTPC = 50;
996     maxChi2PerClusterTPC = 4.0;
997     //maxDCAtoVertexXY = 2.4; // cm
998     //maxDCAtoVertexZ  = 3.2; // cm
999     //minPt=0.15;
1000     //maxPt=1.e10;
1001
1002     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1003     esdTrackCuts->SetRequireTPCRefit(kFALSE);
1004     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1005     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
1006     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
1007     //esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
1008     //esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
1009     //esdTrackCuts->SetDCAToVertex2D(kTRUE);
1010     //esdTrackCuts->SetPtRange(minPt,maxPt);
1011     //esdTrackCuts->SetEtaRange(minEta,maxEta);
1012
1013     TString tag = "TPC-only tracking";
1014   }
1015
1016   // TPC-only + pt cut + eta cut 
1017   if (cutMode == 45) 
1018   {
1019     // beta cuts (still under investigation)
1020     //minNClustersTPC = 50;
1021     //maxChi2PerClusterTPC = 4.0;
1022     maxDCAtoVertexXY = 2.4; // cm
1023     maxDCAtoVertexZ  = 3.2; // cm
1024     //minPt=0.15;
1025     //maxPt=1.e10;
1026
1027     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1028     esdTrackCuts->SetRequireTPCRefit(kFALSE);
1029     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1030     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
1031     //esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
1032     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
1033     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
1034     esdTrackCuts->SetDCAToVertex2D(kTRUE);
1035     //esdTrackCuts->SetPtRange(minPt,maxPt);
1036     //esdTrackCuts->SetEtaRange(minEta,maxEta);
1037
1038     TString tag = "TPC-only tracking";
1039   }
1040
1041   // TPC-tracks + SPD point + ITS refit
1042   if (cutMode == 50) 
1043   {
1044     Int_t    minclsTPC=70;
1045     Double_t maxchi2perTPCcl=4.;
1046     //Double_t maxEtaInAcc=0.8;
1047     Double_t maxdcaxyITSTPC=0.2;
1048     Double_t maxdcazITSTPC=1.e9;
1049
1050     esdTrackCuts->SetMaxDCAToVertexXY(maxdcaxyITSTPC);
1051     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1052     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1053     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1054     esdTrackCuts->SetRequireITSRefit(kTRUE);
1055     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1056     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1057     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1058     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1059     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1060     //esdTrackCuts->SetEtaRange(-maxEtaInAcc,maxEtaInAcc);
1061
1062     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster";
1063   }
1064
1065   // TPC-tracks + SPD point + ITS refit
1066   if (cutMode == 60) 
1067   {
1068     Int_t    minclsITS=4;
1069     Int_t    minclsTPC=70;
1070     Double_t maxchi2perTPCcl=4.;
1071     Double_t maxdcaxyITSTPC=0.2;
1072     Double_t maxdcazITSTPC=1.e9;
1073
1074     esdTrackCuts->SetMaxDCAToVertexXY(maxdcaxyITSTPC);
1075     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1076     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1077     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1078     esdTrackCuts->SetRequireITSRefit(kTRUE);
1079     esdTrackCuts->SetMinNClustersITS(minclsITS);
1080     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1081     //esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1082     esdTrackCuts->SetRequireTPCRefit(kTRUE);
1083     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1084     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1085     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1086
1087     TString tag = "Global tracking: TPC refit + ITS refit + >3 ITS clusters + >=1 SPD cluster";
1088   }
1089
1090   /*
1091   // TPC-tracks + SPD point + ITS refit + DCAr(pt)
1092   if (cutMode == 70) 
1093   {
1094     Int_t    minclsTPC=70;
1095     Double_t maxchi2perTPCcl=4.;
1096     Double_t maxdcaxyITSTPC=1.e9;
1097     Double_t maxdcazITSTPC=1.e9;
1098
1099     esdTrackCuts->SetMaxDCAToVertexXY(maxdcaxyITSTPC);
1100     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1101     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1102     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1103     esdTrackCuts->SetRequireITSRefit(kTRUE);
1104     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1105     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1106     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1107     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1108     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1109
1110     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt)";
1111   }
1112   */
1113
1114   // TPC-tracks + SPD point + ITS refit + DCAr(pt)
1115   if (cutMode == 70) 
1116   {
1117     Int_t    minclsTPC=70;
1118     Double_t maxchi2perTPCcl=4.;
1119     Double_t maxdcazITSTPC=1.e9;
1120
1121     //
1122     // TPC
1123     //
1124     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1125     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1126     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1127     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1128     //
1129     // ITS
1130     //
1131     esdTrackCuts->SetRequireITSRefit(kTRUE);
1132     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1133     //
1134     // primary selection
1135     //
1136     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1137     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1138     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1139
1140     // 7*(0.0050+0.0060/pt^0.9)
1141     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1142
1143     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt)";
1144   }
1145
1146   // TPC+ITS combine tracking + DCAr(pt) + DCAz(pt)
1147   if (cutMode == 71) 
1148   {
1149     Int_t    minclsTPC=70;
1150     Double_t maxchi2perTPCcl=4.;
1151     Double_t maxdcazITSTPC=1.e9;
1152
1153     //
1154     // TPC
1155     //
1156     esdTrackCuts->SetRequireTPCRefit(kTRUE);
1157     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1158     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1159     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1160     //
1161     // ITS
1162     //
1163     esdTrackCuts->SetRequireITSRefit(kTRUE);
1164     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1165     //
1166     // primary selection
1167     //
1168     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1169     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1170     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1171
1172     // DCArphi parametrization (LHC10c pass2)
1173     // 7*(0.0026+0.0050/pt^1.01)
1174     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0182+0.0350/pt^1.01");
1175
1176     // DCArphi parametrization (LHC10c pass2)
1177     // 7*(0.01+0.011/pt^0.72)
1178     esdTrackCuts->SetMaxDCAToVertexZPtDep("0.07+0.077/pt^0.72");
1179
1180     TString tag = "TPC+ITS combine tracking + DCAr(pt) + DCAz(pt)";
1181   }
1182
1183   // TPC-tracks + SPD point + ITS refit + DCAr(pt) 4-sigma
1184   if (cutMode == 75) 
1185   {
1186     Int_t    minclsTPC=70;
1187     Double_t maxchi2perTPCcl=4.;
1188     Double_t maxdcazITSTPC=1.e9;
1189
1190     //
1191     // TPC
1192     //
1193     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1194     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1195     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1196     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1197     //
1198     // ITS
1199     //
1200     esdTrackCuts->SetRequireITSRefit(kTRUE);
1201     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1202     //
1203     // primary selection
1204     //
1205     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1206     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1207     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1208
1209     // 4*(0.0050+0.0060/pt^0.9)
1210     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.02+0.024/pt^0.9");
1211
1212     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) 4-sigma";
1213   }
1214
1215   // TPC-tracks + SPD point + ITS refit + DCAr(pt) 10-sigma
1216   if (cutMode == 80) 
1217   {
1218     Int_t    minclsTPC=70;
1219     Double_t maxchi2perTPCcl=4.;
1220     Double_t maxdcazITSTPC=1.e9;
1221
1222     //
1223     // TPC
1224     //
1225     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1226     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1227     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1228     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1229     //
1230     // ITS
1231     //
1232     esdTrackCuts->SetRequireITSRefit(kTRUE);
1233     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1234     //
1235     // primary selection
1236     //
1237     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1238     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1239     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1240
1241     // 10*(0.0050+0.0060/pt^0.9)
1242     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.05+0.06/pt^0.9");
1243
1244     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) 10 sigma";
1245   }
1246
1247   // TPC-tracks + SPD point + ITS refit + DCAr(pt) + 60 TPCclust
1248   if (cutMode == 85) 
1249   {
1250     Int_t    minclsTPC=60;
1251     Double_t maxchi2perTPCcl=4.;
1252     Double_t maxdcazITSTPC=1.e9;
1253
1254     //
1255     // TPC
1256     //
1257     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1258     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1259     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1260     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1261     //
1262     // ITS
1263     //
1264     esdTrackCuts->SetRequireITSRefit(kTRUE);
1265     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1266     //
1267     // primary selection
1268     //
1269     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1270     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1271     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1272
1273     // 7*(0.0050+0.0060/pt^0.9)
1274     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1275
1276     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) + 60 TPCclust";
1277   }
1278
1279   // TPC-tracks + SPD point + ITS refit + DCAr(pt) + 80 clusters
1280   if (cutMode == 90) 
1281   {
1282     Int_t    minclsTPC=80;
1283     Double_t maxchi2perTPCcl=4.;
1284     Double_t maxdcazITSTPC=1.e9;
1285
1286     //
1287     // TPC
1288     //
1289     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1290     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1291     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1292     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1293     //
1294     // ITS
1295     //
1296     esdTrackCuts->SetRequireITSRefit(kTRUE);
1297     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1298     //
1299     // primary selection
1300     //
1301     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1302     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1303     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1304
1305     // 7*(0.0050+0.0060/pt^0.9)
1306     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1307
1308     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) + 80 TPCclust";
1309   }
1310
1311   // TPC-tracks + SPD point + ITS refit + DCAr(pt) + TPCchi2=3.5
1312   if (cutMode == 95) 
1313   {
1314     Int_t    minclsTPC=80;
1315     Double_t maxchi2perTPCcl=3.5;
1316     Double_t maxdcazITSTPC=1.e9;
1317
1318     //
1319     // TPC
1320     //
1321     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1322     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1323     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1324     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1325     //
1326     // ITS
1327     //
1328     esdTrackCuts->SetRequireITSRefit(kTRUE);
1329     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1330     //
1331     // primary selection
1332     //
1333     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1334     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1335     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1336
1337     // 7*(0.0050+0.0060/pt^0.9)
1338     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1339
1340     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) + TPCchi2 3.5";
1341   }
1342
1343   // TPC-tracks + SPD point + ITS refit + DCAr(pt) + TPCchi2=4.5
1344   if (cutMode == 100) 
1345   {
1346     Int_t    minclsTPC=80;
1347     Double_t maxchi2perTPCcl=4.5;
1348     Double_t maxdcazITSTPC=1.e9;
1349
1350     //
1351     // TPC
1352     //
1353     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1354     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1355     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1356     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1357     //
1358     // ITS
1359     //
1360     esdTrackCuts->SetRequireITSRefit(kTRUE);
1361     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1362     //
1363     // primary selection
1364     //
1365     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1366     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1367     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1368
1369     // 7*(0.0050+0.0060/pt^0.9)
1370     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1371
1372     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) + TPCchi2 4.5";
1373   }
1374
1375   // TPC-tracks
1376   if (cutMode == 110) 
1377   {
1378
1379     minNClustersTPC = 70;
1380     maxChi2PerClusterTPC = 4.0;
1381     maxDCAtoVertexXY = 1.e9; // cm
1382     maxDCAtoVertexZ  = 1.e9; // cm
1383
1384     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1385     esdTrackCuts->SetRequireTPCRefit(kFALSE);
1386     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1387     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1388     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
1389     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
1390     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
1391     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
1392     esdTrackCuts->SetDCAToVertex2D(kTRUE);
1393
1394     TString tag = "TPC-tracks loose criteria";
1395   }
1396
1397
1398   // TPC-tracks + SPD point + ITS refit + DCAr(pt) + 50 TPCclust
1399   if (cutMode == 120) 
1400   {
1401     Int_t    minclsTPC=50;
1402     Double_t maxchi2perTPCcl=4.;
1403     Double_t maxdcazITSTPC=1.e9;
1404
1405     //
1406     // TPC
1407     //
1408     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1409     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1410     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1411     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1412     //
1413     // ITS
1414     //
1415     esdTrackCuts->SetRequireITSRefit(kTRUE);
1416     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1417     //
1418     // primary selection
1419     //
1420     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1421     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1422     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1423
1424     // 7*(0.0050+0.0060/pt^0.9)
1425     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1426
1427     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) + 60 TPCclust";
1428   }
1429
1430   // TPC-tracks + SPD point + ITS refit + DCAr(pt) + 70 TPCclust + accept kink daughters
1431   if (cutMode == 130) 
1432   {
1433     Int_t    minclsTPC=70;
1434     Double_t maxchi2perTPCcl=4.;
1435     Double_t maxdcazITSTPC=1.e9;
1436
1437     //
1438     // TPC
1439     //
1440     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1441     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
1442     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1443     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1444     //
1445     // ITS
1446     //
1447     esdTrackCuts->SetRequireITSRefit(kTRUE);
1448     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1449     //
1450     // primary selection
1451     //
1452     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1453     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1454     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1455
1456     // 7*(0.0050+0.0060/pt^0.9)
1457     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1458
1459     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) + 60 TPCclust";
1460   }
1461
1462   // TPC-tracks + SPD point + ITS refit + DCAr(pt) + 30 TPCclust + accept kink daughters
1463   if (cutMode == 140) 
1464   {
1465     Int_t    minclsTPC=30;
1466     Double_t maxchi2perTPCcl=4.;
1467     Double_t maxdcazITSTPC=1.e9;
1468
1469     //
1470     // TPC
1471     //
1472     esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1473     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
1474     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1475     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1476     //
1477     // ITS
1478     //
1479     esdTrackCuts->SetRequireITSRefit(kTRUE);
1480     esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1481     //
1482     // primary selection
1483     //
1484     esdTrackCuts->SetDCAToVertex2D(kFALSE);
1485     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1486     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1487
1488     // 7*(0.0050+0.0060/pt^0.9)
1489     esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1490
1491     TString tag = "TPC-tracks + ITS refit + >1 SPD cluster + DCAr(Pt) + 60 TPCclust";
1492   }
1493
1494   // Adam Kisiel track selectiion
1495   if (cutMode == 150) 
1496   {
1497     Int_t    minclsTPC=70;
1498     Double_t maxchi2perTPCcl=4.;
1499     Double_t maxdcazITSTPC=0.25;
1500     Double_t maxdcaxyITSTPC=0.2;
1501
1502     //
1503     // TPC
1504     //
1505     //esdTrackCuts->SetRequireTPCStandAlone(kTRUE);
1506     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1507     esdTrackCuts->SetMinNClustersTPC(minclsTPC);
1508     esdTrackCuts->SetMaxChi2PerClusterTPC(maxchi2perTPCcl);
1509     //
1510     // ITS
1511     //
1512     esdTrackCuts->SetRequireITSRefit(kTRUE);
1513     //esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
1514     //
1515     // primary selection
1516     //
1517     //esdTrackCuts->SetDCAToVertex2D(kFALSE);
1518     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1519     esdTrackCuts->SetMaxDCAToVertexZ(maxdcazITSTPC);
1520     esdTrackCuts->SetMaxDCAToVertexXY(maxdcaxyITSTPC);
1521
1522     // 7*(0.0050+0.0060/pt^0.9)
1523     //esdTrackCuts->SetMaxDCAToVertexXYPtDep("0.0350+0.0420/pt^0.9");
1524
1525     TString tag = "Adam Kisiel track selection";
1526   }
1527
1528
1529
1530
1531   // cuts for data without field
1532   if (!fieldOn)
1533   {
1534     cov5 = 1e10;
1535     tag += " without field";
1536   }
1537
1538   Printf("Created track cuts for: %s", tag.Data());
1539
1540   return esdTrackCuts;
1541 }