]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/macros/showSpread.C
some cosmetics + start of new macro to merge output of different jobs
[u/mrichter/AliRoot.git] / PWG2 / FLOW / macros / showSpread.C
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
4
5 void showSpread(const Int_t nRuns=10, TString type="",Int_t mode=mLocal)
6
7  // load needed libraries:                       
8  LoadSpreadLibraries(mode);  
9  
10  // standard magic:
11  TString execDir(gSystem->pwd());  
12  TSystemDirectory* baseDir = new TSystemDirectory(".",execDir.Data());          
13  TList* dirList = baseDir->GetListOfFiles();
14  Int_t nDirs = dirList->GetEntries();
15  gSystem->cd(execDir);
16  
17  // arrays to store estimates of each method from different runs:
18  // MCEP:
19  Double_t mcepValueNONAME[nRuns] = {0.}; 
20  Double_t mcepMaxValueNONAME = 0.;       
21  Double_t mcepMinValueNONAME = 1000.;   
22  
23  // SP:
24  Double_t spValueNONAME[nRuns] = {0.}; 
25  Double_t spMaxValueNONAME = 0.;       
26  Double_t spMinValueNONAME = 1000.;   
27  
28  // GFC{2}
29  Double_t gfc2ValueNONAME[nRuns] = {0.}; 
30  Double_t gfc2MaxValueNONAME = 0.;       
31  Double_t gfc2MinValueNONAME = 1000.;       
32
33  // GFC{4}
34  Double_t gfc4ValueNONAME[nRuns] = {0.}; 
35  Double_t gfc4MaxValueNONAME = 0.;       
36  Double_t gfc4MinValueNONAME = 1000.;       
37
38  // GFC{6}
39  Double_t gfc6ValueNONAME[nRuns] = {0.}; 
40  Double_t gfc6MaxValueNONAME = 0.;       
41  Double_t gfc6MinValueNONAME = 1000.;       
42
43  // GFC{8}
44  Double_t gfc8ValueNONAME[nRuns] = {0.}; 
45  Double_t gfc8MaxValueNONAME = 0.;       
46  Double_t gfc8MinValueNONAME = 1000.;       
47  
48  // QC{2}
49  Double_t qc2ValueNONAME[nRuns] = {0.}; 
50  Double_t qc2MaxValueNONAME = 0.;       
51  Double_t qc2MinValueNONAME = 1000.;       
52
53  // QC{4}
54  Double_t qc4ValueNONAME[nRuns] = {0.}; 
55  Double_t qc4MaxValueNONAME = 0.;       
56  Double_t qc4MinValueNONAME = 1000.;       
57
58  // QC{6}
59  Double_t qc6ValueNONAME[nRuns] = {0.}; 
60  Double_t qc6MaxValueNONAME = 0.;       
61  Double_t qc6MinValueNONAME = 1000.;       
62
63  // QC{8}
64  Double_t qc8ValueNONAME[nRuns] = {0.}; 
65  Double_t qc8MaxValueNONAME = 0.;       
66  Double_t qc8MinValueNONAME = 1000.; 
67  
68  // FQD:
69  Double_t fqdValueNONAME[nRuns] = {0.}; 
70  Double_t fqdMaxValueNONAME = 0.;       
71  Double_t fqdMinValueNONAME = 1000.;   
72  
73  // LYZ1:
74  Double_t lyz1ValueNONAME[nRuns] = {0.}; 
75  Double_t lyz1MaxValueNONAME = 0.;       
76  Double_t lyz1MinValueNONAME = 1000.;
77  
78  // LYZEP:
79  Double_t lyzepValueNONAME[nRuns] = {0.}; 
80  Double_t lyzepMaxValueNONAME = 0.;       
81  Double_t lyzepMinValueNONAME = 1000.;            
82              
83  Int_t counter = 0;
84   
85  for(Int_t iDir=0;iDir<nDirs;++iDir)
86  {
87   TSystemFile* presentDir = (TSystemFile*)dirList->At(iDir);
88   if(!presentDir || !presentDir->IsDirectory() || strcmp(presentDir->GetName(), ".") == 0 || 
89      strcmp(presentDir->GetName(), "..") == 0) continue; 
90           
91   if (counter >= nRuns) break;       
92                        
93   TString presentDirName(gSystem->pwd()); 
94   presentDirName += "/";
95   presentDirName += presentDir->GetName();
96   presentDirName += "/";
97    
98   // accessing the output .root files for each method:
99   // MCEP:     
100   TString fileNameMCEP = presentDirName;   
101   fileNameMCEP+="outputMCEPanalysis.root";
102   TFile *fileMCEP = TFile::Open(fileNameMCEP.Data(), "READ");      
103   TList *listMCEP = NULL;
104   AliFlowCommonHistResults *mcepCommonHistRes = NULL; 
105   
106   if(fileMCEP) 
107   {
108    fileMCEP->GetObject("cobjMCEP",listMCEP); 
109    if(listMCEP) 
110    {
111     mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listMCEP->FindObject("AliFlowCommonHistResultsMCEP")); 
112    }  
113   }
114   
115   if(mcepCommonHistRes && mcepCommonHistRes->GetHistIntFlow())
116   {
117    mcepValueNONAME[counter] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
118    if(mcepValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
119    {
120     if(mcepMaxValueNONAME < mcepValueNONAME[counter]) mcepMaxValueNONAME = mcepValueNONAME[counter]; 
121     if(mcepMinValueNONAME > mcepValueNONAME[counter]) mcepMinValueNONAME = mcepValueNONAME[counter]; 
122    } 
123   }
124   
125   // SP:     
126   TString fileNameSP = presentDirName;   
127   fileNameSP+="outputSPanalysis.root";
128   TFile *fileSP = TFile::Open(fileNameSP.Data(), "READ");      
129   TList *listSP = NULL;
130   AliFlowCommonHistResults *spCommonHistRes = NULL; 
131   
132   if(fileSP) 
133   {
134    fileSP->GetObject("cobjSP",listSP); 
135    if(listSP) 
136    {
137     spCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listSP->FindObject("AliFlowCommonHistResultsSP")); 
138    }  
139   }
140   
141   if(spCommonHistRes && spCommonHistRes->GetHistIntFlow())
142   {
143    spValueNONAME[counter] = (spCommonHistRes->GetHistIntFlow())->GetBinContent(1);
144    if(spValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
145    {
146     if(spMaxValueNONAME < spValueNONAME[counter]) spMaxValueNONAME = spValueNONAME[counter]; 
147     if(spMinValueNONAME > spValueNONAME[counter]) spMinValueNONAME = spValueNONAME[counter]; 
148    } 
149   }
150   
151   // GFC:     
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; 
160  
161   if(fileGFC) 
162   {
163    fileGFC->GetObject("cobjGFC",listGFC); 
164    if(listGFC) 
165    {
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")); 
170    }  
171   }
172     
173   if(gfc2CommonHistRes && gfc2CommonHistRes->GetHistIntFlow())
174   {
175    gfc2ValueNONAME[counter] = (gfc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
176    if(gfc2ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
177    {
178     if(gfc2MaxValueNONAME < gfc2ValueNONAME[counter]) gfc2MaxValueNONAME = gfc2ValueNONAME[counter]; 
179     if(gfc2MinValueNONAME > gfc2ValueNONAME[counter]) gfc2MinValueNONAME = gfc2ValueNONAME[counter]; 
180    } 
181   }
182   
183   if(gfc4CommonHistRes && gfc4CommonHistRes->GetHistIntFlow())
184   {
185    gfc4ValueNONAME[counter] = (gfc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
186    if(gfc4ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
187    {
188     if(gfc4MaxValueNONAME < gfc4ValueNONAME[counter]) gfc4MaxValueNONAME = gfc4ValueNONAME[counter]; 
189     if(gfc4MinValueNONAME > gfc4ValueNONAME[counter]) gfc4MinValueNONAME = gfc4ValueNONAME[counter]; 
190    } 
191   }
192    
193   if(gfc6CommonHistRes && gfc6CommonHistRes->GetHistIntFlow())
194   {
195    gfc6ValueNONAME[counter] = (gfc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
196    if(gfc6ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
197    {
198     if(gfc6MaxValueNONAME < gfc6ValueNONAME[counter]) gfc6MaxValueNONAME = gfc6ValueNONAME[counter]; 
199     if(gfc6MinValueNONAME > gfc6ValueNONAME[counter]) gfc6MinValueNONAME = gfc6ValueNONAME[counter]; 
200    } 
201   }
202   
203   if(gfc8CommonHistRes && gfc8CommonHistRes->GetHistIntFlow())
204   {
205    gfc8ValueNONAME[counter] = (gfc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
206    if(gfc8ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
207    {
208     if(gfc8MaxValueNONAME < gfc8ValueNONAME[counter]) gfc8MaxValueNONAME = gfc8ValueNONAME[counter]; 
209     if(gfc8MinValueNONAME > gfc8ValueNONAME[counter]) gfc8MinValueNONAME = gfc8ValueNONAME[counter]; 
210    } 
211   } 
212                              
213   // QC:     
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; 
222  
223   if(fileQC) 
224   {
225    fileQC->GetObject("cobjQC",listQC); 
226    if(listQC) 
227    {
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")); 
232    }  
233   }
234     
235   if(qc2CommonHistRes && qc2CommonHistRes->GetHistIntFlow())
236   {
237    qc2ValueNONAME[counter] = (qc2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
238    if(qc2ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
239    {
240     if(qc2MaxValueNONAME < qc2ValueNONAME[counter]) qc2MaxValueNONAME = qc2ValueNONAME[counter]; 
241     if(qc2MinValueNONAME > qc2ValueNONAME[counter]) qc2MinValueNONAME = qc2ValueNONAME[counter]; 
242    } 
243   }
244   
245   if(qc4CommonHistRes && qc4CommonHistRes->GetHistIntFlow())
246   {
247    qc4ValueNONAME[counter] = (qc4CommonHistRes->GetHistIntFlow())->GetBinContent(1);
248    if(qc4ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
249    {
250     if(qc4MaxValueNONAME < qc4ValueNONAME[counter]) qc4MaxValueNONAME = qc4ValueNONAME[counter]; 
251     if(qc4MinValueNONAME > qc4ValueNONAME[counter]) qc4MinValueNONAME = qc4ValueNONAME[counter]; 
252    } 
253   }
254    
255   if(qc6CommonHistRes && qc6CommonHistRes->GetHistIntFlow())
256   {
257    qc6ValueNONAME[counter] = (qc6CommonHistRes->GetHistIntFlow())->GetBinContent(1);
258    if(qc6ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
259    {
260     if(qc6MaxValueNONAME < qc6ValueNONAME[counter]) qc6MaxValueNONAME = qc6ValueNONAME[counter]; 
261     if(qc6MinValueNONAME > qc6ValueNONAME[counter]) qc6MinValueNONAME = qc6ValueNONAME[counter]; 
262    } 
263   }
264   
265   if(qc8CommonHistRes && qc8CommonHistRes->GetHistIntFlow())
266   {
267    qc8ValueNONAME[counter] = (qc8CommonHistRes->GetHistIntFlow())->GetBinContent(1);
268    if(qc8ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
269    {
270     if(qc8MaxValueNONAME < qc8ValueNONAME[counter]) qc8MaxValueNONAME = qc8ValueNONAME[counter]; 
271     if(qc8MinValueNONAME > qc8ValueNONAME[counter]) qc8MinValueNONAME = qc8ValueNONAME[counter]; 
272    } 
273   } 
274   
275   // FQD:     
276   TString fileNameFQD = presentDirName;   
277   fileNameFQD+="outputFQDanalysis.root";
278   TFile *fileFQD = TFile::Open(fileNameFQD.Data(), "READ");      
279   TList *listFQD = NULL;
280   AliFlowCommonHistResults *fqdCommonHistRes = NULL; 
281   
282   if(fileFQD) 
283   {
284    fileFQD->GetObject("cobjFQD",listFQD); 
285    if(listFQD) 
286    {
287     fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listFQD->FindObject("AliFlowCommonHistResultsFQD")); 
288    }  
289   }
290   
291   if(fqdCommonHistRes && fqdCommonHistRes->GetHistIntFlow())
292   {
293    fqdValueNONAME[counter] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);
294    if(fqdValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
295    {
296     if(fqdMaxValueNONAME < fqdValueNONAME[counter]) fqdMaxValueNONAME = fqdValueNONAME[counter]; 
297     if(fqdMinValueNONAME > fqdValueNONAME[counter]) fqdMinValueNONAME = fqdValueNONAME[counter]; 
298    } 
299   }
300   
301   // LYZ1:     
302   TString fileNameLYZ1 = presentDirName;   
303   fileNameLYZ1+="outputLYZ1analysis.root";
304   TFile *fileLYZ1 = TFile::Open(fileNameLYZ1.Data(), "READ");      
305   TList *listLYZ1 = NULL;
306   AliFlowCommonHistResults *lyz1CommonHistRes = NULL; 
307   
308   if(fileLYZ1) 
309   {
310    fileLYZ1->GetObject("cobjLYZ1",listLYZ1); 
311    if(listLYZ1) 
312    {
313     lyz1CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listLYZ1->FindObject("AliFlowCommonHistResultsLYZ1")); 
314    }  
315   }
316   
317   if(lyz1CommonHistRes && lyz1CommonHistRes->GetHistIntFlow())
318   {
319    lyz1ValueNONAME[counter] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinContent(1);
320    if(lyz1ValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
321    {
322     if(lyz1MaxValueNONAME < lyz1ValueNONAME[counter]) lyz1MaxValueNONAME = lyz1ValueNONAME[counter]; 
323     if(lyz1MinValueNONAME > lyz1ValueNONAME[counter]) lyz1MinValueNONAME = lyz1ValueNONAME[counter]; 
324    } 
325   }
326   
327   // LYZEP:     
328   TString fileNameLYZEP = presentDirName;   
329   fileNameLYZEP+="outputLYZEPanalysis.root";
330   TFile *fileLYZEP = TFile::Open(fileNameLYZEP.Data(), "READ");      
331   TList *listLYZEP = NULL;
332   AliFlowCommonHistResults *lyzepCommonHistRes = NULL; 
333   
334   if(fileLYZEP) 
335   {
336    fileLYZEP->GetObject("cobjLYZEP",listLYZEP); 
337    if(listLYZEP) 
338    {
339     lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (listLYZEP->FindObject("AliFlowCommonHistResultsLYZEP")); 
340    }  
341   }
342   
343   if(lyzepCommonHistRes && lyzepCommonHistRes->GetHistIntFlow())
344   {
345    lyzepValueNONAME[counter] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
346    if(lyzepValueNONAME[counter]>0.) // modify this condition for RPs and POIs !!!
347    {
348     if(lyzepMaxValueNONAME < lyzepValueNONAME[counter]) lyzepMaxValueNONAME = lyzepValueNONAME[counter]; 
349     if(lyzepMinValueNONAME > lyzepValueNONAME[counter]) lyzepMinValueNONAME = lyzepValueNONAME[counter]; 
350    } 
351   }
352   
353   counter++;
354   
355  } // end of for(Int_t iDir=0;iDir<nDirs;++iDir)
356  
357  
358  
359
360  
361  
362  // removing the title and stat. box from all histograms:
363  // gStyle->SetOptTitle(0);
364  gStyle->SetOptStat(0);  
365  
366  // box width:
367  const Double_t boxWidth = 0.25;
368   
369  // the number of different methods:
370  const Int_t nMethods = 13;
371  
372  // the number of runs:
373  const Int_t nPoints = counter;
374    
375  // booking the style histogram for the integrated flow results from all methods for NONAME, RPs and POIs:
376  // assigning bin numbers to methods:
377  Int_t binMCEP = 1; 
378  Int_t binSP = 2;
379  Int_t binGFC2 = 3; 
380  Int_t binGFC4 = 5; 
381  Int_t binGFC6 = 7; 
382  Int_t binGFC8 = 9; 
383  Int_t binQC2 = 4; 
384  Int_t binQC4 = 6; 
385  Int_t binQC6 = 8; 
386  Int_t binQC8 = 10; 
387  Int_t binFQD = 11; 
388  Int_t binLYZ1 = 12; 
389  Int_t binLYZEP = 13; 
390  
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}");
410   
411  
412  
413  //=============================================================================
414  //                             NONAME 
415  //=============================================================================
416    
417  TH1D *intFlowNONAME = new TH1D(*intFlowAll); 
418  
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.}; 
432  
433  for(Int_t i=0;i<nPoints;i++)
434  {
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;
448  }
449  
450  // MCEP:
451  TGraph* mcepTGraphNONAME = new TGraph(nPoints, mcepNONAME, mcepValueNONAME);
452  mcepTGraphNONAME->SetMarkerStyle(25);
453  mcepTGraphNONAME->SetMarkerColor(kBlack); 
454  mcepTGraphNONAME->SetMarkerSize(0.25); 
455  
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);
464   
465  // SP:
466  TGraph* spTGraphNONAME = new TGraph(nPoints, spNONAME, spValueNONAME);
467  spTGraphNONAME->SetMarkerStyle(25);
468  spTGraphNONAME->SetMarkerColor(kViolet+3); 
469  spTGraphNONAME->SetMarkerSize(0.25); 
470  
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);
479  
480  // GFC{2}:
481  TGraph* gfc2TGraphNONAME = new TGraph(nPoints, gfc2NONAME, gfc2ValueNONAME);
482  gfc2TGraphNONAME->SetMarkerStyle(25);
483  gfc2TGraphNONAME->SetMarkerColor(kBlue);
484  gfc2TGraphNONAME->SetMarkerSize(0.25); 
485  
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);
494  
495  // GFC{4}:
496  TGraph* gfc4TGraphNONAME = new TGraph(nPoints, gfc4NONAME, gfc4ValueNONAME);
497  gfc4TGraphNONAME->SetMarkerStyle(25);
498  gfc4TGraphNONAME->SetMarkerColor(kBlue); 
499  gfc4TGraphNONAME->SetMarkerSize(0.25); 
500  
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);
509
510  // GFC{6}:
511  TGraph* gfc6TGraphNONAME = new TGraph(nPoints, gfc6NONAME, gfc6ValueNONAME);
512  gfc6TGraphNONAME->SetMarkerStyle(25);
513  gfc6TGraphNONAME->SetMarkerColor(kBlue); 
514  gfc6TGraphNONAME->SetMarkerSize(0.25); 
515  
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);
524
525  // GFC{8}:
526  TGraph* gfc8TGraphNONAME = new TGraph(nPoints, gfc8NONAME, gfc8ValueNONAME);
527  gfc8TGraphNONAME->SetMarkerStyle(25);
528  gfc8TGraphNONAME->SetMarkerColor(kBlue); 
529  gfc8TGraphNONAME->SetMarkerSize(0.25); 
530  
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);
539  
540  // QC{2}:
541  TGraph* qc2TGraphNONAME = new TGraph(nPoints, qc2NONAME, qc2ValueNONAME);
542  qc2TGraphNONAME->SetMarkerStyle(25);
543  qc2TGraphNONAME->SetMarkerColor(kRed); 
544  qc2TGraphNONAME->SetMarkerSize(0.25); 
545  
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);
554  
555  // QC{4}:
556  TGraph* qc4TGraphNONAME = new TGraph(nPoints, qc4NONAME, qc4ValueNONAME);
557  qc4TGraphNONAME->SetMarkerStyle(25);
558  qc4TGraphNONAME->SetMarkerColor(kRed); 
559  qc4TGraphNONAME->SetMarkerSize(0.25); 
560  
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);
569
570  // QC{6}:
571  TGraph* qc6TGraphNONAME = new TGraph(nPoints, qc6NONAME, qc6ValueNONAME);
572  qc6TGraphNONAME->SetMarkerStyle(25);
573  qc6TGraphNONAME->SetMarkerColor(kRed); 
574  qc6TGraphNONAME->SetMarkerSize(0.25); 
575  
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);
584
585  // QC{8}:
586  TGraph* qc8TGraphNONAME = new TGraph(nPoints, qc8NONAME, qc8ValueNONAME);
587  qc8TGraphNONAME->SetMarkerStyle(25);
588  qc8TGraphNONAME->SetMarkerColor(kRed); 
589  qc8TGraphNONAME->SetMarkerSize(0.25); 
590  
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);
599  
600  // FQD:
601  TGraph* fqdTGraphNONAME = new TGraph(nPoints, fqdNONAME, fqdValueNONAME);
602  fqdTGraphNONAME->SetMarkerStyle(25);
603  fqdTGraphNONAME->SetMarkerColor(kOrange+7); 
604  fqdTGraphNONAME->SetMarkerSize(0.25); 
605  
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);
614  
615  // LYZ1:
616  TGraph* lyz1TGraphNONAME = new TGraph(nPoints, lyz1NONAME, lyz1ValueNONAME);
617  lyz1TGraphNONAME->SetMarkerStyle(25);
618  lyz1TGraphNONAME->SetMarkerColor(kYellow+3); 
619  lyz1TGraphNONAME->SetMarkerSize(0.25); 
620   
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);
629    
630  // LYZEP:
631  TGraph* lyzepTGraphNONAME = new TGraph(nPoints, lyzepNONAME, lyzepValueNONAME);
632  lyzepTGraphNONAME->SetMarkerStyle(25);
633  lyzepTGraphNONAME->SetMarkerColor(kGreen+3); 
634  lyzepTGraphNONAME->SetMarkerSize(0.25); 
635  
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);
644    
645  TCanvas* intFlowCanvasNONAME = new TCanvas("Integrated Flow NONAME","Integrated Flow NONAME",1000,600);
646  
647  intFlowCanvasNONAME->Divide(2,1);
648  
649  // 1st pad is for plot:
650  (intFlowCanvasNONAME->cd(1))->SetPad(0.0,0.0,0.75,1.0);
651  
652  if(intFlowNONAME) 
653  {
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();
660  }
661  
662  // MCEP 
663  if(mcepBoxNONAME && mcepMinValueNONAME < 1000.) mcepBoxNONAME->Draw("LFSAME");
664  if(mcepTGraphNONAME) mcepTGraphNONAME->Draw("PSAME");
665  
666  // SP 
667  if(spBoxNONAME && spMinValueNONAME < 1000.) spBoxNONAME->Draw("LFSAME");
668  if(spTGraphNONAME) spTGraphNONAME->Draw("PSAME");
669  
670  // GFC{2} 
671  if(gfc2BoxNONAME && gfc2MinValueNONAME < 1000.) gfc2BoxNONAME->Draw("LFSAME");
672  if(gfc2TGraphNONAME) gfc2TGraphNONAME->Draw("PSAME");
673   
674  // GFC{4} 
675  if(gfc4BoxNONAME && gfc4MinValueNONAME < 1000.) gfc4BoxNONAME->Draw("LFSAME");
676  if(gfc4TGraphNONAME) gfc4TGraphNONAME->Draw("PSAME");
677
678  // GFC{6} 
679  if(gfc6BoxNONAME && gfc6MinValueNONAME < 1000.) gfc6BoxNONAME->Draw("LFSAME");
680  if(gfc6TGraphNONAME) gfc6TGraphNONAME->Draw("PSAME");
681
682  // GFC{8} 
683  if(gfc8BoxNONAME && gfc8MinValueNONAME < 1000.) gfc8BoxNONAME->Draw("LFSAME");
684  if(gfc8TGraphNONAME) gfc8TGraphNONAME->Draw("PSAME");
685  
686  // QC{2} 
687  if(qc2BoxNONAME && qc2MinValueNONAME < 1000.) qc2BoxNONAME->Draw("LFSAME");
688  if(qc2TGraphNONAME) qc2TGraphNONAME->Draw("PSAME");
689   
690  // QC{4} 
691  if(qc4BoxNONAME && qc4MinValueNONAME < 1000.) qc4BoxNONAME->Draw("LFSAME");
692  if(qc4TGraphNONAME) qc4TGraphNONAME->Draw("PSAME");
693
694  // QC{6} 
695  if(qc6BoxNONAME && qc6MinValueNONAME < 1000.) qc6BoxNONAME->Draw("LFSAME");
696  if(qc6TGraphNONAME) qc6TGraphNONAME->Draw("PSAME");
697
698  // QC{8} 
699  if(qc8BoxNONAME && qc8MinValueNONAME < 1000.) qc8BoxNONAME->Draw("LFSAME");
700  if(qc8TGraphNONAME) qc8TGraphNONAME->Draw("PSAME");
701  
702  // FQD 
703  if(fqdBoxNONAME && fqdMinValueNONAME < 1000.) fqdBoxNONAME->Draw("LFSAME");
704  if(fqdTGraphNONAME) fqdTGraphNONAME->Draw("PSAME");
705  
706  // LYZ1 
707  if(lyz1BoxNONAME && lyz1MinValueNONAME < 1000.) lyz1BoxNONAME->Draw("LFSAME");
708  if(lyz1TGraphNONAME) lyz1TGraphNONAME->Draw("PSAME");
709  
710  // LYZEP 
711  if(lyzepBoxNONAME && lyzepMinValueNONAME < 1000.) lyzepBoxNONAME->Draw("LFSAME");
712  if(lyzepTGraphNONAME) lyzepTGraphNONAME->Draw("PSAME");
713  
714  // 2nd pad is for legend:   
715  (intFlowCanvasNONAME->cd(2))->SetPad(0.75,0.0,1.0,1.0);
716  
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++)
732  {
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++; 
746  }
747
748  TPaveText *textDefaultNONAME = new TPaveText(0.05,0.67,0.95,0.90,"NDC");
749  textDefaultNONAME->SetTextFont(72);
750  textDefaultNONAME->SetTextSize(0.08);
751   
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:");
757   
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());
763  
764  // results:
765  TPaveText *textResultsNONAME = new TPaveText(0.05,0.12,0.95,0.60,"NDC");
766  textResultsNONAME->SetTextFont(72);
767  textResultsNONAME->SetTextSize(0.06);
768  
769  // entries:
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 ........ ");
783
784  if(entryIntFlowMCNONAME)
785  { 
786   (*entryIntFlowMCNONAME)+=(Long_t)mcepCountRealNONAME;
787   entryIntFlowMCNONAME->Append(" out of ");
788   (*entryIntFlowMCNONAME)+=(Long_t)counter;
789   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowMCNONAME->Data());
790  }
791  
792  if(entryIntFlowSPNONAME)
793  { 
794   (*entryIntFlowSPNONAME)+=(Long_t)spCountRealNONAME;
795   entryIntFlowSPNONAME->Append(" out of ");
796   (*entryIntFlowSPNONAME)+=(Long_t)counter;
797   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowSPNONAME->Data());
798  }
799  
800  if(entryIntFlowGFC2NONAME)
801  { 
802   (*entryIntFlowGFC2NONAME)+=(Long_t)gfc2CountRealNONAME;
803   entryIntFlowGFC2NONAME->Append(" out of ");
804   (*entryIntFlowGFC2NONAME)+=(Long_t)counter;
805   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC2NONAME->Data());
806  }
807  
808  if(entryIntFlowGFC4NONAME)
809  { 
810   (*entryIntFlowGFC4NONAME)+=(Long_t)gfc4CountRealNONAME;
811   entryIntFlowGFC4NONAME->Append(" out of ");
812   (*entryIntFlowGFC4NONAME)+=(Long_t)counter;
813   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC4NONAME->Data());
814  }
815
816  if(entryIntFlowGFC6NONAME)
817  { 
818   (*entryIntFlowGFC6NONAME)+=(Long_t)gfc6CountRealNONAME;
819   entryIntFlowGFC6NONAME->Append(" out of ");
820   (*entryIntFlowGFC6NONAME)+=(Long_t)counter;
821   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC6NONAME->Data());
822  }
823
824  if(entryIntFlowGFC8NONAME)
825  { 
826   (*entryIntFlowGFC8NONAME)+=(Long_t)gfc8CountRealNONAME;
827   entryIntFlowGFC8NONAME->Append(" out of ");
828   (*entryIntFlowGFC8NONAME)+=(Long_t)counter;
829   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowGFC8NONAME->Data());
830  }
831  
832  if(entryIntFlowQC2NONAME)
833  { 
834   (*entryIntFlowQC2NONAME)+=(Long_t)qc2CountRealNONAME;
835   entryIntFlowQC2NONAME->Append(" out of ");
836   (*entryIntFlowQC2NONAME)+=(Long_t)counter;
837   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC2NONAME->Data());
838  }
839  
840  if(entryIntFlowQC4NONAME)
841  { 
842   (*entryIntFlowQC4NONAME)+=(Long_t)qc4CountRealNONAME;
843   entryIntFlowQC4NONAME->Append(" out of ");
844   (*entryIntFlowQC4NONAME)+=(Long_t)counter;
845   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC4NONAME->Data());
846  }
847
848  if(entryIntFlowQC2NONAME)
849  { 
850   (*entryIntFlowQC6NONAME)+=(Long_t)qc6CountRealNONAME;
851   entryIntFlowQC6NONAME->Append(" out of ");
852   (*entryIntFlowQC6NONAME)+=(Long_t)counter;
853   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC6NONAME->Data());
854  }
855
856  if(entryIntFlowQC8NONAME)
857  { 
858   (*entryIntFlowQC8NONAME)+=(Long_t)qc8CountRealNONAME;
859   entryIntFlowQC8NONAME->Append(" out of ");
860   (*entryIntFlowQC8NONAME)+=(Long_t)counter;
861   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowQC8NONAME->Data());
862  }
863  
864  if(entryIntFlowFQDNONAME)
865  { 
866   (*entryIntFlowFQDNONAME)+=(Long_t)fqdCountRealNONAME;
867   entryIntFlowFQDNONAME->Append(" out of ");
868   (*entryIntFlowFQDNONAME)+=(Long_t)counter;
869   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowFQDNONAME->Data());
870  }
871  
872  if(entryIntFlowLYZ1NONAME)
873  { 
874   (*entryIntFlowLYZ1NONAME)+=(Long_t)lyz1CountRealNONAME;
875   entryIntFlowLYZ1NONAME->Append(" out of ");
876   (*entryIntFlowLYZ1NONAME)+=(Long_t)counter;
877   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZ1NONAME->Data());
878  }
879  
880  if(entryIntFlowLYZEPNONAME)
881  { 
882   (*entryIntFlowLYZEPNONAME)+=(Long_t)lyzepCountRealNONAME;
883   entryIntFlowLYZEPNONAME->Append(" out of ");
884   (*entryIntFlowLYZEPNONAME)+=(Long_t)counter;
885   if(textResultsNONAME)textResultsNONAME->AddText(entryIntFlowLYZEPNONAME->Data());
886  }
887  
888  if(textDefaultNONAME) textDefaultNONAME->Draw();
889  if(textResultsNONAME) textResultsNONAME->Draw();
890  
891 }
892
893
894 void LoadSpreadLibraries(const libModes mode) {
895   
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");
904   
905   //----------------------------------------------------------
906   // >>>>>>>>>>> Local mode <<<<<<<<<<<<<< 
907   //----------------------------------------------------------
908   if (mode==mLocal) {
909     //--------------------------------------------------------
910     // If you want to use already compiled libraries 
911     // in the aliroot distribution
912     //--------------------------------------------------------
913
914   //==================================================================================  
915   //load needed libraries:
916   gSystem->AddIncludePath("-I$ROOTSYS/include");
917   gSystem->Load("libTree.so");
918
919   // for AliRoot
920   gSystem->AddIncludePath("-I$ALICE_ROOT/include");
921   gSystem->Load("libANALYSIS.so");
922   gSystem->Load("libPWG2flowCommon.so");
923   cerr<<"libPWG2flowCommon.so loaded ..."<<endl;
924   
925   }
926   
927   else if (mode==mLocalSource) {
928  
929     // In root inline compile
930   
931     // Constants  
932     gROOT->LoadMacro("AliFlowCommon/AliFlowCommonConstants.cxx+");
933     gROOT->LoadMacro("AliFlowCommon/AliFlowLYZConstants.cxx+");
934     gROOT->LoadMacro("AliFlowCommon/AliFlowCumuConstants.cxx+");
935     
936     // Flow event
937     gROOT->LoadMacro("AliFlowCommon/AliFlowVector.cxx+"); 
938     gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimple.cxx+");    
939     gROOT->LoadMacro("AliFlowCommon/AliFlowEventSimple.cxx+");
940     
941     // Cuts
942     gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimpleCuts.cxx+");    
943     
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+");
949        
950     cout << "finished loading macros!" << endl;  
951     
952   }  
953   
954   
955 }
956
957