1 enum libModes {mLocal,mLocalSource};
2 //mLocal: Analyze data on your computer using aliroot
3 //mLocalSource: Analyze data on your computer using root + source files
5 void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal)
7 // load needed libraries:
8 LoadSpreadLibraries(mode);
11 TString execDir(gSystem->pwd());
12 TSystemDirectory* baseDir = new TSystemDirectory(".",execDir.Data());
13 TList* dirList = baseDir->GetListOfFiles();
14 Int_t nDirs = dirList->GetEntries();
17 // arrays to store estimates of each method from different runs:
19 Double_t mcepValueNONAME[nRuns] = {0.};
20 Double_t mcepMaxValueNONAME = 0.;
21 Double_t mcepMinValueNONAME = 1000.;
24 Double_t spValueNONAME[nRuns] = {0.};
25 Double_t spMaxValueNONAME = 0.;
26 Double_t spMinValueNONAME = 1000.;
29 Double_t gfc2ValueNONAME[nRuns] = {0.};
30 Double_t gfc2MaxValueNONAME = 0.;
31 Double_t gfc2MinValueNONAME = 1000.;
34 Double_t gfc4ValueNONAME[nRuns] = {0.};
35 Double_t gfc4MaxValueNONAME = 0.;
36 Double_t gfc4MinValueNONAME = 1000.;
39 Double_t gfc6ValueNONAME[nRuns] = {0.};
40 Double_t gfc6MaxValueNONAME = 0.;
41 Double_t gfc6MinValueNONAME = 1000.;
44 Double_t gfc8ValueNONAME[nRuns] = {0.};
45 Double_t gfc8MaxValueNONAME = 0.;
46 Double_t gfc8MinValueNONAME = 1000.;
49 Double_t qc2ValueNONAME[nRuns] = {0.};
50 Double_t qc2MaxValueNONAME = 0.;
51 Double_t qc2MinValueNONAME = 1000.;
54 Double_t qc4ValueNONAME[nRuns] = {0.};
55 Double_t qc4MaxValueNONAME = 0.;
56 Double_t qc4MinValueNONAME = 1000.;
59 Double_t qc6ValueNONAME[nRuns] = {0.};
60 Double_t qc6MaxValueNONAME = 0.;
61 Double_t qc6MinValueNONAME = 1000.;
64 Double_t qc8ValueNONAME[nRuns] = {0.};
65 Double_t qc8MaxValueNONAME = 0.;
66 Double_t qc8MinValueNONAME = 1000.;
69 Double_t fqdValueNONAME[nRuns] = {0.};
70 Double_t fqdMaxValueNONAME = 0.;
71 Double_t fqdMinValueNONAME = 1000.;
74 Double_t lyz1ValueNONAME[nRuns] = {0.};
75 Double_t lyz1MaxValueNONAME = 0.;
76 Double_t lyz1MinValueNONAME = 1000.;
79 Double_t lyzepValueNONAME[nRuns] = {0.};
80 Double_t lyzepMaxValueNONAME = 0.;
81 Double_t lyzepMinValueNONAME = 1000.;
85 for(Int_t iDir=0;iDir<nDirs;++iDir)
87 TSystemFile* presentDir = (TSystemFile*)dirList->At(iDir);
88 if(!presentDir || !presentDir->IsDirectory() || strcmp(presentDir->GetName(), ".") == 0 ||
89 strcmp(presentDir->GetName(), "..") == 0) continue;
91 if (counter >= nRuns) break;
93 TString presentDirName(gSystem->pwd());
94 presentDirName += "/";
95 presentDirName += presentDir->GetName();
96 presentDirName += "/";
98 // accessing the output .root files for each method:
100 TString fileNameMCEP = presentDirName;
101 fileNameMCEP+="outputMCEPanalysis.root";
102 TFile *fileMCEP = TFile::Open(fileNameMCEP.Data(), "READ");
103 TList *listMCEP = NULL;
104 AliFlowCommonHistResults *mcepCommonHistRes = NULL;
108 fileMCEP->GetObject("cobjMCEP",listMCEP);
111 mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
115 if(mcepCommonHistRes && mcepCommonHistRes->GetHistIntFlow())
117 mcepValueNONAME[counter] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
118 if(mcepValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
120 if(mcepMaxValueNONAME < mcepValueNONAME[counter]) mcepMaxValueNONAME = mcepValueNONAME[counter];
121 if(mcepMinValueNONAME > mcepValueNONAME[counter]) mcepMinValueNONAME = mcepValueNONAME[counter];
126 TString fileNameSP = presentDirName;
127 fileNameSP+="outputSPanalysis.root";
128 TFile *fileSP = TFile::Open(fileNameSP.Data(), "READ");
129 TList *listSP = NULL;
130 AliFlowCommonHistResults *spCommonHistRes = NULL;
134 fileSP->GetObject("cobjSP",listSP);
137 spCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listSP->FindObject("AliFlowCommonHistResultsSP"));
141 if(spCommonHistRes && spCommonHistRes->GetHistIntFlow())
143 spValueNONAME[counter] = (spCommonHistRes->GetHistIntFlow())->GetBinContent(1);
144 if(spValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
146 if(spMaxValueNONAME < spValueNONAME[counter]) spMaxValueNONAME = spValueNONAME[counter];
147 if(spMinValueNONAME > spValueNONAME[counter]) spMinValueNONAME = spValueNONAME[counter];
152 TString fileNameGFC = presentDirName;
153 fileNameGFC+="outputGFCanalysis.root";
154 TFile *fileGFC = TFile::Open(fileNameGFC.Data(), "READ");
155 TList *listGFC = NULL;
156 AliFlowCommonHistResults *gfc2CommonHistRes = NULL;
157 AliFlowCommonHistResults *gfc4CommonHistRes = NULL;
158 AliFlowCommonHistResults *gfc6CommonHistRes = NULL;
159 AliFlowCommonHistResults *gfc8CommonHistRes = NULL;
163 fileGFC->GetObject("cobjGFC",listGFC);
166 gfc2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
167 gfc4CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
168 gfc6CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
169 gfc8CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
173 if(gfc2CommonHistRes && gfc2CommonHistRes->GetHistIntFlow())
175 gfc2ValueNONAME[counter] = (gfc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
176 if(gfc2ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
178 if(gfc2MaxValueNONAME < gfc2ValueNONAME[counter]) gfc2MaxValueNONAME = gfc2ValueNONAME[counter];
179 if(gfc2MinValueNONAME > gfc2ValueNONAME[counter]) gfc2MinValueNONAME = gfc2ValueNONAME[counter];
183 if(gfc4CommonHistRes && gfc4CommonHistRes->GetHistIntFlow())
185 gfc4ValueNONAME[counter] = (gfc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
186 if(gfc4ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
188 if(gfc4MaxValueNONAME < gfc4ValueNONAME[counter]) gfc4MaxValueNONAME = gfc4ValueNONAME[counter];
189 if(gfc4MinValueNONAME > gfc4ValueNONAME[counter]) gfc4MinValueNONAME = gfc4ValueNONAME[counter];
193 if(gfc6CommonHistRes && gfc6CommonHistRes->GetHistIntFlow())
195 gfc6ValueNONAME[counter] = (gfc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
196 if(gfc6ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
198 if(gfc6MaxValueNONAME < gfc6ValueNONAME[counter]) gfc6MaxValueNONAME = gfc6ValueNONAME[counter];
199 if(gfc6MinValueNONAME > gfc6ValueNONAME[counter]) gfc6MinValueNONAME = gfc6ValueNONAME[counter];
203 if(gfc8CommonHistRes && gfc8CommonHistRes->GetHistIntFlow())
205 gfc8ValueNONAME[counter] = (gfc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
206 if(gfc8ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
208 if(gfc8MaxValueNONAME < gfc8ValueNONAME[counter]) gfc8MaxValueNONAME = gfc8ValueNONAME[counter];
209 if(gfc8MinValueNONAME > gfc8ValueNONAME[counter]) gfc8MinValueNONAME = gfc8ValueNONAME[counter];
214 TString fileNameQC = presentDirName;
215 fileNameQC+="outputQCanalysis.root";
216 TFile *fileQC = TFile::Open(fileNameQC.Data(), "READ");
217 TList *listQC = NULL;
218 AliFlowCommonHistResults *qc2CommonHistRes = NULL;
219 AliFlowCommonHistResults *qc4CommonHistRes = NULL;
220 AliFlowCommonHistResults *qc6CommonHistRes = NULL;
221 AliFlowCommonHistResults *qc8CommonHistRes = NULL;
225 fileQC->GetObject("cobjQC",listQC);
228 qc2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
229 qc4CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
230 qc6CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
231 qc8CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
235 if(qc2CommonHistRes && qc2CommonHistRes->GetHistIntFlow())
237 qc2ValueNONAME[counter] = (qc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
238 if(qc2ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
240 if(qc2MaxValueNONAME < qc2ValueNONAME[counter]) qc2MaxValueNONAME = qc2ValueNONAME[counter];
241 if(qc2MinValueNONAME > qc2ValueNONAME[counter]) qc2MinValueNONAME = qc2ValueNONAME[counter];
245 if(qc4CommonHistRes && qc4CommonHistRes->GetHistIntFlow())
247 qc4ValueNONAME[counter] = (qc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
248 if(qc4ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
250 if(qc4MaxValueNONAME < qc4ValueNONAME[counter]) qc4MaxValueNONAME = qc4ValueNONAME[counter];
251 if(qc4MinValueNONAME > qc4ValueNONAME[counter]) qc4MinValueNONAME = qc4ValueNONAME[counter];
255 if(qc6CommonHistRes && qc6CommonHistRes->GetHistIntFlow())
257 qc6ValueNONAME[counter] = (qc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
258 if(qc6ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
260 if(qc6MaxValueNONAME < qc6ValueNONAME[counter]) qc6MaxValueNONAME = qc6ValueNONAME[counter];
261 if(qc6MinValueNONAME > qc6ValueNONAME[counter]) qc6MinValueNONAME = qc6ValueNONAME[counter];
265 if(qc8CommonHistRes && qc8CommonHistRes->GetHistIntFlow())
267 qc8ValueNONAME[counter] = (qc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
268 if(qc8ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
270 if(qc8MaxValueNONAME < qc8ValueNONAME[counter]) qc8MaxValueNONAME = qc8ValueNONAME[counter];
271 if(qc8MinValueNONAME > qc8ValueNONAME[counter]) qc8MinValueNONAME = qc8ValueNONAME[counter];
276 TString fileNameFQD = presentDirName;
277 fileNameFQD+="outputFQDanalysis.root";
278 TFile *fileFQD = TFile::Open(fileNameFQD.Data(), "READ");
279 TList *listFQD = NULL;
280 AliFlowCommonHistResults *fqdCommonHistRes = NULL;
284 fileFQD->GetObject("cobjFQD",listFQD);
287 fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listFQD->FindObject("AliFlowCommonHistResultsFQD"));
291 if(fqdCommonHistRes && fqdCommonHistRes->GetHistIntFlow())
293 fqdValueNONAME[counter] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);
294 if(fqdValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
296 if(fqdMaxValueNONAME < fqdValueNONAME[counter]) fqdMaxValueNONAME = fqdValueNONAME[counter];
297 if(fqdMinValueNONAME > fqdValueNONAME[counter]) fqdMinValueNONAME = fqdValueNONAME[counter];
302 TString fileNameLYZ1 = presentDirName;
303 fileNameLYZ1+="outputLYZ1analysis.root";
304 TFile *fileLYZ1 = TFile::Open(fileNameLYZ1.Data(), "READ");
305 TList *listLYZ1 = NULL;
306 AliFlowCommonHistResults *lyz1CommonHistRes = NULL;
310 fileLYZ1->GetObject("cobjLYZ1",listLYZ1);
313 lyz1CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listLYZ1->FindObject("AliFlowCommonHistResultsLYZ1"));
317 if(lyz1CommonHistRes && lyz1CommonHistRes->GetHistIntFlow())
319 lyz1ValueNONAME[counter] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinContent(1);
320 if(lyz1ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
322 if(lyz1MaxValueNONAME < lyz1ValueNONAME[counter]) lyz1MaxValueNONAME = lyz1ValueNONAME[counter];
323 if(lyz1MinValueNONAME > lyz1ValueNONAME[counter]) lyz1MinValueNONAME = lyz1ValueNONAME[counter];
328 TString fileNameLYZEP = presentDirName;
329 fileNameLYZEP+="outputLYZEPanalysis.root";
330 TFile *fileLYZEP = TFile::Open(fileNameLYZEP.Data(), "READ");
331 TList *listLYZEP = NULL;
332 AliFlowCommonHistResults *lyzepCommonHistRes = NULL;
336 fileLYZEP->GetObject("cobjLYZEP",listLYZEP);
339 lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listLYZEP->FindObject("AliFlowCommonHistResultsLYZEP"));
343 if(lyzepCommonHistRes && lyzepCommonHistRes->GetHistIntFlow())
345 lyzepValueNONAME[counter] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
346 if(lyzepValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
348 if(lyzepMaxValueNONAME < lyzepValueNONAME[counter]) lyzepMaxValueNONAME = lyzepValueNONAME[counter];
349 if(lyzepMinValueNONAME > lyzepValueNONAME[counter]) lyzepMinValueNONAME = lyzepValueNONAME[counter];
355 } // end of for(Int_t iDir=0;iDir<nDirs;++iDir)
362 // removing the title and stat. box from all histograms:
363 // gStyle->SetOptTitle(0);
364 gStyle->SetOptStat(0);
367 const Double_t boxWidth = 0.25;
369 // the number of different methods:
370 const Int_t nMethods = 13;
372 // the number of runs:
373 const Int_t nPoints = counter;
375 // booking the style histogram for the integrated flow results from all methods for NONAME, RPs and POIs:
376 // assigning bin numbers to methods:
391 TH1D* intFlowAll = new TH1D("intFlowAll","Integrated Flow",nMethods,0,nMethods);
392 //intFlowAll->SetLabelSize(0.036,"X");
393 //intFlowAll->SetLabelSize(0.036,"Y");
394 //intFlowAll->SetMarkerStyle(markerStyle);
395 //intFlowAll->SetMarkerColor(markerColor);
396 (intFlowAll->GetYaxis())->SetTickLength(0.01);
397 (intFlowAll->GetXaxis())->SetBinLabel(binMCEP,"v_{2}{MC}");
398 (intFlowAll->GetXaxis())->SetBinLabel(binSP,"v_{2}{SP}");
399 (intFlowAll->GetXaxis())->SetBinLabel(binGFC2,"v_{2}{2,GFC}");
400 (intFlowAll->GetXaxis())->SetBinLabel(binQC2,"v_{2}{2,QC}");
401 (intFlowAll->GetXaxis())->SetBinLabel(binGFC4,"v_{2}{4,GFC}");
402 (intFlowAll->GetXaxis())->SetBinLabel(binQC4,"v_{2}{4,QC}");
403 (intFlowAll->GetXaxis())->SetBinLabel(binGFC6,"v_{2}{6,GFC}");
404 (intFlowAll->GetXaxis())->SetBinLabel(binQC6,"v_{2}{6,QC}");
405 (intFlowAll->GetXaxis())->SetBinLabel(binGFC8,"v_{2}{8,GFC}");
406 (intFlowAll->GetXaxis())->SetBinLabel(binQC8,"v_{2}{8,QC}");
407 (intFlowAll->GetXaxis())->SetBinLabel(binFQD,"v_{2}{FQD}");
408 (intFlowAll->GetXaxis())->SetBinLabel(binLYZ1,"v_{2}{LYZ}");
409 (intFlowAll->GetXaxis())->SetBinLabel(binLYZEP,"v_{2}{LYZEP}");
413 //=============================================================================
415 //=============================================================================
417 TH1D *intFlowNONAME = new TH1D(*intFlowAll);
419 Double_t mcepNONAME[nPoints] = {0.};
420 Double_t spNONAME[nPoints] = {0.};
421 Double_t gfc2NONAME[nPoints] = {0.};
422 Double_t gfc4NONAME[nPoints] = {0.};
423 Double_t gfc6NONAME[nPoints] = {0.};
424 Double_t gfc8NONAME[nPoints] = {0.};
425 Double_t qc2NONAME[nPoints] = {0.};
426 Double_t qc4NONAME[nPoints] = {0.};
427 Double_t qc6NONAME[nPoints] = {0.};
428 Double_t qc8NONAME[nPoints] = {0.};
429 Double_t fqdNONAME[nPoints] = {0.};
430 Double_t lyz1NONAME[nPoints] = {0.};
431 Double_t lyzepNONAME[nPoints] = {0.};
433 for(Int_t i=0;i<nPoints;i++)
435 mcepNONAME[i]=binMCEP-0.5;
436 spNONAME[i]=binSP-0.5;
437 gfc2NONAME[i]=binGFC2-0.5;
438 gfc4NONAME[i]=binGFC4-0.5;
439 gfc6NONAME[i]=binGFC6-0.5;
440 gfc8NONAME[i]=binGFC8-0.5;
441 qc2NONAME[i]=binQC2-0.5;
442 qc4NONAME[i]=binQC4-0.5;
443 qc6NONAME[i]=binQC6-0.5;
444 qc8NONAME[i]=binQC8-0.5;
445 fqdNONAME[i]=binFQD-0.5;
446 lyz1NONAME[i]=binLYZ1-0.5;
447 lyzepNONAME[i]=binLYZEP-0.5;
451 TGraph* mcepTGraphNONAME = new TGraph(nPoints, mcepNONAME, mcepValueNONAME);
452 mcepTGraphNONAME->SetMarkerStyle(25);
453 mcepTGraphNONAME->SetMarkerColor(kBlack);
454 mcepTGraphNONAME->SetMarkerSize(0.25);
456 TGraph *mcepBoxNONAME = new TGraph(5);
457 mcepBoxNONAME->SetPoint(1,(binMCEP-0.5)-boxWidth,mcepMinValueNONAME);
458 mcepBoxNONAME->SetPoint(2,(binMCEP-0.5)+boxWidth,mcepMinValueNONAME);
459 mcepBoxNONAME->SetPoint(3,(binMCEP-0.5)+boxWidth,mcepMaxValueNONAME);
460 mcepBoxNONAME->SetPoint(4,(binMCEP-0.5)-boxWidth,mcepMaxValueNONAME);
461 mcepBoxNONAME->SetPoint(5,(binMCEP-0.5)-boxWidth,mcepMinValueNONAME);
462 mcepBoxNONAME->SetFillStyle(1001);
463 mcepBoxNONAME->SetFillColor(kGray);
466 TGraph* spTGraphNONAME = new TGraph(nPoints, spNONAME, spValueNONAME);
467 spTGraphNONAME->SetMarkerStyle(25);
468 spTGraphNONAME->SetMarkerColor(kViolet+3);
469 spTGraphNONAME->SetMarkerSize(0.25);
471 TGraph *spBoxNONAME = new TGraph(5);
472 spBoxNONAME->SetPoint(1,(binSP-0.5)-boxWidth,spMinValueNONAME);
473 spBoxNONAME->SetPoint(2,(binSP-0.5)+boxWidth,spMinValueNONAME);
474 spBoxNONAME->SetPoint(3,(binSP-0.5)+boxWidth,spMaxValueNONAME);
475 spBoxNONAME->SetPoint(4,(binSP-0.5)-boxWidth,spMaxValueNONAME);
476 spBoxNONAME->SetPoint(5,(binSP-0.5)-boxWidth,spMinValueNONAME);
477 spBoxNONAME->SetFillStyle(1001);
478 spBoxNONAME->SetFillColor(kViolet-9);
481 TGraph* gfc2TGraphNONAME = new TGraph(nPoints, gfc2NONAME, gfc2ValueNONAME);
482 gfc2TGraphNONAME->SetMarkerStyle(25);
483 gfc2TGraphNONAME->SetMarkerColor(kBlue);
484 gfc2TGraphNONAME->SetMarkerSize(0.25);
486 TGraph *gfc2BoxNONAME = new TGraph(5);
487 gfc2BoxNONAME->SetPoint(1,(binGFC2-0.5)-boxWidth,gfc2MinValueNONAME);
488 gfc2BoxNONAME->SetPoint(2,(binGFC2-0.5)+boxWidth,gfc2MinValueNONAME);
489 gfc2BoxNONAME->SetPoint(3,(binGFC2-0.5)+boxWidth,gfc2MaxValueNONAME);
490 gfc2BoxNONAME->SetPoint(4,(binGFC2-0.5)-boxWidth,gfc2MaxValueNONAME);
491 gfc2BoxNONAME->SetPoint(5,(binGFC2-0.5)-boxWidth,gfc2MinValueNONAME);
492 gfc2BoxNONAME->SetFillStyle(1001);
493 gfc2BoxNONAME->SetFillColor(kBlue-10);
496 TGraph* gfc4TGraphNONAME = new TGraph(nPoints, gfc4NONAME, gfc4ValueNONAME);
497 gfc4TGraphNONAME->SetMarkerStyle(25);
498 gfc4TGraphNONAME->SetMarkerColor(kBlue);
499 gfc4TGraphNONAME->SetMarkerSize(0.25);
501 TGraph *gfc4BoxNONAME = new TGraph(5);
502 gfc4BoxNONAME->SetPoint(1,(binGFC4-0.5)-boxWidth,gfc4MinValueNONAME);
503 gfc4BoxNONAME->SetPoint(2,(binGFC4-0.5)+boxWidth,gfc4MinValueNONAME);
504 gfc4BoxNONAME->SetPoint(3,(binGFC4-0.5)+boxWidth,gfc4MaxValueNONAME);
505 gfc4BoxNONAME->SetPoint(4,(binGFC4-0.5)-boxWidth,gfc4MaxValueNONAME);
506 gfc4BoxNONAME->SetPoint(5,(binGFC4-0.5)-boxWidth,gfc4MinValueNONAME);
507 gfc4BoxNONAME->SetFillStyle(1001);
508 gfc4BoxNONAME->SetFillColor(kBlue-10);
511 TGraph* gfc6TGraphNONAME = new TGraph(nPoints, gfc6NONAME, gfc6ValueNONAME);
512 gfc6TGraphNONAME->SetMarkerStyle(25);
513 gfc6TGraphNONAME->SetMarkerColor(kBlue);
514 gfc6TGraphNONAME->SetMarkerSize(0.25);
516 TGraph *gfc6BoxNONAME = new TGraph(5);
517 gfc6BoxNONAME->SetPoint(1,(binGFC6-0.5)-boxWidth,gfc6MinValueNONAME);
518 gfc6BoxNONAME->SetPoint(2,(binGFC6-0.5)+boxWidth,gfc6MinValueNONAME);
519 gfc6BoxNONAME->SetPoint(3,(binGFC6-0.5)+boxWidth,gfc6MaxValueNONAME);
520 gfc6BoxNONAME->SetPoint(4,(binGFC6-0.5)-boxWidth,gfc6MaxValueNONAME);
521 gfc6BoxNONAME->SetPoint(5,(binGFC6-0.5)-boxWidth,gfc6MinValueNONAME);
522 gfc6BoxNONAME->SetFillStyle(1001);
523 gfc6BoxNONAME->SetFillColor(kBlue-10);
526 TGraph* gfc8TGraphNONAME = new TGraph(nPoints, gfc8NONAME, gfc8ValueNONAME);
527 gfc8TGraphNONAME->SetMarkerStyle(25);
528 gfc8TGraphNONAME->SetMarkerColor(kBlue);
529 gfc8TGraphNONAME->SetMarkerSize(0.25);
531 TGraph *gfc8BoxNONAME = new TGraph(5);
532 gfc8BoxNONAME->SetPoint(1,(binGFC8-0.5)-boxWidth,gfc8MinValueNONAME);
533 gfc8BoxNONAME->SetPoint(2,(binGFC8-0.5)+boxWidth,gfc8MinValueNONAME);
534 gfc8BoxNONAME->SetPoint(3,(binGFC8-0.5)+boxWidth,gfc8MaxValueNONAME);
535 gfc8BoxNONAME->SetPoint(4,(binGFC8-0.5)-boxWidth,gfc8MaxValueNONAME);
536 gfc8BoxNONAME->SetPoint(5,(binGFC8-0.5)-boxWidth,gfc8MinValueNONAME);
537 gfc8BoxNONAME->SetFillStyle(1001);
538 gfc8BoxNONAME->SetFillColor(kBlue-10);
541 TGraph* qc2TGraphNONAME = new TGraph(nPoints, qc2NONAME, qc2ValueNONAME);
542 qc2TGraphNONAME->SetMarkerStyle(25);
543 qc2TGraphNONAME->SetMarkerColor(kRed);
544 qc2TGraphNONAME->SetMarkerSize(0.25);
546 TGraph *qc2BoxNONAME = new TGraph(5);
547 qc2BoxNONAME->SetPoint(1,(binQC2-0.5)-boxWidth,qc2MinValueNONAME);
548 qc2BoxNONAME->SetPoint(2,(binQC2-0.5)+boxWidth,qc2MinValueNONAME);
549 qc2BoxNONAME->SetPoint(3,(binQC2-0.5)+boxWidth,qc2MaxValueNONAME);
550 qc2BoxNONAME->SetPoint(4,(binQC2-0.5)-boxWidth,qc2MaxValueNONAME);
551 qc2BoxNONAME->SetPoint(5,(binQC2-0.5)-boxWidth,qc2MinValueNONAME);
552 qc2BoxNONAME->SetFillStyle(1001);
553 qc2BoxNONAME->SetFillColor(kRed-10);
556 TGraph* qc4TGraphNONAME = new TGraph(nPoints, qc4NONAME, qc4ValueNONAME);
557 qc4TGraphNONAME->SetMarkerStyle(25);
558 qc4TGraphNONAME->SetMarkerColor(kRed);
559 qc4TGraphNONAME->SetMarkerSize(0.25);
561 TGraph *qc4BoxNONAME = new TGraph(5);
562 qc4BoxNONAME->SetPoint(1,(binQC4-0.5)-boxWidth,qc4MinValueNONAME);
563 qc4BoxNONAME->SetPoint(2,(binQC4-0.5)+boxWidth,qc4MinValueNONAME);
564 qc4BoxNONAME->SetPoint(3,(binQC4-0.5)+boxWidth,qc4MaxValueNONAME);
565 qc4BoxNONAME->SetPoint(4,(binQC4-0.5)-boxWidth,qc4MaxValueNONAME);
566 qc4BoxNONAME->SetPoint(5,(binQC4-0.5)-boxWidth,qc4MinValueNONAME);
567 qc4BoxNONAME->SetFillStyle(1001);
568 qc4BoxNONAME->SetFillColor(kRed-10);
571 TGraph* qc6TGraphNONAME = new TGraph(nPoints, qc6NONAME, qc6ValueNONAME);
572 qc6TGraphNONAME->SetMarkerStyle(25);
573 qc6TGraphNONAME->SetMarkerColor(kRed);
574 qc6TGraphNONAME->SetMarkerSize(0.25);
576 TGraph *qc6BoxNONAME = new TGraph(5);
577 qc6BoxNONAME->SetPoint(1,(binQC6-0.5)-boxWidth,qc6MinValueNONAME);
578 qc6BoxNONAME->SetPoint(2,(binQC6-0.5)+boxWidth,qc6MinValueNONAME);
579 qc6BoxNONAME->SetPoint(3,(binQC6-0.5)+boxWidth,qc6MaxValueNONAME);
580 qc6BoxNONAME->SetPoint(4,(binQC6-0.5)-boxWidth,qc6MaxValueNONAME);
581 qc6BoxNONAME->SetPoint(5,(binQC6-0.5)-boxWidth,qc6MinValueNONAME);
582 qc6BoxNONAME->SetFillStyle(1001);
583 qc6BoxNONAME->SetFillColor(kRed-10);
586 TGraph* qc8TGraphNONAME = new TGraph(nPoints, qc8NONAME, qc8ValueNONAME);
587 qc8TGraphNONAME->SetMarkerStyle(25);
588 qc8TGraphNONAME->SetMarkerColor(kRed);
589 qc8TGraphNONAME->SetMarkerSize(0.25);
591 TGraph *qc8BoxNONAME = new TGraph(5);
592 qc8BoxNONAME->SetPoint(1,(binQC8-0.5)-boxWidth,qc8MinValueNONAME);
593 qc8BoxNONAME->SetPoint(2,(binQC8-0.5)+boxWidth,qc8MinValueNONAME);
594 qc8BoxNONAME->SetPoint(3,(binQC8-0.5)+boxWidth,qc8MaxValueNONAME);
595 qc8BoxNONAME->SetPoint(4,(binQC8-0.5)-boxWidth,qc8MaxValueNONAME);
596 qc8BoxNONAME->SetPoint(5,(binQC8-0.5)-boxWidth,qc8MinValueNONAME);
597 qc8BoxNONAME->SetFillStyle(1001);
598 qc8BoxNONAME->SetFillColor(kRed-10);
601 TGraph* fqdTGraphNONAME = new TGraph(nPoints, fqdNONAME, fqdValueNONAME);
602 fqdTGraphNONAME->SetMarkerStyle(25);
603 fqdTGraphNONAME->SetMarkerColor(kOrange+7);
604 fqdTGraphNONAME->SetMarkerSize(0.25);
606 TGraph *fqdBoxNONAME = new TGraph(5);
607 fqdBoxNONAME->SetPoint(1,(binFQD-0.5)-boxWidth,fqdMinValueNONAME);
608 fqdBoxNONAME->SetPoint(2,(binFQD-0.5)+boxWidth,fqdMinValueNONAME);
609 fqdBoxNONAME->SetPoint(3,(binFQD-0.5)+boxWidth,fqdMaxValueNONAME);
610 fqdBoxNONAME->SetPoint(4,(binFQD-0.5)-boxWidth,fqdMaxValueNONAME);
611 fqdBoxNONAME->SetPoint(5,(binFQD-0.5)-boxWidth,fqdMinValueNONAME);
612 fqdBoxNONAME->SetFillStyle(1001);
613 fqdBoxNONAME->SetFillColor(kOrange-9);
616 TGraph* lyz1TGraphNONAME = new TGraph(nPoints, lyz1NONAME, lyz1ValueNONAME);
617 lyz1TGraphNONAME->SetMarkerStyle(25);
618 lyz1TGraphNONAME->SetMarkerColor(kYellow+3);
619 lyz1TGraphNONAME->SetMarkerSize(0.25);
621 TGraph *lyz1BoxNONAME = new TGraph(5);
622 lyz1BoxNONAME->SetPoint(1,(binLYZ1-0.5)-boxWidth,lyz1MinValueNONAME);
623 lyz1BoxNONAME->SetPoint(2,(binLYZ1-0.5)+boxWidth,lyz1MinValueNONAME);
624 lyz1BoxNONAME->SetPoint(3,(binLYZ1-0.5)+boxWidth,lyz1MaxValueNONAME);
625 lyz1BoxNONAME->SetPoint(4,(binLYZ1-0.5)-boxWidth,lyz1MaxValueNONAME);
626 lyz1BoxNONAME->SetPoint(5,(binLYZ1-0.5)-boxWidth,lyz1MinValueNONAME);
627 lyz1BoxNONAME->SetFillStyle(1001);
628 lyz1BoxNONAME->SetFillColor(kYellow-8);
631 TGraph* lyzepTGraphNONAME = new TGraph(nPoints, lyzepNONAME, lyzepValueNONAME);
632 lyzepTGraphNONAME->SetMarkerStyle(25);
633 lyzepTGraphNONAME->SetMarkerColor(kGreen+3);
634 lyzepTGraphNONAME->SetMarkerSize(0.25);
636 TGraph *lyzepBoxNONAME = new TGraph(5);
637 lyzepBoxNONAME->SetPoint(1,(binLYZEP-0.5)-boxWidth,lyzepMinValueNONAME);
638 lyzepBoxNONAME->SetPoint(2,(binLYZEP-0.5)+boxWidth,lyzepMinValueNONAME);
639 lyzepBoxNONAME->SetPoint(3,(binLYZEP-0.5)+boxWidth,lyzepMaxValueNONAME);
640 lyzepBoxNONAME->SetPoint(4,(binLYZEP-0.5)-boxWidth,lyzepMaxValueNONAME);
641 lyzepBoxNONAME->SetPoint(5,(binLYZEP-0.5)-boxWidth,lyzepMinValueNONAME);
642 lyzepBoxNONAME->SetFillStyle(1001);
643 lyzepBoxNONAME->SetFillColor(kGreen-9);
645 TCanvas* intFlowCanvasNONAME = new TCanvas("Integrated Flow NONAME","Integrated Flow NONAME",1000,600);
647 intFlowCanvasNONAME->Divide(2,1);
649 // 1st pad is for plot:
650 (intFlowCanvasNONAME->cd(1))->SetPad(0.0,0.0,0.75,1.0);
654 TString intFlowNameNONAME("Superimposing ");
655 intFlowNameNONAME+=nRuns;
656 intFlowNameNONAME+=" independent runs";
657 intFlowNONAME->SetTitle(intFlowNameNONAME.Data());
658 (intFlowNONAME->GetYaxis())->SetRangeUser(0,0.20);
659 intFlowNONAME->Draw();
663 if(mcepBoxNONAME && mcepMinValueNONAME < 1000.) mcepBoxNONAME->Draw("LFSAME");
664 if(mcepTGraphNONAME) mcepTGraphNONAME->Draw("PSAME");
667 if(spBoxNONAME && spMinValueNONAME < 1000.) spBoxNONAME->Draw("LFSAME");
668 if(spTGraphNONAME) spTGraphNONAME->Draw("PSAME");
671 if(gfc2BoxNONAME && gfc2MinValueNONAME < 1000.) gfc2BoxNONAME->Draw("LFSAME");
672 if(gfc2TGraphNONAME) gfc2TGraphNONAME->Draw("PSAME");
675 if(gfc4BoxNONAME && gfc4MinValueNONAME < 1000.) gfc4BoxNONAME->Draw("LFSAME");
676 if(gfc4TGraphNONAME) gfc4TGraphNONAME->Draw("PSAME");
679 if(gfc6BoxNONAME && gfc6MinValueNONAME < 1000.) gfc6BoxNONAME->Draw("LFSAME");
680 if(gfc6TGraphNONAME) gfc6TGraphNONAME->Draw("PSAME");
683 if(gfc8BoxNONAME && gfc8MinValueNONAME < 1000.) gfc8BoxNONAME->Draw("LFSAME");
684 if(gfc8TGraphNONAME) gfc8TGraphNONAME->Draw("PSAME");
687 if(qc2BoxNONAME && qc2MinValueNONAME < 1000.) qc2BoxNONAME->Draw("LFSAME");
688 if(qc2TGraphNONAME) qc2TGraphNONAME->Draw("PSAME");
691 if(qc4BoxNONAME && qc4MinValueNONAME < 1000.) qc4BoxNONAME->Draw("LFSAME");
692 if(qc4TGraphNONAME) qc4TGraphNONAME->Draw("PSAME");
695 if(qc6BoxNONAME && qc6MinValueNONAME < 1000.) qc6BoxNONAME->Draw("LFSAME");
696 if(qc6TGraphNONAME) qc6TGraphNONAME->Draw("PSAME");
699 if(qc8BoxNONAME && qc8MinValueNONAME < 1000.) qc8BoxNONAME->Draw("LFSAME");
700 if(qc8TGraphNONAME) qc8TGraphNONAME->Draw("PSAME");
703 if(fqdBoxNONAME && fqdMinValueNONAME < 1000.) fqdBoxNONAME->Draw("LFSAME");
704 if(fqdTGraphNONAME) fqdTGraphNONAME->Draw("PSAME");
707 if(lyz1BoxNONAME && lyz1MinValueNONAME < 1000.) lyz1BoxNONAME->Draw("LFSAME");
708 if(lyz1TGraphNONAME) lyz1TGraphNONAME->Draw("PSAME");
711 if(lyzepBoxNONAME && lyzepMinValueNONAME < 1000.) lyzepBoxNONAME->Draw("LFSAME");
712 if(lyzepTGraphNONAME) lyzepTGraphNONAME->Draw("PSAME");
714 // 2nd pad is for legend:
715 (intFlowCanvasNONAME->cd(2))->SetPad(0.75,0.0,1.0,1.0);
717 // count real estimates:
718 Int_t mcepCountRealNONAME = 0;
719 Int_t spCountRealNONAME = 0;
720 Int_t gfc2CountRealNONAME = 0;
721 Int_t gfc4CountRealNONAME = 0;
722 Int_t gfc6CountRealNONAME = 0;
723 Int_t gfc8CountRealNONAME = 0;
724 Int_t qc2CountRealNONAME = 0;
725 Int_t qc4CountRealNONAME = 0;
726 Int_t qc6CountRealNONAME = 0;
727 Int_t qc8CountRealNONAME = 0;
728 Int_t fqdCountRealNONAME = 0;
729 Int_t lyz1CountRealNONAME = 0;
730 Int_t lyzepCountRealNONAME = 0;
731 for(Int_t i=0;i<nRuns;i++)
733 if(mcepValueNONAME[i]>0.) mcepCountRealNONAME++;
734 if(spValueNONAME[i]>0.) spCountRealNONAME++;
735 if(gfc2ValueNONAME[i]>0.) gfc2CountRealNONAME++;
736 if(gfc4ValueNONAME[i]>0.) gfc4CountRealNONAME++;
737 if(gfc6ValueNONAME[i]>0.) gfc6CountRealNONAME++;
738 if(gfc8ValueNONAME[i]>0.) gfc8CountRealNONAME++;
739 if(qc2ValueNONAME[i]>0.) qc2CountRealNONAME++;
740 if(qc4ValueNONAME[i]>0.) qc4CountRealNONAME++;
741 if(qc6ValueNONAME[i]>0.) qc6CountRealNONAME++;
742 if(qc8ValueNONAME[i]>0.) qc8CountRealNONAME++;
743 if(fqdValueNONAME[i]>0.) fqdCountRealNONAME++;
744 if(lyz1ValueNONAME[i]>0.) lyz1CountRealNONAME++;
745 if(lyzepValueNONAME[i]>0.) lyzepCountRealNONAME++;
748 TPaveText *textDefaultNONAME = new TPaveText(0.05,0.67,0.95,0.90,"NDC");
749 textDefaultNONAME->SetTextFont(72);
750 textDefaultNONAME->SetTextSize(0.08);
752 TString *entryDefaultRealNONAME = new TString("Real estimates");
753 //TString *entryDefaultOutOfNONAME = new TString("out of");
754 TString *entryDefaultTotalNumberNONAME = new TString(" out of total number of ");
755 TString *entryDefaultTotalIndNONAME = new TString("independent");
756 TString *entryDefaultTotalSimNONAME = new TString("simulations:");
758 textDefaultNONAME->AddText(entryDefaultRealNONAME->Data());
759 //textDefaultNONAME->AddText(entryDefaultOutOfNONAME->Data());
760 textDefaultNONAME->AddText(entryDefaultTotalNumberNONAME->Data());
761 textDefaultNONAME->AddText(entryDefaultTotalIndNONAME->Data());
762 textDefaultNONAME->AddText(entryDefaultTotalSimNONAME->Data());
765 TPaveText *textResultsNONAME = new TPaveText(0.05,0.12,0.95,0.60,"NDC");
766 textResultsNONAME->SetTextFont(72);
767 textResultsNONAME->SetTextSize(0.06);
770 TString *entryIntFlowMCNONAME = new TString("MC ................ ");
771 TString *entryIntFlowSPNONAME = new TString("SP ................ ");
772 TString *entryIntFlowGFC2NONAME = new TString("GFC{2} ........ ");
773 TString *entryIntFlowGFC4NONAME = new TString("GFC{4} ........ ");
774 TString *entryIntFlowGFC6NONAME = new TString("GFC{6} ........ ");
775 TString *entryIntFlowGFC8NONAME = new TString("GFC{8} ........ ");
776 TString *entryIntFlowQC2NONAME = new TString("QC{2} .......... ");
777 TString *entryIntFlowQC4NONAME = new TString("QC{4} .......... ");
778 TString *entryIntFlowQC6NONAME = new TString("QC{6} .......... ");
779 TString *entryIntFlowQC8NONAME = new TString("QC{8} .......... ");
780 TString *entryIntFlowFQDNONAME = new TString("FQD ............. ");
781 TString *entryIntFlowLYZ1NONAME = new TString("LYZ ............. ");
782 TString *entryIntFlowLYZEPNONAME = new TString("LYZEP ........ ");
784 if(entryIntFlowMCNONAME)
786 (*entryIntFlowMCNONAME)+=(Long_t)mcepCountRealNONAME;
787 entryIntFlowMCNONAME->Append(" out of ");
788 (*entryIntFlowMCNONAME)+=(Long_t)counter;
789 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowMCNONAME->Data());
792 if(entryIntFlowSPNONAME)
794 (*entryIntFlowSPNONAME)+=(Long_t)spCountRealNONAME;
795 entryIntFlowSPNONAME->Append(" out of ");
796 (*entryIntFlowSPNONAME)+=(Long_t)counter;
797 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowSPNONAME->Data());
800 if(entryIntFlowGFC2NONAME)
802 (*entryIntFlowGFC2NONAME)+=(Long_t)gfc2CountRealNONAME;
803 entryIntFlowGFC2NONAME->Append(" out of ");
804 (*entryIntFlowGFC2NONAME)+=(Long_t)counter;
805 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC2NONAME->Data());
808 if(entryIntFlowGFC4NONAME)
810 (*entryIntFlowGFC4NONAME)+=(Long_t)gfc4CountRealNONAME;
811 entryIntFlowGFC4NONAME->Append(" out of ");
812 (*entryIntFlowGFC4NONAME)+=(Long_t)counter;
813 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC4NONAME->Data());
816 if(entryIntFlowGFC6NONAME)
818 (*entryIntFlowGFC6NONAME)+=(Long_t)gfc6CountRealNONAME;
819 entryIntFlowGFC6NONAME->Append(" out of ");
820 (*entryIntFlowGFC6NONAME)+=(Long_t)counter;
821 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC6NONAME->Data());
824 if(entryIntFlowGFC8NONAME)
826 (*entryIntFlowGFC8NONAME)+=(Long_t)gfc8CountRealNONAME;
827 entryIntFlowGFC8NONAME->Append(" out of ");
828 (*entryIntFlowGFC8NONAME)+=(Long_t)counter;
829 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC8NONAME->Data());
832 if(entryIntFlowQC2NONAME)
834 (*entryIntFlowQC2NONAME)+=(Long_t)qc2CountRealNONAME;
835 entryIntFlowQC2NONAME->Append(" out of ");
836 (*entryIntFlowQC2NONAME)+=(Long_t)counter;
837 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC2NONAME->Data());
840 if(entryIntFlowQC4NONAME)
842 (*entryIntFlowQC4NONAME)+=(Long_t)qc4CountRealNONAME;
843 entryIntFlowQC4NONAME->Append(" out of ");
844 (*entryIntFlowQC4NONAME)+=(Long_t)counter;
845 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC4NONAME->Data());
848 if(entryIntFlowQC2NONAME)
850 (*entryIntFlowQC6NONAME)+=(Long_t)qc6CountRealNONAME;
851 entryIntFlowQC6NONAME->Append(" out of ");
852 (*entryIntFlowQC6NONAME)+=(Long_t)counter;
853 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC6NONAME->Data());
856 if(entryIntFlowQC8NONAME)
858 (*entryIntFlowQC8NONAME)+=(Long_t)qc8CountRealNONAME;
859 entryIntFlowQC8NONAME->Append(" out of ");
860 (*entryIntFlowQC8NONAME)+=(Long_t)counter;
861 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC8NONAME->Data());
864 if(entryIntFlowFQDNONAME)
866 (*entryIntFlowFQDNONAME)+=(Long_t)fqdCountRealNONAME;
867 entryIntFlowFQDNONAME->Append(" out of ");
868 (*entryIntFlowFQDNONAME)+=(Long_t)counter;
869 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowFQDNONAME->Data());
872 if(entryIntFlowLYZ1NONAME)
874 (*entryIntFlowLYZ1NONAME)+=(Long_t)lyz1CountRealNONAME;
875 entryIntFlowLYZ1NONAME->Append(" out of ");
876 (*entryIntFlowLYZ1NONAME)+=(Long_t)counter;
877 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZ1NONAME->Data());
880 if(entryIntFlowLYZEPNONAME)
882 (*entryIntFlowLYZEPNONAME)+=(Long_t)lyzepCountRealNONAME;
883 entryIntFlowLYZEPNONAME->Append(" out of ");
884 (*entryIntFlowLYZEPNONAME)+=(Long_t)counter;
885 if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZEPNONAME->Data());
888 if(textDefaultNONAME) textDefaultNONAME->Draw();
889 if(textResultsNONAME) textResultsNONAME->Draw();
894 void LoadSpreadLibraries(const libModes mode) {
896 //--------------------------------------
897 // Load the needed libraries most of them already loaded by aliroot
898 //--------------------------------------
899 gSystem->Load("libTree.so");
900 gSystem->Load("libGeom.so");
901 gSystem->Load("libVMC.so");
902 gSystem->Load("libXMLIO.so");
903 gSystem->Load("libPhysics.so");
905 //----------------------------------------------------------
906 // >>>>>>>>>>> Local mode <<<<<<<<<<<<<<
907 //----------------------------------------------------------
909 //--------------------------------------------------------
910 // If you want to use already compiled libraries
911 // in the aliroot distribution
912 //--------------------------------------------------------
914 //==================================================================================
915 //load needed libraries:
916 gSystem->AddIncludePath("-I$ROOTSYS/include");
917 gSystem->Load("libTree.so");
920 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
921 gSystem->Load("libANALYSIS.so");
922 gSystem->Load("libPWG2flowCommon.so");
923 cerr<<"libPWG2flowCommon.so loaded ..."<<endl;
927 else if (mode==mLocalSource) {
929 // In root inline compile
932 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonConstants.cxx+");
933 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZConstants.cxx+");
934 gROOT->LoadMacro("AliFlowCommon/AliFlowCumuConstants.cxx+");
937 gROOT->LoadMacro("AliFlowCommon/AliFlowVector.cxx+");
938 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimple.cxx+");
939 gROOT->LoadMacro("AliFlowCommon/AliFlowEventSimple.cxx+");
942 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimpleCuts.cxx+");
944 // Output histosgrams
945 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHist.cxx+");
946 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHistResults.cxx+");
947 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist1.cxx+");
948 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist2.cxx+");
950 cout << "finished loading macros!" << endl;