]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/macros/showSpread.C
combined set of macros to merge the output
[u/mrichter/AliRoot.git] / PWG2 / FLOW / macros / showSpread.C
CommitLineData
e47370f7 1enum libModes {mLocal,mLocalSource};
e47370f7 2
6a6afe42 3void showSpread(TString type="", const Int_t nRuns=-1, Int_t mode=mLocal)
4{
5 // type: type of analysis can be ESD, AOD, MC, ESDMC0, ESDMC1
6 // (if type="" output files are from MC simulation (default))
7 // nRuns: specify here from how many small statistics output .root files
8 // flow estimates will be shown (if nRuns = -1 all of them will be shown)
9 // mode: if mode=mLocal analyze data on your computer using aliroot
10 // if mode=mLocalSource analyze data on your computer using root + source files
11
e47370f7 12 // load needed libraries:
b78897bc 13 LoadSpreadLibraries(mode);
e47370f7 14
6a6afe42 15 // access the path of current directory:
16 TString pwd(gSystem->pwd());
17 pwd+="/";
18
e47370f7 19 // standard magic:
20 TString execDir(gSystem->pwd());
21 TSystemDirectory* baseDir = new TSystemDirectory(".",execDir.Data());
22 TList* dirList = baseDir->GetListOfFiles();
23 Int_t nDirs = dirList->GetEntries();
24 gSystem->cd(execDir);
25
6a6afe42 26 Int_t countDirectories = 0;
27 if(dirList)
28 {
29 for(Int_t i=0;i<nDirs;i++)
30 {
31 if((dirList->At(i))->InheritsFrom("TSystemDirectory") &&
32 !(strcmp((dirList->At(i))->GetName(),".") == 0 ) &&
33 !(strcmp((dirList->At(i))->GetName(),"..") == 0 ))
34 {
35 countDirectories++;
36 }
37 }
38 }
39
40 // assigning bin numbers to methods:
41 Int_t binMCEP = 1;
42 Int_t binSP = 2;
43 Int_t binGFC2 = 3;
44 Int_t binGFC4 = 5;
45 Int_t binGFC6 = 7;
46 Int_t binGFC8 = 9;
47 Int_t binQC2 = 4;
48 Int_t binQC4 = 6;
49 Int_t binQC6 = 8;
50 Int_t binQC8 = 10;
51 Int_t binFQD = 11;
52 Int_t binLYZ1 = 12;
53 Int_t binLYZEP = 13;
54
55 // one subdirectory gives one estimate for each method:
56 const Int_t nEstimates = countDirectories;
57
58 // arrays to store estimates and errors of each method from different small statistics runs:
e47370f7 59 // MCEP:
6a6afe42 60 Double_t mcepValueNONAME[nEstimates] = {0.};
61 Double_t mcepErrorNONAME[nEstimates] = {0.};
62 Double_t mcepMaxValueNONAME = 0.; // to be improved
63 Double_t mcepMinValueNONAME = 1000.; // to be improved
e47370f7 64
65 // SP:
6a6afe42 66 Double_t spValueNONAME[nEstimates] = {0.};
67 Double_t spErrorNONAME[nEstimates] = {0.};
68 Double_t spMaxValueNONAME = 0.; // to be improved
69 Double_t spMinValueNONAME = 1000.; // to be improved
70
71 // GFC{2}:
72 Double_t gfc2ValueNONAME[nEstimates] = {0.};
73 Double_t gfc2ErrorNONAME[nEstimates] = {0.};
74 Double_t gfc2MaxValueNONAME = 0.; // to be improved
75 Double_t gfc2MinValueNONAME = 1000.; // to be improved
76
77 // GFC{4}:
78 Double_t gfc4ValueNONAME[nEstimates] = {0.};
79 Double_t gfc4ErrorNONAME[nEstimates] = {0.};
80 Double_t gfc4MaxValueNONAME = 0.; // to be improved
81 Double_t gfc4MinValueNONAME = 1000.; // to be improved
82
83 // GFC{6}:
84 Double_t gfc6ValueNONAME[nEstimates] = {0.};
85 Double_t gfc6ErrorNONAME[nEstimates] = {0.};
86 Double_t gfc6MaxValueNONAME = 0.; // to be improved
87 Double_t gfc6MinValueNONAME = 1000.; // to be improved
e47370f7 88
6a6afe42 89 // GFC{8}:
90 Double_t gfc8ValueNONAME[nEstimates] = {0.};
91 Double_t gfc8ErrorNONAME[nEstimates] = {0.};
92 Double_t gfc8MaxValueNONAME = 0.; // to be improved
93 Double_t gfc8MinValueNONAME = 1000.; // to be improved
94
95 // QC{2}:
96 Double_t qc2ValueNONAME[nEstimates] = {0.};
97 Double_t qc2ErrorNONAME[nEstimates] = {0.};
98 Double_t qc2MaxValueNONAME = 0.; // to be improved
99 Double_t qc2MinValueNONAME = 1000.; // to be improved
100
101 // QC{4}:
102 Double_t qc4ValueNONAME[nEstimates] = {0.};
103 Double_t qc4ErrorNONAME[nEstimates] = {0.};
104 Double_t qc4MaxValueNONAME = 0.; // to be improved
105 Double_t qc4MinValueNONAME = 1000.; // to be improved
106
107 // QC{6}:
108 Double_t qc6ValueNONAME[nEstimates] = {0.};
109 Double_t qc6ErrorNONAME[nEstimates] = {0.};
110 Double_t qc6MaxValueNONAME = 0.; // to be improved
111 Double_t qc6MinValueNONAME = 1000.; // to be improved
e47370f7 112
6a6afe42 113 // QC{8}:
114 Double_t qc8ValueNONAME[nEstimates] = {0.};
115 Double_t qc8ErrorNONAME[nEstimates] = {0.};
116 Double_t qc8MaxValueNONAME = 0.; // to be improved
117 Double_t qc8MinValueNONAME = 1000.; // to be improved
e47370f7 118
119 // FQD:
6a6afe42 120 Double_t fqdValueNONAME[nEstimates] = {0.};
121 Double_t fqdErrorNONAME[nEstimates] = {0.};
122 Double_t fqdMaxValueNONAME = 0.; // to be improved
123 Double_t fqdMinValueNONAME = 1000.; // to be improved
124
e47370f7 125 // LYZ1:
6a6afe42 126 Double_t lyz1ValueNONAME[nEstimates] = {0.};
127 Double_t lyz1ErrorNONAME[nEstimates] = {0.};
128 Double_t lyz1MaxValueNONAME = 0.; // to be improved
129 Double_t lyz1MinValueNONAME = 1000.; // to be improved
130
e47370f7 131 // LYZEP:
6a6afe42 132 Double_t lyzepValueNONAME[nEstimates] = {0.};
133 Double_t lyzepErrorNONAME[nEstimates] = {0.};
134 Double_t lyzepMaxValueNONAME = 0.; // to be improved
135 Double_t lyzepMinValueNONAME = 1000.; // to be improved
e47370f7 136
137 Int_t counter = 0;
138
139 for(Int_t iDir=0;iDir<nDirs;++iDir)
140 {
141 TSystemFile* presentDir = (TSystemFile*)dirList->At(iDir);
142 if(!presentDir || !presentDir->IsDirectory() || strcmp(presentDir->GetName(), ".") == 0 ||
143 strcmp(presentDir->GetName(), "..") == 0) continue;
6a6afe42 144
145 if(!(nRuns == -1))
146 {
147 if (counter >= nRuns) break;
148 }
149
e47370f7 150 TString presentDirName(gSystem->pwd());
151 presentDirName += "/";
152 presentDirName += presentDir->GetName();
153 presentDirName += "/";
154
6a6afe42 155 // accessing the small statistics output .root files for each method:
e47370f7 156 // MCEP:
157 TString fileNameMCEP = presentDirName;
6a6afe42 158 fileNameMCEP+="outputMCEPanalysis";
159 (fileNameMCEP+=type.Data())+=".root";
e47370f7 160 TFile *fileMCEP = TFile::Open(fileNameMCEP.Data(), "READ");
e47370f7 161 if(fileMCEP)
162 {
6a6afe42 163 TList *listMCEP = NULL;
164 AliFlowCommonHistResults *mcepCommonHistRes = NULL;
e47370f7 165 fileMCEP->GetObject("cobjMCEP",listMCEP);
6a6afe42 166 fileMCEP->Close();
e47370f7 167 if(listMCEP)
168 {
169 mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
6a6afe42 170 if(mcepCommonHistRes && mcepCommonHistRes->GetHistIntFlow())
171 {
172 mcepValueNONAME[counter] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
173 mcepErrorNONAME[counter] = (mcepCommonHistRes->GetHistIntFlow())->GetBinError(1);
174 if(mcepValueNONAME[counter]>0.) // to be improved
175 {
176 if(mcepMaxValueNONAME < mcepValueNONAME[counter]) mcepMaxValueNONAME = mcepValueNONAME[counter];
177 if(mcepMinValueNONAME > mcepValueNONAME[counter]) mcepMinValueNONAME = mcepValueNONAME[counter];
178 }
179 }
180 } // end of if(listMCEP)
181 } // end of if(fileMCEP)
e47370f7 182
183 // SP:
184 TString fileNameSP = presentDirName;
6a6afe42 185 fileNameSP+="outputSPanalysis";
186 (fileNameSP+=type.Data())+=".root";
e47370f7 187 TFile *fileSP = TFile::Open(fileNameSP.Data(), "READ");
e47370f7 188 if(fileSP)
189 {
6a6afe42 190 TList *listSP = NULL;
191 AliFlowCommonHistResults *spCommonHistRes = NULL;
e47370f7 192 fileSP->GetObject("cobjSP",listSP);
6a6afe42 193 fileSP->Close();
e47370f7 194 if(listSP)
195 {
196 spCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listSP->FindObject("AliFlowCommonHistResultsSP"));
6a6afe42 197 if(spCommonHistRes && spCommonHistRes->GetHistIntFlow())
198 {
199 spValueNONAME[counter] = (spCommonHistRes->GetHistIntFlow())->GetBinContent(1);
200 spErrorNONAME[counter] = (spCommonHistRes->GetHistIntFlow())->GetBinError(1);
201 if(spValueNONAME[counter]>0.) // to be improved
202 {
203 if(spMaxValueNONAME < spValueNONAME[counter]) spMaxValueNONAME = spValueNONAME[counter];
204 if(spMinValueNONAME > spValueNONAME[counter]) spMinValueNONAME = spValueNONAME[counter];
205 }
206 }
207 } // end of if(listSP)
208 } // end of if(fileSP)
e47370f7 209
210 // GFC:
211 TString fileNameGFC = presentDirName;
6a6afe42 212 fileNameGFC+="outputGFCanalysis";
213 (fileNameGFC+=type.Data())+=".root";
e47370f7 214 TFile *fileGFC = TFile::Open(fileNameGFC.Data(), "READ");
e47370f7 215 if(fileGFC)
216 {
6a6afe42 217 TList *listGFC = NULL;
218 AliFlowCommonHistResults *gfc2CommonHistRes = NULL;
219 AliFlowCommonHistResults *gfc4CommonHistRes = NULL;
220 AliFlowCommonHistResults *gfc6CommonHistRes = NULL;
221 AliFlowCommonHistResults *gfc8CommonHistRes = NULL;
e47370f7 222 fileGFC->GetObject("cobjGFC",listGFC);
6a6afe42 223 fileGFC->Close();
e47370f7 224 if(listGFC)
225 {
6a6afe42 226 gfc2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
227 gfc4CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
228 gfc6CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
e47370f7 229 gfc8CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
6a6afe42 230 if(gfc2CommonHistRes && gfc2CommonHistRes->GetHistIntFlow())
231 {
232 gfc2ValueNONAME[counter] = (gfc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
233 gfc2ErrorNONAME[counter] = (gfc2CommonHistRes->GetHistIntFlow())->GetBinError(1);
234 if(gfc2ValueNONAME[counter]>0.) // to be improved
235 {
236 if(gfc2MaxValueNONAME < gfc2ValueNONAME[counter]) gfc2MaxValueNONAME = gfc2ValueNONAME[counter];
237 if(gfc2MinValueNONAME > gfc2ValueNONAME[counter]) gfc2MinValueNONAME = gfc2ValueNONAME[counter];
238 }
239 }
240 if(gfc4CommonHistRes && gfc4CommonHistRes->GetHistIntFlow())
241 {
242 gfc4ValueNONAME[counter] = (gfc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
243 gfc4ErrorNONAME[counter] = (gfc4CommonHistRes->GetHistIntFlow())->GetBinError(1);
244 if(gfc4ValueNONAME[counter]>0.) // to be improved
245 {
246 if(gfc4MaxValueNONAME < gfc4ValueNONAME[counter]) gfc4MaxValueNONAME = gfc4ValueNONAME[counter];
247 if(gfc4MinValueNONAME > gfc4ValueNONAME[counter]) gfc4MinValueNONAME = gfc4ValueNONAME[counter];
248 }
249 }
250 if(gfc6CommonHistRes && gfc6CommonHistRes->GetHistIntFlow())
251 {
252 gfc6ValueNONAME[counter] = (gfc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
253 gfc6ErrorNONAME[counter] = (gfc6CommonHistRes->GetHistIntFlow())->GetBinError(1);
254 if(gfc6ValueNONAME[counter]>0.) // to be improved
255 {
256 if(gfc6MaxValueNONAME < gfc6ValueNONAME[counter]) gfc6MaxValueNONAME = gfc6ValueNONAME[counter];
257 if(gfc6MinValueNONAME > gfc6ValueNONAME[counter]) gfc6MinValueNONAME = gfc6ValueNONAME[counter];
258 }
259 }
260 if(gfc8CommonHistRes && gfc8CommonHistRes->GetHistIntFlow())
261 {
262 gfc8ValueNONAME[counter] = (gfc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
263 gfc8ErrorNONAME[counter] = (gfc8CommonHistRes->GetHistIntFlow())->GetBinError(1);
264 if(gfc8ValueNONAME[counter]>0.) // to be improved
265 {
266 if(gfc8MaxValueNONAME < gfc8ValueNONAME[counter]) gfc8MaxValueNONAME = gfc8ValueNONAME[counter];
267 if(gfc8MinValueNONAME > gfc8ValueNONAME[counter]) gfc8MinValueNONAME = gfc8ValueNONAME[counter];
268 }
269 }
270 } // end of if(listGFC)
271 } // end of if(fileGFC)
e47370f7 272
e47370f7 273 // QC:
274 TString fileNameQC = presentDirName;
6a6afe42 275 fileNameQC+="outputQCanalysis";
276 (fileNameQC+=type.Data())+=".root";
e47370f7 277 TFile *fileQC = TFile::Open(fileNameQC.Data(), "READ");
e47370f7 278 if(fileQC)
279 {
6a6afe42 280 TList *listQC = NULL;
281 AliFlowCommonHistResults *qc2CommonHistRes = NULL;
282 AliFlowCommonHistResults *qc4CommonHistRes = NULL;
283 AliFlowCommonHistResults *qc6CommonHistRes = NULL;
284 AliFlowCommonHistResults *qc8CommonHistRes = NULL;
e47370f7 285 fileQC->GetObject("cobjQC",listQC);
6a6afe42 286 fileQC->Close();
e47370f7 287 if(listQC)
288 {
6a6afe42 289 qc2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
290 qc4CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
291 qc6CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
e47370f7 292 qc8CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
6a6afe42 293 if(qc2CommonHistRes && qc2CommonHistRes->GetHistIntFlow())
294 {
295 qc2ValueNONAME[counter] = (qc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
296 qc2ErrorNONAME[counter] = (qc2CommonHistRes->GetHistIntFlow())->GetBinError(1);
297 if(qc2ValueNONAME[counter]>0.) // to be improved
298 {
299 if(qc2MaxValueNONAME < qc2ValueNONAME[counter]) qc2MaxValueNONAME = qc2ValueNONAME[counter];
300 if(qc2MinValueNONAME > qc2ValueNONAME[counter]) qc2MinValueNONAME = qc2ValueNONAME[counter];
301 }
302 }
303 if(qc4CommonHistRes && qc4CommonHistRes->GetHistIntFlow())
304 {
305 qc4ValueNONAME[counter] = (qc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
306 qc4ErrorNONAME[counter] = (qc4CommonHistRes->GetHistIntFlow())->GetBinError(1);
307 if(qc4ValueNONAME[counter]>0.) // to be improved
308 {
309 if(qc4MaxValueNONAME < qc4ValueNONAME[counter]) qc4MaxValueNONAME = qc4ValueNONAME[counter];
310 if(qc4MinValueNONAME > qc4ValueNONAME[counter]) qc4MinValueNONAME = qc4ValueNONAME[counter];
311 }
312 }
313 if(qc6CommonHistRes && qc6CommonHistRes->GetHistIntFlow())
314 {
315 qc6ValueNONAME[counter] = (qc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
316 qc6ErrorNONAME[counter] = (qc6CommonHistRes->GetHistIntFlow())->GetBinError(1);
317 if(qc6ValueNONAME[counter]>0.) // to be improved
318 {
319 if(qc6MaxValueNONAME < qc6ValueNONAME[counter]) qc6MaxValueNONAME = qc6ValueNONAME[counter];
320 if(qc6MinValueNONAME > qc6ValueNONAME[counter]) qc6MinValueNONAME = qc6ValueNONAME[counter];
321 }
322 }
323 if(qc8CommonHistRes && qc8CommonHistRes->GetHistIntFlow())
324 {
325 qc8ValueNONAME[counter] = (qc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
326 qc8ErrorNONAME[counter] = (qc8CommonHistRes->GetHistIntFlow())->GetBinError(1);
327 if(qc8ValueNONAME[counter]>0.) // to be improved
328 {
329 if(qc8MaxValueNONAME < qc8ValueNONAME[counter]) qc8MaxValueNONAME = qc8ValueNONAME[counter];
330 if(qc8MinValueNONAME > qc8ValueNONAME[counter]) qc8MinValueNONAME = qc8ValueNONAME[counter];
331 }
332 }
333 } // end of if(listQC)
334 } // end of if(fileQC)
335
e47370f7 336 // FQD:
337 TString fileNameFQD = presentDirName;
6a6afe42 338 fileNameFQD+="outputFQDanalysis";
339 (fileNameFQD+=type.Data())+=".root";
e47370f7 340 TFile *fileFQD = TFile::Open(fileNameFQD.Data(), "READ");
e47370f7 341 if(fileFQD)
342 {
6a6afe42 343 TList *listFQD = NULL;
344 AliFlowCommonHistResults *fqdCommonHistRes = NULL;
e47370f7 345 fileFQD->GetObject("cobjFQD",listFQD);
6a6afe42 346 fileFQD->Close();
e47370f7 347 if(listFQD)
348 {
349 fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listFQD->FindObject("AliFlowCommonHistResultsFQD"));
6a6afe42 350 if(fqdCommonHistRes && fqdCommonHistRes->GetHistIntFlow())
351 {
352 fqdValueNONAME[counter] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);
353 fqdErrorNONAME[counter] = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);
354 if(fqdValueNONAME[counter]>0.) // to be improved
355 {
356 if(fqdMaxValueNONAME < fqdValueNONAME[counter]) fqdMaxValueNONAME = fqdValueNONAME[counter];
357 if(fqdMinValueNONAME > fqdValueNONAME[counter]) fqdMinValueNONAME = fqdValueNONAME[counter];
358 }
359 }
360 } // end of if(listFQD)
361 } // end of if(fileFQD)
e47370f7 362
6a6afe42 363 // ... LYZ* to be added ...
364
e47370f7 365 counter++;
366
367 } // end of for(Int_t iDir=0;iDir<nDirs;++iDir)
368
6a6afe42 369 // accessing the large statistics merged output .root files for each method:
370 // MCEP:
371 TString mergedOutputFileNameMCEP(pwd.Data());
372 ((mergedOutputFileNameMCEP+="outputMCEPanalysis")+=type.Data())+=".root";
373 TFile *mergedOutputFileMCEP = NULL;
374 TList *mergedOutputListMCEP = NULL;
375 Double_t mergedValueMCEP = 0.;
376 Double_t mergedErrorMCEP = 0.;
377 if(gSystem->AccessPathName(mergedOutputFileNameMCEP.Data(),kFileExists))
378 {
379 cout<<"WARNING: You do not have a merged output file "<<mergedOutputFileNameMCEP.Data()<<endl;
380 } else
381 {
382 mergedOutputFileMCEP = TFile::Open(mergedOutputFileNameMCEP.Data(),"READ");
383 if(mergedOutputFileMCEP)
384 {
385 mergedOutputFileMCEP->GetObject("cobjMCEP",mergedOutputListMCEP);
386 mergedOutputFileMCEP->Close();
387 if(mergedOutputListMCEP)
388 {
389 AliFlowCommonHistResults *mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
390 (mergedOutputListMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
391 if(mcepCommonHistRes && mcepCommonHistRes->GetHistIntFlow())
392 {
393 mergedValueMCEP = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
394 mergedErrorMCEP = (mcepCommonHistRes->GetHistIntFlow())->GetBinError(1);
395 }
396 }
397 } // end of if(mergedOutputFileMCEP)
398 } // end of else
399
400 // SP:
401 TString mergedOutputFileNameSP(pwd.Data());
402 ((mergedOutputFileNameSP+="outputSPanalysis")+=type.Data())+=".root";
403 TFile *mergedOutputFileSP = NULL;
404 TList *mergedOutputListSP = NULL;
405 Double_t mergedValueSP = 0.;
406 Double_t mergedErrorSP = 0.;
407 if(gSystem->AccessPathName(mergedOutputFileNameSP.Data(),kFileExists))
408 {
409 cout<<"WARNING: You do not have a merged output file "<<mergedOutputFileNameSP.Data()<<endl;
410 } else
411 {
412 mergedOutputFileSP = TFile::Open(mergedOutputFileNameSP.Data(),"READ");
413 if(mergedOutputFileSP)
414 {
415 mergedOutputFileSP->GetObject("cobjSP",mergedOutputListSP);
416 mergedOutputFileSP->Close();
417 if(mergedOutputListSP)
418 {
419 AliFlowCommonHistResults *spCommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
420 (mergedOutputListSP->FindObject("AliFlowCommonHistResultsSP"));
421 if(spCommonHistRes && spCommonHistRes->GetHistIntFlow())
422 {
423 mergedValueSP = (spCommonHistRes->GetHistIntFlow())->GetBinContent(1);
424 mergedErrorSP = (spCommonHistRes->GetHistIntFlow())->GetBinError(1);
425 }
426 }
427 } // end of if(mergedOutputFileSP)
428 } // end of else
e47370f7 429
6a6afe42 430 // GFC:
431 TString mergedOutputFileNameGFC(pwd.Data());
432 ((mergedOutputFileNameGFC+="outputGFCanalysis")+=type.Data())+=".root";
433 TFile *mergedOutputFileGFC = NULL;
434 TList *mergedOutputListGFC = NULL;
435 Double_t mergedValueGFC2 = 0.;
436 Double_t mergedErrorGFC2 = 0.;
437 Double_t mergedValueGFC4 = 0.;
438 Double_t mergedErrorGFC4 = 0.;
439 Double_t mergedValueGFC6 = 0.;
440 Double_t mergedErrorGFC6 = 0.;
441 Double_t mergedValueGFC8 = 0.;
442 Double_t mergedErrorGFC8 = 0.;
443 if(gSystem->AccessPathName(mergedOutputFileNameGFC.Data(),kFileExists))
444 {
445 cout<<"WARNING: You do not have a merged output file "<<mergedOutputFileNameGFC.Data()<<endl;
446 } else
447 {
448 mergedOutputFileGFC = TFile::Open(mergedOutputFileNameGFC.Data(),"READ");
449 if(mergedOutputFileGFC)
450 {
451 mergedOutputFileGFC->GetObject("cobjGFC",mergedOutputListGFC);
452 mergedOutputFileGFC->Close();
453 if(mergedOutputListGFC)
454 {
455 AliFlowCommonHistResults *gfc2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
456 (mergedOutputListGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
457 AliFlowCommonHistResults *gfc4CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
458 (mergedOutputListGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
459 AliFlowCommonHistResults *gfc6CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
460 (mergedOutputListGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
461 AliFlowCommonHistResults *gfc8CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
462 (mergedOutputListGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
463 if(gfc2CommonHistRes && gfc2CommonHistRes->GetHistIntFlow())
464 {
465 mergedValueGFC2 = (gfc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
466 mergedErrorGFC2 = (gfc2CommonHistRes->GetHistIntFlow())->GetBinError(1);
467 }
468 if(gfc4CommonHistRes && gfc4CommonHistRes->GetHistIntFlow())
469 {
470 mergedValueGFC4 = (gfc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
471 mergedErrorGFC4 = (gfc4CommonHistRes->GetHistIntFlow())->GetBinError(1);
472 }
473 if(gfc6CommonHistRes && gfc6CommonHistRes->GetHistIntFlow())
474 {
475 mergedValueGFC6 = (gfc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
476 mergedErrorGFC6 = (gfc6CommonHistRes->GetHistIntFlow())->GetBinError(1);
477 }
478 if(gfc8CommonHistRes && gfc8CommonHistRes->GetHistIntFlow())
479 {
480 mergedValueGFC8 = (gfc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
481 mergedErrorGFC8 = (gfc8CommonHistRes->GetHistIntFlow())->GetBinError(1);
482 }
483 }
484 } // end of if(mergedOutputFileGFC)
485 } // end of else
e47370f7 486
6a6afe42 487 // QC:
488 TString mergedOutputFileNameQC(pwd.Data());
489 ((mergedOutputFileNameQC+="outputQCanalysis")+=type.Data())+=".root";
490 TFile *mergedOutputFileQC = NULL;
491 TList *mergedOutputListQC = NULL;
492 Double_t mergedValueQC2 = 0.;
493 Double_t mergedErrorQC2 = 0.;
494 Double_t mergedValueQC4 = 0.;
495 Double_t mergedErrorQC4 = 0.;
496 Double_t mergedValueQC6 = 0.;
497 Double_t mergedErrorQC6 = 0.;
498 Double_t mergedValueQC8 = 0.;
499 Double_t mergedErrorQC8 = 0.;
500 if(gSystem->AccessPathName(mergedOutputFileNameQC.Data(),kFileExists))
501 {
502 cout<<"WARNING: You do not have a merged output file "<<mergedOutputFileNameQC.Data()<<endl;
503 } else
504 {
505 mergedOutputFileQC = TFile::Open(mergedOutputFileNameQC.Data(),"READ");
506 if(mergedOutputFileQC)
507 {
508 mergedOutputFileQC->GetObject("cobjQC",mergedOutputListQC);
509 mergedOutputFileQC->Close();
510 if(mergedOutputListQC)
511 {
512 AliFlowCommonHistResults *qc2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
513 (mergedOutputListQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
514 AliFlowCommonHistResults *qc4CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
515 (mergedOutputListQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
516 AliFlowCommonHistResults *qc6CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
517 (mergedOutputListQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
518 AliFlowCommonHistResults *qc8CommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
519 (mergedOutputListQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
520 if(qc2CommonHistRes && qc2CommonHistRes->GetHistIntFlow())
521 {
522 mergedValueQC2 = (qc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
523 mergedErrorQC2 = (qc2CommonHistRes->GetHistIntFlow())->GetBinError(1);
524 }
525 if(qc4CommonHistRes && qc4CommonHistRes->GetHistIntFlow())
526 {
527 mergedValueQC4 = (qc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
528 mergedErrorQC4 = (qc4CommonHistRes->GetHistIntFlow())->GetBinError(1);
529 }
530 if(qc6CommonHistRes && qc6CommonHistRes->GetHistIntFlow())
531 {
532 mergedValueQC6 = (qc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
533 mergedErrorQC6 = (qc6CommonHistRes->GetHistIntFlow())->GetBinError(1);
534 }
535 if(qc8CommonHistRes && qc8CommonHistRes->GetHistIntFlow())
536 {
537 mergedValueQC8 = (qc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
538 mergedErrorQC8 = (qc8CommonHistRes->GetHistIntFlow())->GetBinError(1);
539 }
540 }
541 } // end of if(mergedOutputFileGFC)
542 } // end of else
543
544 // FQD:
545 TString mergedOutputFileNameFQD(pwd.Data());
546 ((mergedOutputFileNameFQD+="outputFQDanalysis")+=type.Data())+=".root";
547 TFile *mergedOutputFileFQD = NULL;
548 TList *mergedOutputListFQD = NULL;
549 Double_t mergedValueFQD = 0.;
550 Double_t mergedErrorFQD = 0.;
551 if(gSystem->AccessPathName(mergedOutputFileNameFQD.Data(),kFileExists))
552 {
553 cout<<"WARNING: You do not have a merged output file "<<mergedOutputFileNameFQD.Data()<<endl;
554 } else
555 {
556 mergedOutputFileFQD = TFile::Open(mergedOutputFileNameFQD.Data(),"READ");
557 if(mergedOutputFileFQD)
558 {
559 mergedOutputFileFQD->GetObject("cobjFQD",mergedOutputListFQD);
560 mergedOutputFileFQD->Close();
561 if(mergedOutputListFQD)
562 {
563 AliFlowCommonHistResults *fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*>
564 (mergedOutputListFQD->FindObject("AliFlowCommonHistResultsFQD"));
565 if(fqdCommonHistRes && fqdCommonHistRes->GetHistIntFlow())
566 {
567 mergedValueFQD = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);
568 mergedErrorFQD = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);
569 }
570 }
571 } // end of if(mergedOutputFileFQD)
572 } // end of else
573
574 // ... LYZ* to be added ...
575
b78897bc 576 // removing the title and stat. box from all histograms:
577 // gStyle->SetOptTitle(0);
e47370f7 578 gStyle->SetOptStat(0);
579
580 // box width:
581 const Double_t boxWidth = 0.25;
582
583 // the number of different methods:
584 const Int_t nMethods = 13;
585
6a6afe42 586 // the number of small statistics runs:
e47370f7 587 const Int_t nPoints = counter;
588
589 // booking the style histogram for the integrated flow results from all methods for NONAME, RPs and POIs:
e47370f7 590 TH1D* intFlowAll = new TH1D("intFlowAll","Integrated Flow",nMethods,0,nMethods);
591 //intFlowAll->SetLabelSize(0.036,"X");
592 //intFlowAll->SetLabelSize(0.036,"Y");
593 //intFlowAll->SetMarkerStyle(markerStyle);
594 //intFlowAll->SetMarkerColor(markerColor);
b78897bc 595 (intFlowAll->GetYaxis())->SetTickLength(0.01);
e47370f7 596 (intFlowAll->GetXaxis())->SetBinLabel(binMCEP,"v_{2}{MC}");
597 (intFlowAll->GetXaxis())->SetBinLabel(binSP,"v_{2}{SP}");
598 (intFlowAll->GetXaxis())->SetBinLabel(binGFC2,"v_{2}{2,GFC}");
599 (intFlowAll->GetXaxis())->SetBinLabel(binQC2,"v_{2}{2,QC}");
600 (intFlowAll->GetXaxis())->SetBinLabel(binGFC4,"v_{2}{4,GFC}");
601 (intFlowAll->GetXaxis())->SetBinLabel(binQC4,"v_{2}{4,QC}");
602 (intFlowAll->GetXaxis())->SetBinLabel(binGFC6,"v_{2}{6,GFC}");
603 (intFlowAll->GetXaxis())->SetBinLabel(binQC6,"v_{2}{6,QC}");
604 (intFlowAll->GetXaxis())->SetBinLabel(binGFC8,"v_{2}{8,GFC}");
605 (intFlowAll->GetXaxis())->SetBinLabel(binQC8,"v_{2}{8,QC}");
606 (intFlowAll->GetXaxis())->SetBinLabel(binFQD,"v_{2}{FQD}");
607 (intFlowAll->GetXaxis())->SetBinLabel(binLYZ1,"v_{2}{LYZ}");
608 (intFlowAll->GetXaxis())->SetBinLabel(binLYZEP,"v_{2}{LYZEP}");
e47370f7 609
610 //=============================================================================
6a6afe42 611 // NONAME histogram
e47370f7 612 //=============================================================================
613
614 TH1D *intFlowNONAME = new TH1D(*intFlowAll);
615
616 Double_t mcepNONAME[nPoints] = {0.};
617 Double_t spNONAME[nPoints] = {0.};
618 Double_t gfc2NONAME[nPoints] = {0.};
619 Double_t gfc4NONAME[nPoints] = {0.};
620 Double_t gfc6NONAME[nPoints] = {0.};
621 Double_t gfc8NONAME[nPoints] = {0.};
622 Double_t qc2NONAME[nPoints] = {0.};
623 Double_t qc4NONAME[nPoints] = {0.};
624 Double_t qc6NONAME[nPoints] = {0.};
625 Double_t qc8NONAME[nPoints] = {0.};
626 Double_t fqdNONAME[nPoints] = {0.};
627 Double_t lyz1NONAME[nPoints] = {0.};
628 Double_t lyzepNONAME[nPoints] = {0.};
629
630 for(Int_t i=0;i<nPoints;i++)
631 {
632 mcepNONAME[i]=binMCEP-0.5;
633 spNONAME[i]=binSP-0.5;
634 gfc2NONAME[i]=binGFC2-0.5;
635 gfc4NONAME[i]=binGFC4-0.5;
636 gfc6NONAME[i]=binGFC6-0.5;
637 gfc8NONAME[i]=binGFC8-0.5;
638 qc2NONAME[i]=binQC2-0.5;
639 qc4NONAME[i]=binQC4-0.5;
640 qc6NONAME[i]=binQC6-0.5;
641 qc8NONAME[i]=binQC8-0.5;
642 fqdNONAME[i]=binFQD-0.5;
643 lyz1NONAME[i]=binLYZ1-0.5;
644 lyzepNONAME[i]=binLYZEP-0.5;
645 }
646
647 // MCEP:
6a6afe42 648 TGraph *mcepMeanNONAME = new TGraph(1);
649 mcepMeanNONAME->SetPoint(0,binMCEP-0.5,mergedValueMCEP);
650 mcepMeanNONAME->SetMarkerStyle(25);
651 mcepMeanNONAME->SetMarkerColor(kBlack);
652 mcepMeanNONAME->SetMarkerSize(1.25);
653
e47370f7 654 TGraph* mcepTGraphNONAME = new TGraph(nPoints, mcepNONAME, mcepValueNONAME);
fd46c3dd 655 mcepTGraphNONAME->SetMarkerStyle(21);
e47370f7 656 mcepTGraphNONAME->SetMarkerColor(kBlack);
fd46c3dd 657 mcepTGraphNONAME->SetMarkerSize(0.75);
e47370f7 658
659 TGraph *mcepBoxNONAME = new TGraph(5);
6a6afe42 660 mcepBoxNONAME->SetPoint(0,(binMCEP-0.5)-boxWidth,mcepMinValueNONAME);
661 mcepBoxNONAME->SetPoint(1,(binMCEP-0.5)+boxWidth,mcepMinValueNONAME);
662 mcepBoxNONAME->SetPoint(2,(binMCEP-0.5)+boxWidth,mcepMaxValueNONAME);
663 mcepBoxNONAME->SetPoint(3,(binMCEP-0.5)-boxWidth,mcepMaxValueNONAME);
664 mcepBoxNONAME->SetPoint(4,(binMCEP-0.5)-boxWidth,mcepMinValueNONAME);
e47370f7 665 mcepBoxNONAME->SetFillStyle(1001);
666 mcepBoxNONAME->SetFillColor(kGray);
6a6afe42 667
e47370f7 668 // SP:
6a6afe42 669 TGraph *spMeanNONAME = new TGraph(1);
670 spMeanNONAME->SetPoint(0,binSP-0.5,mergedValueSP);
671 spMeanNONAME->SetMarkerStyle(25);
672 spMeanNONAME->SetMarkerColor(kViolet+3);
673 spMeanNONAME->SetMarkerSize(1.25);
674
e47370f7 675 TGraph* spTGraphNONAME = new TGraph(nPoints, spNONAME, spValueNONAME);
fd46c3dd 676 spTGraphNONAME->SetMarkerStyle(21);
e47370f7 677 spTGraphNONAME->SetMarkerColor(kViolet+3);
fd46c3dd 678 spTGraphNONAME->SetMarkerSize(0.75);
e47370f7 679
680 TGraph *spBoxNONAME = new TGraph(5);
6a6afe42 681 spBoxNONAME->SetPoint(0,(binSP-0.5)-boxWidth,spMinValueNONAME);
682 spBoxNONAME->SetPoint(1,(binSP-0.5)+boxWidth,spMinValueNONAME);
683 spBoxNONAME->SetPoint(2,(binSP-0.5)+boxWidth,spMaxValueNONAME);
684 spBoxNONAME->SetPoint(3,(binSP-0.5)-boxWidth,spMaxValueNONAME);
685 spBoxNONAME->SetPoint(4,(binSP-0.5)-boxWidth,spMinValueNONAME);
e47370f7 686 spBoxNONAME->SetFillStyle(1001);
687 spBoxNONAME->SetFillColor(kViolet-9);
688
689 // GFC{2}:
6a6afe42 690 TGraph *gfc2MeanNONAME = new TGraph(1);
691 gfc2MeanNONAME->SetPoint(0,binGFC2-0.5,mergedValueGFC2);
692 gfc2MeanNONAME->SetMarkerStyle(25);
693 gfc2MeanNONAME->SetMarkerColor(kBlue);
694 gfc2MeanNONAME->SetMarkerSize(1.25);
695
e47370f7 696 TGraph* gfc2TGraphNONAME = new TGraph(nPoints, gfc2NONAME, gfc2ValueNONAME);
fd46c3dd 697 gfc2TGraphNONAME->SetMarkerStyle(21);
6a6afe42 698 gfc2TGraphNONAME->SetMarkerColor(kBlue);
fd46c3dd 699 gfc2TGraphNONAME->SetMarkerSize(0.75);
e47370f7 700
701 TGraph *gfc2BoxNONAME = new TGraph(5);
6a6afe42 702 gfc2BoxNONAME->SetPoint(0,(binGFC2-0.5)-boxWidth,gfc2MinValueNONAME);
703 gfc2BoxNONAME->SetPoint(1,(binGFC2-0.5)+boxWidth,gfc2MinValueNONAME);
704 gfc2BoxNONAME->SetPoint(2,(binGFC2-0.5)+boxWidth,gfc2MaxValueNONAME);
705 gfc2BoxNONAME->SetPoint(3,(binGFC2-0.5)-boxWidth,gfc2MaxValueNONAME);
706 gfc2BoxNONAME->SetPoint(4,(binGFC2-0.5)-boxWidth,gfc2MinValueNONAME);
e47370f7 707 gfc2BoxNONAME->SetFillStyle(1001);
708 gfc2BoxNONAME->SetFillColor(kBlue-10);
709
710 // GFC{4}:
6a6afe42 711 TGraph *gfc4MeanNONAME = new TGraph(1);
712 gfc4MeanNONAME->SetPoint(0,binGFC4-0.5,mergedValueGFC4);
713 gfc4MeanNONAME->SetMarkerStyle(25);
714 gfc4MeanNONAME->SetMarkerColor(kBlue);
715 gfc4MeanNONAME->SetMarkerSize(1.25);
716
e47370f7 717 TGraph* gfc4TGraphNONAME = new TGraph(nPoints, gfc4NONAME, gfc4ValueNONAME);
fd46c3dd 718 gfc4TGraphNONAME->SetMarkerStyle(21);
e47370f7 719 gfc4TGraphNONAME->SetMarkerColor(kBlue);
fd46c3dd 720 gfc4TGraphNONAME->SetMarkerSize(0.75);
e47370f7 721
722 TGraph *gfc4BoxNONAME = new TGraph(5);
6a6afe42 723 gfc4BoxNONAME->SetPoint(0,(binGFC4-0.5)-boxWidth,gfc4MinValueNONAME);
724 gfc4BoxNONAME->SetPoint(1,(binGFC4-0.5)+boxWidth,gfc4MinValueNONAME);
725 gfc4BoxNONAME->SetPoint(2,(binGFC4-0.5)+boxWidth,gfc4MaxValueNONAME);
726 gfc4BoxNONAME->SetPoint(3,(binGFC4-0.5)-boxWidth,gfc4MaxValueNONAME);
727 gfc4BoxNONAME->SetPoint(4,(binGFC4-0.5)-boxWidth,gfc4MinValueNONAME);
e47370f7 728 gfc4BoxNONAME->SetFillStyle(1001);
729 gfc4BoxNONAME->SetFillColor(kBlue-10);
6a6afe42 730
e47370f7 731 // GFC{6}:
6a6afe42 732 TGraph *gfc6MeanNONAME = new TGraph(1);
733 gfc6MeanNONAME->SetPoint(0,binGFC6-0.5,mergedValueGFC6);
734 gfc6MeanNONAME->SetMarkerStyle(25);
735 gfc6MeanNONAME->SetMarkerColor(kBlue);
736 gfc6MeanNONAME->SetMarkerSize(1.25);
737
e47370f7 738 TGraph* gfc6TGraphNONAME = new TGraph(nPoints, gfc6NONAME, gfc6ValueNONAME);
fd46c3dd 739 gfc6TGraphNONAME->SetMarkerStyle(21);
e47370f7 740 gfc6TGraphNONAME->SetMarkerColor(kBlue);
fd46c3dd 741 gfc6TGraphNONAME->SetMarkerSize(0.75);
e47370f7 742
743 TGraph *gfc6BoxNONAME = new TGraph(5);
6a6afe42 744 gfc6BoxNONAME->SetPoint(0,(binGFC6-0.5)-boxWidth,gfc6MinValueNONAME);
745 gfc6BoxNONAME->SetPoint(1,(binGFC6-0.5)+boxWidth,gfc6MinValueNONAME);
746 gfc6BoxNONAME->SetPoint(2,(binGFC6-0.5)+boxWidth,gfc6MaxValueNONAME);
747 gfc6BoxNONAME->SetPoint(3,(binGFC6-0.5)-boxWidth,gfc6MaxValueNONAME);
748 gfc6BoxNONAME->SetPoint(4,(binGFC6-0.5)-boxWidth,gfc6MinValueNONAME);
e47370f7 749 gfc6BoxNONAME->SetFillStyle(1001);
750 gfc6BoxNONAME->SetFillColor(kBlue-10);
6a6afe42 751
e47370f7 752 // GFC{8}:
6a6afe42 753 TGraph *gfc8MeanNONAME = new TGraph(1);
754 gfc8MeanNONAME->SetPoint(0,binGFC8-0.5,mergedValueGFC8);
755 gfc8MeanNONAME->SetMarkerStyle(25);
756 gfc8MeanNONAME->SetMarkerColor(kBlue);
757 gfc8MeanNONAME->SetMarkerSize(1.25);
758
e47370f7 759 TGraph* gfc8TGraphNONAME = new TGraph(nPoints, gfc8NONAME, gfc8ValueNONAME);
fd46c3dd 760 gfc8TGraphNONAME->SetMarkerStyle(21);
e47370f7 761 gfc8TGraphNONAME->SetMarkerColor(kBlue);
fd46c3dd 762 gfc8TGraphNONAME->SetMarkerSize(0.75);
e47370f7 763
764 TGraph *gfc8BoxNONAME = new TGraph(5);
6a6afe42 765 gfc8BoxNONAME->SetPoint(0,(binGFC8-0.5)-boxWidth,gfc8MinValueNONAME);
766 gfc8BoxNONAME->SetPoint(1,(binGFC8-0.5)+boxWidth,gfc8MinValueNONAME);
767 gfc8BoxNONAME->SetPoint(2,(binGFC8-0.5)+boxWidth,gfc8MaxValueNONAME);
768 gfc8BoxNONAME->SetPoint(3,(binGFC8-0.5)-boxWidth,gfc8MaxValueNONAME);
769 gfc8BoxNONAME->SetPoint(4,(binGFC8-0.5)-boxWidth,gfc8MinValueNONAME);
e47370f7 770 gfc8BoxNONAME->SetFillStyle(1001);
771 gfc8BoxNONAME->SetFillColor(kBlue-10);
772
773 // QC{2}:
6a6afe42 774 TGraph *qc2MeanNONAME = new TGraph(1);
775 qc2MeanNONAME->SetPoint(0,binQC2-0.5,mergedValueQC2);
776 qc2MeanNONAME->SetMarkerStyle(25);
777 qc2MeanNONAME->SetMarkerColor(kRed);
778 qc2MeanNONAME->SetMarkerSize(1.25);
779
e47370f7 780 TGraph* qc2TGraphNONAME = new TGraph(nPoints, qc2NONAME, qc2ValueNONAME);
fd46c3dd 781 qc2TGraphNONAME->SetMarkerStyle(21);
e47370f7 782 qc2TGraphNONAME->SetMarkerColor(kRed);
fd46c3dd 783 qc2TGraphNONAME->SetMarkerSize(0.75);
e47370f7 784
785 TGraph *qc2BoxNONAME = new TGraph(5);
6a6afe42 786 qc2BoxNONAME->SetPoint(0,(binQC2-0.5)-boxWidth,qc2MinValueNONAME);
787 qc2BoxNONAME->SetPoint(1,(binQC2-0.5)+boxWidth,qc2MinValueNONAME);
788 qc2BoxNONAME->SetPoint(2,(binQC2-0.5)+boxWidth,qc2MaxValueNONAME);
789 qc2BoxNONAME->SetPoint(3,(binQC2-0.5)-boxWidth,qc2MaxValueNONAME);
790 qc2BoxNONAME->SetPoint(4,(binQC2-0.5)-boxWidth,qc2MinValueNONAME);
e47370f7 791 qc2BoxNONAME->SetFillStyle(1001);
792 qc2BoxNONAME->SetFillColor(kRed-10);
793
794 // QC{4}:
6a6afe42 795 TGraph *qc4MeanNONAME = new TGraph(1);
796 qc4MeanNONAME->SetPoint(0,binQC4-0.5,mergedValueQC4);
797 qc4MeanNONAME->SetMarkerStyle(25);
798 qc4MeanNONAME->SetMarkerColor(kRed);
799 qc4MeanNONAME->SetMarkerSize(1.25);
800
e47370f7 801 TGraph* qc4TGraphNONAME = new TGraph(nPoints, qc4NONAME, qc4ValueNONAME);
fd46c3dd 802 qc4TGraphNONAME->SetMarkerStyle(21);
e47370f7 803 qc4TGraphNONAME->SetMarkerColor(kRed);
fd46c3dd 804 qc4TGraphNONAME->SetMarkerSize(0.75);
e47370f7 805
806 TGraph *qc4BoxNONAME = new TGraph(5);
6a6afe42 807 qc4BoxNONAME->SetPoint(0,(binQC4-0.5)-boxWidth,qc4MinValueNONAME);
808 qc4BoxNONAME->SetPoint(1,(binQC4-0.5)+boxWidth,qc4MinValueNONAME);
809 qc4BoxNONAME->SetPoint(2,(binQC4-0.5)+boxWidth,qc4MaxValueNONAME);
810 qc4BoxNONAME->SetPoint(3,(binQC4-0.5)-boxWidth,qc4MaxValueNONAME);
811 qc4BoxNONAME->SetPoint(4,(binQC4-0.5)-boxWidth,qc4MinValueNONAME);
e47370f7 812 qc4BoxNONAME->SetFillStyle(1001);
813 qc4BoxNONAME->SetFillColor(kRed-10);
6a6afe42 814
e47370f7 815 // QC{6}:
6a6afe42 816 TGraph *qc6MeanNONAME = new TGraph(1);
817 qc6MeanNONAME->SetPoint(0,binQC6-0.5,mergedValueQC6);
818 qc6MeanNONAME->SetMarkerStyle(25);
819 qc6MeanNONAME->SetMarkerColor(kRed);
820 qc6MeanNONAME->SetMarkerSize(1.25);
821
e47370f7 822 TGraph* qc6TGraphNONAME = new TGraph(nPoints, qc6NONAME, qc6ValueNONAME);
fd46c3dd 823 qc6TGraphNONAME->SetMarkerStyle(21);
e47370f7 824 qc6TGraphNONAME->SetMarkerColor(kRed);
fd46c3dd 825 qc6TGraphNONAME->SetMarkerSize(0.75);
e47370f7 826
827 TGraph *qc6BoxNONAME = new TGraph(5);
6a6afe42 828 qc6BoxNONAME->SetPoint(0,(binQC6-0.5)-boxWidth,qc6MinValueNONAME);
829 qc6BoxNONAME->SetPoint(1,(binQC6-0.5)+boxWidth,qc6MinValueNONAME);
830 qc6BoxNONAME->SetPoint(2,(binQC6-0.5)+boxWidth,qc6MaxValueNONAME);
831 qc6BoxNONAME->SetPoint(3,(binQC6-0.5)-boxWidth,qc6MaxValueNONAME);
832 qc6BoxNONAME->SetPoint(4,(binQC6-0.5)-boxWidth,qc6MinValueNONAME);
e47370f7 833 qc6BoxNONAME->SetFillStyle(1001);
834 qc6BoxNONAME->SetFillColor(kRed-10);
6a6afe42 835
e47370f7 836 // QC{8}:
6a6afe42 837 TGraph *qc8MeanNONAME = new TGraph(1);
838 qc8MeanNONAME->SetPoint(0,binQC8-0.5,mergedValueQC8);
839 qc8MeanNONAME->SetMarkerStyle(25);
840 qc8MeanNONAME->SetMarkerColor(kRed);
841 qc8MeanNONAME->SetMarkerSize(1.25);
842
e47370f7 843 TGraph* qc8TGraphNONAME = new TGraph(nPoints, qc8NONAME, qc8ValueNONAME);
fd46c3dd 844 qc8TGraphNONAME->SetMarkerStyle(21);
e47370f7 845 qc8TGraphNONAME->SetMarkerColor(kRed);
fd46c3dd 846 qc8TGraphNONAME->SetMarkerSize(0.75);
e47370f7 847
848 TGraph *qc8BoxNONAME = new TGraph(5);
6a6afe42 849 qc8BoxNONAME->SetPoint(0,(binQC8-0.5)-boxWidth,qc8MinValueNONAME);
850 qc8BoxNONAME->SetPoint(1,(binQC8-0.5)+boxWidth,qc8MinValueNONAME);
851 qc8BoxNONAME->SetPoint(2,(binQC8-0.5)+boxWidth,qc8MaxValueNONAME);
852 qc8BoxNONAME->SetPoint(3,(binQC8-0.5)-boxWidth,qc8MaxValueNONAME);
853 qc8BoxNONAME->SetPoint(4,(binQC8-0.5)-boxWidth,qc8MinValueNONAME);
e47370f7 854 qc8BoxNONAME->SetFillStyle(1001);
855 qc8BoxNONAME->SetFillColor(kRed-10);
856
857 // FQD:
6a6afe42 858 TGraph *fqdMeanNONAME = new TGraph(1);
859 fqdMeanNONAME->SetPoint(0,binFQD-0.5,mergedValueFQD);
860 fqdMeanNONAME->SetMarkerStyle(25);
861 fqdMeanNONAME->SetMarkerColor(kViolet+3);
862 fqdMeanNONAME->SetMarkerSize(1.25);
863
e47370f7 864 TGraph* fqdTGraphNONAME = new TGraph(nPoints, fqdNONAME, fqdValueNONAME);
fd46c3dd 865 fqdTGraphNONAME->SetMarkerStyle(21);
e47370f7 866 fqdTGraphNONAME->SetMarkerColor(kOrange+7);
fd46c3dd 867 fqdTGraphNONAME->SetMarkerSize(0.75);
e47370f7 868
869 TGraph *fqdBoxNONAME = new TGraph(5);
6a6afe42 870 fqdBoxNONAME->SetPoint(0,(binFQD-0.5)-boxWidth,fqdMinValueNONAME);
871 fqdBoxNONAME->SetPoint(1,(binFQD-0.5)+boxWidth,fqdMinValueNONAME);
872 fqdBoxNONAME->SetPoint(2,(binFQD-0.5)+boxWidth,fqdMaxValueNONAME);
873 fqdBoxNONAME->SetPoint(3,(binFQD-0.5)-boxWidth,fqdMaxValueNONAME);
874 fqdBoxNONAME->SetPoint(4,(binFQD-0.5)-boxWidth,fqdMinValueNONAME);
e47370f7 875 fqdBoxNONAME->SetFillStyle(1001);
876 fqdBoxNONAME->SetFillColor(kOrange-9);
877
6a6afe42 878 // ... LYZ* to be added ...
e47370f7 879
e47370f7 880 TCanvas* intFlowCanvasNONAME = new TCanvas("Integrated Flow NONAME","Integrated Flow NONAME",1000,600);
881
882 intFlowCanvasNONAME->Divide(2,1);
883
884 // 1st pad is for plot:
885 (intFlowCanvasNONAME->cd(1))->SetPad(0.0,0.0,0.75,1.0);
886
6a6afe42 887
e47370f7 888 if(intFlowNONAME)
889 {
b78897bc 890 TString intFlowNameNONAME("Superimposing ");
6a6afe42 891 intFlowNameNONAME+=counter;
b78897bc 892 intFlowNameNONAME+=" independent runs";
893 intFlowNONAME->SetTitle(intFlowNameNONAME.Data());
e47370f7 894 (intFlowNONAME->GetYaxis())->SetRangeUser(0,0.20);
895 intFlowNONAME->Draw();
896 }
897
6a6afe42 898 // MCEP:
b78897bc 899 if(mcepBoxNONAME && mcepMinValueNONAME < 1000.) mcepBoxNONAME->Draw("LFSAME");
e47370f7 900 if(mcepTGraphNONAME) mcepTGraphNONAME->Draw("PSAME");
6a6afe42 901 if(mcepMeanNONAME) mcepMeanNONAME->Draw("PSAME");
e47370f7 902
6a6afe42 903 // SP:
b78897bc 904 if(spBoxNONAME && spMinValueNONAME < 1000.) spBoxNONAME->Draw("LFSAME");
e47370f7 905 if(spTGraphNONAME) spTGraphNONAME->Draw("PSAME");
6a6afe42 906 if(spMeanNONAME) spMeanNONAME->Draw("PSAME");
e47370f7 907
6a6afe42 908 // GFC{2}:
b78897bc 909 if(gfc2BoxNONAME && gfc2MinValueNONAME < 1000.) gfc2BoxNONAME->Draw("LFSAME");
e47370f7 910 if(gfc2TGraphNONAME) gfc2TGraphNONAME->Draw("PSAME");
6a6afe42 911 if(gfc2MeanNONAME) gfc2MeanNONAME->Draw("PSAME");
912
913 // GFC{4}:
b78897bc 914 if(gfc4BoxNONAME && gfc4MinValueNONAME < 1000.) gfc4BoxNONAME->Draw("LFSAME");
e47370f7 915 if(gfc4TGraphNONAME) gfc4TGraphNONAME->Draw("PSAME");
6a6afe42 916 if(gfc4MeanNONAME) gfc4MeanNONAME->Draw("PSAME");
917
918 // GFC{6}:
b78897bc 919 if(gfc6BoxNONAME && gfc6MinValueNONAME < 1000.) gfc6BoxNONAME->Draw("LFSAME");
e47370f7 920 if(gfc6TGraphNONAME) gfc6TGraphNONAME->Draw("PSAME");
6a6afe42 921 if(gfc6MeanNONAME) gfc6MeanNONAME->Draw("PSAME");
922
923 // GFC{8}:
b78897bc 924 if(gfc8BoxNONAME && gfc8MinValueNONAME < 1000.) gfc8BoxNONAME->Draw("LFSAME");
e47370f7 925 if(gfc8TGraphNONAME) gfc8TGraphNONAME->Draw("PSAME");
6a6afe42 926 if(gfc8MeanNONAME) gfc8MeanNONAME->Draw("PSAME");
e47370f7 927
6a6afe42 928 // QC{2}:
b78897bc 929 if(qc2BoxNONAME && qc2MinValueNONAME < 1000.) qc2BoxNONAME->Draw("LFSAME");
e47370f7 930 if(qc2TGraphNONAME) qc2TGraphNONAME->Draw("PSAME");
6a6afe42 931 if(qc2MeanNONAME) qc2MeanNONAME->Draw("PSAME");
932
933 // QC{4}:
b78897bc 934 if(qc4BoxNONAME && qc4MinValueNONAME < 1000.) qc4BoxNONAME->Draw("LFSAME");
e47370f7 935 if(qc4TGraphNONAME) qc4TGraphNONAME->Draw("PSAME");
6a6afe42 936 if(qc4MeanNONAME) qc4MeanNONAME->Draw("PSAME");
937
938 // QC{6}:
b78897bc 939 if(qc6BoxNONAME && qc6MinValueNONAME < 1000.) qc6BoxNONAME->Draw("LFSAME");
e47370f7 940 if(qc6TGraphNONAME) qc6TGraphNONAME->Draw("PSAME");
6a6afe42 941 if(qc6MeanNONAME) qc6MeanNONAME->Draw("PSAME");
942
943 // QC{8}:
b78897bc 944 if(qc8BoxNONAME && qc8MinValueNONAME < 1000.) qc8BoxNONAME->Draw("LFSAME");
e47370f7 945 if(qc8TGraphNONAME) qc8TGraphNONAME->Draw("PSAME");
6a6afe42 946 if(qc8MeanNONAME) qc8MeanNONAME->Draw("PSAME");
e47370f7 947
6a6afe42 948 // FQD:
b78897bc 949 if(fqdBoxNONAME && fqdMinValueNONAME < 1000.) fqdBoxNONAME->Draw("LFSAME");
e47370f7 950 if(fqdTGraphNONAME) fqdTGraphNONAME->Draw("PSAME");
6a6afe42 951 if(fqdMeanNONAME) fqdMeanNONAME->Draw("PSAME");
952
953 // ... LYZ* to be added ...
b78897bc 954
955 // 2nd pad is for legend:
e47370f7 956 (intFlowCanvasNONAME->cd(2))->SetPad(0.75,0.0,1.0,1.0);
6a6afe42 957
b78897bc 958 // count real estimates:
959 Int_t mcepCountRealNONAME = 0;
960 Int_t spCountRealNONAME = 0;
961 Int_t gfc2CountRealNONAME = 0;
962 Int_t gfc4CountRealNONAME = 0;
963 Int_t gfc6CountRealNONAME = 0;
964 Int_t gfc8CountRealNONAME = 0;
965 Int_t qc2CountRealNONAME = 0;
966 Int_t qc4CountRealNONAME = 0;
967 Int_t qc6CountRealNONAME = 0;
968 Int_t qc8CountRealNONAME = 0;
969 Int_t fqdCountRealNONAME = 0;
6a6afe42 970 // ... LYZ* to be added ...
971
972 for(Int_t i=0;i<nEstimates;i++)
b78897bc 973 {
974 if(mcepValueNONAME[i]>0.) mcepCountRealNONAME++;
975 if(spValueNONAME[i]>0.) spCountRealNONAME++;
976 if(gfc2ValueNONAME[i]>0.) gfc2CountRealNONAME++;
977 if(gfc4ValueNONAME[i]>0.) gfc4CountRealNONAME++;
978 if(gfc6ValueNONAME[i]>0.) gfc6CountRealNONAME++;
979 if(gfc8ValueNONAME[i]>0.) gfc8CountRealNONAME++;
980 if(qc2ValueNONAME[i]>0.) qc2CountRealNONAME++;
981 if(qc4ValueNONAME[i]>0.) qc4CountRealNONAME++;
982 if(qc6ValueNONAME[i]>0.) qc6CountRealNONAME++;
983 if(qc8ValueNONAME[i]>0.) qc8CountRealNONAME++;
984 if(fqdValueNONAME[i]>0.) fqdCountRealNONAME++;
6a6afe42 985 // ... LYZ* to be added ...
b78897bc 986 }
987
988 TPaveText *textDefaultNONAME = new TPaveText(0.05,0.67,0.95,0.90,"NDC");
989 textDefaultNONAME->SetTextFont(72);
990 textDefaultNONAME->SetTextSize(0.08);
991
992 TString *entryDefaultRealNONAME = new TString("Real estimates");
993 //TString *entryDefaultOutOfNONAME = new TString("out of");
994 TString *entryDefaultTotalNumberNONAME = new TString(" out of total number of ");
995 TString *entryDefaultTotalIndNONAME = new TString("independent");
996 TString *entryDefaultTotalSimNONAME = new TString("simulations:");
997
998 textDefaultNONAME->AddText(entryDefaultRealNONAME->Data());
999 //textDefaultNONAME->AddText(entryDefaultOutOfNONAME->Data());
1000 textDefaultNONAME->AddText(entryDefaultTotalNumberNONAME->Data());
1001 textDefaultNONAME->AddText(entryDefaultTotalIndNONAME->Data());
1002 textDefaultNONAME->AddText(entryDefaultTotalSimNONAME->Data());
1003
1004 // results:
1005 TPaveText *textResultsNONAME = new TPaveText(0.05,0.12,0.95,0.60,"NDC");
1006 textResultsNONAME->SetTextFont(72);
1007 textResultsNONAME->SetTextSize(0.06);
1008
1009 // entries:
1010 TString *entryIntFlowMCNONAME = new TString("MC ................ ");
1011 TString *entryIntFlowSPNONAME = new TString("SP ................ ");
1012 TString *entryIntFlowGFC2NONAME = new TString("GFC{2} ........ ");
1013 TString *entryIntFlowGFC4NONAME = new TString("GFC{4} ........ ");
1014 TString *entryIntFlowGFC6NONAME = new TString("GFC{6} ........ ");
1015 TString *entryIntFlowGFC8NONAME = new TString("GFC{8} ........ ");
1016 TString *entryIntFlowQC2NONAME = new TString("QC{2} .......... ");
1017 TString *entryIntFlowQC4NONAME = new TString("QC{4} .......... ");
1018 TString *entryIntFlowQC6NONAME = new TString("QC{6} .......... ");
1019 TString *entryIntFlowQC8NONAME = new TString("QC{8} .......... ");
1020 TString *entryIntFlowFQDNONAME = new TString("FQD ............. ");
1021 TString *entryIntFlowLYZ1NONAME = new TString("LYZ ............. ");
1022 TString *entryIntFlowLYZEPNONAME = new TString("LYZEP ........ ");
1023
1024 if(entryIntFlowMCNONAME)
1025 {
1026 (*entryIntFlowMCNONAME)+=(Long_t)mcepCountRealNONAME;
1027 entryIntFlowMCNONAME->Append(" out of ");
1028 (*entryIntFlowMCNONAME)+=(Long_t)counter;
1029 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowMCNONAME->Data());
1030 }
1031
1032 if(entryIntFlowSPNONAME)
1033 {
1034 (*entryIntFlowSPNONAME)+=(Long_t)spCountRealNONAME;
1035 entryIntFlowSPNONAME->Append(" out of ");
1036 (*entryIntFlowSPNONAME)+=(Long_t)counter;
1037 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowSPNONAME->Data());
1038 }
1039
1040 if(entryIntFlowGFC2NONAME)
1041 {
1042 (*entryIntFlowGFC2NONAME)+=(Long_t)gfc2CountRealNONAME;
1043 entryIntFlowGFC2NONAME->Append(" out of ");
1044 (*entryIntFlowGFC2NONAME)+=(Long_t)counter;
1045 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC2NONAME->Data());
1046 }
1047
1048 if(entryIntFlowGFC4NONAME)
1049 {
1050 (*entryIntFlowGFC4NONAME)+=(Long_t)gfc4CountRealNONAME;
1051 entryIntFlowGFC4NONAME->Append(" out of ");
1052 (*entryIntFlowGFC4NONAME)+=(Long_t)counter;
1053 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC4NONAME->Data());
1054 }
1055
1056 if(entryIntFlowGFC6NONAME)
1057 {
1058 (*entryIntFlowGFC6NONAME)+=(Long_t)gfc6CountRealNONAME;
1059 entryIntFlowGFC6NONAME->Append(" out of ");
1060 (*entryIntFlowGFC6NONAME)+=(Long_t)counter;
1061 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC6NONAME->Data());
1062 }
e47370f7 1063
b78897bc 1064 if(entryIntFlowGFC8NONAME)
1065 {
1066 (*entryIntFlowGFC8NONAME)+=(Long_t)gfc8CountRealNONAME;
1067 entryIntFlowGFC8NONAME->Append(" out of ");
1068 (*entryIntFlowGFC8NONAME)+=(Long_t)counter;
1069 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC8NONAME->Data());
1070 }
1071
1072 if(entryIntFlowQC2NONAME)
1073 {
1074 (*entryIntFlowQC2NONAME)+=(Long_t)qc2CountRealNONAME;
1075 entryIntFlowQC2NONAME->Append(" out of ");
1076 (*entryIntFlowQC2NONAME)+=(Long_t)counter;
1077 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC2NONAME->Data());
1078 }
1079
1080 if(entryIntFlowQC4NONAME)
1081 {
1082 (*entryIntFlowQC4NONAME)+=(Long_t)qc4CountRealNONAME;
1083 entryIntFlowQC4NONAME->Append(" out of ");
1084 (*entryIntFlowQC4NONAME)+=(Long_t)counter;
1085 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC4NONAME->Data());
1086 }
1087
1088 if(entryIntFlowQC2NONAME)
1089 {
1090 (*entryIntFlowQC6NONAME)+=(Long_t)qc6CountRealNONAME;
1091 entryIntFlowQC6NONAME->Append(" out of ");
1092 (*entryIntFlowQC6NONAME)+=(Long_t)counter;
1093 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC6NONAME->Data());
1094 }
1095
1096 if(entryIntFlowQC8NONAME)
1097 {
1098 (*entryIntFlowQC8NONAME)+=(Long_t)qc8CountRealNONAME;
1099 entryIntFlowQC8NONAME->Append(" out of ");
1100 (*entryIntFlowQC8NONAME)+=(Long_t)counter;
1101 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC8NONAME->Data());
1102 }
1103
1104 if(entryIntFlowFQDNONAME)
1105 {
1106 (*entryIntFlowFQDNONAME)+=(Long_t)fqdCountRealNONAME;
1107 entryIntFlowFQDNONAME->Append(" out of ");
1108 (*entryIntFlowFQDNONAME)+=(Long_t)counter;
1109 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowFQDNONAME->Data());
1110 }
1111
6a6afe42 1112 /*
b78897bc 1113 if(entryIntFlowLYZ1NONAME)
1114 {
1115 (*entryIntFlowLYZ1NONAME)+=(Long_t)lyz1CountRealNONAME;
1116 entryIntFlowLYZ1NONAME->Append(" out of ");
1117 (*entryIntFlowLYZ1NONAME)+=(Long_t)counter;
1118 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZ1NONAME->Data());
1119 }
1120
1121 if(entryIntFlowLYZEPNONAME)
1122 {
1123 (*entryIntFlowLYZEPNONAME)+=(Long_t)lyzepCountRealNONAME;
1124 entryIntFlowLYZEPNONAME->Append(" out of ");
1125 (*entryIntFlowLYZEPNONAME)+=(Long_t)counter;
1126 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZEPNONAME->Data());
1127 }
6a6afe42 1128 */
b78897bc 1129
1130 if(textDefaultNONAME) textDefaultNONAME->Draw();
1131 if(textResultsNONAME) textResultsNONAME->Draw();
1132
e47370f7 1133}
1134
b78897bc 1135void LoadSpreadLibraries(const libModes mode) {
e47370f7 1136
1137 //--------------------------------------
1138 // Load the needed libraries most of them already loaded by aliroot
1139 //--------------------------------------
1140 gSystem->Load("libTree.so");
1141 gSystem->Load("libGeom.so");
1142 gSystem->Load("libVMC.so");
1143 gSystem->Load("libXMLIO.so");
1144 gSystem->Load("libPhysics.so");
1145
1146 //----------------------------------------------------------
1147 // >>>>>>>>>>> Local mode <<<<<<<<<<<<<<
1148 //----------------------------------------------------------
1149 if (mode==mLocal) {
1150 //--------------------------------------------------------
1151 // If you want to use already compiled libraries
1152 // in the aliroot distribution
1153 //--------------------------------------------------------
1154
1155 //==================================================================================
1156 //load needed libraries:
1157 gSystem->AddIncludePath("-I$ROOTSYS/include");
1158 gSystem->Load("libTree.so");
1159
1160 // for AliRoot
1161 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
1162 gSystem->Load("libANALYSIS.so");
1163 gSystem->Load("libPWG2flowCommon.so");
1164 cerr<<"libPWG2flowCommon.so loaded ..."<<endl;
1165
1166 }
1167
1168 else if (mode==mLocalSource) {
1169
1170 // In root inline compile
1171
1172 // Constants
1173 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonConstants.cxx+");
1174 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZConstants.cxx+");
1175 gROOT->LoadMacro("AliFlowCommon/AliFlowCumuConstants.cxx+");
1176
1177 // Flow event
1178 gROOT->LoadMacro("AliFlowCommon/AliFlowVector.cxx+");
1179 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimple.cxx+");
1180 gROOT->LoadMacro("AliFlowCommon/AliFlowEventSimple.cxx+");
1181
1182 // Cuts
1183 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimpleCuts.cxx+");
1184
1185 // Output histosgrams
1186 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHist.cxx+");
1187 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHistResults.cxx+");
1188 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist1.cxx+");
1189 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist2.cxx+");
1190
1191 cout << "finished loading macros!" << endl;
1192
1193 }
1194
1195
1196}
1197
1198