]>
Commit | Line | Data |
---|---|---|
d26e8ef3 | 1 | #include <Riostream.h> |
2 | #include <TFile.h> | |
3 | #include <AliRDHFCutsDplustoKpipi.h> | |
4 | #include <TClonesArray.h> | |
5 | #include <TParameter.h> | |
6 | ||
7 | //macro to make a .root file which contains an AliRDHFCutsDplustoKpipi with loose set of cuts (for significance maximization) and TParameter with the tighest value of these cuts | |
7a9d85af | 8 | //Needed for AliAnalysisTaskSEDplus, AliCFTaskVertexingHF3Prong, AliAnalysisTaskSESignificance |
d26e8ef3 | 9 | |
10 | //Use: | |
11 | //Set hard coded commented with //set this!! | |
7a9d85af | 12 | |
13 | //.L makeTFile4CutsDplustoKpipi.C | |
14 | // makeInputAliAnalysisTaskSEDplus() | |
15 | // makeInputAliAnalysisTaskSESignificanceMaximization() | |
d26e8ef3 | 16 | |
17 | //similar macros for the other D mesons | |
18 | ||
19 | //Author: Chiara Bianchin, cbianchi@pd.infn.it | |
20 | // Giacomo Ortona, ortona@to.infn.it | |
7a9d85af | 21 | // Renu Bala [Dplus Analysis and CF] |
22 | ||
5754362c | 23 | void makeInputAliAnalysisTaskSEDplusPP(){ |
7a9d85af | 24 | |
25 | // 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 -I$ALICE_ROOT/PWG3/vertexingH/macros -g"); | |
d26e8ef3 | 26 | |
d26e8ef3 | 27 | |
7a9d85af | 28 | AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts(); |
29 | esdTrackCuts->SetRequireSigmaToVertex(kFALSE); | |
30 | //default | |
31 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
32 | esdTrackCuts->SetRequireITSRefit(kTRUE); | |
33 | //esdTrackCuts->SetMinNClustersITS(4); // default is 5 | |
34 | esdTrackCuts->SetMinNClustersTPC(70); | |
35 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
36 | AliESDtrackCuts::kAny); | |
37 | // default is kBoth, otherwise kAny | |
38 | esdTrackCuts->SetMinDCAToVertexXY(0.); | |
39 | esdTrackCuts->SetPtRange(0.3,1.e10); | |
40 | ||
41 | ||
42 | ||
5754362c | 43 | const Int_t nptbins=14; |
7a9d85af | 44 | Float_t* ptbins; |
45 | ptbins=new Float_t[nptbins+1]; | |
46 | ptbins[0]=0.; | |
47 | ptbins[1]=1.; | |
48 | ptbins[2]=2.; | |
49 | ptbins[3]=3.; | |
50 | ptbins[4]=4.; | |
51 | ptbins[5]=5.; | |
52 | ptbins[6]=6.; | |
5754362c | 53 | ptbins[7]=7.; |
54 | ptbins[8]=8.; | |
55 | ptbins[9]=9.; | |
56 | ptbins[10]=10.; | |
57 | ptbins[11]=12.; | |
58 | ptbins[12]=14.; | |
59 | ptbins[13]=16.; | |
60 | ptbins[14]=24.; | |
61 | const Int_t nvars=14; | |
7a9d85af | 62 | |
63 | ||
1366df99 | 64 | |
7a9d85af | 65 | Float_t** anacutsval; |
66 | anacutsval=new Float_t*[nvars]; | |
67 | ||
68 | for(Int_t ic=0;ic<nvars;ic++){anacutsval[ic]=new Float_t[nptbins];} | |
69 | //Double_t cutsDplus[12]={0.2,0.4,0.4,0.,0.,0.01,0.06,0.02,0.,0.85,0.,10000000000.}; | |
70 | Int_t ic=0; | |
71 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
72 | anacutsval[ic][ipt]=0.2; | |
73 | } | |
5754362c | 74 | ic=1; |
75 | for(Int_t ipt=3;ipt<nptbins;ipt++){ | |
76 | anacutsval[ic][ipt]=0.4; | |
77 | } | |
78 | anacutsval[1][0]=0.3; | |
79 | anacutsval[1][1]=0.3; | |
80 | anacutsval[1][2]=0.4; | |
81 | ||
82 | ic=2; | |
83 | for(Int_t ipt=3;ipt<nptbins;ipt++){ | |
84 | anacutsval[ic][ipt]=0.4; | |
85 | } | |
86 | ||
87 | anacutsval[2][0]=0.3; | |
88 | anacutsval[2][1]=0.3; | |
89 | anacutsval[2][2]=0.4; | |
7a9d85af | 90 | |
1959ae1f | 91 | ic=3; |
7a9d85af | 92 | for(Int_t ipt=0;ipt<nptbins;ipt++){ |
93 | anacutsval[ic][ipt]=0.; | |
94 | } | |
5754362c | 95 | |
1959ae1f | 96 | ic=4; |
7a9d85af | 97 | for(Int_t ipt=0;ipt<nptbins;ipt++){ |
98 | anacutsval[ic][ipt]=0.; | |
99 | } | |
5754362c | 100 | |
1959ae1f | 101 | ic=5; |
7a9d85af | 102 | for(Int_t ipt=0;ipt<nptbins;ipt++){ |
103 | anacutsval[ic][ipt]=0.01; | |
104 | } | |
7a9d85af | 105 | |
106 | ||
5754362c | 107 | ic=6; |
108 | for(Int_t ipt=5;ipt<nptbins;ipt++){ | |
109 | anacutsval[ic][ipt]=0.023333; | |
7a9d85af | 110 | } |
7a9d85af | 111 | |
112 | anacutsval[6][0]=0.022100; | |
113 | anacutsval[6][1]=0.022100; | |
114 | anacutsval[6][2]=0.034; | |
115 | anacutsval[6][3]=0.020667; | |
116 | anacutsval[6][4]=0.020667; | |
5754362c | 117 | |
118 | ||
119 | ic=7; | |
120 | for(Int_t ipt=5;ipt<nptbins;ipt++){ | |
121 | anacutsval[ic][ipt]=0.115; | |
122 | } | |
123 | ||
7a9d85af | 124 | anacutsval[7][0]=0.08; |
125 | anacutsval[7][1]=0.08; | |
126 | anacutsval[7][2]=0.09; | |
127 | anacutsval[7][3]=0.095; | |
128 | anacutsval[7][4]=0.095; | |
5754362c | 129 | |
130 | ic=8; | |
131 | for(Int_t ipt=3;ipt<nptbins;ipt++){ | |
132 | anacutsval[ic][ipt]=0.5; | |
133 | } | |
1959ae1f | 134 | |
7a9d85af | 135 | anacutsval[8][0]=0.5; |
136 | anacutsval[8][1]=0.5; | |
137 | anacutsval[8][2]=1.0; | |
5754362c | 138 | |
139 | ||
140 | ic=9; | |
141 | for(Int_t ipt=9;ipt<nptbins;ipt++){ | |
142 | anacutsval[ic][ipt]=0.90; | |
143 | } | |
1959ae1f | 144 | |
7a9d85af | 145 | anacutsval[9][0]=0.95; |
146 | anacutsval[9][1]=0.95; | |
147 | anacutsval[9][2]=0.95; | |
148 | anacutsval[9][3]=0.95; | |
149 | anacutsval[9][4]= 0.95; | |
150 | anacutsval[9][5]=0.92; | |
151 | anacutsval[9][6]=0.92; | |
152 | anacutsval[9][7]=0.92; | |
153 | anacutsval[9][8]=0.92; | |
5754362c | 154 | |
155 | ||
156 | ic=10; | |
157 | for(Int_t ipt=3;ipt<nptbins;ipt++){ | |
158 | anacutsval[ic][ipt]=0.000883; | |
159 | } | |
1959ae1f | 160 | |
7a9d85af | 161 | anacutsval[10][0]=0.0055; |
162 | anacutsval[10][1]=0.0055; | |
163 | anacutsval[10][2]= 0.0028; | |
5754362c | 164 | |
165 | ||
166 | ||
167 | ||
168 | ic=11; | |
169 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
170 | anacutsval[ic][ipt]=10000000000.; | |
171 | } | |
172 | ||
173 | ic=12; | |
174 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
175 | anacutsval[ic][ipt]=0.; | |
176 | } | |
177 | ||
178 | ic=13; | |
179 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
180 | anacutsval[ic][ipt]=0.; | |
181 | } | |
7a9d85af | 182 | |
5754362c | 183 | |
7a9d85af | 184 | |
7a9d85af | 185 | |
186 | AliRDHFCutsDplustoKpipi* analysiscuts=new AliRDHFCutsDplustoKpipi(); | |
187 | analysiscuts->SetName("AnalysisCuts"); | |
188 | analysiscuts->SetTitle("Cuts for Dplus Analysis and CF"); | |
189 | analysiscuts->SetPtBins(nptbins+1,ptbins); | |
190 | analysiscuts->SetCuts(nvars,nptbins,anacutsval); | |
191 | analysiscuts->AddTrackCuts(esdTrackCuts); | |
192 | analysiscuts->SetUsePID(kTRUE); | |
5754362c | 193 | analysiscuts->SetUseImpParProdCorrCut(kFALSE); |
7a9d85af | 194 | cout<<"This is the odject I'm going to save:"<<nptbins<<endl; |
195 | ||
196 | analysiscuts->PrintAll(); | |
197 | TFile* fout=new TFile("DplustoKpipiCuts.root","recreate"); | |
198 | fout->cd(); | |
7a9d85af | 199 | analysiscuts->Write(); |
200 | fout->Close(); | |
201 | ||
202 | ||
203 | } | |
204 | ||
205 | ||
5754362c | 206 | |
207 | ||
208 | ||
209 | ||
210 | void makeInputAliAnalysisTaskSEDplusPbPb(){ | |
211 | ||
212 | // 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 -I$ALICE_ROOT/PWG3/vertexingH/macros -g"); | |
213 | ||
214 | AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts(); | |
215 | esdTrackCuts->SetRequireSigmaToVertex(kFALSE); | |
216 | //default | |
217 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
218 | esdTrackCuts->SetRequireITSRefit(kTRUE); | |
219 | //esdTrackCuts->SetMinNClustersITS(4); // default is 5 | |
220 | esdTrackCuts->SetMinNClustersTPC(70); | |
221 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, | |
222 | AliESDtrackCuts::kAny); | |
223 | // default is kBoth, otherwise kAny | |
224 | esdTrackCuts->SetMinDCAToVertexXY(0.); | |
225 | esdTrackCuts->SetPtRange(0.8,1.e10); | |
226 | ||
227 | TString cent=""; | |
228 | //centrality selection (Pb-Pb) | |
229 | Float_t minc=0.,maxc=20.; | |
230 | const Int_t nptbins=12; | |
231 | Float_t* ptbins; | |
232 | ptbins=new Float_t[nptbins+1]; | |
233 | ptbins[0]=0.; | |
234 | ptbins[1]=1.; | |
235 | ptbins[2]=2.; | |
236 | ptbins[3]=3.; | |
237 | ptbins[4]=4.; | |
238 | ptbins[5]=5.; | |
239 | ptbins[6]=6.; | |
240 | ptbins[7]=8.; | |
241 | ptbins[8]=9.; | |
242 | ptbins[9]=10.; | |
243 | ptbins[10]=12.; | |
244 | ptbins[11]=16.; | |
245 | ptbins[12]=24.; | |
246 | const Int_t nvars=14; | |
247 | ||
248 | ||
5754362c | 249 | |
250 | ||
251 | Float_t** anacutsval; | |
252 | anacutsval=new Float_t*[nvars]; | |
253 | for(Int_t ic=0;ic<nvars;ic++){anacutsval[ic]=new Float_t[nptbins];} | |
254 | ||
255 | ||
256 | Int_t ic=0; | |
257 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
258 | anacutsval[ic][ipt]=0.2; | |
259 | } | |
260 | ||
261 | ||
262 | ic=1; | |
263 | ||
264 | for(Int_t ipt=7;ipt<nptbins;ipt++){ | |
265 | anacutsval[1][ipt]=1.0; | |
266 | } | |
267 | ||
268 | anacutsval[1][0]=0.8; | |
269 | anacutsval[1][1]=0.8; | |
270 | anacutsval[1][2]=0.8; | |
271 | anacutsval[1][3]=0.8; | |
272 | anacutsval[1][4]=0.9; | |
273 | anacutsval[1][5]=0.9; | |
274 | anacutsval[1][6]=0.8; | |
275 | ||
276 | ||
277 | ||
278 | ||
279 | ic=2; | |
280 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
281 | anacutsval[ic][ipt]=0.8; | |
282 | } | |
283 | ||
284 | ||
285 | ||
286 | ||
287 | ic=3; | |
288 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
289 | anacutsval[ic][ipt]=0.; | |
290 | } | |
291 | ic=4; | |
292 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
293 | anacutsval[ic][ipt]=0.; | |
294 | } | |
295 | ic=5; | |
296 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
297 | anacutsval[ic][ipt]=0.01; | |
298 | } | |
299 | ||
300 | ||
301 | ic=6; | |
302 | for(Int_t ipt=5;ipt<nptbins;ipt++){ | |
303 | anacutsval[ic][ipt]=0.023333; | |
304 | } | |
305 | anacutsval[6][0]=0.022100; | |
306 | anacutsval[6][1]=0.022100; | |
307 | anacutsval[6][2]=0.034; | |
308 | anacutsval[6][3]=0.020667; | |
309 | anacutsval[6][4]=0.020667; | |
310 | ||
311 | ||
312 | ic=7; | |
313 | for(Int_t ipt=7;ipt<nptbins;ipt++){ | |
314 | anacutsval[ic][ipt]=0.19; | |
315 | } | |
316 | ||
317 | anacutsval[7][0]=0.08; | |
318 | anacutsval[7][1]=0.08; | |
319 | anacutsval[7][2]=0.17; | |
320 | anacutsval[7][3]=0.14; | |
321 | anacutsval[7][4]=0.14; | |
322 | anacutsval[7][5]=0.19; | |
323 | anacutsval[7][6]=0.14; | |
324 | ||
325 | ||
326 | ||
327 | ||
328 | ic=8; | |
329 | for(Int_t ipt=5;ipt<nptbins;ipt++){ | |
330 | anacutsval[ic][ipt]=2.0; | |
331 | } | |
332 | ||
333 | anacutsval[8][0]=0.8; | |
334 | anacutsval[8][1]=0.8; | |
335 | anacutsval[8][2]=1.1; | |
336 | anacutsval[8][3]=0.5; | |
337 | anacutsval[8][4]=0.5; | |
338 | ||
339 | ||
340 | ||
341 | ic=9; | |
342 | for(Int_t ipt=7;ipt<nptbins;ipt++){ | |
343 | anacutsval[ic][ipt]=0.997; | |
344 | } | |
345 | ||
346 | anacutsval[9][0]=0.995; | |
347 | anacutsval[9][1]=0.995; | |
348 | anacutsval[9][2]=0.997; | |
349 | anacutsval[9][3]=0.998; | |
350 | anacutsval[9][4]= 0.998; | |
351 | anacutsval[9][5]=0.995; | |
352 | anacutsval[9][6]=0.995; | |
353 | ||
354 | ||
355 | ||
356 | ||
357 | ||
358 | ||
359 | ic=10; | |
360 | for(Int_t ipt=3;ipt<nptbins;ipt++){ | |
361 | anacutsval[ic][ipt]=0.000883; | |
362 | } | |
363 | ||
364 | anacutsval[10][0]=0.0055; | |
365 | anacutsval[10][1]=0.0055; | |
366 | anacutsval[10][2]= 0.0028; | |
367 | ||
368 | ||
369 | ||
370 | ic=11; | |
371 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
372 | anacutsval[ic][ipt]=10000000000.; | |
373 | } | |
374 | ||
375 | ||
376 | ic=12; | |
377 | for(Int_t ipt=7;ipt<nptbins;ipt++){ | |
378 | anacutsval[ic][ipt]=0.; | |
379 | } | |
380 | ||
381 | anacutsval[12][0]=0.; | |
382 | anacutsval[12][1]=0.; | |
383 | ||
384 | anacutsval[12][2]=0.; | |
385 | anacutsval[12][3]=12.; | |
386 | anacutsval[12][4]=12.; | |
387 | anacutsval[12][5]=12.0; | |
388 | anacutsval[12][6]=10.; | |
389 | ||
390 | ||
391 | ||
392 | ic=13; | |
393 | for(Int_t ipt=7;ipt<nptbins;ipt++){ | |
394 | anacutsval[ic][ipt]=0.; | |
395 | } | |
396 | ||
397 | anacutsval[13][0]=0.; | |
398 | anacutsval[13][1]=0.; | |
399 | ||
400 | anacutsval[13][2]=0.; | |
401 | anacutsval[13][3]=0.998571; | |
402 | anacutsval[13][4]=0.998571; | |
403 | anacutsval[13][5]=0.998571; | |
404 | anacutsval[13][6]=0.997143; | |
405 | ||
406 | ||
407 | ||
5754362c | 408 | |
409 | AliRDHFCutsDplustoKpipi* analysiscuts=new AliRDHFCutsDplustoKpipi(); | |
410 | analysiscuts->SetName("AnalysisCuts"); | |
411 | analysiscuts->SetTitle("Cuts for Dplus Analysis and CF"); | |
412 | analysiscuts->SetPtBins(nptbins+1,ptbins); | |
413 | analysiscuts->SetCuts(nvars,nptbins,anacutsval); | |
414 | analysiscuts->AddTrackCuts(esdTrackCuts); | |
415 | ||
416 | analysiscuts->SetUsePID(kTRUE); | |
417 | analysiscuts->SetUseImpParProdCorrCut(kFALSE); | |
418 | analysiscuts->SetOptPileup(kFALSE); | |
419 | analysiscuts->SetUseAOD049(kTRUE); | |
420 | analysiscuts->SetMinCentrality(minc); | |
421 | analysiscuts->SetMaxCentrality(maxc); | |
422 | cent=Form("%.0f%.0f",minc,maxc); | |
423 | analysiscuts->SetUseCentrality(AliRDHFCuts::kCentV0M); //kCentOff,kCentV0M,kCentTRK,kCentTKL,kCentCL1,kCentInvalid | |
424 | analysiscuts->SetMinPtCandidate(3.); | |
425 | analysiscuts->SetMaxPtCandidate(10000.); | |
426 | cout<<"This is the odject I'm going to save:"<<nptbins<<endl; | |
427 | ||
428 | analysiscuts->PrintAll(); | |
429 | TFile* fout=new TFile("DplustoKpipiCuts.root","recreate"); | |
430 | fout->cd(); | |
5754362c | 431 | analysiscuts->Write(); |
432 | fout->Close(); | |
433 | ||
434 | } | |
435 | ||
436 | ||
437 | ||
7a9d85af | 438 | void makeInputAliAnalysisTaskSESignificanceMaximization(){ |
439 | ||
d26e8ef3 | 440 | AliRDHFCutsDplustoKpipi* RDHFDplustoKpipi=new AliRDHFCutsDplustoKpipi(); |
441 | RDHFDplustoKpipi->SetName("loosercuts"); | |
442 | RDHFDplustoKpipi->SetTitle("Cuts for significance maximization"); | |
443 | ||
0d4398a2 | 444 | AliESDtrackCuts* esdTrackCuts=new AliESDtrackCuts(); |
445 | esdTrackCuts->SetRequireSigmaToVertex(kFALSE); | |
446 | //default | |
447 | esdTrackCuts->SetRequireTPCRefit(kTRUE); | |
448 | esdTrackCuts->SetRequireITSRefit(kTRUE); | |
7a9d85af | 449 | //esdTrackCuts->SetMinNClustersITS(4); // default is 5 |
450 | esdTrackCuts->SetMinNClustersTPC(70); | |
0d4398a2 | 451 | esdTrackCuts->SetClusterRequirementITS(AliESDtrackCuts::kSPD, |
7a9d85af | 452 | AliESDtrackCuts::kAny); |
453 | // default is kBoth, otherwise kAny | |
0d4398a2 | 454 | esdTrackCuts->SetMinDCAToVertexXY(0.); |
455 | esdTrackCuts->SetPtRange(0.3,1.e10); | |
7a9d85af | 456 | |
0d4398a2 | 457 | RDHFDplustoKpipi->AddTrackCuts(esdTrackCuts); |
d26e8ef3 | 458 | |
459 | const Int_t nvars=12; | |
460 | ||
461 | const Int_t nptbins=4; | |
462 | Float_t* ptbins; | |
463 | ptbins=new Float_t[nptbins+1]; | |
464 | ptbins[0]=0.; | |
465 | ptbins[1]=2.; | |
466 | ptbins[2]=3.; | |
467 | ptbins[3]=5.; | |
468 | ptbins[4]=99999.; | |
469 | ||
470 | RDHFDplustoKpipi->SetPtBins(nptbins+1,ptbins); | |
471 | ||
472 | //setting my cut values | |
473 | ||
474 | Float_t** prodcutsval; | |
475 | prodcutsval=new Float_t*[nvars]; | |
476 | for(Int_t ic=0;ic<nvars;ic++){prodcutsval[ic]=new Float_t[nptbins];} | |
477 | for(Int_t ipt=0;ipt<nptbins;ipt++){ | |
478 | prodcutsval[0][ipt]=0.2; | |
479 | prodcutsval[1][ipt]=0.4; | |
480 | prodcutsval[2][ipt]=0.4; | |
481 | prodcutsval[3][ipt]=0.; | |
482 | prodcutsval[4][ipt]=0.; | |
483 | prodcutsval[5][ipt]=0.01; | |
484 | prodcutsval[6][ipt]=0.06; | |
485 | prodcutsval[7][ipt]=0.02; | |
486 | prodcutsval[8][ipt]=0.; | |
487 | prodcutsval[9][ipt]=0.85; | |
488 | prodcutsval[10][ipt]=0.; | |
489 | prodcutsval[11][ipt]=10000000.0; | |
490 | ||
491 | } | |
492 | ||
493 | RDHFDplustoKpipi->SetCuts(nvars,nptbins,prodcutsval); | |
494 | ||
495 | Int_t nvarsforopt=RDHFDplustoKpipi->GetNVarsForOpt(); | |
496 | const Int_t dim=5; //set this!! | |
497 | Bool_t *boolforopt; | |
498 | boolforopt=new Bool_t[nvars]; | |
499 | if(dim>nvarsforopt){ | |
500 | cout<<"Number of variables for optimization has probably changed, check and edit accordingly"<<endl; | |
501 | return; | |
502 | } else { | |
503 | if(dim==nvarsforopt){ | |
504 | boolforopt=RDHFDplustoKpipi->GetVarsForOpt(); | |
505 | }else{ | |
506 | TString *names; | |
507 | names=new TString[nvars]; | |
508 | TString answer=""; | |
509 | Int_t checktrue=0; | |
510 | names=RDHFDplustoKpipi->GetVarNames(); | |
511 | for(Int_t i=0;i<nvars;i++){ | |
512 | cout<<names[i]<<" for opt? (y/n)"<<endl; | |
513 | cin>>answer; | |
514 | if(answer=="y") { | |
515 | boolforopt[i]=kTRUE; | |
516 | checktrue++; | |
517 | } | |
518 | else boolforopt[i]=kFALSE; | |
519 | } | |
520 | if (checktrue!=dim) { | |
521 | cout<<"Error! You set "<<checktrue<<" kTRUE instead of "<<dim<<endl; | |
522 | return; | |
523 | } | |
524 | RDHFDplustoKpipi->SetVarsForOpt(dim,boolforopt); | |
525 | } | |
526 | } | |
527 | ||
528 | ||
529 | Float_t tighterval[dim][nptbins]; | |
530 | //sigmavert | |
531 | //declength | |
532 | //Pmax | |
533 | //costhetapoint | |
534 | //sumd02 | |
535 | ||
536 | //number of steps for each variable is 4 now | |
537 | //set this!! | |
538 | ||
539 | // tighterval[var][ptbin] | |
540 | tighterval[0][0]=0.022100; | |
541 | tighterval[0][1]=0.034; | |
542 | tighterval[0][2]=0.020667; | |
543 | tighterval[0][3]=0.023333; | |
544 | ||
545 | tighterval[1][0]=0.08; | |
546 | tighterval[1][1]=0.09; | |
547 | tighterval[1][2]=0.095; | |
548 | tighterval[1][3]=0.115; | |
549 | ||
550 | tighterval[2][0]=1.; | |
551 | tighterval[2][1]=1.; | |
552 | tighterval[2][2]=1.; | |
553 | tighterval[2][3]=1.; | |
554 | ||
555 | tighterval[3][0]=0.979; | |
556 | tighterval[3][1]=0.9975; | |
557 | tighterval[3][2]=0.995; | |
558 | tighterval[3][3]=0.9975; | |
559 | ||
560 | tighterval[4][0]=0.0055; | |
561 | tighterval[4][1]=0.0028; | |
562 | tighterval[4][2]=0.000883; | |
563 | tighterval[4][3]=0.000883; | |
564 | ||
565 | TString name=""; | |
566 | Int_t arrdim=dim*nptbins; | |
567 | TClonesArray max("TParameter<float>",arrdim); | |
568 | for (Int_t ipt=0;ipt<nptbins;ipt++){ | |
569 | for(Int_t ival=0;ival<dim;ival++){ | |
570 | name=Form("par%dptbin%d",ival,ipt); | |
571 | new(max[ipt*dim+ival])TParameter<float>(name.Data(),tighterval[ival][ipt]); | |
572 | } | |
573 | } | |
574 | ||
575 | TFile* fout=new TFile("cuts4SignifMaximDplus.root","recreate"); //set this!! | |
576 | fout->cd(); | |
577 | RDHFDplustoKpipi->Write(); | |
578 | max.Write(); | |
579 | fout->Close(); | |
580 | ||
581 | } |