new functionality and data memebers added
[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->SetMaxDCAToVertex(maxDCAtoVertex);    
78     esdTrackCuts->SetRequireTPCRefit(kFALSE);
79     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
80     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
81     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
82
83     TString tag = "TPC-only tracking";
84   }
85
86   // TPC-only no vertex cuts
87   if (cutMode == 3) 
88   {
89     // beta cuts (still under investigation)
90     minNClustersTPC = 50;
91     maxChi2PerClusterTPC = 3.5;
92
93     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
94     esdTrackCuts->SetRequireTPCRefit(kFALSE);
95     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
96     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
97     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
98
99     TString tag = "TPC-only tracking";
100   }
101
102   // TPC-only no cuts at all 
103   if (cutMode == 4) 
104   {
105
106     // beta cuts (still under investigation)
107     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
108     esdTrackCuts->SetRequireTPCRefit(kFALSE);
109     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
110
111     TString tag = "TPC-only tracking";
112   }
113
114   // TPC-only no kink removal no chi2 
115   if (cutMode == 5) 
116   {
117     // beta cuts (still under investigation)
118     minNClustersTPC = 50;
119     //maxChi2PerClusterTPC = 3.5;
120
121     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
122     esdTrackCuts->SetRequireTPCRefit(kFALSE);
123     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
124     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
125     //esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
126
127     TString tag = "TPC-only tracking";
128   }
129
130   // TPC-only no kink removal 
131   if (cutMode == 6) 
132   {
133     // beta cuts (still under investigation)
134     minNClustersTPC = 50;
135     maxChi2PerClusterTPC = 3.5;
136
137     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
138     esdTrackCuts->SetRequireTPCRefit(kFALSE);
139     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
140     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
141     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
142
143     TString tag = "TPC-only tracking";
144   }
145
146   // TPC-only no kink removal no minNClustersTPC 
147   if (cutMode == 7) 
148   {
149     // beta cuts (still under investigation)
150     //minNClustersTPC = 50;
151     maxChi2PerClusterTPC = 3.5;
152
153     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
154     esdTrackCuts->SetRequireTPCRefit(kFALSE);
155     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
156     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
157     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
158
159     TString tag = "TPC-only tracking";
160   }
161   // TPC-only no kink removal no minNClustersTPC 
162   if (cutMode == 8) 
163   {
164     // beta cuts (still under investigation)
165     //minNClustersTPC = 50;
166     maxChi2PerClusterTPC = 3.5;
167     maxDCAtoVertex = 3.0; // cm
168
169     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
170     esdTrackCuts->SetMaxDCAToVertex(maxDCAtoVertex);    
171     esdTrackCuts->SetRequireTPCRefit(kFALSE);
172     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
173     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
174     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
175
176     TString tag = "TPC-only tracking";
177   }
178
179   // TPC-only no kink removal no minNClustersTPC no maxChi2PerClusterTPC
180   if (cutMode == 9) 
181   {
182     // beta cuts (still under investigation)
183     //minNClustersTPC = 50;
184     //maxChi2PerClusterTPC = 3.5;
185     maxDCAtoVertex = 3.0; // cm
186
187     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
188     esdTrackCuts->SetMaxDCAToVertex(maxDCAtoVertex);    
189     esdTrackCuts->SetRequireTPCRefit(kFALSE);
190     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
191     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
192     //esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
193
194     TString tag = "TPC-only tracking";
195   }
196
197   // TPC-only (loose cuts, absolute DCA cut) 
198   if (cutMode == 10) 
199   {
200     // beta cuts (still under investigation)
201     minNClustersTPC = 50;
202     maxChi2PerClusterTPC = 4.0;
203     maxDCAtoVertex = 2.8; // cm
204     minPt=0.15;
205     maxPt=1.e10;
206
207     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
208     esdTrackCuts->SetRequireTPCRefit(kFALSE);
209     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
210     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
211     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
212     esdTrackCuts->SetMaxDCAToVertex(maxDCAtoVertex);    
213     esdTrackCuts->SetPtRange(minPt,maxPt);
214
215     TString tag = "TPC-only tracking";
216   }
217
218
219   // TPC-only (loose cuts, no DCA cut) 
220   if (cutMode == 11) 
221   {
222     // beta cuts (still under investigation)
223     minNClustersTPC = 50;
224     maxChi2PerClusterTPC = 4.0;
225     maxDCAtoVertexXY = 1.e10; // cm
226     maxDCAtoVertexZ  = 1.e10; // cm
227     minPt=0.15;
228     maxPt=1.e10;
229
230     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
231     esdTrackCuts->SetRequireTPCRefit(kFALSE);
232     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
233     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
234     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
235     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
236     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
237     esdTrackCuts->SetDCAToVertex2D(kTRUE);
238     esdTrackCuts->SetPtRange(minPt,maxPt);
239
240     TString tag = "TPC-only tracking";
241   }
242
243   // TPC-only (standard cuts, no DCA cut) 
244   if (cutMode == 12) 
245   {
246     // beta cuts (still under investigation)
247     minNClustersTPC = 96;
248     maxChi2PerClusterTPC = 3.5;
249     maxDCAtoVertexXY = 1.e10; // cm
250     maxDCAtoVertexZ  = 1.e10; // cm
251     minPt=0.2;
252     maxPt=1.e10;
253
254     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
255     esdTrackCuts->SetRequireTPCRefit(kFALSE);
256     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
257     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
258     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
259     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
260     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
261     esdTrackCuts->SetDCAToVertex2D(kTRUE);
262     esdTrackCuts->SetPtRange(minPt,maxPt);
263
264     TString tag = "TPC-only tracking";
265   }
266
267   // TPC-only (tight cuts, no DCA cut) 
268   if (cutMode == 13) 
269   {
270     // beta cuts (still under investigation)
271     minNClustersTPC = 120;
272     maxChi2PerClusterTPC = 3.5;
273     maxDCAtoVertexXY = 1.e10; // cm
274     maxDCAtoVertexZ  = 1.e10; // cm
275     minPt=0.3;
276     maxPt=1.e10;
277
278     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
279     esdTrackCuts->SetRequireTPCRefit(kFALSE);
280     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
281     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
282     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
283     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
284     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
285     esdTrackCuts->SetDCAToVertex2D(kTRUE);
286     esdTrackCuts->SetPtRange(minPt,maxPt);
287
288     TString tag = "TPC-only tracking";
289   }
290
291   // TPC-only (loose cuts, no pt cut) 
292   if (cutMode == 14) 
293   {
294     // beta cuts (still under investigation)
295     minNClustersTPC = 50;
296     maxChi2PerClusterTPC = 4.0;
297     maxDCAtoVertexXY = 1.e10; // cm
298     maxDCAtoVertexZ  = 1.e10; // cm
299     minPt=0.0;
300     maxPt=1.e10;
301
302     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
303     esdTrackCuts->SetRequireTPCRefit(kFALSE);
304     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
305     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
306     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
307     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
308     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
309     esdTrackCuts->SetDCAToVertex2D(kTRUE);
310     esdTrackCuts->SetPtRange(minPt,maxPt);
311
312     TString tag = "TPC-only tracking";
313   }
314
315   // TPC-only (standard cuts, no pt cut) 
316   if (cutMode == 15) 
317   {
318     // beta cuts (still under investigation)
319     minNClustersTPC = 96;
320     maxChi2PerClusterTPC = 3.5;
321     maxDCAtoVertexXY = 1.e10; // cm
322     maxDCAtoVertexZ  = 1.e10; // cm
323     minPt=0.0;
324     maxPt=1.e10;
325
326     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
327     esdTrackCuts->SetRequireTPCRefit(kFALSE);
328     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
329     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
330     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
331     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
332     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
333     esdTrackCuts->SetDCAToVertex2D(kTRUE);
334     esdTrackCuts->SetPtRange(minPt,maxPt);
335
336     TString tag = "TPC-only tracking";
337   }
338
339   // TPC-only (tight cuts, no pt cuts) 
340   if (cutMode == 16) 
341   {
342     // beta cuts (still under investigation)
343     minNClustersTPC = 120;
344     maxChi2PerClusterTPC = 3.5;
345     maxDCAtoVertexXY = 1.e10; // cm
346     maxDCAtoVertexZ  = 1.e10; // cm
347     minPt=0.0;
348     maxPt=1.e10;
349
350     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
351     esdTrackCuts->SetRequireTPCRefit(kFALSE);
352     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
353     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
354     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
355     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
356     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
357     esdTrackCuts->SetDCAToVertex2D(kTRUE);
358     esdTrackCuts->SetPtRange(minPt,maxPt);
359
360     TString tag = "TPC-only tracking";
361   }
362   // TPC-only (loose cuts)
363   if (cutMode == 17) 
364   {
365     // beta cuts (still under investigation)
366     minNClustersTPC = 50;
367     maxChi2PerClusterTPC = 4.0;
368     //maxDCAtoVertexXY = 2.4; // cm
369     //maxDCAtoVertexZ  = 3.2; // cm
370     maxDCAtoVertexXY = 1.6; // cm
371     maxDCAtoVertexZ  = 2.1; // cm
372     minPt=0.15;
373     maxPt=1.e10;
374
375     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
376     esdTrackCuts->SetRequireTPCRefit(kFALSE);
377     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
378     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
379     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
380     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
381     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
382     esdTrackCuts->SetDCAToVertex2D(kTRUE);
383     esdTrackCuts->SetPtRange(minPt,maxPt);
384
385     TString tag = "TPC-only tracking";
386   }
387
388   // TPC-only (standard cuts)
389   if (cutMode == 18) 
390   {
391     // beta cuts (still under investigation)
392     minNClustersTPC = 96;
393     maxChi2PerClusterTPC = 3.5;
394     //maxDCAtoVertexXY = 2.4; // cm
395     //maxDCAtoVertexZ  = 3.2; // cm
396     maxDCAtoVertexXY = 1.4; // cm
397     maxDCAtoVertexZ  = 1.8; // cm
398     minPt=0.2;
399     maxPt=1.e10;
400
401     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
402     esdTrackCuts->SetRequireTPCRefit(kFALSE);
403     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
404     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
405     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
406     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
407     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
408     esdTrackCuts->SetDCAToVertex2D(kTRUE);
409     esdTrackCuts->SetPtRange(minPt,maxPt);
410
411     TString tag = "TPC-only tracking";
412   }
413
414  // TPC-only (tight cuts)
415   if (cutMode == 19) 
416   {
417     // beta cuts (still under investigation)
418     minNClustersTPC = 120;
419     maxChi2PerClusterTPC = 3.0;
420     //maxDCAtoVertexXY = 2.4; // cm
421     //maxDCAtoVertexZ  = 3.2; // cm
422     maxDCAtoVertexXY = 1.4; // cm
423     maxDCAtoVertexZ  = 1.8; // cm
424     minPt=0.3;
425     maxPt=1.e10;
426
427     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
428     esdTrackCuts->SetRequireTPCRefit(kFALSE);
429     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
430     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
431     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
432     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
433     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
434     esdTrackCuts->SetDCAToVertex2D(kTRUE);
435     esdTrackCuts->SetPtRange(minPt,maxPt);
436
437     TString tag = "TPC-only tracking";
438   }
439
440   // TPC-only (arb. cuts, kink cuts included)
441   if (cutMode == 20) 
442   {
443     // beta cuts (still under investigation)
444     minNClustersTPC = 50;
445     maxChi2PerClusterTPC = 1.e10;
446     maxDCAtoVertexXY = 3.0; // cm
447     maxDCAtoVertexZ  = 3.0; // cm
448     minPt=0.0;
449     maxPt=1.e10;
450
451     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
452     esdTrackCuts->SetRequireTPCRefit(kFALSE);
453     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
454     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
455     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
456     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
457     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
458     esdTrackCuts->SetDCAToVertex2D(kTRUE);
459     esdTrackCuts->SetPtRange(minPt,maxPt);
460
461     TString tag = "TPC-only tracking";
462   }
463
464   // TPC-only (arb. cuts, kink cuts excluded)
465   if (cutMode == 21) 
466   {
467     // beta cuts (still under investigation)
468     minNClustersTPC = 50;
469     maxChi2PerClusterTPC = 1.e10;
470     maxDCAtoVertexXY = 3.0; // cm
471     maxDCAtoVertexZ  = 3.0; // cm
472     minPt=0.0;
473     maxPt=1.e10;
474
475     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
476     esdTrackCuts->SetRequireTPCRefit(kFALSE);
477     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
478     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
479     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
480     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
481     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
482     esdTrackCuts->SetDCAToVertex2D(kTRUE);
483     esdTrackCuts->SetPtRange(minPt,maxPt);
484
485     TString tag = "TPC-only tracking";
486   }
487
488   // TPC-only (arb. cuts, kink cuts excluded, no chi2, no DCA)
489   if (cutMode == 22) 
490   {
491     // beta cuts (still under investigation)
492     minNClustersTPC = 50;
493     maxChi2PerClusterTPC = 1.e10;
494     maxDCAtoVertexXY = 1.e10; // cm
495     maxDCAtoVertexZ  = 1.e10; // cm
496     minPt=0.15;
497     maxPt=1.e10;
498
499     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
500     esdTrackCuts->SetRequireTPCRefit(kFALSE);
501     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
502     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
503     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
504     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
505     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
506     esdTrackCuts->SetDCAToVertex2D(kTRUE);
507     esdTrackCuts->SetPtRange(minPt,maxPt);
508
509     TString tag = "TPC-only tracking";
510   }
511
512   // TPC-only + pt cut + eta cut 
513   if (cutMode == 23) 
514   {
515     // beta cuts (still under investigation)
516     //minNClustersTPC = 50;
517     minNClustersTPC = 70;
518     maxChi2PerClusterTPC = 4.0;
519     maxDCAtoVertexXY = 2.4; // cm
520     maxDCAtoVertexZ  = 3.2; // cm
521     //minPt=0.15;
522     //maxPt=1.e10;
523
524     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
525     esdTrackCuts->SetRequireTPCRefit(kFALSE);
526     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
527     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
528     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
529     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
530     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
531     esdTrackCuts->SetDCAToVertex2D(kTRUE);
532     //esdTrackCuts->SetPtRange(minPt,maxPt);
533     //esdTrackCuts->SetEtaRange(minEta,maxEta);
534
535     TString tag = "TPC-only tracking";
536   }
537
538   // TPC-only (no pt cut, no eta cut)
539   if (cutMode == 24) 
540   {
541     // beta cuts (still under investigation)
542     minNClustersTPC = 50;
543     maxChi2PerClusterTPC = 4.0;
544     maxDCAtoVertexXY = 2.4; // cm
545     maxDCAtoVertexZ  = 3.2; // cm
546     minPt=0.0;
547     maxPt=1.e10;
548
549     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
550     esdTrackCuts->SetRequireTPCRefit(kFALSE);
551     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
552     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
553     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
554     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
555     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
556     esdTrackCuts->SetDCAToVertex2D(kTRUE);
557     esdTrackCuts->SetPtRange(minPt,maxPt);
558
559     TString tag = "TPC-only tracking";
560   }
561
562   //
563   // systematic errors DCA cut studies
564   //
565   // TPC-only
566   if (cutMode == 25) 
567   {
568     // beta cuts (still under investigation)
569     minNClustersTPC = 50;
570     maxChi2PerClusterTPC = 4.0;
571     maxDCAtoVertexXY = 1.4; // cm
572     maxDCAtoVertexZ  = 2.2; // cm
573     minPt=0.0;
574     maxPt=1.e10;
575
576     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
577     esdTrackCuts->SetRequireTPCRefit(kFALSE);
578     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
579     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
580     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
581     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
582     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
583     esdTrackCuts->SetDCAToVertex2D(kTRUE);
584     esdTrackCuts->SetPtRange(minPt,maxPt);
585
586     TString tag = "TPC-only tracking";
587   }
588
589   if (cutMode == 26) 
590   {
591     // beta cuts (still under investigation)
592     minNClustersTPC = 50;
593     maxChi2PerClusterTPC = 4.0;
594     maxDCAtoVertexXY = 1.6; // cm
595     maxDCAtoVertexZ  = 2.4; // cm
596     minPt=0.0;
597     maxPt=1.e10;
598
599     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
600     esdTrackCuts->SetRequireTPCRefit(kFALSE);
601     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
602     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
603     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
604     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
605     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
606     esdTrackCuts->SetDCAToVertex2D(kTRUE);
607     esdTrackCuts->SetPtRange(minPt,maxPt);
608
609     TString tag = "TPC-only tracking";
610   }
611
612   //
613   // systematic errors cut studies
614   //
615   // TPC-only
616   if (cutMode == 27) 
617   {
618     // beta cuts (still under investigation)
619     minNClustersTPC = 50;
620     maxChi2PerClusterTPC = 4.0;
621     maxDCAtoVertexXY = 1.8; // cm
622     maxDCAtoVertexZ  = 2.6; // cm
623     minPt=0.0;
624     maxPt=1.e10;
625
626     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
627     esdTrackCuts->SetRequireTPCRefit(kFALSE);
628     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
629     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
630     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
631     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
632     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
633     esdTrackCuts->SetDCAToVertex2D(kTRUE);
634     esdTrackCuts->SetPtRange(minPt,maxPt);
635
636     TString tag = "TPC-only tracking";
637   }
638
639   if (cutMode == 28) 
640   {
641     // beta cuts (still under investigation)
642     minNClustersTPC = 50;
643     maxChi2PerClusterTPC = 4.0;
644     maxDCAtoVertexXY = 2.0; // cm
645     maxDCAtoVertexZ  = 2.8; // cm
646     minPt=0.0;
647     maxPt=1.e10;
648
649     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
650     esdTrackCuts->SetRequireTPCRefit(kFALSE);
651     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
652     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
653     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
654     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
655     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
656     esdTrackCuts->SetDCAToVertex2D(kTRUE);
657     esdTrackCuts->SetPtRange(minPt,maxPt);
658
659     TString tag = "TPC-only tracking";
660   }
661
662   if (cutMode == 29) 
663   {
664     // beta cuts (still under investigation)
665     minNClustersTPC = 50;
666     maxChi2PerClusterTPC = 4.0;
667     maxDCAtoVertexXY = 2.2; // cm
668     maxDCAtoVertexZ  = 3.0; // cm
669     minPt=0.0;
670     maxPt=1.e10;
671
672     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
673     esdTrackCuts->SetRequireTPCRefit(kFALSE);
674     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
675     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
676     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
677     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
678     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
679     esdTrackCuts->SetDCAToVertex2D(kTRUE);
680     esdTrackCuts->SetPtRange(minPt,maxPt);
681
682     TString tag = "TPC-only tracking";
683   }
684
685   if (cutMode == 30) 
686   {
687     // beta cuts (still under investigation)
688     minNClustersTPC = 50;
689     maxChi2PerClusterTPC = 4.0;
690     maxDCAtoVertexXY = 2.4; // cm
691     maxDCAtoVertexZ  = 3.2; // cm
692     minPt=0.0;
693     maxPt=1.e10;
694
695     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
696     esdTrackCuts->SetRequireTPCRefit(kFALSE);
697     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
698     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
699     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
700     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
701     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
702     esdTrackCuts->SetDCAToVertex2D(kTRUE);
703     esdTrackCuts->SetPtRange(minPt,maxPt);
704
705     TString tag = "TPC-only tracking";
706   }
707
708   if (cutMode == 31) 
709   {
710     // beta cuts (still under investigation)
711     minNClustersTPC = 50;
712     maxChi2PerClusterTPC = 4.0;
713     maxDCAtoVertexXY = 2.6; // cm
714     maxDCAtoVertexZ  = 3.4; // cm
715     minPt=0.0;
716     maxPt=1.e10;
717
718     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
719     esdTrackCuts->SetRequireTPCRefit(kFALSE);
720     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
721     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
722     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
723     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
724     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
725     esdTrackCuts->SetDCAToVertex2D(kTRUE);
726     esdTrackCuts->SetPtRange(minPt,maxPt);
727
728     TString tag = "TPC-only tracking";
729   }
730
731
732   if (cutMode == 32) 
733   {
734     // beta cuts (still under investigation)
735     minNClustersTPC = 50;
736     maxChi2PerClusterTPC = 4.0;
737     maxDCAtoVertexXY = 2.8; // cm
738     maxDCAtoVertexZ  = 3.6; // cm
739     minPt=0.0;
740     maxPt=1.e10;
741
742     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
743     esdTrackCuts->SetRequireTPCRefit(kFALSE);
744     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
745     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
746     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
747     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
748     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
749     esdTrackCuts->SetDCAToVertex2D(kTRUE);
750     esdTrackCuts->SetPtRange(minPt,maxPt);
751
752     TString tag = "TPC-only tracking";
753   }
754
755   if (cutMode == 33) 
756   {
757     // beta cuts (still under investigation)
758     minNClustersTPC = 50;
759     maxChi2PerClusterTPC = 4.0;
760     maxDCAtoVertexXY = 3.0; // cm
761     maxDCAtoVertexZ  = 3.8; // cm
762     minPt=0.0;
763     maxPt=1.e10;
764
765     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
766     esdTrackCuts->SetRequireTPCRefit(kFALSE);
767     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
768     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
769     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
770     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
771     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
772     esdTrackCuts->SetDCAToVertex2D(kTRUE);
773     esdTrackCuts->SetPtRange(minPt,maxPt);
774
775     TString tag = "TPC-only tracking";
776   }
777
778   if (cutMode == 34) 
779   {
780     // beta cuts (still under investigation)
781     minNClustersTPC = 50;
782     maxChi2PerClusterTPC = 4.0;
783     maxDCAtoVertexXY = 3.2; // cm
784     maxDCAtoVertexZ  = 4.0; // cm
785     minPt=0.0;
786     maxPt=1.e10;
787
788     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
789     esdTrackCuts->SetRequireTPCRefit(kFALSE);
790     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
791     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
792     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
793     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
794     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
795     esdTrackCuts->SetDCAToVertex2D(kTRUE);
796     esdTrackCuts->SetPtRange(minPt,maxPt);
797
798     TString tag = "TPC-only tracking";
799   }
800
801   if (cutMode == 35) 
802   {
803     // beta cuts (still under investigation)
804     minNClustersTPC = 50;
805     maxChi2PerClusterTPC = 4.0;
806     maxDCAtoVertexXY = 3.4; // cm
807     maxDCAtoVertexZ  = 4.2; // cm
808     minPt=0.0;
809     maxPt=1.e10;
810
811     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
812     esdTrackCuts->SetRequireTPCRefit(kFALSE);
813     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
814     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
815     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
816     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
817     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
818     esdTrackCuts->SetDCAToVertex2D(kTRUE);
819     esdTrackCuts->SetPtRange(minPt,maxPt);
820
821     TString tag = "TPC-only tracking";
822   }
823
824 //
825 // cut stability systematics
826 //
827
828   if (cutMode == 36) 
829   {
830     // beta cuts (still under investigation)
831     minNClustersTPC = 70;
832     maxChi2PerClusterTPC = 4.0;
833     maxDCAtoVertexXY = 2.4; // cm
834     maxDCAtoVertexZ  = 3.2; // cm
835     minPt=0.0;
836     maxPt=1.e10;
837
838     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
839     esdTrackCuts->SetRequireTPCRefit(kFALSE);
840     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
841     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
842     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
843     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
844     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
845     esdTrackCuts->SetDCAToVertex2D(kTRUE);
846     esdTrackCuts->SetPtRange(minPt,maxPt);
847
848     TString tag = "TPC-only tracking";
849   }
850
851  if (cutMode == 37) 
852   {
853     // beta cuts (still under investigation)
854     minNClustersTPC = 90;
855     maxChi2PerClusterTPC = 4.0;
856     maxDCAtoVertexXY = 2.4; // cm
857     maxDCAtoVertexZ  = 3.2; // cm
858     minPt=0.0;
859     maxPt=1.e10;
860
861     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
862     esdTrackCuts->SetRequireTPCRefit(kFALSE);
863     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
864     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
865     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
866     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
867     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
868     esdTrackCuts->SetDCAToVertex2D(kTRUE);
869     esdTrackCuts->SetPtRange(minPt,maxPt);
870
871     TString tag = "TPC-only tracking";
872   }
873
874   if (cutMode == 38) 
875   {
876     // beta cuts (still under investigation)
877     minNClustersTPC = 50;
878     maxChi2PerClusterTPC = 3.0;
879     maxDCAtoVertexXY = 2.4; // cm
880     maxDCAtoVertexZ  = 3.2; // cm
881     minPt=0.0;
882     maxPt=1.e10;
883
884     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
885     esdTrackCuts->SetRequireTPCRefit(kFALSE);
886     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
887     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
888     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
889     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
890     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
891     esdTrackCuts->SetDCAToVertex2D(kTRUE);
892     esdTrackCuts->SetPtRange(minPt,maxPt);
893
894     TString tag = "TPC-only tracking";
895   }
896
897   if (cutMode == 39) 
898   {
899     // beta cuts (still under investigation)
900     minNClustersTPC = 50;
901     maxChi2PerClusterTPC = 5.0;
902     maxDCAtoVertexXY = 2.4; // cm
903     maxDCAtoVertexZ  = 3.2; // cm
904     minPt=0.0;
905     maxPt=1.e10;
906
907     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
908     esdTrackCuts->SetRequireTPCRefit(kFALSE);
909     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
910     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
911     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
912     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
913     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
914     esdTrackCuts->SetDCAToVertex2D(kTRUE);
915     esdTrackCuts->SetPtRange(minPt,maxPt);
916
917     TString tag = "TPC-only tracking";
918   }
919
920   if (cutMode == 40) 
921   {
922     // beta cuts (still under investigation)
923     minNClustersTPC = 50;
924     maxChi2PerClusterTPC = 4.0;
925     maxDCAtoVertexXY = 1.4; // cm
926     maxDCAtoVertexZ  = 2.2; // cm
927     minPt=0.0;
928     maxPt=1.e10;
929
930     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
931     esdTrackCuts->SetRequireTPCRefit(kFALSE);
932     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
933     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
934     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
935     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
936     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
937     esdTrackCuts->SetDCAToVertex2D(kTRUE);
938     esdTrackCuts->SetPtRange(minPt,maxPt);
939
940     TString tag = "TPC-only tracking";
941   }
942
943   if (cutMode == 41) 
944   {
945     // beta cuts (still under investigation)
946     minNClustersTPC = 50;
947     maxChi2PerClusterTPC = 4.0;
948     maxDCAtoVertexXY = 3.4; // cm
949     maxDCAtoVertexZ  = 4.2; // cm
950     minPt=0.0;
951     maxPt=1.e10;
952
953     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
954     esdTrackCuts->SetRequireTPCRefit(kFALSE);
955     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
956     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
957     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
958     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
959     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
960     esdTrackCuts->SetDCAToVertex2D(kTRUE);
961     esdTrackCuts->SetPtRange(minPt,maxPt);
962
963     TString tag = "TPC-only tracking";
964   }
965
966   if (cutMode == 42) 
967   {
968     // beta cuts (still under investigation)
969     minNClustersTPC = 50;
970     maxChi2PerClusterTPC = 4.0;
971     maxDCAtoVertexXY = 2.4; // cm
972     maxDCAtoVertexZ  = 3.2; // cm
973     minPt=0.0;
974     maxPt=1.e10;
975
976     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
977     esdTrackCuts->SetRequireTPCRefit(kFALSE);
978     //esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
979     esdTrackCuts->SetAcceptKinkDaughters(kTRUE);
980     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
981     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
982     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
983     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
984     esdTrackCuts->SetDCAToVertex2D(kTRUE);
985     esdTrackCuts->SetPtRange(minPt,maxPt);
986
987     TString tag = "TPC-only tracking";
988   }
989   // test
990   if (cutMode == 43) 
991   {
992     // beta cuts (still under investigation)
993     minNClustersTPC = 50;
994     maxChi2PerClusterTPC = 4.0;
995     //maxDCAtoVertexXY = 2.4; // cm
996     //maxDCAtoVertexZ  = 3.2; // cm
997     //minPt=0.15;
998     //maxPt=1.e10;
999
1000     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1001     esdTrackCuts->SetRequireTPCRefit(kFALSE);
1002     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1003     esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
1004     esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
1005     //esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
1006     //esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
1007     //esdTrackCuts->SetDCAToVertex2D(kTRUE);
1008     //esdTrackCuts->SetPtRange(minPt,maxPt);
1009     //esdTrackCuts->SetEtaRange(minEta,maxEta);
1010
1011     TString tag = "TPC-only tracking";
1012   }
1013
1014   // TPC-only + pt cut + eta cut 
1015   if (cutMode == 45) 
1016   {
1017     // beta cuts (still under investigation)
1018     //minNClustersTPC = 50;
1019     //maxChi2PerClusterTPC = 4.0;
1020     maxDCAtoVertexXY = 2.4; // cm
1021     maxDCAtoVertexZ  = 3.2; // cm
1022     //minPt=0.15;
1023     //maxPt=1.e10;
1024
1025     esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
1026     esdTrackCuts->SetRequireTPCRefit(kFALSE);
1027     esdTrackCuts->SetAcceptKinkDaughters(kFALSE);
1028     //esdTrackCuts->SetMinNClustersTPC(minNClustersTPC);
1029     //esdTrackCuts->SetMaxChi2PerClusterTPC(maxChi2PerClusterTPC);
1030     esdTrackCuts->SetMaxDCAToVertexXY(maxDCAtoVertexXY);
1031     esdTrackCuts->SetMaxDCAToVertexZ(maxDCAtoVertexZ);
1032     esdTrackCuts->SetDCAToVertex2D(kTRUE);
1033     //esdTrackCuts->SetPtRange(minPt,maxPt);
1034     //esdTrackCuts->SetEtaRange(minEta,maxEta);
1035
1036     TString tag = "TPC-only tracking";
1037   }
1038
1039
1040
1041
1042
1043
1044   // cuts for data without field
1045   if (!fieldOn)
1046   {
1047     cov5 = 1e10;
1048     tag += " without field";
1049   }
1050
1051   Printf("Created track cuts for: %s", tag.Data());
1052
1053   return esdTrackCuts;
1054 }