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");
5 #include "AliRDHFCutsDStartoKpipi.h"
6 #include <TClonesArray.h>
7 #include <TParameter.h>
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
17 //Author: Alessandro Grelli, a.grelli@uu.nl
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"){
23 AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
24 RDHFDStartoKpipi->SetName("DStartoKpipiCuts");
25 RDHFDStartoKpipi->SetTitle("Cuts for D* analysis");
27 AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
28 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
30 esdTrackCuts->SetRequireTPCRefit(kTRUE);
31 esdTrackCuts->SetRequireITSRefit(kTRUE);
32 //esdTrackCuts->SetMinNClustersTPC(70);
33 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
34 AliESDtrackCuts::kAny);
35 // default is kBoth, otherwise kAny
36 esdTrackCuts->SetMinDCAToVertexXY(0.);
37 esdTrackCuts->SetPtRange(0.3,1.e10);
39 // soft pion pre-selections
40 AliESDtrackCuts* esdSoftPicuts=new AliESDtrackCuts();
41 esdSoftPicuts->SetRequireSigmaToVertex(kFALSE);
43 esdSoftPicuts->SetRequireTPCRefit(kFALSE);
44 esdSoftPicuts->SetRequireITSRefit(kFALSE);
45 esdSoftPicuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
46 AliESDtrackCuts::kAny); //test d0 asimmetry
47 esdSoftPicuts->SetPtRange(0.0,1.e10);
50 RDHFDStartoKpipi->AddTrackCuts(esdTrackCuts);
51 RDHFDStartoKpipi->AddTrackCutsSoftPi(esdSoftPicuts);
54 const Int_t nptbins=13;
57 ptbins=new Float_t[nptbins+1];
73 RDHFDStartoKpipi->SetPtBins(nptbins+1,ptbins);
75 Float_t** rdcutsvalmine;
76 rdcutsvalmine=new Float_t*[nvars];
77 for(Int_t iv=0;iv<nvars;iv++){
78 rdcutsvalmine[iv]=new Float_t[nptbins];
81 if(set_cuts=="utrecht"){
83 rdcutsvalmine[0][0]=0.7;
84 rdcutsvalmine[1][0]=0.03;
85 rdcutsvalmine[2][0]=0.8;
86 rdcutsvalmine[3][0]=0.3;
87 rdcutsvalmine[4][0]=0.3;
88 rdcutsvalmine[5][0]=0.1;
89 rdcutsvalmine[6][0]=0.1;
90 rdcutsvalmine[7][0]=0.00035;
91 rdcutsvalmine[8][0]=0.73;
92 rdcutsvalmine[9][0]=0.3;
93 rdcutsvalmine[10][0]=0.1;
94 rdcutsvalmine[11][0]=0.05;
95 rdcutsvalmine[12][0]=100.;
96 rdcutsvalmine[13][0]=0.5;
98 rdcutsvalmine[0][1]=0.7;
99 rdcutsvalmine[1][1]=0.03;
100 rdcutsvalmine[2][1]=0.8;
101 rdcutsvalmine[3][1]=0.3;
102 rdcutsvalmine[4][1]=0.3;
103 rdcutsvalmine[5][1]=0.1;
104 rdcutsvalmine[6][1]=0.1;
105 rdcutsvalmine[7][1]=-0.00020;
106 rdcutsvalmine[8][1]=0.73;
107 rdcutsvalmine[9][1]=0.3;
108 rdcutsvalmine[10][1]=0.1;
109 rdcutsvalmine[11][1]=0.05;
110 rdcutsvalmine[12][1]=100.;
111 rdcutsvalmine[13][1]=0.5;
113 rdcutsvalmine[0][2]=0.7;
114 rdcutsvalmine[1][2]=0.02;
115 rdcutsvalmine[2][2]=0.8;
116 rdcutsvalmine[3][2]=0.4;
117 rdcutsvalmine[4][2]=0.4;
118 rdcutsvalmine[5][2]=0.1;
119 rdcutsvalmine[6][2]=0.1;
120 rdcutsvalmine[7][2]=-0.00036;
121 rdcutsvalmine[8][2]=0.82;
122 rdcutsvalmine[9][2]=0.3;
123 rdcutsvalmine[10][2]=0.1;
124 rdcutsvalmine[11][2]=0.05;
125 rdcutsvalmine[12][2]=100.;
126 rdcutsvalmine[13][2]=0.5;
128 rdcutsvalmine[0][3]=0.7;
129 rdcutsvalmine[1][3]=0.02;
130 rdcutsvalmine[2][3]=0.8;
131 rdcutsvalmine[3][3]=0.7;
132 rdcutsvalmine[4][3]=0.7;
133 rdcutsvalmine[5][3]=0.08;
134 rdcutsvalmine[6][3]=0.08;
135 rdcutsvalmine[7][3]=-0.00016;
136 rdcutsvalmine[8][3]=0.90;
137 rdcutsvalmine[9][3]=0.3;
138 rdcutsvalmine[10][3]=0.1;
139 rdcutsvalmine[11][3]=0.05;
140 rdcutsvalmine[12][3]=100.;
141 rdcutsvalmine[13][3]=0.5;
143 rdcutsvalmine[0][4]=0.7;
144 rdcutsvalmine[1][4]=0.05;
145 rdcutsvalmine[2][4]=0.8;
146 rdcutsvalmine[3][4]=1.;
147 rdcutsvalmine[4][4]=1.;
148 rdcutsvalmine[5][4]=0.042;
149 rdcutsvalmine[6][4]=0.056;
150 rdcutsvalmine[7][4]=-0.000065;
151 rdcutsvalmine[8][4]=0.9;
152 rdcutsvalmine[9][4]=0.3;
153 rdcutsvalmine[10][4]=0.1;
154 rdcutsvalmine[11][4]=0.05;
155 rdcutsvalmine[12][4]=100.;
156 rdcutsvalmine[13][4]=0.5;
158 rdcutsvalmine[0][5]=0.7;
159 rdcutsvalmine[1][5]=0.08;
160 rdcutsvalmine[2][5]=0.9;
161 rdcutsvalmine[3][5]=1.2;
162 rdcutsvalmine[4][5]=1.2;
163 rdcutsvalmine[5][5]=0.07;
164 rdcutsvalmine[6][5]=0.07;
165 rdcutsvalmine[7][5]=0.0001;
166 rdcutsvalmine[8][5]=0.9;
167 rdcutsvalmine[9][5]=0.3;
168 rdcutsvalmine[10][5]=0.1;
169 rdcutsvalmine[11][5]=0.05;
170 rdcutsvalmine[12][5]=100.;
171 rdcutsvalmine[13][5]=0.5;
173 rdcutsvalmine[0][6]=0.7;
174 rdcutsvalmine[1][6]=0.1;
175 rdcutsvalmine[2][6]=1.0;
176 rdcutsvalmine[3][6]=1.;
177 rdcutsvalmine[4][6]=1.;
178 rdcutsvalmine[5][6]=0.08;
179 rdcutsvalmine[6][6]=0.08;
180 rdcutsvalmine[7][6]=0.0005;
181 rdcutsvalmine[8][6]=0.8;
182 rdcutsvalmine[9][6]=0.3;
183 rdcutsvalmine[10][6]=0.1;
184 rdcutsvalmine[11][6]=0.05;
185 rdcutsvalmine[12][6]=100000.;
186 rdcutsvalmine[13][6]=0.5;
188 rdcutsvalmine[0][7]=0.7;
189 rdcutsvalmine[1][7]=0.1;
190 rdcutsvalmine[2][7]=1.0;
191 rdcutsvalmine[3][7]=1.;
192 rdcutsvalmine[4][7]=1.;
193 rdcutsvalmine[5][7]=0.1;
194 rdcutsvalmine[6][7]=0.1;
195 rdcutsvalmine[7][7]=0.001;
196 rdcutsvalmine[8][7]=0.7;
197 rdcutsvalmine[9][7]=0.3;
198 rdcutsvalmine[10][7]=0.1;
199 rdcutsvalmine[11][7]=0.05;
200 rdcutsvalmine[12][7]=100.;
201 rdcutsvalmine[13][7]=0.5;
203 rdcutsvalmine[0][8]=0.7;
204 rdcutsvalmine[1][8]=0.1;
205 rdcutsvalmine[2][8]=1.0;
206 rdcutsvalmine[3][8]=1.;
207 rdcutsvalmine[4][8]=1.;
208 rdcutsvalmine[5][8]=0.1;
209 rdcutsvalmine[6][8]=0.1;
210 rdcutsvalmine[7][8]=0.006;
211 rdcutsvalmine[8][8]=0.7;
212 rdcutsvalmine[9][8]=0.3;
213 rdcutsvalmine[10][8]=0.1;
214 rdcutsvalmine[11][8]=0.05;
215 rdcutsvalmine[12][8]=100.;
216 rdcutsvalmine[13][8]=0.5;
218 rdcutsvalmine[0][9]=0.7;
219 rdcutsvalmine[1][9]=0.1;
220 rdcutsvalmine[2][9]=1.0;
221 rdcutsvalmine[3][9]=0.3;
222 rdcutsvalmine[4][9]=0.3;
223 rdcutsvalmine[5][9]=0.15;
224 rdcutsvalmine[6][9]=0.15;
225 rdcutsvalmine[7][9]=0.01;
226 rdcutsvalmine[8][9]=0.7;
227 rdcutsvalmine[9][9]=0.3;
228 rdcutsvalmine[10][9]=0.1;
229 rdcutsvalmine[11][9]=0.05;
230 rdcutsvalmine[12][9]=100.;
231 rdcutsvalmine[13][9]=0.5;
233 rdcutsvalmine[0][10]=0.7;
234 rdcutsvalmine[1][10]=0.2;
235 rdcutsvalmine[2][10]=1.0;
236 rdcutsvalmine[3][10]=.3;
237 rdcutsvalmine[4][10]=.3;
238 rdcutsvalmine[5][10]=0.15;
239 rdcutsvalmine[6][10]=0.15;
240 rdcutsvalmine[7][10]=0.01;
241 rdcutsvalmine[8][10]=0.7;
242 rdcutsvalmine[9][10]=0.3;
243 rdcutsvalmine[10][10]=0.1;
244 rdcutsvalmine[11][10]=0.05;
245 rdcutsvalmine[12][10]=100.;
246 rdcutsvalmine[13][10]=0.5;
248 rdcutsvalmine[0][11]=0.7;
249 rdcutsvalmine[1][11]=0.2;
250 rdcutsvalmine[2][11]=1.0;
251 rdcutsvalmine[3][11]=.3;
252 rdcutsvalmine[4][11]=.3;
253 rdcutsvalmine[5][11]=0.15;
254 rdcutsvalmine[6][11]=0.15;
255 rdcutsvalmine[7][11]=0.01;
256 rdcutsvalmine[8][11]=0.7;
257 rdcutsvalmine[9][11]=0.3;
258 rdcutsvalmine[10][11]=0.1;
259 rdcutsvalmine[11][11]=0.05;
260 rdcutsvalmine[12][11]=100.;
261 rdcutsvalmine[13][11]=0.5;
263 rdcutsvalmine[0][12]=0.7;
264 rdcutsvalmine[1][12]=0.6;
265 rdcutsvalmine[2][12]=1.0;
266 rdcutsvalmine[3][12]=.4;
267 rdcutsvalmine[4][12]=.4;
268 rdcutsvalmine[5][12]=0.5;
269 rdcutsvalmine[6][12]=0.5;
270 rdcutsvalmine[7][12]=0.1;
271 rdcutsvalmine[8][12]=0.7;
272 rdcutsvalmine[9][12]=0.3;
273 rdcutsvalmine[10][12]=0.1;
274 rdcutsvalmine[11][12]=0.05;
275 rdcutsvalmine[12][12]=100.;
276 rdcutsvalmine[13][12]=0.5;
278 if(set_cuts=="heidelberg"){
281 rdcutsvalmine[0][0]=0.7;
282 rdcutsvalmine[1][0]=0.03;
283 rdcutsvalmine[2][0]=0.7;
284 rdcutsvalmine[3][0]=0.8;
285 rdcutsvalmine[4][0]=0.8;
286 rdcutsvalmine[5][0]=0.1;
287 rdcutsvalmine[6][0]=0.1;
288 rdcutsvalmine[7][0]=-0.00002;
289 rdcutsvalmine[8][0]=0.9;
290 rdcutsvalmine[9][0]=0.3;
291 rdcutsvalmine[10][0]=0.1;
292 rdcutsvalmine[11][0]=0.05;
293 rdcutsvalmine[12][0]=100.;
294 rdcutsvalmine[13][0]=0.5;
296 rdcutsvalmine[0][1]=0.7;
297 rdcutsvalmine[1][1]=0.03;
298 rdcutsvalmine[2][1]=0.7;
299 rdcutsvalmine[3][1]=0.8;
300 rdcutsvalmine[4][1]=0.8;
301 rdcutsvalmine[5][1]=0.1;
302 rdcutsvalmine[6][1]=0.1;
303 rdcutsvalmine[7][1]=-0.00002;
304 rdcutsvalmine[8][1]=0.9;
305 rdcutsvalmine[9][1]=0.3;
306 rdcutsvalmine[10][1]=0.1;
307 rdcutsvalmine[11][1]=0.05;
308 rdcutsvalmine[12][1]=100.;
309 rdcutsvalmine[13][1]=0.5;
312 rdcutsvalmine[0][2]=0.7;
313 rdcutsvalmine[1][2]=0.03;
314 rdcutsvalmine[2][2]=0.7;
315 rdcutsvalmine[3][2]=0.8;
316 rdcutsvalmine[4][2]=0.8;
317 rdcutsvalmine[5][2]=0.1;
318 rdcutsvalmine[6][2]=0.1;
319 rdcutsvalmine[7][2]=-0.00002;
320 rdcutsvalmine[8][2]=0.9;
321 rdcutsvalmine[9][2]=0.3;
322 rdcutsvalmine[10][2]=0.1;
323 rdcutsvalmine[11][2]=0.05;
324 rdcutsvalmine[12][2]=100.;
325 rdcutsvalmine[13][2]=0.5;
327 rdcutsvalmine[0][3]=0.7;
328 rdcutsvalmine[1][3]=0.03;
329 rdcutsvalmine[2][3]=0.7;
330 rdcutsvalmine[3][3]=0.8;
331 rdcutsvalmine[4][3]=0.8;
332 rdcutsvalmine[5][3]=0.1;
333 rdcutsvalmine[6][3]=0.1;
334 rdcutsvalmine[7][3]=-0.00002;
335 rdcutsvalmine[8][3]=0.9;
336 rdcutsvalmine[9][3]=0.3;
337 rdcutsvalmine[10][3]=0.1;
338 rdcutsvalmine[11][3]=0.05;
339 rdcutsvalmine[12][3]=100.;
340 rdcutsvalmine[13][3]=0.5;
342 rdcutsvalmine[0][4]=0.7;
343 rdcutsvalmine[1][4]=0.03;
344 rdcutsvalmine[2][4]=0.7;
345 rdcutsvalmine[3][4]=0.9;
346 rdcutsvalmine[4][4]=0.9;
347 rdcutsvalmine[5][4]=0.1;
348 rdcutsvalmine[6][4]=0.1;
349 rdcutsvalmine[7][4]=0.000002;
350 rdcutsvalmine[8][4]=0.8;
351 rdcutsvalmine[9][4]=0.3;
352 rdcutsvalmine[10][4]=0.1;
353 rdcutsvalmine[11][4]=0.05;
354 rdcutsvalmine[12][4]=100.;
355 rdcutsvalmine[13][4]=0.5;
357 rdcutsvalmine[0][5]=0.7;
358 rdcutsvalmine[1][5]=0.03;
359 rdcutsvalmine[2][5]=0.7;
360 rdcutsvalmine[3][5]=0.9;
361 rdcutsvalmine[4][5]=0.9;
362 rdcutsvalmine[5][5]=0.1;
363 rdcutsvalmine[6][5]=0.1;
364 rdcutsvalmine[7][5]=0.000002;
365 rdcutsvalmine[8][5]=0.8;
366 rdcutsvalmine[9][5]=0.3;
367 rdcutsvalmine[10][5]=0.1;
368 rdcutsvalmine[11][5]=0.05;
369 rdcutsvalmine[12][5]=100.;
370 rdcutsvalmine[13][5]=0.5;
372 rdcutsvalmine[0][6]=0.7;
373 rdcutsvalmine[1][6]=0.03;
374 rdcutsvalmine[2][6]=0.7;
375 rdcutsvalmine[3][6]=1.0;
376 rdcutsvalmine[4][6]=1.0;
377 rdcutsvalmine[5][6]=0.1;
378 rdcutsvalmine[6][6]=0.1;
379 rdcutsvalmine[7][6]=0.000002;
380 rdcutsvalmine[8][6]=0.8;
381 rdcutsvalmine[9][6]=0.3;
382 rdcutsvalmine[10][6]=0.1;
383 rdcutsvalmine[11][6]=0.05;
384 rdcutsvalmine[12][6]=100.;
385 rdcutsvalmine[13][6]=0.5;
387 rdcutsvalmine[0][7]=0.7;
388 rdcutsvalmine[1][7]=0.03;
389 rdcutsvalmine[2][7]=0.7;
390 rdcutsvalmine[3][7]=1.0;
391 rdcutsvalmine[4][7]=1.0;
392 rdcutsvalmine[5][7]=0.1;
393 rdcutsvalmine[6][7]=0.1;
394 rdcutsvalmine[7][7]=0.000002;
395 rdcutsvalmine[8][7]=0.8;
396 rdcutsvalmine[9][7]=0.3;
397 rdcutsvalmine[10][7]=0.1;
398 rdcutsvalmine[11][7]=0.05;
399 rdcutsvalmine[12][7]=100.;
400 rdcutsvalmine[13][7]=0.5;
402 rdcutsvalmine[0][8]=0.7;
403 rdcutsvalmine[1][8]=0.03;
404 rdcutsvalmine[2][8]=0.7;
405 rdcutsvalmine[3][8]=1.0;
406 rdcutsvalmine[4][8]=1.0;
407 rdcutsvalmine[5][8]=0.1;
408 rdcutsvalmine[6][8]=0.1;
409 rdcutsvalmine[7][8]=0.000002;
410 rdcutsvalmine[8][8]=0.8;
411 rdcutsvalmine[9][8]=0.3;
412 rdcutsvalmine[10][8]=0.1;
413 rdcutsvalmine[11][8]=0.05;
414 rdcutsvalmine[12][8]=100.;
415 rdcutsvalmine[13][8]=0.5;
417 rdcutsvalmine[0][9]=0.7;
418 rdcutsvalmine[1][9]=0.03;
419 rdcutsvalmine[2][9]=0.7;
420 rdcutsvalmine[3][9]=1.0;
421 rdcutsvalmine[4][9]=1.0;
422 rdcutsvalmine[5][9]=0.1;
423 rdcutsvalmine[6][9]=0.1;
424 rdcutsvalmine[7][9]=0.000002;
425 rdcutsvalmine[8][9]=0.8;
426 rdcutsvalmine[9][9]=0.3;
427 rdcutsvalmine[10][9]=0.1;
428 rdcutsvalmine[11][9]=0.05;
429 rdcutsvalmine[12][9]=100.;
430 rdcutsvalmine[13][9]=0.5;
432 rdcutsvalmine[0][10]=0.7;
433 rdcutsvalmine[1][10]=0.03;
434 rdcutsvalmine[2][10]=0.7;
435 rdcutsvalmine[3][10]=1.0;
436 rdcutsvalmine[4][10]=1.0;
437 rdcutsvalmine[5][10]=0.1;
438 rdcutsvalmine[6][10]=0.1;
439 rdcutsvalmine[7][10]=0.000002;
440 rdcutsvalmine[8][10]=0.8;
441 rdcutsvalmine[9][10]=0.3;
442 rdcutsvalmine[10][10]=0.1;
443 rdcutsvalmine[11][10]=0.05;
444 rdcutsvalmine[12][10]=100.;
445 rdcutsvalmine[13][10]=0.5;
447 rdcutsvalmine[0][11]=0.7;
448 rdcutsvalmine[1][11]=0.03;
449 rdcutsvalmine[2][11]=0.7;
450 rdcutsvalmine[3][11]=1.0;
451 rdcutsvalmine[4][11]=1.0;
452 rdcutsvalmine[5][11]=0.1;
453 rdcutsvalmine[6][11]=0.1;
454 rdcutsvalmine[7][11]=0.000002;
455 rdcutsvalmine[8][11]=0.8;
456 rdcutsvalmine[9][11]=0.3;
457 rdcutsvalmine[10][11]=0.1;
458 rdcutsvalmine[11][11]=0.05;
459 rdcutsvalmine[12][11]=100.;
460 rdcutsvalmine[13][11]=0.5;
462 rdcutsvalmine[0][12]=0.7;
463 rdcutsvalmine[1][12]=0.03;
464 rdcutsvalmine[2][12]=0.7;
465 rdcutsvalmine[3][12]=1.0;
466 rdcutsvalmine[4][12]=1.0;
467 rdcutsvalmine[5][12]=0.1;
468 rdcutsvalmine[6][12]=0.1;
469 rdcutsvalmine[7][12]=0.000002;
470 rdcutsvalmine[8][12]=0.8;
471 rdcutsvalmine[9][12]=0.3;
472 rdcutsvalmine[10][12]=0.1;
473 rdcutsvalmine[11][12]=0.05;
474 rdcutsvalmine[12][12]=100.;
475 rdcutsvalmine[13][12]=0.5;
478 RDHFDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
480 Bool_t pidflag=kFALSE;
481 RDHFDStartoKpipi->SetUsePID(pidflag);
482 if(pidflag) cout<<"PID is used"<<endl;
483 else cout<<"PID is not used"<<endl;
486 AliAODPidHF* pidObj=new AliAODPidHF();
487 // pidObj->SetName("pid4DSatr");
489 Double_t priors[5]={0.01,0.001,0.3,0.3,0.3};
490 pidObj->SetPriors(priors);
491 pidObj->SetMatch(mode);
492 pidObj->SetSigma(0,2); // TPC
493 pidObj->SetSigma(3,3); // TOF
494 pidObj->SetTPC(kTRUE);
495 pidObj->SetTOF(kTRUE);
496 RDHFDStartoKpipi->SetPidHF(pidObj);
498 //activate pileup rejection
499 RDHFDStartoKpipi->SetOptPileup(AliRDHFCuts::kRejectPileupEvent);
501 RDHFDStartoKpipi->PrintAll();
503 TFile* fout=new TFile("DStartoKpipiCuts.root","recreate"); //set this!!
505 RDHFDStartoKpipi->Write();
510 //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
511 // copy form D0 ... NOT TESTED YIET ... to be tested!!
513 void makeInputAliAnalysisTaskSEDstarSignificanceMaximization(){
515 AliRDHFCutsDStartoKpipi* RDHFDStartoKpipi=new AliRDHFCutsDStartoKpipi();
516 RDHFDStartoKpipi->SetName("loosercuts");
517 RDHFDStartoKpipi->SetTitle("Cuts for significance maximization");
519 AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts();
520 esdTrackCuts->SetRequireSigmaToVertex(kFALSE);
522 esdTrackCuts->SetRequireTPCRefit(kTRUE);
523 esdTrackCuts->SetRequireITSRefit(kTRUE);
524 esdTrackCuts->SetMinNClustersITS(4);
526 esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,AliESDtrackCuts::kAny);
527 esdTrackCuts->SetMinDCAToVertexXY(0.);
528 esdTrackCuts->SetEtaRange(-0.8,0.8);
529 esdTrackCuts->SetPtRange(0.1,1.e10);
531 // soft pion pre-selections
533 AliESDtrackCuts* esdSoftPicuts=new AliESDtrackCuts();
534 esdSoftPicuts->SetRequireSigmaToVertex(kFALSE);
536 esdSoftPicuts->SetRequireTPCRefit(kFALSE);
537 esdSoftPicuts->SetRequireITSRefit(kFALSE);
538 esdSoftPicuts->SetMinNClustersITS(4); // default is 4
539 esdSoftPicuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD,
540 AliESDtrackCuts::kAny); //test d0 asimmetry
541 esdSoftPicuts->SetPtRange(0.0,1.e10);
543 // set pre selections
544 RDHFDStartoKpipi->AddTrackCuts(esdTrackCuts);
545 RDHFDStartoKpipi->AddTrackCutsSoftPi(esdSoftPicuts);
547 const Int_t nvars=14;
548 const Int_t nptbins=9;
551 ptbins=new Float_t[nptbins+1];
563 RDHFDStartoKpipi->SetPtBins(nptbins+1,ptbins);
566 Float_t** rdcutsvalmine;
567 rdcutsvalmine=new Float_t*[nvars];
568 for(Int_t iv=0;iv<nvars;iv++){
569 rdcutsvalmine[iv]=new Float_t[nptbins];
573 rdcutsvalmine[0][0]=0.7;
574 rdcutsvalmine[1][0]=0.022;
575 rdcutsvalmine[2][0]=0.7;
576 rdcutsvalmine[3][0]=0.21;
577 rdcutsvalmine[4][0]=0.21;
578 rdcutsvalmine[5][0]=0.05;
579 rdcutsvalmine[6][0]=0.05;
580 rdcutsvalmine[7][0]=-0.00002;
581 rdcutsvalmine[8][0]=0.85;
582 rdcutsvalmine[9][0]=0.3.;
583 rdcutsvalmine[10][0]=0.1;
584 rdcutsvalmine[11][0]=0.05;
585 rdcutsvalmine[12][0]=100.;
586 rdcutsvalmine[13][0]=0.5;
588 rdcutsvalmine[0][1]=0.7;
589 rdcutsvalmine[1][1]=0.04;
590 rdcutsvalmine[2][1]=0.8;
591 rdcutsvalmine[3][1]=0.3;
592 rdcutsvalmine[4][1]=0.3;
593 rdcutsvalmine[5][1]=0.08;
594 rdcutsvalmine[6][1]=0.08;
595 rdcutsvalmine[7][1]=-0.00036;
596 rdcutsvalmine[8][1]=0.82;
597 rdcutsvalmine[9][1]=0.3;
598 rdcutsvalmine[10][1]=0.1;
599 rdcutsvalmine[11][1]=0.05;
600 rdcutsvalmine[12][1]=100.;
601 rdcutsvalmine[13][1]=0.5;
603 rdcutsvalmine[0][2]=0.7;
604 rdcutsvalmine[1][2]=0.02;
605 rdcutsvalmine[2][2]=0.8;
606 rdcutsvalmine[3][2]=0.7;
607 rdcutsvalmine[4][2]=0.7;
608 rdcutsvalmine[5][2]=0.08;
609 rdcutsvalmine[6][2]=0.08;
610 rdcutsvalmine[7][2]=-0.00016;
611 rdcutsvalmine[8][2]=0.90;
612 rdcutsvalmine[9][2]=0.3;
613 rdcutsvalmine[10][2]=0.1;
614 rdcutsvalmine[11][2]=0.05;
615 rdcutsvalmine[12][2]=100.;
616 rdcutsvalmine[13][2]=0.5;
618 rdcutsvalmine[0][3]=0.7;
619 rdcutsvalmine[1][3]=0.05;
620 rdcutsvalmine[2][3]=0.8;
621 rdcutsvalmine[3][3]=1.;
622 rdcutsvalmine[4][3]=1.;
623 rdcutsvalmine[5][3]=0.042;
624 rdcutsvalmine[6][3]=0.056;
625 rdcutsvalmine[7][3]=-0.000065;
626 rdcutsvalmine[8][3]=0.9;
627 rdcutsvalmine[9][3]=0.3;
628 rdcutsvalmine[10][3]=0.1;
629 rdcutsvalmine[11][3]=0.05;
630 rdcutsvalmine[12][3]=100.;
631 rdcutsvalmine[13][3]=0.5;
633 rdcutsvalmine[0][4]=0.7;
634 rdcutsvalmine[1][4]=0.08;
635 rdcutsvalmine[2][4]=0.9;
636 rdcutsvalmine[3][4]=1.2;
637 rdcutsvalmine[4][4]=1.2;
638 rdcutsvalmine[5][4]=0.07;
639 rdcutsvalmine[6][4]=0.07;
640 rdcutsvalmine[7][4]=0.0001;
641 rdcutsvalmine[8][4]=0.9;
642 rdcutsvalmine[9][4]=0.3;
643 rdcutsvalmine[10][4]=0.1;
644 rdcutsvalmine[11][4]=0.05;
645 rdcutsvalmine[12][4]=100.;
646 rdcutsvalmine[13][4]=0.5;
648 rdcutsvalmine[0][5]=0.7;
649 rdcutsvalmine[1][5]=0.1;
650 rdcutsvalmine[2][5]=1.0;
651 rdcutsvalmine[3][5]=1.;
652 rdcutsvalmine[4][5]=1.;
653 rdcutsvalmine[5][5]=0.08;
654 rdcutsvalmine[6][5]=0.08;
655 rdcutsvalmine[7][5]=0.0004;
656 rdcutsvalmine[8][5]=0.9;
657 rdcutsvalmine[9][5]=0.3;
658 rdcutsvalmine[10][5]=0.1;
659 rdcutsvalmine[11][5]=0.05;
660 rdcutsvalmine[12][5]=100000.;
661 rdcutsvalmine[13][5]=0.5;
663 rdcutsvalmine[0][6]=0.7;
664 rdcutsvalmine[1][6]=0.1;
665 rdcutsvalmine[2][6]=1.0;
666 rdcutsvalmine[3][6]=1.;
667 rdcutsvalmine[4][6]=1.;
668 rdcutsvalmine[5][6]=0.1;
669 rdcutsvalmine[6][6]=0.1;
670 rdcutsvalmine[7][6]=0.0005;
671 rdcutsvalmine[8][6]=0.9;
672 rdcutsvalmine[9][6]=0.3;
673 rdcutsvalmine[10][6]=0.1;
674 rdcutsvalmine[11][6]=0.05;
675 rdcutsvalmine[12][6]=100.;
676 rdcutsvalmine[13][6]=0.5;
678 rdcutsvalmine[0][7]=0.7;
679 rdcutsvalmine[1][7]=0.1;
680 rdcutsvalmine[2][7]=1.0;
681 rdcutsvalmine[3][7]=1.;
682 rdcutsvalmine[4][7]=1.;
683 rdcutsvalmine[5][7]=0.1;
684 rdcutsvalmine[6][7]=0.1;
685 rdcutsvalmine[7][7]=0.001;
686 rdcutsvalmine[8][7]=0.9;
687 rdcutsvalmine[9][7]=0.3;
688 rdcutsvalmine[10][7]=0.1;
689 rdcutsvalmine[11][7]=0.05;
690 rdcutsvalmine[12][7]=100.;
691 rdcutsvalmine[13][7]=0.5;
693 rdcutsvalmine[0][8]=0.7;
694 rdcutsvalmine[1][8]=0.2;
695 rdcutsvalmine[2][8]=1.0;
696 rdcutsvalmine[3][8]=.8;
697 rdcutsvalmine[4][8]=.8;
698 rdcutsvalmine[5][8]=0.15;
699 rdcutsvalmine[6][8]=0.15;
700 rdcutsvalmine[7][8]=0.01;
701 rdcutsvalmine[8][8]=0.8;
702 rdcutsvalmine[9][8]=0.3;
703 rdcutsvalmine[10][8]=0.1;
704 rdcutsvalmine[11][8]=0.05;
705 rdcutsvalmine[12][8]=100.;
706 rdcutsvalmine[13][8]=0.5;
708 RDHFDStartoKpipi->SetCuts(nvars,nptbins,rdcutsvalmine);
710 Int_t nvarsforopt=RDHFDStartoKpipi->GetNVarsForOpt();
711 Int_t dim=2; //set this!!
713 boolforopt=new Bool_t[nvars];
715 cout<<"Number of variables for optimization has probably changed, check and edit accordingly"<<endl;
718 if(dim==nvarsforopt){
719 boolforopt=RDHFDStartoKpipi->GetVarsForOpt();
722 names=new TString[nvars];
725 names=RDHFDStartoKpipi->GetVarNames();
726 for(Int_t i=0;i<nvars;i++){
727 cout<<names[i]<<" for opt? (y/n)"<<endl;
733 else boolforopt[i]=kFALSE;
735 if (checktrue!=dim) {
736 cout<<"Error! You set "<<checktrue<<" kTRUE instead of "<<dim<<endl;
739 RDHFDStartoKpipi->SetVarsForOpt(dim,boolforopt);
744 Float_t tighterval[dim][nptbins];
748 //costhetapoint <-this
751 //number of steps for each variable is 4 now
753 tighterval[0][0]=-0.0007;
754 tighterval[1][0]=0.99;
756 tighterval[0][1]=-0.0006;
757 tighterval[1][1]=0.99;
759 tighterval[0][2]=-0.0004;
760 tighterval[1][2]=0.99;
762 tighterval[0][3]=-0.00035;
763 tighterval[1][3]=0.98;
765 tighterval[0][4]=-0.0003;
766 tighterval[1][4]=0.99;
770 Int_t arrdim=dim*nptbins;
771 cout<<"Will save "<<arrdim<<" TParameter<float>"<<endl;
772 TClonesArray max("TParameter<float>",arrdim);
773 for(Int_t ival=0;ival<dim;ival++){
774 for(Int_t jpt=0;jpt<nptbins;jpt++){
775 name=Form("par%dptbin%d",ival,jpt);
776 cout<<"Setting "<<name.Data()<<" to "<<tighterval[ival][jpt]<<endl;
777 new(max[jpt*dim+ival])TParameter<float>(name.Data(),tighterval[ival][jpt]);
781 TFile* fout=new TFile("cuts4SignifMaxim.root","recreate"); //set this!!
783 RDHFDStartoKpipi->Write();