AliPhysics  f6e6b3f (f6e6b3f)
makeTFile4CutsDStartoKpipi.C
Go to the documentation of this file.
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>
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
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 
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 
double Double_t
Definition: External.C:58
void SetUseCentrality(Int_t flag=1)
void SetPriors(Double_t *priors, Int_t npriors)
TString * GetVarNames() const
Definition: AliRDHFCuts.h:250
void SetPidHF(AliAODPidHF *pidObj)
see enum below
Definition: AliRDHFCuts.h:215
void SetTOF(Bool_t tof)
Definition: AliAODPidHF.h:95
int Int_t
Definition: External.C:63
void SetCuts(Int_t nVars, Int_t nPtBins, Float_t **cutsRD)
void SetMinCentrality(Float_t minCentrality=0.)
Definition: AliRDHFCuts.h:51
float Float_t
Definition: External.C:68
Bool_t * GetVarsForOpt() const
Definition: AliRDHFCuts.h:251
Int_t GetNVarsForOpt() const
Definition: AliRDHFCuts.h:252
void AddTrackCutsSoftPi(const AliESDtrackCuts *cuts)
void makeInputAliAnalysisTaskSEDstarSignificanceMaximization()
Int_t mode
Definition: anaM.C:41
void SetSigma(Double_t *sigma)
Definition: AliAODPidHF.h:39
void SetMaxCentrality(Float_t maxCentrality=100.)
Definition: AliRDHFCuts.h:52
void SetVarsForOpt(Int_t nVars, Bool_t *forOpt)
void SetUsePID(Bool_t flag=kTRUE)
Definition: AliRDHFCuts.h:209
virtual void PrintAll() const
void SetPtBins(Int_t nPtBinLimits, Float_t *ptBinLimits)
void SetMatch(Int_t match)
Definition: AliAODPidHF.h:98
void AddTrackCuts(const AliESDtrackCuts *cuts)
Definition: AliRDHFCuts.h:207
void SetTPC(Bool_t tpc)
Definition: AliAODPidHF.h:94
bool Bool_t
Definition: External.C:53
TFile * fout
input train file
void makeInputAliAnalysisTaskSEDStarSpectra(const char *set_cuts="utrecht")
void SetOptPileup(Int_t opt=0)
Definition: AliRDHFCuts.h:223
Int_t nptbins