]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG3/vertexingHF/macros/makeTFile4CutsDStartoKpipi.C
Updates to run with deltas (L. Cunqueiro)
[u/mrichter/AliRoot.git] / PWG3 / vertexingHF / macros / makeTFile4CutsDStartoKpipi.C
1 // gSystem->SetIncludePath("-I. -I$ROOTSYS/include -I$ALICE_ROOT -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT/TPC -I$ALICE_ROOT/CONTAINERS -I$ALICE_ROOT/STEER -I$ALICE_ROOT/TRD -I$ALICE_ROOT/macros -I$ALICE_ROOT/ANALYSIS -I$ALICE_ROOT/PWG3 -I$ALICE_ROOT/PWG3/vertexingHF -g");
2
3 #include <Riostream.h>
4 #include <TFile.h>
5 #include "AliRDHFCutsDStartoKpipi.h"
6 #include <TClonesArray.h>
7 #include <TParameter.h>
8
9
10 //Use:
11 //Set hard coded commentet with //set this!!
12 // root[] .L makeTFile4CutsDStar.....C++
13 // root[] makeInputAliAnalysisTaskSED0Mass()
14 // root[] makeInputAliAnalysisTaskSESignificanceMaximization()
15 //similar macros for the other D mesons
16
17 //Author: Alessandro Grelli, a.grelli@uu.nl
18
19
20 //macro to make a .root file which contains an AliRDHFCutsDStartoKpipi for AliAnalysisTaskSEDStarSpectra task and CF task
21 void makeInputAliAnalysisTaskSEDStarSpectra(const char *set_cuts="utrecht"){
22
23   AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
24   RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
25   RDHFDStartoKpipi->SetTitle("Cuts for D* analysis");
26
27   //Centrality selection
28   RDHFDStartoKpipi->SetUseCentrality(kFALSE);
29   RDHFDStartoKpipi->SetMinCentrality(40);
30   RDHFDStartoKpipi->SetMaxCentrality(80);
31
32   AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
33   esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
34   //default
35   esdTrackCuts->SetRequireTPCRefit(kTRUE);
36   esdTrackCuts->SetRequireITSRefit(kTRUE);
37   //esdTrackCuts->SetMinNClustersTPC(70);
38   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
39                                          AliESDtrackCuts::kAny); 
40  // default is kBoth, otherwise kAny
41   esdTrackCuts->SetMinDCAToVertexXY(0.);
42   esdTrackCuts->SetPtRange(0.3,1.e10);
43
44  // soft pion pre-selections 
45   AliESDtrackCuts* esdSoftPicuts=new AliESDtrackCuts();
46   esdSoftPicuts->SetRequireSigmaToVertex(kFALSE);
47   //default
48   esdSoftPicuts->SetRequireTPCRefit(kFALSE);
49   esdSoftPicuts->SetRequireITSRefit(kFALSE);
50   esdSoftPicuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
51                                           AliESDtrackCuts::kAny); //test d0 asimmetry
52   esdSoftPicuts->SetPtRange(0.0,1.e10);
53
54   // set pre selections
55   RDHFDStartoKpipi->AddTrackCuts(esdTrackCuts);
56   RDHFDStartoKpipi->AddTrackCutsSoftPi(esdSoftPicuts);
57
58   const Int_t nvars=16;
59   const Int_t nptbins=13;
60   
61   Float_t* ptbins;
62   ptbins=new Float_t[nptbins+1];
63   ptbins[0]=0.;
64   ptbins[1]=0.5;
65   ptbins[2]=1.;
66   ptbins[3]=2.;
67   ptbins[4]=3.;
68   ptbins[5]=4.;
69   ptbins[6]=5.; 
70   ptbins[7]=6.;
71   ptbins[8]=7.;
72   ptbins[9]=8.;
73   ptbins[10]=12.;
74   ptbins[11]=16.;
75   ptbins[12]=24.;
76   ptbins[13]=999.;
77
78   RDHFDStartoKpipi->SetPtBins(nptbins+1,ptbins);
79   
80   Float_t** rdcutsvalmine;
81   rdcutsvalmine=new Float_t*[nvars];
82   for(Int_t iv=0;iv<nvars;iv++){
83     rdcutsvalmine[iv]=new Float_t[nptbins];
84   }
85
86   if(set_cuts=="utrecht"){
87     //0-0.5
88     rdcutsvalmine[0][0]=0.7;
89     rdcutsvalmine[1][0]=0.03;
90     rdcutsvalmine[2][0]=0.8;
91     rdcutsvalmine[3][0]=0.3;
92     rdcutsvalmine[4][0]=0.3;
93     rdcutsvalmine[5][0]=0.1;
94     rdcutsvalmine[6][0]=0.1;
95     rdcutsvalmine[7][0]=0.00035;
96     rdcutsvalmine[8][0]=0.73;
97     rdcutsvalmine[9][0]=0.3;
98     rdcutsvalmine[10][0]=0.1;
99     rdcutsvalmine[11][0]=0.05;
100     rdcutsvalmine[12][0]=100.;
101     rdcutsvalmine[13][0]=0.5;
102     rdcutsvalmine[14][0]=-1.;
103     rdcutsvalmine[15][0]=0.;
104     //0.5-1
105     rdcutsvalmine[0][1]=0.7;
106     rdcutsvalmine[1][1]=0.03;
107     rdcutsvalmine[2][1]=0.8;
108     rdcutsvalmine[3][1]=0.3;
109     rdcutsvalmine[4][1]=0.3;
110     rdcutsvalmine[5][1]=0.1;
111     rdcutsvalmine[6][1]=0.1;
112     rdcutsvalmine[7][1]=-0.00020;
113     rdcutsvalmine[8][1]=0.73;
114     rdcutsvalmine[9][1]=0.3;
115     rdcutsvalmine[10][1]=0.1;
116     rdcutsvalmine[11][1]=0.05;
117     rdcutsvalmine[12][1]=100.;
118     rdcutsvalmine[13][1]=0.5;
119     rdcutsvalmine[14][1]=-1.;
120     rdcutsvalmine[15][1]=0.;
121     //1-2
122     rdcutsvalmine[0][2]=0.7;
123     rdcutsvalmine[1][2]=0.02;
124     rdcutsvalmine[2][2]=0.8;
125     rdcutsvalmine[3][2]=0.4;
126     rdcutsvalmine[4][2]=0.4;
127     rdcutsvalmine[5][2]=0.1;
128     rdcutsvalmine[6][2]=0.1;
129     rdcutsvalmine[7][2]=-0.00036;
130     rdcutsvalmine[8][2]=0.82;
131     rdcutsvalmine[9][2]=0.3;
132     rdcutsvalmine[10][2]=0.1;
133     rdcutsvalmine[11][2]=0.05;
134     rdcutsvalmine[12][2]=100.;
135     rdcutsvalmine[13][2]=0.5;
136     rdcutsvalmine[14][2]=-1.;
137     rdcutsvalmine[15][2]=0.;
138     //2-3
139     rdcutsvalmine[0][3]=0.7;
140     rdcutsvalmine[1][3]=0.02;
141     rdcutsvalmine[2][3]=0.8;
142     rdcutsvalmine[3][3]=0.7;
143     rdcutsvalmine[4][3]=0.7;
144     rdcutsvalmine[5][3]=0.08;
145     rdcutsvalmine[6][3]=0.08;
146     rdcutsvalmine[7][3]=-0.00016;
147     rdcutsvalmine[8][3]=0.90;
148     rdcutsvalmine[9][3]=0.3;
149     rdcutsvalmine[10][3]=0.1;
150     rdcutsvalmine[11][3]=0.05;
151     rdcutsvalmine[12][3]=100.;
152     rdcutsvalmine[13][3]=0.5;
153     rdcutsvalmine[14][3]=-1.;
154     rdcutsvalmine[15][3]=0.;
155     //3-4
156     rdcutsvalmine[0][4]=0.7;
157     rdcutsvalmine[1][4]=0.05;
158     rdcutsvalmine[2][4]=0.8;
159     rdcutsvalmine[3][4]=1.;
160     rdcutsvalmine[4][4]=1.;
161     rdcutsvalmine[5][4]=0.042;
162     rdcutsvalmine[6][4]=0.056;
163     rdcutsvalmine[7][4]=-0.000065;
164     rdcutsvalmine[8][4]=0.9;
165     rdcutsvalmine[9][4]=0.3;
166     rdcutsvalmine[10][4]=0.1;
167     rdcutsvalmine[11][4]=0.05;
168     rdcutsvalmine[12][4]=100.;
169     rdcutsvalmine[13][4]=0.5;
170     rdcutsvalmine[14][4]=-1.;
171     rdcutsvalmine[15][4]=0.;
172     //4-5
173     rdcutsvalmine[0][5]=0.7;
174     rdcutsvalmine[1][5]=0.08;
175     rdcutsvalmine[2][5]=0.9;
176     rdcutsvalmine[3][5]=1.2;
177     rdcutsvalmine[4][5]=1.2;
178     rdcutsvalmine[5][5]=0.07;
179     rdcutsvalmine[6][5]=0.07;
180     rdcutsvalmine[7][5]=0.0001;
181     rdcutsvalmine[8][5]=0.9;
182     rdcutsvalmine[9][5]=0.3;
183     rdcutsvalmine[10][5]=0.1;
184     rdcutsvalmine[11][5]=0.05;
185     rdcutsvalmine[12][5]=100.;
186     rdcutsvalmine[13][5]=0.5;
187     rdcutsvalmine[14][5]=-1.;
188     rdcutsvalmine[15][5]=0.;
189     //5-6
190     rdcutsvalmine[0][6]=0.7;
191     rdcutsvalmine[1][6]=0.1;
192     rdcutsvalmine[2][6]=1.0;
193     rdcutsvalmine[3][6]=1.;
194     rdcutsvalmine[4][6]=1.;
195     rdcutsvalmine[5][6]=0.08;
196     rdcutsvalmine[6][6]=0.08;
197     rdcutsvalmine[7][6]=0.0005;
198     rdcutsvalmine[8][6]=0.8;
199     rdcutsvalmine[9][6]=0.3;
200     rdcutsvalmine[10][6]=0.1;
201     rdcutsvalmine[11][6]=0.05;
202     rdcutsvalmine[12][6]=100000.;
203     rdcutsvalmine[13][6]=0.5;
204     rdcutsvalmine[14][6]=-1.;
205     rdcutsvalmine[15][6]=0.;
206     //6-7
207     rdcutsvalmine[0][7]=0.7;
208     rdcutsvalmine[1][7]=0.1;
209     rdcutsvalmine[2][7]=1.0;
210     rdcutsvalmine[3][7]=1.;
211     rdcutsvalmine[4][7]=1.;
212     rdcutsvalmine[5][7]=0.1;
213     rdcutsvalmine[6][7]=0.1;
214     rdcutsvalmine[7][7]=0.001;
215     rdcutsvalmine[8][7]=0.7;
216     rdcutsvalmine[9][7]=0.3;
217     rdcutsvalmine[10][7]=0.1;
218     rdcutsvalmine[11][7]=0.05;
219     rdcutsvalmine[12][7]=100.;
220     rdcutsvalmine[13][7]=0.5;
221     rdcutsvalmine[14][7]=-1.;
222     rdcutsvalmine[15][7]=0.;
223     //7-8
224     rdcutsvalmine[0][8]=0.7;
225     rdcutsvalmine[1][8]=0.1;
226     rdcutsvalmine[2][8]=1.0;
227     rdcutsvalmine[3][8]=1.;
228     rdcutsvalmine[4][8]=1.;
229     rdcutsvalmine[5][8]=0.1;
230     rdcutsvalmine[6][8]=0.1;
231     rdcutsvalmine[7][8]=0.001;
232     rdcutsvalmine[8][8]=0.7;
233     rdcutsvalmine[9][8]=0.3;
234     rdcutsvalmine[10][8]=0.1;
235     rdcutsvalmine[11][8]=0.05;
236     rdcutsvalmine[12][8]=100.;
237     rdcutsvalmine[13][8]=0.5;
238     rdcutsvalmine[14][8]=-1.;
239     rdcutsvalmine[15][8]=0.;
240     //8-12
241     rdcutsvalmine[0][9]=0.7;
242     rdcutsvalmine[1][9]=0.1;
243     rdcutsvalmine[2][9]=1.0;
244     rdcutsvalmine[3][9]=1.;
245     rdcutsvalmine[4][9]=1.;
246     rdcutsvalmine[5][9]=0.1;
247     rdcutsvalmine[6][9]=0.1;
248     rdcutsvalmine[7][9]=0.006;
249     rdcutsvalmine[8][9]=0.7;
250     rdcutsvalmine[9][9]=0.3;
251     rdcutsvalmine[10][9]=0.1;
252     rdcutsvalmine[11][9]=0.05;
253     rdcutsvalmine[12][9]=100.;
254     rdcutsvalmine[13][9]=0.5;
255     rdcutsvalmine[14][9]=-1.;
256     rdcutsvalmine[15][9]=0.;
257     //12-16
258     rdcutsvalmine[0][10]=0.7;
259     rdcutsvalmine[1][10]=0.1;
260     rdcutsvalmine[2][10]=1.0;
261     rdcutsvalmine[3][10]=0.3;
262     rdcutsvalmine[4][10]=0.3;
263     rdcutsvalmine[5][10]=0.15;
264     rdcutsvalmine[6][10]=0.15;
265     rdcutsvalmine[7][10]=0.01;
266     rdcutsvalmine[8][10]=0.7;
267     rdcutsvalmine[9][10]=0.3;
268     rdcutsvalmine[10][10]=0.1;
269     rdcutsvalmine[11][10]=0.05;
270     rdcutsvalmine[12][10]=100.;
271     rdcutsvalmine[13][10]=0.5;
272     rdcutsvalmine[14][10]=-1.;
273     rdcutsvalmine[15][10]=0.;
274     //16-24
275     rdcutsvalmine[0][11]=0.7;
276     rdcutsvalmine[1][11]=0.2;
277     rdcutsvalmine[2][11]=1.0;
278     rdcutsvalmine[3][11]=.3;
279     rdcutsvalmine[4][11]=.3;
280     rdcutsvalmine[5][11]=0.15;
281     rdcutsvalmine[6][11]=0.15;
282     rdcutsvalmine[7][11]=0.01;
283     rdcutsvalmine[8][11]=0.7;
284     rdcutsvalmine[9][11]=0.3;
285     rdcutsvalmine[10][11]=0.1;
286     rdcutsvalmine[11][11]=0.05;
287     rdcutsvalmine[12][11]=100.;
288     rdcutsvalmine[13][11]=0.5;
289     rdcutsvalmine[14][11]=-1.;
290     rdcutsvalmine[15][11]=0.;
291     //>24
292     rdcutsvalmine[0][12]=0.7;
293     rdcutsvalmine[1][12]=0.6;
294     rdcutsvalmine[2][12]=1.0;
295     rdcutsvalmine[3][12]=.4;
296     rdcutsvalmine[4][12]=.4;
297     rdcutsvalmine[5][12]=0.5;
298     rdcutsvalmine[6][12]=0.5;
299     rdcutsvalmine[7][12]=0.1;
300     rdcutsvalmine[8][12]=0.7;
301     rdcutsvalmine[9][12]=0.3;
302     rdcutsvalmine[10][12]=0.1;
303     rdcutsvalmine[11][12]=0.05;
304     rdcutsvalmine[12][12]=100.;
305     rdcutsvalmine[13][12]=0.5;
306     rdcutsvalmine[14][12]=-1.;
307     rdcutsvalmine[15][12]=0.;
308   }
309   if(set_cuts=="heidelberg"){
310
311     //0-0.5
312     rdcutsvalmine[0][0]=0.7;
313     rdcutsvalmine[1][0]=0.03;
314     rdcutsvalmine[2][0]=0.7;
315     rdcutsvalmine[3][0]=0.8;
316     rdcutsvalmine[4][0]=0.8;
317     rdcutsvalmine[5][0]=0.1;
318     rdcutsvalmine[6][0]=0.1;
319     rdcutsvalmine[7][0]=-0.00002;
320     rdcutsvalmine[8][0]=0.9;
321     rdcutsvalmine[9][0]=0.3;
322     rdcutsvalmine[10][0]=0.1;
323     rdcutsvalmine[11][0]=0.05;
324     rdcutsvalmine[12][0]=100.;
325     rdcutsvalmine[13][0]=0.5;
326     rdcutsvalmine[14][0]=-1.;
327     rdcutsvalmine[15][0]=0.;
328     //0.5-1
329     rdcutsvalmine[0][1]=0.7;
330     rdcutsvalmine[1][1]=0.03;
331     rdcutsvalmine[2][1]=0.7;
332     rdcutsvalmine[3][1]=0.8;
333     rdcutsvalmine[4][1]=0.8;
334     rdcutsvalmine[5][1]=0.1;
335     rdcutsvalmine[6][1]=0.1;
336     rdcutsvalmine[7][1]=-0.00002;
337     rdcutsvalmine[8][1]=0.9;
338     rdcutsvalmine[9][1]=0.3;
339     rdcutsvalmine[10][1]=0.1;
340     rdcutsvalmine[11][1]=0.05;
341     rdcutsvalmine[12][1]=100.;
342     rdcutsvalmine[13][1]=0.5;
343     rdcutsvalmine[14][1]=-1.;
344     rdcutsvalmine[15][1]=0.;
345
346     //1-2
347     rdcutsvalmine[0][2]=0.7;
348     rdcutsvalmine[1][2]=0.03;
349     rdcutsvalmine[2][2]=0.7;
350     rdcutsvalmine[3][2]=0.8;
351     rdcutsvalmine[4][2]=0.8;
352     rdcutsvalmine[5][2]=0.1;
353     rdcutsvalmine[6][2]=0.1;
354     rdcutsvalmine[7][2]=-0.00002;
355     rdcutsvalmine[8][2]=0.9;
356     rdcutsvalmine[9][2]=0.3;
357     rdcutsvalmine[10][2]=0.1;
358     rdcutsvalmine[11][2]=0.05;
359     rdcutsvalmine[12][2]=100.;
360     rdcutsvalmine[13][2]=0.5;
361     rdcutsvalmine[14][2]=-1.;
362     rdcutsvalmine[15][2]=0.;
363     //2-3
364     rdcutsvalmine[0][3]=0.7;
365     rdcutsvalmine[1][3]=0.03;
366     rdcutsvalmine[2][3]=0.7;
367     rdcutsvalmine[3][3]=0.8;
368     rdcutsvalmine[4][3]=0.8;
369     rdcutsvalmine[5][3]=0.1;
370     rdcutsvalmine[6][3]=0.1;
371     rdcutsvalmine[7][3]=-0.00002;
372     rdcutsvalmine[8][3]=0.9;
373     rdcutsvalmine[9][3]=0.3;
374     rdcutsvalmine[10][3]=0.1;
375     rdcutsvalmine[11][3]=0.05;
376     rdcutsvalmine[12][3]=100.;
377     rdcutsvalmine[13][3]=0.5;
378     rdcutsvalmine[14][3]=-1.;
379     rdcutsvalmine[15][3]=0.;
380     //3-4
381     rdcutsvalmine[0][4]=0.7;
382     rdcutsvalmine[1][4]=0.03;
383     rdcutsvalmine[2][4]=0.7;
384     rdcutsvalmine[3][4]=0.9;
385     rdcutsvalmine[4][4]=0.9;
386     rdcutsvalmine[5][4]=0.1;
387     rdcutsvalmine[6][4]=0.1;
388     rdcutsvalmine[7][4]=0.000002;
389     rdcutsvalmine[8][4]=0.8;
390     rdcutsvalmine[9][4]=0.3;
391     rdcutsvalmine[10][4]=0.1;
392     rdcutsvalmine[11][4]=0.05;
393     rdcutsvalmine[12][4]=100.;
394     rdcutsvalmine[13][4]=0.5;
395     rdcutsvalmine[14][4]=-1.;
396     rdcutsvalmine[15][4]=0.;
397     //4-5
398     rdcutsvalmine[0][5]=0.7;
399     rdcutsvalmine[1][5]=0.03;
400     rdcutsvalmine[2][5]=0.7;
401     rdcutsvalmine[3][5]=0.9;
402     rdcutsvalmine[4][5]=0.9;
403     rdcutsvalmine[5][5]=0.1;
404     rdcutsvalmine[6][5]=0.1;
405     rdcutsvalmine[7][5]=0.000002;
406     rdcutsvalmine[8][5]=0.8;
407     rdcutsvalmine[9][5]=0.3;
408     rdcutsvalmine[10][5]=0.1;
409     rdcutsvalmine[11][5]=0.05;
410     rdcutsvalmine[12][5]=100.;
411     rdcutsvalmine[13][5]=0.5;
412     rdcutsvalmine[14][5]=-1.;
413     rdcutsvalmine[15][5]=0.;
414     //5-6
415     rdcutsvalmine[0][6]=0.7;
416     rdcutsvalmine[1][6]=0.03;
417     rdcutsvalmine[2][6]=0.7;
418     rdcutsvalmine[3][6]=1.0;
419     rdcutsvalmine[4][6]=1.0;
420     rdcutsvalmine[5][6]=0.1;
421     rdcutsvalmine[6][6]=0.1;
422     rdcutsvalmine[7][6]=0.000002;
423     rdcutsvalmine[8][6]=0.8;
424     rdcutsvalmine[9][6]=0.3;
425     rdcutsvalmine[10][6]=0.1;
426     rdcutsvalmine[11][6]=0.05;
427     rdcutsvalmine[12][6]=100.;
428     rdcutsvalmine[13][6]=0.5;
429     rdcutsvalmine[14][6]=-1.;
430     rdcutsvalmine[15][6]=0.;
431     //6-8
432     rdcutsvalmine[0][7]=0.7;
433     rdcutsvalmine[1][7]=0.03;
434     rdcutsvalmine[2][7]=0.7;
435     rdcutsvalmine[3][7]=1.0;
436     rdcutsvalmine[4][7]=1.0;
437     rdcutsvalmine[5][7]=0.1;
438     rdcutsvalmine[6][7]=0.1;
439     rdcutsvalmine[7][7]=0.000002;
440     rdcutsvalmine[8][7]=0.8;
441     rdcutsvalmine[9][7]=0.3;
442     rdcutsvalmine[10][7]=0.1;
443     rdcutsvalmine[11][7]=0.05;
444     rdcutsvalmine[12][7]=100.;
445     rdcutsvalmine[13][7]=0.5;
446     rdcutsvalmine[14][7]=-1.;
447     rdcutsvalmine[15][7]=0.;
448     //8-12
449     rdcutsvalmine[0][8]=0.7;
450     rdcutsvalmine[1][8]=0.03;
451     rdcutsvalmine[2][8]=0.7;
452     rdcutsvalmine[3][8]=1.0;
453     rdcutsvalmine[4][8]=1.0;
454     rdcutsvalmine[5][8]=0.1;
455     rdcutsvalmine[6][8]=0.1;
456     rdcutsvalmine[7][8]=0.000002;
457     rdcutsvalmine[8][8]=0.8;
458     rdcutsvalmine[9][8]=0.3;
459     rdcutsvalmine[10][8]=0.1;
460     rdcutsvalmine[11][8]=0.05;
461     rdcutsvalmine[12][8]=100.;
462     rdcutsvalmine[13][8]=0.5;
463     rdcutsvalmine[14][8]=-1.;
464     rdcutsvalmine[15][8]=0.;
465     //12-16
466     rdcutsvalmine[0][9]=0.7;
467     rdcutsvalmine[1][9]=0.03;
468     rdcutsvalmine[2][9]=0.7;
469     rdcutsvalmine[3][9]=1.0;
470     rdcutsvalmine[4][9]=1.0;
471     rdcutsvalmine[5][9]=0.1;
472     rdcutsvalmine[6][9]=0.1;
473     rdcutsvalmine[7][9]=0.000002;
474     rdcutsvalmine[8][9]=0.8;
475     rdcutsvalmine[9][9]=0.3;
476     rdcutsvalmine[10][9]=0.1;
477     rdcutsvalmine[11][9]=0.05;
478     rdcutsvalmine[12][9]=100.;
479     rdcutsvalmine[13][9]=0.5;
480     rdcutsvalmine[14][9]=-1.;
481     rdcutsvalmine[15][9]=0.;
482     //16-20
483     rdcutsvalmine[0][10]=0.7;
484     rdcutsvalmine[1][10]=0.03;
485     rdcutsvalmine[2][10]=0.7;
486     rdcutsvalmine[3][10]=1.0;
487     rdcutsvalmine[4][10]=1.0;
488     rdcutsvalmine[5][10]=0.1;
489     rdcutsvalmine[6][10]=0.1;
490     rdcutsvalmine[7][10]=0.000002;
491     rdcutsvalmine[8][10]=0.8;
492     rdcutsvalmine[9][10]=0.3;
493     rdcutsvalmine[10][10]=0.1;
494     rdcutsvalmine[11][10]=0.05;
495     rdcutsvalmine[12][10]=100.;
496     rdcutsvalmine[13][10]=0.5;
497     rdcutsvalmine[14][10]=-1.;
498     rdcutsvalmine[15][10]=0.;
499     //20-24
500     rdcutsvalmine[0][11]=0.7;
501     rdcutsvalmine[1][11]=0.03;
502     rdcutsvalmine[2][11]=0.7;
503     rdcutsvalmine[3][11]=1.0;
504     rdcutsvalmine[4][11]=1.0;
505     rdcutsvalmine[5][11]=0.1;
506     rdcutsvalmine[6][11]=0.1;
507     rdcutsvalmine[7][11]=0.000002;
508     rdcutsvalmine[8][11]=0.8;
509     rdcutsvalmine[9][11]=0.3;
510     rdcutsvalmine[10][11]=0.1;
511     rdcutsvalmine[11][11]=0.05;
512     rdcutsvalmine[12][11]=100.;
513     rdcutsvalmine[13][11]=0.5;
514     rdcutsvalmine[14][11]=-1.;
515     rdcutsvalmine[15][11]=0.;
516     //>24
517     rdcutsvalmine[0][12]=0.7;
518     rdcutsvalmine[1][12]=0.03;
519     rdcutsvalmine[2][12]=0.7;
520     rdcutsvalmine[3][12]=1.0;
521     rdcutsvalmine[4][12]=1.0;
522     rdcutsvalmine[5][12]=0.1;
523     rdcutsvalmine[6][12]=0.1;
524     rdcutsvalmine[7][12]=0.000002;
525     rdcutsvalmine[8][12]=0.8;
526     rdcutsvalmine[9][12]=0.3;
527     rdcutsvalmine[10][12]=0.1;
528     rdcutsvalmine[11][12]=0.05;
529     rdcutsvalmine[12][12]=100.;
530     rdcutsvalmine[13][12]=0.5;
531     rdcutsvalmine[14][12]=-1.;
532     rdcutsvalmine[15][12]=0.;
533   }
534
535   RDHFDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
536
537   Bool_t pidflag=kFALSE;
538   RDHFDStartoKpipi->SetUsePID(pidflag);
539   if(pidflag) cout<<"PID is used"<<endl;
540   else cout<<"PID is not used"<<endl;
541
542   // PID SETTINGS
543   AliAODPidHF* pidObj=new AliAODPidHF();
544   // pidObj->SetName("pid4DSatr");
545   Int_t mode=1;
546   Double_t priors[5]={0.01,0.001,0.3,0.3,0.3};
547   pidObj->SetPriors(priors);
548   pidObj->SetMatch(mode);
549   pidObj->SetSigma(0,2); // TPC
550   pidObj->SetSigma(3,3); // TOF
551   pidObj->SetTPC(kTRUE);
552   pidObj->SetTOF(kTRUE);
553   RDHFDStartoKpipi->SetPidHF(pidObj);
554
555   //activate pileup rejection
556   RDHFDStartoKpipi->SetOptPileup(AliRDHFCuts::kRejectPileupEvent);
557
558   RDHFDStartoKpipi->PrintAll();
559
560   TFile* fout=new TFile("DStartoKpipiCuts.root","recreate");   //set this!! 
561   fout->cd();
562   RDHFDStartoKpipi->Write();
563   fout->Close();
564
565 }
566
567 //macro to make a .root file (for significance maximization) which contains an AliRDHFCutsDStartoKpipi with loose set of cuts  and TParameter with the tighest value of these cuts
568 // copy form D0 ... NOT TESTED YIET ... to be tested!!
569
570 void makeInputAliAnalysisTaskSEDstarSignificanceMaximization(){
571
572   AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
573   RDHFDStartoKpipi->SetName("loosercuts");
574   RDHFDStartoKpipi->SetTitle("Cuts for significance maximization");
575
576   //Centrality selection
577   RDHFDStartoKpipi->SetUseCentrality(kFALSE);
578   RDHFDStartoKpipi->SetMinCentrality(40);
579   RDHFDStartoKpipi->SetMaxCentrality(80);
580
581   AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
582   esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
583   //default
584   esdTrackCuts->SetRequireTPCRefit(kTRUE);
585   esdTrackCuts->SetRequireITSRefit(kTRUE);
586   esdTrackCuts->SetMinNClustersITS(4);
587   
588   esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
589   esdTrackCuts->SetMinDCAToVertexXY(0.);
590   esdTrackCuts->SetEtaRange(-0.8,0.8);
591   esdTrackCuts->SetPtRange(0.1,1.e10);
592   
593  // soft pion pre-selections 
594   // 
595   AliESDtrackCuts* esdSoftPicuts=new AliESDtrackCuts();
596   esdSoftPicuts->SetRequireSigmaToVertex(kFALSE);
597   //default
598   esdSoftPicuts->SetRequireTPCRefit(kFALSE);
599   esdSoftPicuts->SetRequireITSRefit(kFALSE);
600   esdSoftPicuts->SetMinNClustersITS(4); // default is 4
601   esdSoftPicuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
602                                           AliESDtrackCuts::kAny); //test d0 asimmetry
603   esdSoftPicuts->SetPtRange(0.0,1.e10);
604
605   // set pre selections
606   RDHFDStartoKpipi->AddTrackCuts(esdTrackCuts);
607   RDHFDStartoKpipi->AddTrackCutsSoftPi(esdSoftPicuts);
608
609   const Int_t nvars=16;
610   const Int_t nptbins=13;
611   
612   Float_t* ptbins;
613   ptbins=new Float_t[nptbins+1];
614   ptbins[0]=0.;
615   ptbins[1]=0.5;
616   ptbins[2]=1.;
617   ptbins[3]=2.;
618   ptbins[4]=3.;
619   ptbins[5]=4.;
620   ptbins[6]=5.; 
621   ptbins[7]=6.;
622   ptbins[8]=7.;
623   ptbins[9]=8.;
624   ptbins[10]=12.;
625   ptbins[11]=16.;
626   ptbins[12]=24.;
627   ptbins[13]=999.;
628   RDHFDStartoKpipi->SetPtBins(nptbins+1,ptbins);
629   
630
631   Float_t** rdcutsvalmine;
632   rdcutsvalmine=new Float_t*[nvars];
633   for(Int_t iv=0;iv<nvars;iv++){
634     rdcutsvalmine[iv]=new Float_t[nptbins];
635   }
636   
637     //0-0.5
638     rdcutsvalmine[0][0]=0.7;
639     rdcutsvalmine[1][0]=0.03;
640     rdcutsvalmine[2][0]=0.8;
641     rdcutsvalmine[3][0]=0.3;
642     rdcutsvalmine[4][0]=0.3;
643     rdcutsvalmine[5][0]=0.1;
644     rdcutsvalmine[6][0]=0.1;
645     rdcutsvalmine[7][0]=0.00035;
646     rdcutsvalmine[8][0]=0.73;
647     rdcutsvalmine[9][0]=0.3;
648     rdcutsvalmine[10][0]=0.1;
649     rdcutsvalmine[11][0]=0.05;
650     rdcutsvalmine[12][0]=100.;
651     rdcutsvalmine[13][0]=0.5;
652     rdcutsvalmine[14][0]=-1.;
653     rdcutsvalmine[15][0]=0.;
654     //0.5-1
655     rdcutsvalmine[0][1]=0.7;
656     rdcutsvalmine[1][1]=0.03;
657     rdcutsvalmine[2][1]=0.8;
658     rdcutsvalmine[3][1]=0.3;
659     rdcutsvalmine[4][1]=0.3;
660     rdcutsvalmine[5][1]=0.1;
661     rdcutsvalmine[6][1]=0.1;
662     rdcutsvalmine[7][1]=-0.00020;
663     rdcutsvalmine[8][1]=0.73;
664     rdcutsvalmine[9][1]=0.3;
665     rdcutsvalmine[10][1]=0.1;
666     rdcutsvalmine[11][1]=0.05;
667     rdcutsvalmine[12][1]=100.;
668     rdcutsvalmine[13][1]=0.5;
669     rdcutsvalmine[14][1]=-1.;
670     rdcutsvalmine[15][1]=0.;
671     //1-2
672     rdcutsvalmine[0][2]=0.7;
673     rdcutsvalmine[1][2]=0.02;
674     rdcutsvalmine[2][2]=0.8;
675     rdcutsvalmine[3][2]=0.4;
676     rdcutsvalmine[4][2]=0.4;
677     rdcutsvalmine[5][2]=0.1;
678     rdcutsvalmine[6][2]=0.1;
679     rdcutsvalmine[7][2]=-0.00036;
680     rdcutsvalmine[8][2]=0.82;
681     rdcutsvalmine[9][2]=0.3;
682     rdcutsvalmine[10][2]=0.1;
683     rdcutsvalmine[11][2]=0.05;
684     rdcutsvalmine[12][2]=100.;
685     rdcutsvalmine[13][2]=0.5;
686     rdcutsvalmine[14][2]=-1.;
687     rdcutsvalmine[15][2]=0.;
688     //2-3
689     rdcutsvalmine[0][3]=0.7;
690     rdcutsvalmine[1][3]=0.02;
691     rdcutsvalmine[2][3]=0.8;
692     rdcutsvalmine[3][3]=0.7;
693     rdcutsvalmine[4][3]=0.7;
694     rdcutsvalmine[5][3]=0.08;
695     rdcutsvalmine[6][3]=0.08;
696     rdcutsvalmine[7][3]=-0.00016;
697     rdcutsvalmine[8][3]=0.90;
698     rdcutsvalmine[9][3]=0.3;
699     rdcutsvalmine[10][3]=0.1;
700     rdcutsvalmine[11][3]=0.05;
701     rdcutsvalmine[12][3]=100.;
702     rdcutsvalmine[13][3]=0.5;
703     rdcutsvalmine[14][3]=-1.;
704     rdcutsvalmine[15][3]=0.;
705     //3-4
706     rdcutsvalmine[0][4]=0.7;
707     rdcutsvalmine[1][4]=0.05;
708     rdcutsvalmine[2][4]=0.8;
709     rdcutsvalmine[3][4]=1.;
710     rdcutsvalmine[4][4]=1.;
711     rdcutsvalmine[5][4]=0.042;
712     rdcutsvalmine[6][4]=0.056;
713     rdcutsvalmine[7][4]=-0.000065;
714     rdcutsvalmine[8][4]=0.9;
715     rdcutsvalmine[9][4]=0.3;
716     rdcutsvalmine[10][4]=0.1;
717     rdcutsvalmine[11][4]=0.05;
718     rdcutsvalmine[12][4]=100.;
719     rdcutsvalmine[13][4]=0.5;
720     rdcutsvalmine[14][4]=0.;
721     rdcutsvalmine[15][4]=0.;
722     //4-5
723     rdcutsvalmine[0][5]=0.7;
724     rdcutsvalmine[1][5]=0.08;
725     rdcutsvalmine[2][5]=0.9;
726     rdcutsvalmine[3][5]=1.2;
727     rdcutsvalmine[4][5]=1.2;
728     rdcutsvalmine[5][5]=0.07;
729     rdcutsvalmine[6][5]=0.07;
730     rdcutsvalmine[7][5]=0.0001;
731     rdcutsvalmine[8][5]=0.9;
732     rdcutsvalmine[9][5]=0.3;
733     rdcutsvalmine[10][5]=0.1;
734     rdcutsvalmine[11][5]=0.05;
735     rdcutsvalmine[12][5]=100.;
736     rdcutsvalmine[13][5]=0.5;
737     rdcutsvalmine[14][5]=-1.;
738     rdcutsvalmine[15][5]=0.;
739     //5-6
740     rdcutsvalmine[0][6]=0.7;
741     rdcutsvalmine[1][6]=0.1;
742     rdcutsvalmine[2][6]=1.0;
743     rdcutsvalmine[3][6]=1.;
744     rdcutsvalmine[4][6]=1.;
745     rdcutsvalmine[5][6]=0.08;
746     rdcutsvalmine[6][6]=0.08;
747     rdcutsvalmine[7][6]=0.0005;
748     rdcutsvalmine[8][6]=0.8;
749     rdcutsvalmine[9][6]=0.3;
750     rdcutsvalmine[10][6]=0.1;
751     rdcutsvalmine[11][6]=0.05;
752     rdcutsvalmine[12][6]=100000.;
753     rdcutsvalmine[13][6]=0.5;
754     rdcutsvalmine[14][6]=-1.;
755     rdcutsvalmine[15][6]=0.;
756     //6-7
757     rdcutsvalmine[0][7]=0.7;
758     rdcutsvalmine[1][7]=0.1;
759     rdcutsvalmine[2][7]=1.0;
760     rdcutsvalmine[3][7]=1.;
761     rdcutsvalmine[4][7]=1.;
762     rdcutsvalmine[5][7]=0.1;
763     rdcutsvalmine[6][7]=0.1;
764     rdcutsvalmine[7][7]=0.001;
765     rdcutsvalmine[8][7]=0.7;
766     rdcutsvalmine[9][7]=0.3;
767     rdcutsvalmine[10][7]=0.1;
768     rdcutsvalmine[11][7]=0.05;
769     rdcutsvalmine[12][7]=100.;
770     rdcutsvalmine[13][7]=0.5;
771     rdcutsvalmine[14][7]=-1.;
772     rdcutsvalmine[15][7]=0.;
773     //7-8
774     rdcutsvalmine[0][8]=0.7;
775     rdcutsvalmine[1][8]=0.1;
776     rdcutsvalmine[2][8]=1.0;
777     rdcutsvalmine[3][8]=1.;
778     rdcutsvalmine[4][8]=1.;
779     rdcutsvalmine[5][8]=0.1;
780     rdcutsvalmine[6][8]=0.1;
781     rdcutsvalmine[7][8]=0.001;
782     rdcutsvalmine[8][8]=0.7;
783     rdcutsvalmine[9][8]=0.3;
784     rdcutsvalmine[10][8]=0.1;
785     rdcutsvalmine[11][8]=0.05;
786     rdcutsvalmine[12][8]=100.;
787     rdcutsvalmine[13][8]=0.5;
788     rdcutsvalmine[14][8]=-1.;
789     rdcutsvalmine[15][8]=0.;
790     //8-12
791     rdcutsvalmine[0][9]=0.7;
792     rdcutsvalmine[1][9]=0.1;
793     rdcutsvalmine[2][9]=1.0;
794     rdcutsvalmine[3][9]=1.;
795     rdcutsvalmine[4][9]=1.;
796     rdcutsvalmine[5][9]=0.1;
797     rdcutsvalmine[6][9]=0.1;
798     rdcutsvalmine[7][9]=0.006;
799     rdcutsvalmine[8][9]=0.7;
800     rdcutsvalmine[9][9]=0.3;
801     rdcutsvalmine[10][9]=0.1;
802     rdcutsvalmine[11][9]=0.05;
803     rdcutsvalmine[12][9]=100.;
804     rdcutsvalmine[13][9]=0.5;
805     rdcutsvalmine[14][9]=-1.;
806     rdcutsvalmine[15][9]=0.;
807     //12-16
808     rdcutsvalmine[0][10]=0.7;
809     rdcutsvalmine[1][10]=0.1;
810     rdcutsvalmine[2][10]=1.0;
811     rdcutsvalmine[3][10]=0.3;
812     rdcutsvalmine[4][10]=0.3;
813     rdcutsvalmine[5][10]=0.15;
814     rdcutsvalmine[6][10]=0.15;
815     rdcutsvalmine[7][10]=0.01;
816     rdcutsvalmine[8][10]=0.7;
817     rdcutsvalmine[9][10]=0.3;
818     rdcutsvalmine[10][10]=0.1;
819     rdcutsvalmine[11][10]=0.05;
820     rdcutsvalmine[12][10]=100.;
821     rdcutsvalmine[13][10]=0.5;
822     rdcutsvalmine[14][10]=-1.;
823     rdcutsvalmine[15][10]=0.;
824     //16-24
825     rdcutsvalmine[0][11]=0.7;
826     rdcutsvalmine[1][11]=0.2;
827     rdcutsvalmine[2][11]=1.0;
828     rdcutsvalmine[3][11]=.3;
829     rdcutsvalmine[4][11]=.3;
830     rdcutsvalmine[5][11]=0.15;
831     rdcutsvalmine[6][11]=0.15;
832     rdcutsvalmine[7][11]=0.01;
833     rdcutsvalmine[8][11]=0.7;
834     rdcutsvalmine[9][11]=0.3;
835     rdcutsvalmine[10][11]=0.1;
836     rdcutsvalmine[11][11]=0.05;
837     rdcutsvalmine[12][11]=100.;
838     rdcutsvalmine[13][11]=0.5;
839     rdcutsvalmine[14][11]=-1.;
840     rdcutsvalmine[15][11]=0.;
841     //>24
842     rdcutsvalmine[0][12]=0.7;
843     rdcutsvalmine[1][12]=0.6;
844     rdcutsvalmine[2][12]=1.0;
845     rdcutsvalmine[3][12]=.4;
846     rdcutsvalmine[4][12]=.4;
847     rdcutsvalmine[5][12]=0.5;
848     rdcutsvalmine[6][12]=0.5;
849     rdcutsvalmine[7][12]=0.1;
850     rdcutsvalmine[8][12]=0.7;
851     rdcutsvalmine[9][12]=0.3;
852     rdcutsvalmine[10][12]=0.1;
853     rdcutsvalmine[11][12]=0.05;
854     rdcutsvalmine[12][12]=100.;
855     rdcutsvalmine[13][12]=0.5;
856     rdcutsvalmine[14][12]=-1.;
857     rdcutsvalmine[15][12]=0.;
858
859   RDHFDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
860
861   Int_t nvarsforopt=RDHFDStartoKpipi->GetNVarsForOpt();
862   Int_t dim=2; //set this!!
863   Bool_t *boolforopt;
864   boolforopt=new Bool_t[nvars];
865   if(dim>nvarsforopt){
866     cout<<"Number of variables for optimization has probably changed, check and edit accordingly"<<endl;
867     return;
868   } else {
869     if(dim==nvarsforopt){
870       boolforopt=RDHFDStartoKpipi->GetVarsForOpt();
871     }else{
872       TString *names;
873       names=new TString[nvars];
874       TString answer="";
875       Int_t checktrue=0;
876       names=RDHFDStartoKpipi->GetVarNames();
877       for(Int_t i=0;i<nvars;i++){
878         cout<<names[i]<<" for opt? (y/n)"<<endl;
879         cin>>answer;
880         if(answer=="y") {
881           boolforopt[i]=kTRUE;
882           checktrue++;
883         }
884         else boolforopt[i]=kFALSE;
885       }
886       if (checktrue!=dim) {
887         cout<<"Error! You set "<<checktrue<<" kTRUE instead of "<<dim<<endl;
888         return;
889       }
890       RDHFDStartoKpipi->SetVarsForOpt(dim,boolforopt);
891     }
892   }
893
894
895   Float_t tighterval[dim][nptbins];
896   //dca
897   //costhetastar
898   //d0d0 <-this 
899   //costhetapoint <-this 
900
901   
902   //number of steps for each variable is 4 now
903   //set this!!
904   tighterval[0][0]=-0.0007;
905   tighterval[1][0]=0.99;
906
907   tighterval[0][1]=-0.0006;
908   tighterval[1][1]=0.99;
909  
910   tighterval[0][2]=-0.0004;
911   tighterval[1][2]=0.99;
912  
913   tighterval[0][3]=-0.00035;
914   tighterval[1][3]=0.98;
915
916   tighterval[0][4]=-0.0003;
917   tighterval[1][4]=0.99;
918
919
920   TString name=""; 
921   Int_t arrdim=dim*nptbins;
922   cout<<"Will save "<<arrdim<<" TParameter<float>"<<endl;
923   TClonesArray max("TParameter<float>",arrdim);
924   for(Int_t ival=0;ival<dim;ival++){
925     for(Int_t jpt=0;jpt<nptbins;jpt++){
926       name=Form("par%dptbin%d",ival,jpt);
927       cout<<"Setting "<<name.Data()<<" to "<<tighterval[ival][jpt]<<endl;
928       new(max[jpt*dim+ival])TParameter<float>(name.Data(),tighterval[ival][jpt]);
929     }
930   }
931  
932   TFile* fout=new TFile("cuts4SignifMaxim.root","recreate");   //set this!! 
933   fout->cd();
934   RDHFDStartoKpipi->Write();
935   max.Write();
936   fout->Close();
937  
938 }
939