]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG2/FLOW/macros/CompareFlowResults.C
bf32c5d20482120119c78a8ffdc052facfce311b
[u/mrichter/AliRoot.git] / PWG2 / FLOW / macros / CompareFlowResults.C
1 //type of analysis can be: ESD, AOD, MC, ESDMC0, ESDMC1
2 //const TString type = "ESD"; 
3 void CompareFlowResults(TString type="")
4 {
5   gSystem->AddIncludePath("-I$ALICE_ROOT/include");
6   gSystem->AddIncludePath("-I$ROOTSYS/include");
7   
8   //load needed libraries:
9   gSystem->Load("libTree.so");
10   gSystem->Load("libANALYSIS.so");
11   gSystem->Load("libPWG2flow.so");
12   cerr<<"libPWG2flow.so loaded ..."<<endl;
13   cout<<endl;
14   
15   
16   
17   
18   //==================================================================================
19   //             set here which plots will be shown by default
20   //==================================================================================
21   //RP = particles used to determine the reaction plane
22   Bool_t plotIntFlowRP = kFALSE;    //integrated flow RP
23   Bool_t plotDiffFlowPtRP = kFALSE;  //differential flow (Pt,RP)
24   Bool_t plotDiffFlowEtaRP = kFALSE; //differential flow (Eta,RP)
25   //POI = particle of interest
26   Bool_t plotIntFlowPOI = kFALSE;     //integrated flow POI
27   Bool_t plotDiffFlowPtPOI = kTRUE;  //differential flow (Pt,POI)
28   Bool_t plotDiffFlowEtaPOI = kTRUE; //differential flow (Eta,POI)
29   //==================================================================================
30   
31   
32   
33   
34   //==================================================================================
35   //                         accessing output files
36   //==================================================================================
37   
38   //open the output files:
39   TString inputFileNameMCEP = "outputMCEPanalysis";
40   TFile* fileMCEP = NULL;
41   fileMCEP = TFile::Open(((inputFileNameMCEP.Append(type)).Append(".root")).Data(), "READ"); 
42   
43   TString inputFileNameLYZ1 = "outputLYZ1analysis";
44   TFile* fileLYZ1 = NULL;
45   fileLYZ1 = TFile::Open(((inputFileNameLYZ1.Append(type)).Append(".root")).Data(), "READ"); 
46   
47   TString inputFileNameLYZ2 = "outputLYZ2analysis";
48   TFile* fileLYZ2 = NULL;
49   fileLYZ2 = TFile::Open(((inputFileNameLYZ2.Append(type)).Append(".root")).Data(), "READ"); 
50   
51   TString inputFileNameLYZEP = "outputLYZEPanalysis";
52   TFile* fileLYZEP = NULL;
53   fileLYZEP = TFile::Open(((inputFileNameLYZEP.Append(type)).Append(".root")).Data(), "READ");
54   
55   TString inputFileNameFQD = "outputFQDanalysis";
56   TFile* fileFQD = NULL;
57   fileFQD = TFile::Open(((inputFileNameFQD.Append(type)).Append(".root")).Data(), "READ"); 
58   
59   TString inputFileNameGFC = "outputGFCanalysis";
60   TFile* fileGFC = NULL;
61   fileGFC = TFile::Open(((inputFileNameGFC.Append(type)).Append(".root")).Data(), "READ"); 
62   
63   TString inputFileNameQC = "outputQCanalysis";
64   TFile* fileQC = NULL;
65   fileQC = TFile::Open(((inputFileNameQC.Append(type)).Append(".root")).Data(), "READ"); 
66   //==================================================================================
67  
68  
69  
70  
71   //==================================================================================
72   //                                 cosmetics
73   //==================================================================================
74   //removing the title and stat. box from all histograms:
75   gStyle->SetOptTitle(0);
76   gStyle->SetOptStat(0);
77   
78   //choosing the style and color of mesh for MC error bands:
79   Int_t meshStyle = 1001;
80   Int_t meshColor = kRed-10;
81   
82   //marker style and color (int. flow) 
83   Int_t markerStyle = 21;
84   Int_t markerColor = kRed-3;
85   //==================================================================================
86   
87   
88   
89   
90   //==================================================================================
91   //                              INTEGRATED FLOW
92   //==================================================================================
93   //the number of different methods:
94   const Int_t nMethods=12;
95   
96   //booking the histogram for the integrated flow results from all methods:
97   TH1D* intFlowAll = new TH1D("intFlowAll","Integrated Flow",nMethods,0,nMethods);      
98   //intFlowAll->SetLabelSize(0.036,"X");
99   //intFlowAll->SetLabelSize(0.036,"Y");
100   intFlowAll->SetMarkerStyle(markerStyle);
101   intFlowAll->SetMarkerColor(markerColor);
102   (intFlowAll->GetXaxis())->SetBinLabel(1,"v_{2}{MC}");
103   (intFlowAll->GetXaxis())->SetBinLabel(2,"v_{2}{2,GFC}");
104   (intFlowAll->GetXaxis())->SetBinLabel(3,"v_{2}{2,QC}");
105   (intFlowAll->GetXaxis())->SetBinLabel(4,"v_{2}{4,GFC}");
106   (intFlowAll->GetXaxis())->SetBinLabel(5,"v_{2}{4,QC}");
107   (intFlowAll->GetXaxis())->SetBinLabel(6,"v_{2}{6,GFC}");
108   (intFlowAll->GetXaxis())->SetBinLabel(7,"v_{2}{6,QC}");
109   (intFlowAll->GetXaxis())->SetBinLabel(8,"v_{2}{8,GFC}");
110   (intFlowAll->GetXaxis())->SetBinLabel(9,"v_{2}{8,QC}");
111   (intFlowAll->GetXaxis())->SetBinLabel(10,"v_{2}{FQD}");
112   (intFlowAll->GetXaxis())->SetBinLabel(11,"v_{2}{LYZ}");
113   (intFlowAll->GetXaxis())->SetBinLabel(12,"v_{2}{LYZEP}");
114   
115   //booking the graph to store flow values and errors from all methods:  
116   Double_t x[nMethods] = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5};
117   Double_t xError[nMethods] = {0.};
118   Double_t flowValue[nMethods] = {0.};//to be removed
119   Double_t flowError[nMethods] = {0.};//to be removed
120   Double_t flowValueRP[nMethods] = {0.};
121   Double_t flowErrorRP[nMethods] = {0.};
122   Double_t flowValuePOI[nMethods] = {0.};
123   Double_t flowErrorPOI[nMethods] = {0.};
124   
125   //accessing the results for each method:
126   //MCEP = Monte Carlo Event Plane
127   TList *pListMCEP = NULL;
128   AliFlowCommonHist *mcepCommonHist = NULL;
129   AliFlowCommonHistResults *mcepCommonHistRes = NULL; 
130   if(fileMCEP) {
131     fileMCEP->GetObject("cobjMCEP",pListMCEP); 
132     if(pListMCEP) {
133       mcepCommonHist    = dynamic_cast<AliFlowCommonHist*> (pListMCEP->FindObject("AliFlowCommonHistMCEP"));
134       mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
135       if(mcepCommonHistRes) {
136         flowValue[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
137         flowError[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
138         flowValueRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
139         flowErrorRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
140         flowValuePOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
141         flowErrorPOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
142       }
143     }
144   }
145   
146   //LYZ1 = Lee-Yang Zeros (1st run)
147   TList *pListLYZ1 = NULL;
148   AliFlowCommonHist *lyz1CommonHist = NULL;
149   AliFlowCommonHistResults *lyz1CommonHistRes = NULL; 
150   if(fileLYZ1) {
151     fileLYZ1->GetObject("cobjLYZ1",pListLYZ1); 
152     if(pListLYZ1) {
153       lyz1CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ1->FindObject("AliFlowCommonHistLYZ1"));
154       lyz1CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ1->FindObject("AliFlowCommonHistResultsLYZ1"));
155       if(lyz1CommonHistRes) {
156         flowValue[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
157         flowError[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
158         flowValueRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
159         flowErrorRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinError(1);
160         flowValuePOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
161         flowErrorPOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
162       }
163     }
164   }
165   
166   //LYZ2 = Lee-Yang Zeros (2nd run) (needed only for differential flow)
167   TList *pListLYZ2 = NULL;
168   AliFlowCommonHist *lyz2CommonHist = NULL;
169   AliFlowCommonHistResults *lyz2CommonHistRes = NULL; 
170   if(fileLYZ2) {
171     fileLYZ2->GetObject("cobjLYZ2",pListLYZ2); 
172     if(pListLYZ2) {
173       lyz2CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ2->FindObject("AliFlowCommonHistLYZ2"));
174       lyz2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ2->FindObject("AliFlowCommonHistResultsLYZ2"));
175     }
176   }
177   
178   //LYZEP = Lee-Yang Zeros Event Plane
179   TList *pListLYZEP = NULL;
180   AliFlowCommonHist *lyzepCommonHist = NULL;
181   AliFlowCommonHistResults *lyzepCommonHistRes = NULL; 
182   if(fileLYZEP) {
183     fileLYZEP->GetObject("cobjLYZEP",pListLYZEP); 
184     if(pListLYZEP) {
185       lyzepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZEP->FindObject("AliFlowCommonHistLYZEP"));
186       lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZEP->FindObject("AliFlowCommonHistResultsLYZEP"));
187       if(lyzepCommonHistRes) {
188         flowValue[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
189         //flowError[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
190         flowValueRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
191         //flowErrorRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
192         flowValuePOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
193         //flowErrorPOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
194       }
195     }
196   }
197  
198   //FQD = Fitting q-distribution
199   TList *pListFQD = NULL;
200   AliFlowCommonHist *fqdCommonHist = NULL;
201   AliFlowCommonHistResults *fqdCommonHistRes = NULL; 
202   if(fileFQD) {
203     fileFQD->GetObject("cobjFQD",pListFQD); 
204     if(pListFQD) {
205       fqdCommonHist = dynamic_cast<AliFlowCommonHist*> (pListFQD->FindObject("AliFlowCommonHistFQD"));
206       fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListFQD->FindObject("AliFlowCommonHistResultsFQD"));
207       if(fqdCommonHistRes) {
208         flowValue[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
209         flowError[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
210         flowValueRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
211         flowErrorRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
212         flowValuePOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
213         flowErrorPOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
214       }
215     }
216   }
217  
218   //GFC = Generating Function Cumulants
219   TList *pListGFC = NULL;
220   AliFlowCommonHist *gfcCommonHist = NULL;
221   AliFlowCommonHistResults *gfcCommonHistRes2 = NULL; 
222   AliFlowCommonHistResults *gfcCommonHistRes4 = NULL; 
223   AliFlowCommonHistResults *gfcCommonHistRes6 = NULL; 
224   AliFlowCommonHistResults *gfcCommonHistRes8 = NULL; 
225   if(fileGFC) {
226     fileGFC->GetObject("cobjGFC",pListGFC);
227     if(pListGFC) {
228       gfcCommonHist = dynamic_cast<AliFlowCommonHist*> (pListGFC->FindObject("AliFlowCommonHistGFC"));
229       gfcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
230       if(gfcCommonHistRes2) {
231         flowValue[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);//to be removed
232         flowError[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinError(1);//to be removed
233         flowValueRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
234         flowErrorRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
235         flowValuePOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
236         flowErrorPOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
237       }
238       gfcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
239       if(gfcCommonHistRes4) {
240         flowValue[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);//to be removed
241         flowError[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinError(1);//to be removed
242         flowValueRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
243         flowErrorRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
244         flowValuePOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
245         flowErrorPOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
246       }
247       gfcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
248       if(gfcCommonHistRes6) {
249         flowValue[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);//to be removed
250         flowError[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinError(1);//to be removed
251         flowValueRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
252         flowErrorRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
253         flowValuePOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
254         flowErrorPOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
255       }
256       gfcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
257       if(gfcCommonHistRes8)  {
258         flowValue[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);//to be removed
259         flowError[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinError(1);//to be removed
260         flowValueRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
261         flowErrorRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
262         flowValuePOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
263         flowErrorPOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
264       }
265     }
266   }
267  
268   //QC = Q-cumulants
269   TList *pListQC = NULL;
270   AliFlowCommonHist *qcCommonHist2 = NULL; 
271   AliFlowCommonHist *qcCommonHist4 = NULL; 
272   AliFlowCommonHist *qcCommonHist6 = NULL; 
273   AliFlowCommonHist *qcCommonHist8 = NULL; 
274   AliFlowCommonHistResults *qcCommonHistRes2 = NULL; 
275   AliFlowCommonHistResults *qcCommonHistRes4 = NULL; 
276   AliFlowCommonHistResults *qcCommonHistRes6 = NULL; 
277   AliFlowCommonHistResults *qcCommonHistRes8 = NULL; 
278   
279   if(fileQC) {
280     fileQC->GetObject("cobjQC",pListQC);
281     if(pListQC) {
282       qcCommonHist2 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist2ndOrderQC"));
283       qcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
284       if(qcCommonHistRes2)  {
285         flowValue[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);//to be removed
286         //flowError[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinError(1);//to be removed
287         flowValueRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
288         //flowErrorRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
289         flowValuePOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
290         //flowErrorPOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
291       }
292       qcCommonHist4 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist4thOrderQC"));
293       qcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
294       if(qcCommonHistRes4) {
295         flowValue[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);//to be removed
296         //flowError[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinError(1);//to be removed
297         flowValueRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
298         //flowErrorRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
299         flowValuePOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
300         //flowErrorPOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
301       }
302       qcCommonHist6 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist6thOrderQC"));
303       qcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
304       if(qcCommonHistRes6) {
305         flowValue[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);//to be removed
306         //flowError[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinError(1);//to be removed
307         flowValueRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
308         //flowErrorRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
309         flowValuePOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
310         //flowErrorPOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
311       }
312       qcCommonHist8 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist8thOrderQC"));
313       qcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
314       if(qcCommonHistRes8)  {
315         flowValue[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);//to be removed
316         //flowError[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinError(1);//to be removed
317         flowValueRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
318         //flowErrorRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
319         flowValuePOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
320         //flowErrorPOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
321       }
322     }
323   }        
324   
325   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
326   //              !!!!  to be removed  !!!!
327   Double_t dMax=flowValue[0]+flowError[0];
328   Double_t dMin=flowValue[0]-flowError[0];
329   
330   for(Int_t i=1;i<nMethods;i++) {
331     if(!(flowValue[i]==0. && flowError[i]==0.)) {
332       if(dMax<flowValue[i]+flowError[i]) dMax=flowValue[i]+flowError[i];
333       if(dMin>flowValue[i]-flowError[i]) dMin=flowValue[i]-flowError[i];
334     } 
335   }  
336   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
337   
338   //RP:
339   Double_t dMaxRP=flowValueRP[0]+flowErrorRP[0];
340   Double_t dMinRP=flowValueRP[0]-flowErrorRP[0];
341   
342   for(Int_t i=1;i<nMethods;i++) {
343     if(!(flowValueRP[i]==0. && flowErrorRP[i]==0.)) {
344       if(dMaxRP<flowValueRP[i]+flowErrorRP[i]) dMaxRP=flowValueRP[i]+flowErrorRP[i];
345       if(dMinRP>flowValueRP[i]-flowErrorRP[i]) dMinRP=flowValueRP[i]-flowErrorRP[i];
346     } 
347   }  
348
349   //POI:
350   Double_t dMaxPOI=flowValuePOI[0]+flowErrorPOI[0];
351   Double_t dMinPOI=flowValuePOI[0]-flowErrorPOI[0];
352   
353   for(Int_t i=1;i<nMethods;i++) {
354     if(!(flowValuePOI[i]==0. && flowErrorPOI[i]==0.)) {
355       if(dMaxPOI<flowValuePOI[i]+flowErrorPOI[i]) dMaxPOI=flowValuePOI[i]+flowErrorPOI[i];
356       if(dMinPOI>flowValuePOI[i]-flowErrorPOI[i]) dMinPOI=flowValuePOI[i]-flowErrorPOI[i];
357     } 
358   }  
359  
360   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
361   //                    !!!!  to be removed  !!!!
362   TGraph* flowResults = new TGraphErrors(nMethods, x, flowValue, xError, flowError);
363  
364   flowResults->SetMarkerStyle(markerStyle);
365   flowResults->SetMarkerColor(markerColor);
366   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
367   
368   //RP:
369   TGraph* flowResultsRP = new TGraphErrors(nMethods, x, flowValueRP, xError, flowErrorRP);
370   
371   flowResultsRP->SetMarkerStyle(markerStyle);
372   flowResultsRP->SetMarkerColor(markerColor);
373   
374   //POI:
375   TGraph* flowResultsPOI = new TGraphErrors(nMethods, x, flowValuePOI, xError, flowErrorPOI);
376   
377   flowResultsPOI->SetMarkerStyle(markerStyle);
378   flowResultsPOI->SetMarkerColor(markerColor);
379   
380   //-----------------------------------------------------------------------------------
381   
382   //----------------------------------------------------------------------------------
383   //cosmetics: mesh for MC error bands (integrated flow)
384   TGraph* pMesh = NULL;//to be removed
385   TGraph* pMeshRP = NULL;
386   TGraph* pMeshPOI = NULL;
387   
388   if(intFlowAll && mcepCommonHistRes) {
389     //Double_t valueMC = intFlowAll->GetBinContent(1);
390     //Double_t errorMC = intFlowAll->GetBinError(1);  
391     //Int_t nPts       = intFlowAll->GetNbinsX();     
392     
393     Int_t nPts       = nMethods;
394     Double_t valueMC = flowValue[0];//to be removed
395     Double_t errorMC = flowError[0];//to be removed  
396     Double_t valueMCRP = flowValueRP[0];
397     Double_t errorMCRP = flowErrorRP[0]; 
398     Double_t valueMCPOI = flowValuePOI[0];
399     Double_t errorMCPOI = flowErrorPOI[0]; 
400     
401     pMesh = new TGraph(nPts);//to be removed
402     pMeshRP = new TGraph(nPts);
403     pMeshPOI = new TGraph(nPts);
404     
405     //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
406     //             !!!! to be removed !!!!
407     pMesh->SetPoint(1,0,valueMC+errorMC);
408     pMesh->SetPoint(2,nPts+1,valueMC+errorMC);
409     pMesh->SetPoint(3,nPts+1,valueMC-errorMC);
410     pMesh->SetPoint(4,0,valueMC-errorMC);
411     pMesh->SetPoint(5,0,valueMC+errorMC);
412     
413     pMesh->SetFillStyle(meshStyle);
414     pMesh->SetFillColor(meshColor);
415     //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
416     
417     //RP:
418     pMeshRP->SetPoint(1,0,valueMCRP+errorMCRP);
419     pMeshRP->SetPoint(2,nPts+1,valueMCRP+errorMCRP);
420     pMeshRP->SetPoint(3,nPts+1,valueMCRP-errorMCRP);
421     pMeshRP->SetPoint(4,0,valueMCRP-errorMCRP);
422     pMeshRP->SetPoint(5,0,valueMCRP+errorMCRP);
423     
424     pMeshRP->SetFillStyle(meshStyle);
425     pMeshRP->SetFillColor(meshColor);
426     
427     //POI:
428     pMeshPOI->SetPoint(1,0,valueMCPOI+errorMCPOI);
429     pMeshPOI->SetPoint(2,nPts+1,valueMCPOI+errorMCPOI);
430     pMeshPOI->SetPoint(3,nPts+1,valueMCPOI-errorMCPOI);
431     pMeshPOI->SetPoint(4,0,valueMCPOI-errorMCPOI);
432     pMeshPOI->SetPoint(5,0,valueMCPOI+errorMCPOI);
433     
434     pMeshPOI->SetFillStyle(meshStyle);
435     pMeshPOI->SetFillColor(meshColor);     
436   }
437   //---------------------------------------------------------------------------------- 
438  
439   
440   //----------------------------------------------------------------------------------
441   //cosmetics: text (integrated flow) 
442   //default text:
443   TPaveText *textDefault = new TPaveText(0.05,0.77,0.95,0.90,"NDC");
444   textDefault->SetTextFont(72);
445   textDefault->SetTextSize(0.08);
446   //textDefault->SetLineColor(kFALSE);
447   //textDefault->SetShadowColor(kFALSE);
448   
449   TString *entryDefaultAvM = new TString("Average Multiplicity");
450   TString *entryDefaultAnd = new TString("and"); 
451   TString *entryDefaultNumOfEvts = new TString("Number of Events:");
452   
453   textDefault->AddText(entryDefaultAvM->Data());
454   textDefault->AddText(entryDefaultAnd->Data());
455   textDefault->AddText(entryDefaultNumOfEvts->Data());
456   
457   //results:
458   TPaveText *textResults = new TPaveText(0.05,0.12,0.95,0.70,"NDC");//to be removed
459   textResults->SetTextFont(72);//to be removed
460   textResults->SetTextSize(0.06);//to be removed
461   //textResults->SetLineColor(kFALSE);
462   //textResults->SetShadowColor(kFALSE);
463   
464   //results (RP):
465   TPaveText *textResultsRP = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
466   textResultsRP->SetTextFont(72);
467   textResultsRP->SetTextSize(0.06);
468   
469   //results (POI):
470   TPaveText *textResultsPOI = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
471   textResultsPOI->SetTextFont(72);
472   textResultsPOI->SetTextSize(0.06);
473   
474   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
475   //      !!!! to be removed !!!!!!                                      
476   TString *entryMC    = new TString("MC ...... ");
477   TString *entryGFC   = new TString("GFC ..... "); 
478   TString *entryQC2   = new TString("QC{2} ... ");
479   TString *entryQC4   = new TString("QC{4} ... ");
480   TString *entryQC6   = new TString("QC{6} ... ");
481   TString *entryQC8   = new TString("QC{8} ... ");
482   TString *entryFQD   = new TString("FQD ..... "); 
483   TString *entryLYZ1  = new TString("LYZ ..... "); 
484   TString *entryLYZEP = new TString("LYZEP ... "); 
485   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
486   
487   //RP: 
488   TString *entryMCRP    = new TString("MC ...... ");
489   TString *entryGFCRP   = new TString("GFC ..... "); 
490   TString *entryQC2RP   = new TString("QC{2} ... ");
491   TString *entryQC4RP   = new TString("QC{4} ... ");
492   TString *entryQC6RP   = new TString("QC{6} ... ");
493   TString *entryQC8RP   = new TString("QC{8} ... ");
494   TString *entryFQDRP   = new TString("FQD ..... "); 
495   TString *entryLYZ1RP  = new TString("LYZ ..... "); 
496   TString *entryLYZEPRP = new TString("LYZEP ... "); 
497
498   //POI: 
499   TString *entryMCPOI    = new TString("MC ...... ");
500   TString *entryGFCPOI   = new TString("GFC ..... "); 
501   TString *entryQC2POI   = new TString("QC{2} ... ");
502   TString *entryQC4POI   = new TString("QC{4} ... ");
503   TString *entryQC6POI   = new TString("QC{6} ... ");
504   TString *entryQC8POI   = new TString("QC{8} ... ");
505   TString *entryFQDPOI   = new TString("FQD ..... "); 
506   TString *entryLYZ1POI  = new TString("LYZ ..... "); 
507   TString *entryLYZEPPOI = new TString("LYZEP ... "); 
508   
509   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
510   //                  !!!! to be removed !!!!
511   Double_t avMultMC=0.;
512   Long_t nEvtsMC=0;
513   
514   Double_t avMultGFC=0.;
515   Long_t nEvtsGFC=0;
516   
517   Double_t avMultQC2=0., avMultQC4=0., avMultQC6=0., avMultQC8=0.;
518   Long_t nEvtsQC2=0, nEvtsQC4=0, nEvtsQC6=0, nEvtsQC8=0;
519   
520   Double_t avMultFQD=0.;
521   Long_t nEvtsFQD=0;
522   
523   Double_t avMultLYZ1=0.;
524   Long_t nEvtsLYZ1=0;
525   
526   Double_t avMultLYZEP=0.;
527   Long_t nEvtsLYZEP=0;
528   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
529   
530   //RP:
531   Double_t avMultMCRP=0.;
532   Long_t nEvtsMCRP=0;
533   
534   Double_t avMultGFCRP=0.;
535   Long_t nEvtsGFCRP=0;
536   
537   Double_t avMultQC2RP=0., avMultQC4RP=0., avMultQC6RP=0., avMultQC8RP=0.;
538   Long_t nEvtsQC2RP=0, nEvtsQC4RP=0, nEvtsQC6RP=0, nEvtsQC8RP=0;
539   
540   Double_t avMultFQDRP=0.;
541   Long_t nEvtsFQDRP=0;
542   
543   Double_t avMultLYZ1RP=0.;
544   Long_t nEvtsLYZ1RP=0;
545   
546   Double_t avMultLYZEPRP=0.;
547   Long_t nEvtsLYZEPRP=0;
548   
549   //POI:
550   Double_t avMultMCPOI=0.;
551   Long_t nEvtsMCPOI=0;
552   
553   Double_t avMultGFCPOI=0.;
554   Long_t nEvtsGFCPOI=0;
555   
556   Double_t avMultQC2POI=0., avMultQC4POI=0., avMultQC6POI=0., avMultQC8POI=0.;
557   Long_t nEvtsQC2POI=0, nEvtsQC4POI=0, nEvtsQC6POI=0, nEvtsQC8POI=0;
558   
559   Double_t avMultFQDPOI=0.;
560   Long_t nEvtsFQDPOI=0;
561   
562   Double_t avMultLYZ1POI=0.;
563   Long_t nEvtsLYZ1POI=0;
564   
565   Double_t avMultLYZEPPOI=0.;
566   Long_t nEvtsLYZEPPOI=0;
567   
568   //MC:  
569   if(mcepCommonHist) {
570     avMultMC = (mcepCommonHist->GetHistMultInt())->GetMean();//to be removed
571     nEvtsMC  = (mcepCommonHist->GetHistMultInt())->GetEntries();//to be removed
572     avMultMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
573     nEvtsMCRP  = (mcepCommonHist->GetHistMultInt())->GetEntries();
574     avMultMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
575     nEvtsMCPOI  = (mcepCommonHist->GetHistMultDiff())->GetEntries();
576   }
577   //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
578   //   !!!! to be removed !!!!
579   if(entryMC) {   
580     entryMC->Append("M = ");
581     (*entryMC)+=(Long_t)avMultMC;
582     entryMC->Append(", N = ");
583     (*entryMC)+=(Long_t)nEvtsMC;
584   }
585  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
586   if(entryMCRP) {   
587     entryMCRP->Append("M = ");
588     (*entryMCRP)+=(Long_t)avMultMCRP;
589     entryMCRP->Append(", N = ");
590     (*entryMCRP)+=(Long_t)nEvtsMCRP;
591   }
592  if(entryMCPOI) {   
593    entryMCPOI->Append("M = ");
594    (*entryMCPOI)+=(Long_t)avMultMCPOI;
595    entryMCPOI->Append(", N = ");
596    (*entryMCPOI)+=(Long_t)nEvtsMCPOI;
597  }
598   
599  //GFC:
600  if(gfcCommonHist) {
601    avMultGFC = (gfcCommonHist->GetHistMultInt())->GetMean();//to be removed
602    nEvtsGFC  = (gfcCommonHist->GetHistMultInt())->GetEntries();//to be removed
603    avMultGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
604    nEvtsGFCRP  = (gfcCommonHist->GetHistMultInt())->GetEntries();
605    avMultGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
606    nEvtsGFCPOI  = (gfcCommonHist->GetHistMultDiff())->GetEntries();
607  }
608  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
609  //   !!!! to be removed !!!! 
610  if(entryGFC) { 
611    entryGFC->Append("M = ");
612    (*entryGFC)+=(Long_t)avMultGFC;
613    entryGFC->Append(", N = ");
614    (*entryGFC)+=(Long_t)nEvtsGFC;
615  }
616  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
617  if(entryGFCRP) { 
618    entryGFCRP->Append("M = ");
619    (*entryGFCRP)+=(Long_t)avMultGFCRP;
620    entryGFCRP->Append(", N = ");
621    (*entryGFCRP)+=(Long_t)nEvtsGFCRP;
622  }
623  if(entryGFCPOI) { 
624    entryGFCPOI->Append("M = ");
625    (*entryGFCPOI)+=(Long_t)avMultGFCPOI;
626    entryGFCPOI->Append(", N = ");
627    (*entryGFCPOI)+=(Long_t)nEvtsGFCPOI;
628  }
629  
630  //QC:
631  if(qcCommonHist2) {
632    avMultQC2 = (qcCommonHist2->GetHistMultInt())->GetMean();//to be removed
633    nEvtsQC2  = (qcCommonHist2->GetHistMultInt())->GetEntries();//to be removed
634    avMultQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
635    nEvtsQC2RP  = (qcCommonHist2->GetHistMultInt())->GetEntries();
636    avMultQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
637    nEvtsQC2POI  = (qcCommonHist2->GetHistMultDiff())->GetEntries();
638  }
639  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
640  //   !!!! to be removed !!!!   
641  if(entryQC2)
642  { 
643   entryQC2->Append("M = ");
644   (*entryQC2)+=(Long_t)avMultQC2;
645   entryQC2->Append(", N = ");
646   (*entryQC2)+=(Long_t)nEvtsQC2;
647  }
648  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
649  if(entryQC2RP)
650  { 
651   entryQC2RP->Append("M = ");
652   (*entryQC2RP)+=(Long_t)avMultQC2RP;
653   entryQC2RP->Append(", N = ");
654   (*entryQC2RP)+=(Long_t)nEvtsQC2RP;
655  } 
656  if(entryQC2POI)
657  { 
658   entryQC2POI->Append("M = ");
659   (*entryQC2POI)+=(Long_t)avMultQC2POI;
660   entryQC2POI->Append(", N = ");
661   (*entryQC2POI)+=(Long_t)nEvtsQC2POI;
662  } 
663
664  if(qcCommonHist4)
665  {
666   avMultQC4 = (qcCommonHist4->GetHistMultInt())->GetMean();//to be removed
667   nEvtsQC4  = (qcCommonHist4->GetHistMultInt())->GetEntries();//to be removed
668   avMultQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
669   nEvtsQC4RP  = (qcCommonHist4->GetHistMultInt())->GetEntries();
670   avMultQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
671   nEvtsQC4POI  = (qcCommonHist4->GetHistMultDiff())->GetEntries();
672  }
673  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
674  //   !!!! to be removed !!!!  
675  if(entryQC4)
676  {
677   entryQC4->Append("M = ");
678   (*entryQC4)+=(Long_t)avMultQC4;
679   entryQC4->Append(", N = ");
680   (*entryQC4)+=(Long_t)nEvtsQC4;
681  }
682  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
683  if(entryQC4RP)
684  {
685   entryQC4RP->Append("M = ");
686   (*entryQC4RP)+=(Long_t)avMultQC4RP;
687   entryQC4RP->Append(", N = ");
688   (*entryQC4RP)+=(Long_t)nEvtsQC4RP;
689  }
690  if(entryQC4POI)
691  {
692   entryQC4POI->Append("M = ");
693   (*entryQC4POI)+=(Long_t)avMultQC4POI;
694   entryQC4POI->Append(", N = ");
695   (*entryQC4POI)+=(Long_t)nEvtsQC4POI;
696  }
697    
698  if(qcCommonHist6)
699  {
700   avMultQC6 = (qcCommonHist6->GetHistMultInt())->GetMean();//to be removed
701   nEvtsQC6  = (qcCommonHist6->GetHistMultInt())->GetEntries();//to be removed
702   avMultQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
703   nEvtsQC6RP  = (qcCommonHist6->GetHistMultInt())->GetEntries();
704   avMultQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
705   nEvtsQC6POI  = (qcCommonHist6->GetHistMultDiff())->GetEntries();
706  }
707  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
708  //   !!!! to be removed !!!!   
709  if(entryQC6)
710  {  
711   entryQC6->Append("M = ");
712   (*entryQC6)+=(Long_t)avMultQC6;
713   entryQC6->Append(", N = ");
714   (*entryQC6)+=(Long_t)nEvtsQC6;
715  }
716  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
717  if(entryQC6RP)
718  {  
719   entryQC6RP->Append("M = ");
720   (*entryQC6RP)+=(Long_t)avMultQC6RP;
721   entryQC6RP->Append(", N = ");
722   (*entryQC6RP)+=(Long_t)nEvtsQC6RP;
723  }
724  if(entryQC6POI)
725  {  
726   entryQC6POI->Append("M = ");
727   (*entryQC6POI)+=(Long_t)avMultQC6POI;
728   entryQC6POI->Append(", N = ");
729   (*entryQC6POI)+=(Long_t)nEvtsQC6POI;
730  }
731    
732  if(qcCommonHist8)
733  {
734   avMultQC8 = (qcCommonHist8->GetHistMultInt())->GetMean();//to be removed
735   nEvtsQC8  = (qcCommonHist8->GetHistMultInt())->GetEntries();//to be removed
736   avMultQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
737   nEvtsQC8RP  = (qcCommonHist8->GetHistMultInt())->GetEntries();
738   avMultQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
739   nEvtsQC8POI  = (qcCommonHist8->GetHistMultDiff())->GetEntries();    
740  }
741  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
742  //   !!!! to be removed !!!!    
743  if(entryQC8)
744  {
745   entryQC8->Append("M = ");
746   (*entryQC8)+=(Long_t)avMultQC8;
747   entryQC8->Append(", N = ");
748   (*entryQC8)+=(Long_t)nEvtsQC8;
749  }
750  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
751  if(entryQC8RP)
752  {
753   entryQC8RP->Append("M = ");
754   (*entryQC8RP)+=(Long_t)avMultQC8RP;
755   entryQC8RP->Append(", N = ");
756   (*entryQC8RP)+=(Long_t)nEvtsQC8RP;
757  }
758  if(entryQC8POI)
759  {
760   entryQC8POI->Append("M = ");
761   (*entryQC8POI)+=(Long_t)avMultQC8POI;
762   entryQC8POI->Append(", N = ");
763   (*entryQC8POI)+=(Long_t)nEvtsQC8POI;
764  }
765   
766  //FQD:
767  if(fqdCommonHist)
768  {
769   avMultFQD = (fqdCommonHist->GetHistMultInt())->GetMean();//to be removed
770   nEvtsFQD  = (fqdCommonHist->GetHistMultInt())->GetEntries();//to be removed
771   avMultFQDRP = (fqdCommonHist->GetHistMultInt())->GetMean();
772   nEvtsFQDRP  = (fqdCommonHist->GetHistMultInt())->GetEntries();
773   avMultFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetMean();
774   nEvtsFQDPOI  = (fqdCommonHist->GetHistMultDiff())->GetEntries();
775  } 
776  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
777  //   !!!! to be removed !!!!  
778  if(entryFQD)
779  {
780   entryFQD->Append("M = ");
781   (*entryFQD)+=(Long_t)avMultFQD;
782   entryFQD->Append(", N = ");
783   (*entryFQD)+=(Long_t)nEvtsFQD;
784  }
785  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
786  if(entryFQDRP)
787  {
788   entryFQDRP->Append("M = ");
789   (*entryFQDRP)+=(Long_t)avMultFQDRP;
790   entryFQDRP->Append(", N = ");
791   (*entryFQDRP)+=(Long_t)nEvtsFQDRP;
792  }
793  if(entryFQDPOI)
794  {
795   entryFQDPOI->Append("M = ");
796   (*entryFQDPOI)+=(Long_t)avMultFQDPOI;
797   entryFQDPOI->Append(", N = ");
798   (*entryFQDPOI)+=(Long_t)nEvtsFQDPOI;
799  }  
800   
801  //LYZ1:
802  if(lyz1CommonHist)
803  {
804   avMultLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetMean();//to be removed
805   nEvtsLYZ1  = (lyz1CommonHist->GetHistMultInt())->GetEntries();//to be removed
806   avMultLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetMean();
807   nEvtsLYZ1RP  = (lyz1CommonHist->GetHistMultInt())->GetEntries();
808   avMultLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetMean();
809   nEvtsLYZ1POI  = (lyz1CommonHist->GetHistMultDiff())->GetEntries();
810  }
811  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
812  //   !!!! to be removed !!!!   
813  if(entryLYZ1) 
814  {
815   entryLYZ1->Append("M = ");
816   (*entryLYZ1)+=(Long_t)avMultLYZ1;
817   entryLYZ1->Append(", N = ");
818   (*entryLYZ1)+=(Long_t)nEvtsLYZ1;
819  }
820  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx 
821  if(entryLYZ1RP) 
822  {
823   entryLYZ1RP->Append("M = ");
824   (*entryLYZ1RP)+=(Long_t)avMultLYZ1RP;
825   entryLYZ1RP->Append(", N = ");
826   (*entryLYZ1RP)+=(Long_t)nEvtsLYZ1RP;
827  }
828  if(entryLYZ1POI) 
829  {
830   entryLYZ1POI->Append("M = ");
831   (*entryLYZ1POI)+=(Long_t)avMultLYZ1POI;
832   entryLYZ1POI->Append(", N = ");
833   (*entryLYZ1POI)+=(Long_t)nEvtsLYZ1POI;
834  }
835  
836  //LYZEP:
837  if(lyzepCommonHist)
838  {
839   avMultLYZEP = (lyzepCommonHist->GetHistMultInt())->GetMean();//to be removed
840   nEvtsLYZEP  = (lyzepCommonHist->GetHistMultInt())->GetEntries();//to be removed
841   avMultLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
842   nEvtsLYZEPRP  = (lyzepCommonHist->GetHistMultInt())->GetEntries();
843   avMultLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
844   nEvtsLYZEPPOI  = (lyzepCommonHist->GetHistMultDiff())->GetEntries();    
845  }
846  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
847  //   !!!! to be removed !!!!   
848  if(entryLYZEP)
849  {
850   entryLYZEP->Append("M = ");
851   (*entryLYZEP)+=(Long_t)avMultLYZEP;
852   entryLYZEP->Append(", N = ");
853   (*entryLYZEP)+=(Long_t)nEvtsLYZEP;
854  }
855  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
856  if(entryLYZEPRP)
857  {
858   entryLYZEPRP->Append("M = ");
859   (*entryLYZEPRP)+=(Long_t)avMultLYZEPRP;
860   entryLYZEPRP->Append(", N = ");
861   (*entryLYZEPRP)+=(Long_t)nEvtsLYZEPRP;
862  }
863  if(entryLYZEPPOI)
864  {
865   entryLYZEPPOI->Append("M = ");
866   (*entryLYZEPPOI)+=(Long_t)avMultLYZEPPOI;
867   entryLYZEPPOI->Append(", N = ");
868   (*entryLYZEPPOI)+=(Long_t)nEvtsLYZEPPOI;
869  }
870
871  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
872  //   !!!! to be removed !!!!   
873  if(textResults)
874  {
875   textResults->AddText(entryMC->Data());
876   textResults->AddText(entryGFC->Data());
877   textResults->AddText(entryQC2->Data());
878   textResults->AddText(entryQC4->Data());
879   textResults->AddText(entryQC6->Data());
880   textResults->AddText(entryQC8->Data());
881   textResults->AddText(entryFQD->Data());
882   textResults->AddText(entryLYZ1->Data());
883   textResults->AddText(entryLYZEP->Data());
884  }
885  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
886  //RP:
887  if(textResultsRP)
888  {
889   textResultsRP->AddText(entryMCRP->Data());
890   textResultsRP->AddText(entryGFCRP->Data());
891   textResultsRP->AddText(entryQC2RP->Data());
892   textResultsRP->AddText(entryQC4RP->Data());
893   textResultsRP->AddText(entryQC6RP->Data());
894   textResultsRP->AddText(entryQC8RP->Data());
895   textResultsRP->AddText(entryFQDRP->Data());
896   textResultsRP->AddText(entryLYZ1RP->Data());
897   textResultsRP->AddText(entryLYZEPRP->Data());
898  }
899  //POI:
900  if(textResultsPOI)
901  {
902   textResultsPOI->AddText(entryMCPOI->Data());
903   textResultsPOI->AddText(entryGFCPOI->Data());
904   textResultsPOI->AddText(entryQC2POI->Data());
905   textResultsPOI->AddText(entryQC4POI->Data());
906   textResultsPOI->AddText(entryQC6POI->Data());
907   textResultsPOI->AddText(entryQC8POI->Data());
908   textResultsPOI->AddText(entryFQDPOI->Data());
909   textResultsPOI->AddText(entryLYZ1POI->Data());
910   textResultsPOI->AddText(entryLYZEPPOI->Data());
911  }
912  //----------------------------------------------------------------------------------
913  
914  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
915  //                           !!!! to be removed !!!!
916  //----------------------------------------------------------------------------------
917  //final drawing for integrated flow:
918  TCanvas* intFlowAllCanvas = new TCanvas("Integrated Flow","Integrated Flow",1000,600);
919  
920  intFlowAllCanvas->Divide(2,1);
921  
922  //1st pad is for plot:
923  (intFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
924  
925  if(intFlowAll)
926  {
927   if(dMin>0. && dMax>0.)
928   {
929    (intFlowAll->GetYaxis())->SetRangeUser(0.9744*dMin,1.0144*dMax);
930   } else if(dMin<0. && dMax>0.)
931     {
932      if(!(-1.*dMin<4.*dMax))
933      {  
934       (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,1.0144*dMax);
935      } else {(intFlowAll->GetYaxis())->SetRangeUser(1.1266*dMin,1.0144*dMax);}  
936     } else if(dMin<0. && dMax<0.)
937       {
938        (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,0.9866*dMax);      
939       }
940   intFlowAll->Draw("E1");
941  }                    
942                                                     
943  if(pMesh) pMesh->Draw("LFSAME");
944   
945  if(flowResults) flowResults->Draw("PSAME");
946
947  //2nd pad is for legend:
948  (intFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
949  
950  if(textDefault)
951  {
952   textDefault->Draw();
953   textResults->Draw();
954  }
955  
956  //----------------------------------------------------------------------------------
957  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
958
959  
960  
961  /*
962  
963  
964  //----------------------------------------------------------------------------------
965  //final drawing for integrated flow of RP (i.e. of particles used to determine the reaction plane):
966  if(plotIntFlowRP)
967  {
968   TCanvas* intFlowAllCanvasRP = new TCanvas("Integrated Flow RP","Integrated Flow RP",1000,600);
969  
970   intFlowAllCanvasRP->Divide(2,1);
971  
972   //1st pad is for plot:
973   (intFlowAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
974  
975   TH1D intFlowAllRPtemp = *intFlowAll;//to be improved 
976   TH1D *intFlowAllRP=&intFlowAllRPtemp;//to be improved  
977   
978   if(intFlowAllRP)
979   {
980    if(dMinRP>0. && dMaxRP>0.)
981    {
982     (intFlowAllRP->GetYaxis())->SetRangeUser(0.9744*dMinRP,1.0144*dMaxRP);
983    } else if(dMinRP<0. && dMaxRP>0.)
984      {
985       if(!(-1.*dMinRP<4.*dMaxRP))
986       {  
987        (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,1.0144*dMaxRP);
988       } else {(intFlowAllRP->GetYaxis())->SetRangeUser(1.1266*dMinRP,1.0144*dMaxRP);}  
989      } else if(dMinRP<0. && dMaxRP<0.)
990        {
991         (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,0.9866*dMaxRP);      
992        } 
993    intFlowAllRP->Draw("E1");
994   }
995                                        
996   if(pMeshRP) pMeshRP->Draw("LFSAME");
997    
998   if(flowResultsRP) flowResultsRP->Draw("PSAME");
999
1000   //2nd pad is for legend:
1001   (intFlowAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1002   
1003   if(textDefault) textDefault->Draw();
1004  
1005   if(textResultsRP) textResultsRP->Draw();
1006  }//end of if(plotIntFlowRP} 
1007  //----------------------------------------------------------------------------------
1008  
1009  //----------------------------------------------------------------------------------
1010  //final drawing for integrated flow of POI (i.e. of particles of interest):
1011  if(plotIntFlowPOI)
1012  {
1013   TCanvas* intFlowAllCanvasPOI = new TCanvas("Integrated Flow POI","Integrated Flow POI",1000,600);
1014  
1015   intFlowAllCanvasPOI->Divide(2,1);
1016  
1017   //1st pad is for plot:
1018   (intFlowAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1019   
1020   TH1D intFlowAllPOItemp = *intFlowAll;//to be improved 
1021   TH1D *intFlowAllPOI=&intFlowAllRPtemp;//to be improved  
1022   if(intFlowAllPOI)
1023   {
1024    if(dMinPOI>0. && dMaxPOI>0.)
1025    {
1026     (intFlowAllPOI->GetYaxis())->SetRangeUser(0.9744*dMinPOI,1.0144*dMaxPOI);
1027    } else if(dMinPOI<0. && dMaxPOI>0.)
1028      {
1029       if(!(-1.*dMinPOI<4.*dMaxPOI))
1030       {  
1031        (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,1.0144*dMaxPOI);
1032       } else {(intFlowAllPOI->GetYaxis())->SetRangeUser(1.1266*dMinPOI,1.0144*dMaxPOI);}  
1033      } else if(dMinPOI<0. && dMaxPOI<0.)
1034        {
1035         (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,0.9866*dMaxPOI);      
1036        }
1037    intFlowAllPOI->Draw("E1");
1038   }
1039                             
1040   if(pMeshPOI) pMeshPOI->Draw("LFSAME");
1041    
1042   if(flowResultsPOI) flowResultsPOI->Draw("PSAME");
1043  
1044   //2nd pad is for legend:
1045   (intFlowAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1046  
1047   if(textDefault) textDefault->Draw();
1048
1049   if(textResultsPOI) textResultsPOI->Draw();
1050  }// end of if(plotIntFlowPOI) 
1051  //----------------------------------------------------------------------------------
1052  
1053  //==================================================================================   
1054  
1055
1056
1057  
1058  */
1059
1060
1061
1062
1063  //==================================================================================
1064  //                            DIFFERENTIAL FLOW
1065  //==================================================================================
1066  Int_t iNbinsPt  = AliFlowCommonConstants::GetNbinsPt();
1067  Double_t dPtMin = AliFlowCommonConstants::GetPtMin();
1068  Double_t dPtMax = AliFlowCommonConstants::GetPtMax();
1069  
1070  Int_t iNbinsEta  = AliFlowCommonConstants::GetNbinsEta();
1071  Double_t dEtaMin = AliFlowCommonConstants::GetEtaMin();
1072  Double_t dEtaMax = AliFlowCommonConstants::GetEtaMax();
1073  
1074  //----------------------------------------------------------------------------------
1075  //cosmetics: the style histogram for differential flow (pt):
1076  TH1D *styleHistPt = new TH1D("styleHistPt","styleHistPt",iNbinsPt,dPtMin,dPtMax);
1077  styleHistPt->SetTitle("Differential Flow");
1078  styleHistPt->SetXTitle("p_{t} [GeV]");
1079  styleHistPt->SetYTitle("v_{n}");
1080  
1081  //cosmetics: the style histogram for differential flow (eta):
1082  TH1D *styleHistEta = new TH1D("styleHistEta","styleHistEta",iNbinsEta,dEtaMin,dEtaMax);
1083  styleHistEta->SetTitle("Differential Flow");
1084  styleHistEta->SetXTitle("#eta");
1085  styleHistEta->SetYTitle("v_{n}");
1086  //----------------------------------------------------------------------------------
1087  
1088  
1089  
1090  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1091  //               !!!! to be removed !!!!
1092  //----------------------------------------------------------------------------------
1093  //cosmetics: Monte Carlo error bands for differential flow
1094  TGraph* pMeshDiffFlow = NULL;
1095  if(mcepCommonHistRes)
1096  {
1097   Int_t nPtsDF = (mcepCommonHistRes->GetHistDiffFlow())->GetNbinsX();
1098   Double_t binWidth = (mcepCommonHistRes->GetHistDiffFlow())->GetBinWidth(1);//assuming that all bins have the same width
1099        
1100   pMeshDiffFlow = new TGraph(2*nPtsDF+1);
1101   
1102   Double_t valueMC=0., errorMC=0.;
1103   for(Int_t i=1;i<nPtsDF+1;i++)
1104   {
1105    valueMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinContent(i);
1106    errorMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinError(i);       
1107    pMeshDiffFlow->SetPoint(i,(i-0.5)*binWidth,valueMC+errorMC);
1108   }    
1109   for(Int_t i=nPtsDF+1;i<2*nPtsDF+1;i++)
1110   {
1111    valueMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinContent(2*nPtsDF+1-i);
1112    errorMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinError(2*nPtsDF+1-i);       
1113    pMeshDiffFlow->SetPoint(i,(2*nPtsDF-i+0.5)*binWidth,valueMC-errorMC); 
1114   }
1115   pMeshDiffFlow->SetPoint(2*nPtsDF+1,0.5*binWidth,valueMC+errorMC); 
1116   pMeshDiffFlow->SetFillStyle(meshStyle);
1117   pMeshDiffFlow->SetFillColor(meshColor);
1118  } 
1119  //----------------------------------------------------------------------------------
1120  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1121
1122  //----------------------------------------------------------------------------------
1123  //RP:
1124  //cosmetics: Monte Carlo error bands for differential flow (Pt)
1125  TGraph* pMeshDiffFlowPtRP = NULL;
1126  if(mcepCommonHistRes)
1127  {
1128   Int_t nPtsDFPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetNbinsX();
1129   Double_t binWidthPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinWidth(1);//assuming that all bins have the same width
1130        
1131   pMeshDiffFlowPtRP = new TGraph(2*nPtsDFPtRP+1);
1132   
1133   Double_t valueMCPtRP=0., errorMCPtRP=0.;
1134   for(Int_t i=1;i<nPtsDFPtRP+1;i++)
1135   {
1136    valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(i);
1137    errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i);       
1138    pMeshDiffFlowPtRP->SetPoint(i,(i-0.5)*binWidthPtRP,valueMCPtRP+errorMCPtRP);
1139   }    
1140   for(Int_t i=nPtsDFPtRP+1;i<2*nPtsDFPtRP+1;i++)
1141   {
1142    valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(2*nPtsDFPtRP+1-i);
1143    errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(2*nPtsDFPtRP+1-i);       
1144    pMeshDiffFlowPtRP->SetPoint(i,(2*nPtsDFPtRP-i+0.5)*binWidthPtRP,valueMCPtRP-errorMCPtRP); 
1145   }
1146   pMeshDiffFlowPtRP->SetPoint(2*nPtsDFPtRP+1,0.5*binWidthPtRP,valueMCPtRP+errorMCPtRP); 
1147   pMeshDiffFlowPtRP->SetFillStyle(meshStyle);
1148   pMeshDiffFlowPtRP->SetFillColor(meshColor);
1149  }
1150  
1151  //cosmetics: Monte Carlo error bands for differential flow (Eta)
1152  TGraph* pMeshDiffFlowEtaRP = NULL;
1153  if(mcepCommonHistRes)
1154  {
1155   Int_t nPtsDFEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetNbinsX();
1156   Double_t binWidthEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinWidth(1);//assuming that all bins have the same width
1157        
1158   pMeshDiffFlowEtaRP = new TGraph(2*nPtsDFEtaRP+1);
1159
1160   Double_t valueMCEtaRP=0., errorMCEtaRP=0.;
1161   for(Int_t i=1;i<nPtsDFEtaRP+1;i++)
1162   {
1163    valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(i);
1164    errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i);  
1165    pMeshDiffFlowEtaRP->SetPoint(i,(i-0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1166   }    
1167   for(Int_t i=nPtsDFEtaRP+1;i<2*nPtsDFEtaRP+1;i++)
1168   {
1169    valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(2*nPtsDFEtaRP+1-i);
1170    errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(2*nPtsDFEtaRP+1-i);       
1171    pMeshDiffFlowEtaRP->SetPoint(i,(2*nPtsDFEtaRP-i+0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP-errorMCEtaRP);   
1172   }
1173   pMeshDiffFlowEtaRP->SetPoint(2*nPtsDFEtaRP+1,0.5*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP); 
1174   pMeshDiffFlowEtaRP->SetFillStyle(meshStyle);
1175   pMeshDiffFlowEtaRP->SetFillColor(meshColor);
1176  } 
1177  //----------------------------------------------------------------------------------
1178
1179
1180  //----------------------------------------------------------------------------------
1181  //POI:
1182  //cosmetics: Monte Carlo error bands for differential flow (Pt)
1183  TGraph* pMeshDiffFlowPtPOI = NULL;
1184  if(mcepCommonHistRes)
1185  {
1186   Int_t nPtsDFPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetNbinsX();
1187   Double_t binWidthPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinWidth(1);//assuming that all bins have the same width
1188        
1189   pMeshDiffFlowPtPOI = new TGraph(2*nPtsDFPtPOI+1);
1190   
1191   Double_t valueMCPtPOI=0., errorMCPtPOI=0.;
1192   for(Int_t i=1;i<nPtsDFPtPOI+1;i++)
1193   {
1194    valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(i);
1195    errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i);       
1196    pMeshDiffFlowPtPOI->SetPoint(i,(i-0.5)*binWidthPtPOI,valueMCPtPOI+errorMCPtPOI);
1197   }    
1198   for(Int_t i=nPtsDFPtPOI+1;i<2*nPtsDFPtPOI+1;i++)
1199   {
1200    valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(2*nPtsDFPtPOI+1-i);
1201    errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(2*nPtsDFPtPOI+1-i);       
1202    pMeshDiffFlowPtPOI->SetPoint(i,(2*nPtsDFPtPOI-i+0.5)*binWidthPtPOI,valueMCPtPOI-errorMCPtPOI); 
1203   }
1204   pMeshDiffFlowPtPOI->SetPoint(2*nPtsDFPtPOI+1,0.5*binWidthPtPOI,valueMCPtPOI+errorMCPtPOI); 
1205   pMeshDiffFlowPtPOI->SetFillStyle(meshStyle);
1206   pMeshDiffFlowPtPOI->SetFillColor(meshColor);
1207  }
1208  
1209  //cosmetics: Monte Carlo error bands for differential flow (Eta)
1210  TGraph* pMeshDiffFlowEtaPOI = NULL;
1211  if(mcepCommonHistRes)
1212  {
1213   Int_t nPtsDFEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetNbinsX();
1214   Double_t binWidthEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinWidth(1);//assuming that all bins have the same width
1215        
1216   pMeshDiffFlowEtaPOI = new TGraph(2*nPtsDFEtaPOI+1);
1217   
1218   Double_t valueMCEtaPOI=0., errorMCEtaPOI=0.;
1219   for(Int_t i=1;i<nPtsDFEtaPOI+1;i++)
1220   {
1221    valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(i);
1222    errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i);       
1223    pMeshDiffFlowEtaPOI->SetPoint(i,(i-0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1224   }    
1225   for(Int_t i=nPtsDFEtaPOI+1;i<2*nPtsDFEtaPOI+1;i++)
1226   {
1227    valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(2*nPtsDFEtaPOI+1-i);
1228    errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(2*nPtsDFEtaPOI+1-i);       
1229    pMeshDiffFlowEtaPOI->SetPoint(i,(2*nPtsDFEtaPOI-i+0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI-errorMCEtaPOI); 
1230   }
1231   pMeshDiffFlowEtaPOI->SetPoint(2*nPtsDFEtaPOI+1,0.5*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI); 
1232   pMeshDiffFlowEtaPOI->SetFillStyle(meshStyle);
1233   pMeshDiffFlowEtaPOI->SetFillColor(meshColor);
1234  } 
1235  //----------------------------------------------------------------------------------
1236    
1237  //MCEP = Monte Carlo Event Plane
1238  Double_t avMultDiffFlowMC=0.;//to be removed
1239  Double_t nEvtsDiffFlowMC=0;//to be removed
1240  Double_t avMultDiffFlowMCRP=0.;
1241  Double_t nEvtsDiffFlowMCRP=0;
1242  Double_t avMultDiffFlowMCPOI=0.;
1243  Double_t nEvtsDiffFlowMCPOI=0;
1244  if(fileMCEP)
1245  {
1246   if(mcepCommonHistRes)
1247   {
1248    (mcepCommonHistRes->GetHistDiffFlow())->SetMarkerColor(2);//to be removed
1249    (mcepCommonHistRes->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1250    (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(2);
1251    (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1252    (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(2);
1253    (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1254    (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(2);
1255    (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1256    (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(2);
1257    (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1258   } 
1259   if(mcepCommonHist)
1260   {
1261    avMultDiffFlowMC = (mcepCommonHist->GetHistMultDiff())->GetMean();//to be removed
1262    nEvtsDiffFlowMC  = (mcepCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1263    avMultDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
1264    nEvtsDiffFlowMCRP  = (mcepCommonHist->GetHistMultInt())->GetEntries();
1265    avMultDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
1266    nEvtsDiffFlowMCPOI  = (mcepCommonHist->GetHistMultDiff())->GetEntries();      
1267   } 
1268  } 
1269
1270  //GFC = Generating Function Cumulants
1271  Double_t avMultDiffFlowGFC=0.;//to be removed
1272  Double_t nEvtsDiffFlowGFC=0.;//to be removed
1273  Double_t avMultDiffFlowGFCRP=0.;
1274  Double_t nEvtsDiffFlowGFCRP=0.;
1275  Double_t avMultDiffFlowGFCPOI=0.;
1276  Double_t nEvtsDiffFlowGFCPOI=0.; 
1277  if(fileGFC)
1278  {
1279   if(gfcCommonHistRes2)
1280   {
1281    (gfcCommonHistRes2->GetHistDiffFlow())->SetMarkerColor(kViolet+7);//to be removed
1282    (gfcCommonHistRes2->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1283    (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet+7);
1284    (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1285    (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet+7);
1286    (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1287    (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet+7);
1288    (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1289    (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet+7);
1290    (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1291   }
1292   if(gfcCommonHistRes4)
1293   { 
1294    (gfcCommonHistRes4->GetHistDiffFlow())->SetMarkerColor(kViolet-3);//to be removed
1295    (gfcCommonHistRes4->GetHistDiffFlow())->SetMarkerStyle(21);//to be removed
1296    (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet-3);
1297    (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(21);
1298    (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet-3);
1299    (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(21);
1300    (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet-3);
1301    (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(21);
1302    (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet-3);
1303    (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(21);         
1304   }
1305   if(gfcCommonHistRes6)
1306   { 
1307    (gfcCommonHistRes6->GetHistDiffFlow())->SetMarkerColor(kViolet+7);//to be removed
1308    (gfcCommonHistRes6->GetHistDiffFlow())->SetMarkerStyle(24);//to be removed
1309    (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet+7);
1310    (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(24);
1311    (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet+7);
1312    (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(24);
1313    (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet+7);
1314    (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(24);
1315    (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet+7);
1316    (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(24);
1317   }
1318   if(gfcCommonHistRes8)
1319   { 
1320    (gfcCommonHistRes8->GetHistDiffFlow())->SetMarkerColor(kViolet-3);//to be removed
1321    (gfcCommonHistRes8->GetHistDiffFlow())->SetMarkerStyle(25);//to be removed
1322    (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet-3);
1323    (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(25);
1324    (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet-3);
1325    (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(25);
1326    (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet-3);
1327    (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(25);
1328    (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet-3);
1329    (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(25);
1330   }
1331   if(gfcCommonHist)
1332   {
1333    avMultDiffFlowGFC = (gfcCommonHist->GetHistMultDiff())->GetMean();//to be removed
1334    nEvtsDiffFlowGFC  = (gfcCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1335    avMultDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();   
1336    nEvtsDiffFlowGFCRP  = (gfcCommonHist->GetHistMultInt())->GetEntries();
1337    avMultDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
1338    nEvtsDiffFlowGFCPOI  = (gfcCommonHist->GetHistMultDiff())->GetEntries();   
1339   } 
1340  }
1341   
1342  //QC = Q-cumulants
1343  Double_t avMultDiffFlowQC2=0., avMultDiffFlowQC4=0.;//to be removed
1344  Double_t nEvtsDiffFlowQC2=0., nEvtsDiffFlowQC4=0.;//to be removed
1345  Double_t avMultDiffFlowQC6=0., avMultDiffFlowQC8=0.;//to be removed
1346  Double_t nEvtsDiffFlowQC6=0., nEvtsDiffFlowQC8=0.;//to be removed
1347  Double_t avMultDiffFlowQC2RP=0.;
1348  Double_t nEvtsDiffFlowQC2RP=0.;
1349  Double_t avMultDiffFlowQC2POI=0.;
1350  Double_t nEvtsDiffFlowQC2POI=0.;
1351  Double_t avMultDiffFlowQC4RP=0.;
1352  Double_t nEvtsDiffFlowQC4RP=0.;
1353  Double_t avMultDiffFlowQC4POI=0.;
1354  Double_t nEvtsDiffFlowQC4POI=0.;
1355  Double_t avMultDiffFlowQC6RP=0.;
1356  Double_t nEvtsDiffFlowQC6RP=0.;
1357  Double_t avMultDiffFlowQC6POI=0.;
1358  Double_t nEvtsDiffFlowQC6POI=0.;
1359  Double_t avMultDiffFlowQC8RP=0.;
1360  Double_t nEvtsDiffFlowQC8RP=0.;
1361  Double_t avMultDiffFlowQC8POI=0.;
1362  Double_t nEvtsDiffFlowQC8POI=0.;
1363
1364  if(fileQC)
1365  {
1366   //QC{2}
1367   if(qcCommonHistRes2)
1368   {
1369    (qcCommonHistRes2->GetHistDiffFlow())->SetMarkerColor(kOrange+3);//to be removed
1370    (qcCommonHistRes2->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1371    (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange+3);
1372    (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1373    (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange+3);
1374    (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1375    (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange+3);
1376    (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1377    (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange+3);
1378    (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1379   }
1380   if(qcCommonHist2)
1381   {
1382    avMultDiffFlowQC2 = (qcCommonHist2->GetHistMultDiff())->GetMean();//to be removed
1383    nEvtsDiffFlowQC2  = (qcCommonHist2->GetHistMultDiff())->GetEntries();//to be removed
1384    avMultDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
1385    nEvtsDiffFlowQC2RP  = (qcCommonHist2->GetHistMultInt())->GetEntries();
1386    avMultDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
1387    nEvtsDiffFlowQC2POI  = (qcCommonHist2->GetHistMultDiff())->GetEntries();
1388   }
1389   //QC{4}
1390   if(qcCommonHistRes4)
1391   {
1392    (qcCommonHistRes4->GetHistDiffFlow())->SetMarkerColor(kOrange-6);//to be removed
1393    (qcCommonHistRes4->GetHistDiffFlow())->SetMarkerStyle(21);//to be removed
1394    (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange-6);
1395    (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(21);
1396    (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange-6);
1397    (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(21);
1398    (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange-6);
1399    (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(21);
1400    (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange-6);
1401    (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(21);
1402   }
1403   if(qcCommonHist4)
1404   {
1405    avMultDiffFlowQC4 = (qcCommonHist4->GetHistMultDiff())->GetMean();//to be removed
1406    nEvtsDiffFlowQC4  = (qcCommonHist4->GetHistMultDiff())->GetEntries();//to be removed
1407    avMultDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
1408    nEvtsDiffFlowQC4RP  = (qcCommonHist4->GetHistMultInt())->GetEntries();
1409    avMultDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
1410    nEvtsDiffFlowQC4POI  = (qcCommonHist4->GetHistMultDiff())->GetEntries();
1411   }
1412   //QC{6}
1413   if(qcCommonHistRes6)
1414   {
1415    (qcCommonHistRes6->GetHistDiffFlow())->SetMarkerColor(kOrange+3);//to be removed
1416    (qcCommonHistRes6->GetHistDiffFlow())->SetMarkerStyle(24);//to be removed
1417    (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange+3);
1418    (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(24);
1419    (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange+3);
1420    (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(24);
1421    (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange+3);
1422    (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(24);
1423    (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange+3);
1424    (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(24);
1425   }
1426   if(qcCommonHist6)
1427   {
1428    avMultDiffFlowQC6 = (qcCommonHist6->GetHistMultDiff())->GetMean();//to be removed
1429    nEvtsDiffFlowQC6  = (qcCommonHist6->GetHistMultDiff())->GetEntries();//to be removed
1430    avMultDiffFlowQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
1431    nEvtsDiffFlowQC6RP  = (qcCommonHist6->GetHistMultInt())->GetEntries();
1432    avMultDiffFlowQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
1433    nEvtsDiffFlowQC6POI  = (qcCommonHist6->GetHistMultDiff())->GetEntries();
1434   }
1435   //QC{8}
1436   if(qcCommonHistRes8)
1437   {
1438    (qcCommonHistRes8->GetHistDiffFlow())->SetMarkerColor(kOrange-6);//to be removed
1439    (qcCommonHistRes8->GetHistDiffFlow())->SetMarkerStyle(25);//to be removed
1440    (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange-6);
1441    (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(25);
1442    (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange-6);
1443    (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(25);
1444    (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange-6);
1445    (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(25);
1446    (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange-6);
1447    (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(25);
1448   }
1449   if(qcCommonHist8)
1450   {
1451    avMultDiffFlowQC8 = (qcCommonHist8->GetHistMultDiff())->GetMean();//to be removed
1452    nEvtsDiffFlowQC8  = (qcCommonHist8->GetHistMultDiff())->GetEntries();//to be removed
1453    avMultDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
1454    nEvtsDiffFlowQC8RP  = (qcCommonHist8->GetHistMultInt())->GetEntries();
1455    avMultDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
1456    nEvtsDiffFlowQC8POI  = (qcCommonHist8->GetHistMultDiff())->GetEntries();
1457   }
1458  } 
1459
1460  //LYZ2 = Lee-Yang Zeros (2nd run)
1461  Double_t avMultDiffFlowLYZ2=0.;//to be removed
1462  Double_t nEvtsDiffFlowLYZ2=0;//to be removed
1463  Double_t avMultDiffFlowLYZ2RP=0.;
1464  Double_t nEvtsDiffFlowLYZ2RP=0;
1465  Double_t avMultDiffFlowLYZ2POI=0.;
1466  Double_t nEvtsDiffFlowLYZ2POI=0;
1467  if(fileLYZ2)
1468  {
1469   if(lyz2CommonHistRes)
1470   {
1471    (lyz2CommonHistRes->GetHistDiffFlow())->SetMarkerColor(kGreen+3);//to be removed
1472    (lyz2CommonHistRes->GetHistDiffFlow())->SetMarkerStyle(22);//to be removed
1473    (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(kGreen+3);
1474    (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(22);
1475    (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(kGreen+3);
1476    (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(22);
1477    (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(kGreen+3);
1478    (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(22);
1479    (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(kGreen+3);
1480    (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(22);
1481   } 
1482   if(lyz2CommonHist)
1483   {
1484    avMultDiffFlowLYZ2 = (lyz2CommonHist->GetHistMultDiff())->GetMean();//to be removed
1485    nEvtsDiffFlowLYZ2  = (lyz2CommonHist->GetHistMultDiff())->GetEntries();//to be removed
1486    avMultDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetMean();
1487    nEvtsDiffFlowLYZ2RP  = (lyz2CommonHist->GetHistMultInt())->GetEntries();
1488    avMultDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetMean();
1489    nEvtsDiffFlowLYZ2POI  = (lyz2CommonHist->GetHistMultDiff())->GetEntries();
1490   } 
1491  } 
1492
1493  //LYZEP = Lee-Yang Zeros Event Plane
1494  Double_t avMultDiffFlowLYZEP=0.;//to be removed
1495  Double_t nEvtsDiffFlowLYZEP=0;//to be removed
1496  Double_t avMultDiffFlowLYZEPRP=0.;
1497  Double_t nEvtsDiffFlowLYZEPRP=0;
1498  Double_t avMultDiffFlowLYZEPPOI=0.;
1499  Double_t nEvtsDiffFlowLYZEPPOI=0;
1500  if(fileLYZEP)
1501  {
1502   if(lyzepCommonHistRes)
1503   {
1504    (lyzepCommonHistRes->GetHistDiffFlow())->Scale(0.01);//to be improved
1505    (lyzepCommonHistRes->GetHistDiffFlow())->SetMarkerColor(kGreen+3);//to be removed
1506    (lyzepCommonHistRes->GetHistDiffFlow())->SetMarkerStyle(26);//to be removed
1507    (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(kGreen+3);
1508    (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(26);
1509    (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(kGreen+3);
1510    (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(26);
1511    (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(kGreen+3);
1512    (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(26);
1513    (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(kGreen+3);
1514    (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(26);
1515   } 
1516   if(lyzepCommonHist)
1517   {
1518    avMultDiffFlowLYZEP = (lyzepCommonHist->GetHistMultDiff())->GetMean();//to be removed
1519    nEvtsDiffFlowLYZEP  = (lyzepCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1520    avMultDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
1521    nEvtsDiffFlowLYZEPRP  = (lyzepCommonHist->GetHistMultInt())->GetEntries();
1522    avMultDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
1523    nEvtsDiffFlowLYZEPPOI  = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
1524   } 
1525  } 
1526
1527  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1528  // !!!! to be removed !!!!
1529  //----------------------------------------------------------------------------------
1530  //final drawing for differential flow:
1531  TCanvas* diffFlowAllCanvas = new TCanvas("Differential Flow","Differential Flow",1000,600);
1532  
1533  diffFlowAllCanvas->Divide(2,1);
1534  
1535  //1st pad is for plot:
1536  (diffFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1537   
1538  if(styleHistPt)
1539  {
1540   styleHistPt->Draw();
1541  }
1542
1543  if(pMeshDiffFlow)
1544  {
1545   pMeshDiffFlow->Draw("LFSAME");
1546  }
1547  //MC 
1548  if(mcepCommonHistRes)
1549  { 
1550   (mcepCommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1551  }
1552  //GFC
1553  if(gfcCommonHistRes2)
1554  { 
1555   (gfcCommonHistRes2->GetHistDiffFlow())->Draw("E1PSAME"); 
1556  } 
1557  if(gfcCommonHistRes4)
1558  { 
1559   (gfcCommonHistRes4->GetHistDiffFlow())->Draw("E1PSAME"); 
1560  } 
1561  if(gfcCommonHistRes6)
1562  { 
1563   (gfcCommonHistRes6->GetHistDiffFlow())->Draw("E1PSAME"); 
1564  } 
1565  if(gfcCommonHistRes8)
1566  { 
1567   (gfcCommonHistRes8->GetHistDiffFlow())->Draw("E1PSAME"); 
1568  }   
1569  //QC
1570  if(qcCommonHistRes2)
1571  { 
1572   (qcCommonHistRes2->GetHistDiffFlow())->Draw("E1PSAME");
1573  }
1574  if(qcCommonHistRes4)
1575  { 
1576   (qcCommonHistRes4->GetHistDiffFlow())->Draw("E1PSAME");
1577  }
1578  //LYZ2
1579  if(lyz2CommonHistRes)
1580  { 
1581   (lyz2CommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1582  }
1583  //LYZEP
1584  if(lyzepCommonHistRes)
1585  { 
1586   (lyzepCommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1587  }
1588  
1589  //2nd pad is for legend:
1590  (diffFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1591
1592  TLegend* legendDiffFlow = new TLegend(0.02,0.25,0.97,0.75);
1593  legendDiffFlow->SetTextFont(72);
1594  legendDiffFlow->SetTextSize(0.06);
1595
1596  //legend's entries:
1597  TString *entryDiffMC   = new TString("MC ....... ");
1598  TString *entryDiffGFC2 = new TString("GFC{2} ... ");
1599  TString *entryDiffGFC4 = new TString("GFC{4} ... ");
1600  TString *entryDiffGFC6 = new TString("GFC{6} ... ");
1601  TString *entryDiffGFC8 = new TString("GFC{8} ... "); 
1602  TString *entryDiffQC2  = new TString("QC{2} .... ");
1603  TString *entryDiffQC4  = new TString("QC{4} .... ");
1604  TString *entryDiffLYZ2 = new TString("LYZ ...... ");
1605  TString *entryDiffLYZEP = new TString("LYZEP ... ");
1606  
1607  //MC
1608  if(mcepCommonHistRes)
1609  {
1610   (mcepCommonHistRes->GetHistDiffFlow())->SetFillStyle(meshStyle);
1611   (mcepCommonHistRes->GetHistDiffFlow())->SetFillColor(meshColor);
1612   entryDiffMC->Append("M = ");
1613   (*entryDiffMC)+=(Long_t)avMultDiffFlowMC;
1614   entryDiffMC->Append(", N = ");
1615   (*entryDiffMC)+=(Long_t)nEvtsDiffFlowMC; 
1616   legendDiffFlow->AddEntry(mcepCommonHistRes->GetHistDiffFlow(),entryDiffMC->Data(),"f");
1617  }
1618
1619  //GFC
1620  if(gfcCommonHistRes2)
1621  {
1622   entryDiffGFC2->Append("M = ");
1623   (*entryDiffGFC2)+=(Long_t)avMultDiffFlowGFC;
1624   entryDiffGFC2->Append(", N = ");
1625   (*entryDiffGFC2)+=(Long_t)nEvtsDiffFlowGFC; 
1626   legendDiffFlow->AddEntry(gfcCommonHistRes2->GetHistDiffFlow(),entryDiffGFC2->Data(),"p");
1627  }
1628  if(gfcCommonHistRes4)
1629  {
1630   entryDiffGFC4->Append("M = ");
1631   (*entryDiffGFC4)+=(Long_t)avMultDiffFlowGFC;
1632   entryDiffGFC4->Append(", N = ");
1633   (*entryDiffGFC4)+=(Long_t)nEvtsDiffFlowGFC; 
1634   legendDiffFlow->AddEntry(gfcCommonHistRes4->GetHistDiffFlow(),entryDiffGFC4->Data(),"p");
1635  }
1636  if(gfcCommonHistRes6)
1637  {
1638   entryDiffGFC6->Append("M = ");
1639   (*entryDiffGFC6)+=(Long_t)avMultDiffFlowGFC;
1640   entryDiffGFC6->Append(", N = ");
1641   (*entryDiffGFC6)+=(Long_t)nEvtsDiffFlowGFC; 
1642   legendDiffFlow->AddEntry(gfcCommonHistRes6->GetHistDiffFlow(),entryDiffGFC6->Data(),"p");
1643  } 
1644  if(gfcCommonHistRes8)
1645  {
1646   entryDiffGFC8->Append("M = ");
1647   (*entryDiffGFC8)+=(Long_t)avMultDiffFlowGFC;
1648   entryDiffGFC8->Append(", N = ");
1649   (*entryDiffGFC8)+=(Long_t)nEvtsDiffFlowGFC; 
1650   legendDiffFlow->AddEntry(gfcCommonHistRes8->GetHistDiffFlow(),entryDiffGFC8->Data(),"p");
1651  }  
1652  //QC
1653  if(qcCommonHistRes2)
1654  {
1655   entryDiffQC2->Append("M = ");
1656   (*entryDiffQC2)+=(Long_t)avMultDiffFlowQC2;
1657   entryDiffQC2->Append(", N = ");
1658   (*entryDiffQC2)+=(Long_t)nEvtsDiffFlowQC2; 
1659   legendDiffFlow->AddEntry(qcCommonHistRes2->GetHistDiffFlow(),entryDiffQC2->Data(),"p");
1660  }
1661  if(qcCommonHistRes4)
1662  {
1663   entryDiffQC4->Append("M = ");
1664   (*entryDiffQC4)+=(Long_t)avMultDiffFlowQC4;
1665   entryDiffQC4->Append(", N = ");
1666   (*entryDiffQC4)+=(Long_t)nEvtsDiffFlowQC4; 
1667   legendDiffFlow->AddEntry(qcCommonHistRes4->GetHistDiffFlow(),entryDiffQC4->Data(),"p");
1668  }
1669  
1670  //LYZ
1671  if(lyz2CommonHistRes)
1672  {
1673   entryDiffLYZ2->Append("M = ");
1674   (*entryDiffLYZ2)+=(Long_t)avMultDiffFlowLYZ2;
1675   entryDiffLYZ2->Append(", N = ");
1676   (*entryDiffLYZ2)+=(Long_t)nEvtsDiffFlowLYZ2; 
1677   legendDiffFlow->AddEntry(lyz2CommonHistRes->GetHistDiffFlow(),entryDiffLYZ2->Data(),"p");
1678  }
1679  
1680  //LYZEP
1681  if(lyzepCommonHistRes)
1682  {
1683   entryDiffLYZEP->Append("M = ");
1684   (*entryDiffLYZEP)+=(Long_t)avMultDiffFlowLYZEP;
1685   entryDiffLYZEP->Append(", N = ");
1686   (*entryDiffLYZEP)+=(Long_t)nEvtsDiffFlowLYZEP; 
1687   legendDiffFlow->AddEntry(lyzepCommonHistRes->GetHistDiffFlow(),entryDiffLYZEP->Data(),"p");
1688  }
1689
1690
1691  //drawing finally the legend in the 2nd pad:     
1692  if(legendDiffFlow)
1693  {
1694   legendDiffFlow->SetMargin(0.15);
1695   legendDiffFlow->Draw();
1696  }
1697  //----------------------------------------------------------------------------------
1698  //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1699
1700  
1701  //----------------------------------------------------------------------------------
1702  //final drawing for differential flow (Pt, RP):
1703  //set here the results of which methods will be plotted by default:
1704  Bool_t plotMCPtRP    = kFALSE;
1705  Bool_t plotGFC2PtRP  = kTRUE;
1706  Bool_t plotGFC4PtRP  = kTRUE;
1707  Bool_t plotGFC6PtRP  = kTRUE;
1708  Bool_t plotGFC8PtRP  = kTRUE;
1709  Bool_t plotQC2PtRP   = kTRUE;
1710  Bool_t plotQC4PtRP   = kTRUE;
1711  Bool_t plotQC6PtRP   = kTRUE;
1712  Bool_t plotQC8PtRP   = kTRUE;
1713  Bool_t plotLYZ2PtRP  = kTRUE;
1714  Bool_t plotLYZEPPtRP = kTRUE;  
1715  if(plotDiffFlowPtRP)
1716  {
1717   TCanvas* diffFlowPtAllCanvasRP = new TCanvas("Differential Flow (Pt) of RP","Differential Flow (Pt) of RP ",1000,600);
1718   
1719   diffFlowPtAllCanvasRP->Divide(2,1);
1720  
1721   //1st pad is for plot:
1722   (diffFlowPtAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1723  
1724   if(styleHistPt)
1725   {
1726    (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
1727    styleHistPt->Draw();
1728   }
1729   if(pMeshDiffFlowPtRP)
1730   {
1731    pMeshDiffFlowPtRP->Draw("LFSAME");
1732   }
1733  
1734   //MC 
1735   if(plotMCPtRP && mcepCommonHistRes)
1736   { 
1737    (mcepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1738   }
1739   //GFC
1740   if(plotGFC2PtRP && gfcCommonHistRes2)
1741   { 
1742    (gfcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME"); 
1743   } 
1744   if(plotGFC4PtRP && gfcCommonHistRes4)
1745   { 
1746    (gfcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME"); 
1747   } 
1748   if(plotGFC6PtRP && gfcCommonHistRes6)
1749   { 
1750    (gfcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME"); 
1751   } 
1752   if(plotGFC8PtRP && gfcCommonHistRes8)
1753   { 
1754    (gfcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME"); 
1755   }    
1756   //QC
1757   if(plotQC2PtRP && qcCommonHistRes2)
1758   { 
1759    (qcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1760   }
1761   if(plotQC4PtRP && qcCommonHistRes4)
1762   { 
1763    (qcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1764   }
1765   if(plotQC6PtRP && qcCommonHistRes6)
1766   { 
1767    (qcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1768   }
1769   if(plotQC8PtRP && qcCommonHistRes8)
1770   { 
1771    (qcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1772   }
1773   //LYZ2
1774   if(plotLYZ2PtRP && lyz2CommonHistRes)
1775   { 
1776    (lyz2CommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1777   }
1778   //LYZEP
1779   if(plotLYZEPPtRP && lyzepCommonHistRes)
1780   { 
1781    (lyzepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1782   }
1783
1784   //2nd pad is for legend:
1785   (diffFlowPtAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1786  
1787   TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.25,0.97,0.75);
1788   legendDiffFlowPtRP->SetTextFont(72);
1789   legendDiffFlowPtRP->SetTextSize(0.06);
1790  
1791   //legend's entries:
1792   TString *entryDiffMCPtRP    = new TString("MC ....... ");
1793   TString *entryDiffGFC2PtRP  = new TString("GFC{2} ... ");
1794   TString *entryDiffGFC4PtRP  = new TString("GFC{4} ... ");
1795   TString *entryDiffGFC6PtRP  = new TString("GFC{6} ... ");
1796   TString *entryDiffGFC8PtRP  = new TString("GFC{8} ... "); 
1797   TString *entryDiffQC2PtRP   = new TString("QC{2} .... ");
1798   TString *entryDiffQC4PtRP   = new TString("QC{4} .... ");
1799   TString *entryDiffQC6PtRP   = new TString("QC{6} .... ");
1800   TString *entryDiffQC8PtRP   = new TString("QC{8} .... ");
1801   TString *entryDiffLYZ2PtRP  = new TString("LYZ ...... ");
1802   TString *entryDiffLYZEPPtRP = new TString("LYZEP ... ");
1803   
1804   //MC
1805   if(mcepCommonHistRes)
1806   {
1807    (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyle);
1808    (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColor);
1809    entryDiffMCPtRP->Append("M = ");
1810    (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
1811    entryDiffMCPtRP->Append(", N = ");
1812    (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP; 
1813    legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
1814   }
1815
1816   //GFC
1817   if(plotGFC2PtRP && gfcCommonHistRes2)
1818   {
1819    entryDiffGFC2PtRP->Append("M = ");
1820    (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1821    entryDiffGFC2PtRP->Append(", N = ");
1822    (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
1823    legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
1824   }
1825   if(plotGFC4PtRP && gfcCommonHistRes4)
1826   {
1827    entryDiffGFC4PtRP->Append("M = ");
1828    (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1829    entryDiffGFC4PtRP->Append(", N = ");
1830    (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
1831    legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
1832   }
1833   if(plotGFC6PtRP && gfcCommonHistRes6)
1834   {
1835    entryDiffGFC6PtRP->Append("M = ");
1836    (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1837    entryDiffGFC6PtRP->Append(", N = ");
1838    (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
1839    legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
1840   } 
1841   if(plotGFC8PtRP && gfcCommonHistRes8)
1842   {
1843    entryDiffGFC8PtRP->Append("M = ");
1844    (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1845    entryDiffGFC8PtRP->Append(", N = ");
1846    (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
1847    legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
1848   }  
1849   
1850   //QC
1851   if(plotQC2PtRP && qcCommonHistRes2)
1852   {
1853    entryDiffQC2PtRP->Append("M = ");
1854    (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
1855    entryDiffQC2PtRP->Append(", N = ");
1856    (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP; 
1857    legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
1858   }
1859   if(plotQC4PtRP && qcCommonHistRes4)
1860   {
1861    entryDiffQC4PtRP->Append("M = ");
1862    (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
1863    entryDiffQC4PtRP->Append(", N = ");
1864    (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP; 
1865    legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
1866   }
1867   if(plotQC6PtRP && qcCommonHistRes6)
1868   {
1869    entryDiffQC6PtRP->Append("M = ");
1870    (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
1871    entryDiffQC6PtRP->Append(", N = ");
1872    (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP; 
1873    legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
1874   }
1875   if(plotQC8PtRP && qcCommonHistRes8)
1876   {
1877    entryDiffQC8PtRP->Append("M = ");
1878    (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
1879    entryDiffQC8PtRP->Append(", N = ");
1880    (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP; 
1881    legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
1882   }
1883   
1884   //LYZ2
1885   if(plotLYZ2PtRP && lyz2CommonHistRes)
1886   {
1887    entryDiffLYZ2PtRP->Append("M = ");
1888    (*entryDiffLYZ2PtRP)+=(Long_t)avMultDiffFlowLYZ2RP;
1889    entryDiffLYZ2PtRP->Append(", N = ");
1890    (*entryDiffLYZ2PtRP)+=(Long_t)nEvtsDiffFlowLYZ2RP; 
1891    legendDiffFlowPtRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PtRP->Data(),"p");
1892   }
1893   
1894   //LYZEP
1895   if(plotLYZEPPtRP && lyzepCommonHistRes)
1896   {
1897    entryDiffLYZEPPtRP->Append("M = ");
1898    (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
1899    entryDiffLYZEPPtRP->Append(", N = ");
1900    (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP; 
1901    legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
1902   }
1903
1904   //drawing finally the legend in the 2nd pad:     
1905   if(legendDiffFlowPtRP)
1906   {
1907    legendDiffFlowPtRP->SetMargin(0.15);
1908    legendDiffFlowPtRP->Draw();
1909   }
1910  }// end of if(plotDiffFlowPtRP)
1911  //----------------------------------------------------------------------------------
1912  
1913  
1914  //----------------------------------------------------------------------------------
1915  //final drawing for differential flow (Eta, RP):
1916  //set here the results of which methods will be plotted by default:
1917  Bool_t plotMCEtaRP    = kFALSE;
1918  Bool_t plotGFC2EtaRP  = kTRUE;
1919  Bool_t plotGFC4EtaRP  = kTRUE;
1920  Bool_t plotGFC6EtaRP  = kTRUE;
1921  Bool_t plotGFC8EtaRP  = kTRUE;
1922  Bool_t plotQC2EtaRP   = kTRUE;
1923  Bool_t plotQC4EtaRP   = kTRUE;
1924  Bool_t plotQC6EtaRP   = kTRUE;
1925  Bool_t plotQC8EtaRP   = kTRUE;
1926  Bool_t plotLYZ2EtaRP  = kTRUE;
1927  Bool_t plotLYZEPEtaRP = kTRUE;
1928  if(plotDiffFlowEtaRP)
1929  {
1930   TCanvas* diffFlowEtaAllCanvasRP = new TCanvas("Differential Flow (Eta) of RP","Differential Flow (Eta) of RP ",1000,600);
1931  
1932   diffFlowEtaAllCanvasRP->Divide(2,1);
1933  
1934   //1st pad is for plot:
1935   (diffFlowEtaAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1936   
1937   if(styleHistEta)
1938   {
1939    (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
1940    styleHistEta->Draw();
1941   }
1942   if(pMeshDiffFlowEtaRP)
1943   {
1944    pMeshDiffFlowEtaRP->Draw("LFSAME");
1945   }
1946  
1947   //MC 
1948   if(plotMCEtaRP && mcepCommonHistRes)
1949   { 
1950    (mcepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1951   }
1952   //GFC
1953   if(plotGFC2EtaRP && gfcCommonHistRes2)
1954   { 
1955    (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME"); 
1956   } 
1957   if(plotGFC4EtaRP && gfcCommonHistRes4)
1958   { 
1959    (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME"); 
1960   } 
1961   if(plotGFC6EtaRP && gfcCommonHistRes6)
1962   { 
1963    (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME"); 
1964   } 
1965   if(plotGFC8EtaRP && gfcCommonHistRes8)
1966   { 
1967    (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME"); 
1968   }    
1969   //QC
1970   if(plotQC2EtaRP && qcCommonHistRes2)
1971   { 
1972    (qcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1973   }
1974   if(plotQC4EtaRP && qcCommonHistRes4)
1975   { 
1976    (qcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1977   }
1978   if(plotQC6EtaRP && qcCommonHistRes6)
1979   { 
1980    (qcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1981   }
1982   if(plotQC8EtaRP && qcCommonHistRes8)
1983   { 
1984    (qcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1985   }
1986   //LYZ2
1987   if(plotLYZ2EtaRP && lyz2CommonHistRes)
1988   { 
1989    (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1990   }
1991   //LYZEP
1992   if(plotLYZEPEtaRP && lyzepCommonHistRes)
1993   { 
1994    (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1995   }
1996  
1997   //2nd pad is for legend:
1998   (diffFlowEtaAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1999
2000   TLegend* legendDiffFlowEtaRP = new TLegend(0.02,0.25,0.97,0.75);
2001   legendDiffFlowEtaRP->SetTextFont(72);
2002   legendDiffFlowEtaRP->SetTextSize(0.06);
2003   
2004   //legend's entries:
2005   TString *entryDiffMCEtaRP   = new TString("MC ....... ");
2006   TString *entryDiffGFC2EtaRP = new TString("GFC{2} ... ");
2007   TString *entryDiffGFC4EtaRP = new TString("GFC{4} ... ");
2008   TString *entryDiffGFC6EtaRP = new TString("GFC{6} ... ");
2009   TString *entryDiffGFC8EtaRP = new TString("GFC{8} ... "); 
2010   TString *entryDiffQC2EtaRP  = new TString("QC{2} .... ");
2011   TString *entryDiffQC4EtaRP  = new TString("QC{4} .... ");
2012   TString *entryDiffQC6EtaRP  = new TString("QC{6} .... ");
2013   TString *entryDiffQC8EtaRP  = new TString("QC{8} .... ");
2014   TString *entryDiffLYZ2EtaRP = new TString("LYZ ...... ");
2015   TString *entryDiffLYZEPEtaRP = new TString("LYZEP ... ");
2016  
2017   //MC
2018   if(mcepCommonHistRes)
2019   {
2020    (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillStyle(meshStyle);
2021    (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillColor(meshColor);
2022    entryDiffMCEtaRP->Append("M = ");
2023    (*entryDiffMCEtaRP)+=(Long_t)avMultDiffFlowMCRP;
2024    entryDiffMCEtaRP->Append(", N = ");
2025    (*entryDiffMCEtaRP)+=(Long_t)nEvtsDiffFlowMCRP; 
2026    legendDiffFlowEtaRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffMCEtaRP->Data(),"f");
2027   }
2028  
2029   //GFC
2030   if(plotGFC2EtaRP && gfcCommonHistRes2)
2031   {
2032    entryDiffGFC2EtaRP->Append("M = ");
2033    (*entryDiffGFC2EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2034    entryDiffGFC2EtaRP->Append(", N = ");
2035    (*entryDiffGFC2EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
2036    legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffGFC2EtaRP->Data(),"p");
2037   }
2038   if(plotGFC4EtaRP && gfcCommonHistRes4)
2039   {
2040    entryDiffGFC4EtaRP->Append("M = ");
2041    (*entryDiffGFC4EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2042    entryDiffGFC4EtaRP->Append(", N = ");
2043    (*entryDiffGFC4EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
2044    legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffGFC4EtaRP->Data(),"p");
2045   }
2046   if(plotGFC6EtaRP && gfcCommonHistRes6)
2047   {
2048    entryDiffGFC6EtaRP->Append("M = ");
2049    (*entryDiffGFC6EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2050    entryDiffGFC6EtaRP->Append(", N = ");
2051    (*entryDiffGFC6EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
2052    legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffGFC6EtaRP->Data(),"p");
2053   } 
2054   if(plotGFC8EtaRP && gfcCommonHistRes8)
2055   {
2056    entryDiffGFC8EtaRP->Append("M = ");
2057    (*entryDiffGFC8EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2058    entryDiffGFC8EtaRP->Append(", N = ");
2059    (*entryDiffGFC8EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP; 
2060    legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffGFC8EtaRP->Data(),"p");
2061   }  
2062   
2063   //QC
2064   if(plotQC2EtaRP && qcCommonHistRes2)
2065   {
2066    entryDiffQC2EtaRP->Append("M = ");
2067    (*entryDiffQC2EtaRP)+=(Long_t)avMultDiffFlowQC2RP;
2068    entryDiffQC2EtaRP->Append(", N = ");
2069    (*entryDiffQC2EtaRP)+=(Long_t)nEvtsDiffFlowQC2RP; 
2070    legendDiffFlowEtaRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffQC2EtaRP->Data(),"p");
2071   }
2072   if(plotQC4EtaRP && qcCommonHistRes4)
2073   {
2074    entryDiffQC4EtaRP->Append("M = ");
2075    (*entryDiffQC4EtaRP)+=(Long_t)avMultDiffFlowQC4RP;
2076    entryDiffQC4EtaRP->Append(", N = ");
2077    (*entryDiffQC4EtaRP)+=(Long_t)nEvtsDiffFlowQC4RP; 
2078    legendDiffFlowEtaRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffQC4EtaRP->Data(),"p");
2079   }
2080   if(plotQC6EtaRP && qcCommonHistRes6)
2081   {
2082    entryDiffQC6EtaRP->Append("M = ");
2083    (*entryDiffQC6EtaRP)+=(Long_t)avMultDiffFlowQC6RP;
2084    entryDiffQC6EtaRP->Append(", N = ");
2085    (*entryDiffQC6EtaRP)+=(Long_t)nEvtsDiffFlowQC6RP; 
2086    legendDiffFlowEtaRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffQC6EtaRP->Data(),"p");
2087   }
2088   if(plotQC8EtaRP && qcCommonHistRes8)
2089   {
2090    entryDiffQC8EtaRP->Append("M = ");
2091    (*entryDiffQC8EtaRP)+=(Long_t)avMultDiffFlowQC8RP;
2092    entryDiffQC8EtaRP->Append(", N = ");
2093    (*entryDiffQC8EtaRP)+=(Long_t)nEvtsDiffFlowQC8RP; 
2094    legendDiffFlowEtaRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffQC8EtaRP->Data(),"p");
2095   }
2096  
2097   //LYZ2
2098   if(plotLYZ2EtaRP && lyz2CommonHistRes)
2099   {
2100    entryDiffLYZ2EtaRP->Append("M = ");
2101    (*entryDiffLYZ2EtaRP)+=(Long_t)avMultDiffFlowLYZ2RP;
2102    entryDiffLYZ2EtaRP->Append(", N = ");
2103    (*entryDiffLYZ2EtaRP)+=(Long_t)nEvtsDiffFlowLYZ2RP; 
2104    legendDiffFlowEtaRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZ2EtaRP->Data(),"p");
2105   }
2106   
2107   //LYZEP
2108   if(plotLYZEPEtaRP && lyzepCommonHistRes)
2109   {
2110    entryDiffLYZEPEtaRP->Append("M = ");
2111    (*entryDiffLYZEPEtaRP)+=(Long_t)avMultDiffFlowLYZEPRP;
2112    entryDiffLYZEPEtaRP->Append(", N = ");
2113    (*entryDiffLYZEPEtaRP)+=(Long_t)nEvtsDiffFlowLYZEPRP; 
2114    legendDiffFlowEtaRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZEPEtaRP->Data(),"p");
2115   }
2116
2117   //drawing finally the legend in the 2nd pad:     
2118   if(legendDiffFlowEtaRP)
2119   {
2120    legendDiffFlowEtaRP->SetMargin(0.15);
2121    legendDiffFlowEtaRP->Draw();
2122   }
2123  }// end of if(plotDiffFlowEtaRP)
2124  //----------------------------------------------------------------------------------
2125
2126  //----------------------------------------------------------------------------------
2127  //final drawing for differential flow (Pt, POI):
2128  //set here the results of which methods will be plotted by default:
2129  Bool_t plotMCPtPOI    = kFALSE;
2130  Bool_t plotGFC2PtPOI  = kTRUE;
2131  Bool_t plotGFC4PtPOI  = kTRUE;
2132  Bool_t plotGFC6PtPOI  = kTRUE;
2133  Bool_t plotGFC8PtPOI  = kTRUE;
2134  Bool_t plotQC2PtPOI   = kTRUE;
2135  Bool_t plotQC4PtPOI   = kTRUE;
2136  Bool_t plotQC6PtPOI   = kTRUE;
2137  Bool_t plotQC8PtPOI   = kTRUE;
2138  Bool_t plotLYZ2PtPOI  = kTRUE;
2139  Bool_t plotLYZEPPtPOI = kTRUE; 
2140  if(plotDiffFlowPtPOI)
2141  {
2142   TCanvas* diffFlowPtAllCanvasPOI = new TCanvas("Differential Flow (Pt) of POI","Differential Flow (Pt) of POI ",1000,600);
2143  
2144   diffFlowPtAllCanvasPOI->Divide(2,1);
2145  
2146   //1st pad is for plot:
2147   (diffFlowPtAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2148   
2149   if(styleHistPt)
2150   {
2151    (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2152    styleHistPt->Draw();
2153   }
2154   if(pMeshDiffFlowPtPOI)
2155   {
2156    pMeshDiffFlowPtPOI->Draw("LFSAME");
2157   }
2158  
2159   //MC 
2160   if(plotMCPtPOI && mcepCommonHistRes)
2161   { 
2162    (mcepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2163   }
2164   //GFC
2165   if(plotGFC2PtPOI && gfcCommonHistRes2)
2166   { 
2167    (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME"); 
2168   } 
2169   if(plotGFC4PtPOI && gfcCommonHistRes4)
2170   { 
2171    (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME"); 
2172   } 
2173   if(plotGFC6PtPOI && gfcCommonHistRes6)
2174   { 
2175    (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME"); 
2176   } 
2177   if(plotGFC8PtPOI && gfcCommonHistRes8)
2178   { 
2179    (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME"); 
2180   }    
2181   //QC
2182   if(plotQC2PtPOI && qcCommonHistRes2)
2183   { 
2184    (qcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2185   }
2186   if(plotQC4PtPOI && qcCommonHistRes4)
2187   { 
2188    (qcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2189   }
2190   if(plotQC6PtPOI && qcCommonHistRes6)
2191   { 
2192    (qcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2193   }
2194   if(plotQC8PtPOI && qcCommonHistRes8)
2195   { 
2196    (qcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2197   }
2198   //LYZ2
2199   if(plotLYZ2PtPOI && lyz2CommonHistRes)
2200   { 
2201    (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2202   }
2203   //LYZEP
2204   if(plotLYZEPPtPOI && lyzepCommonHistRes)
2205   { 
2206    (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2207   }
2208  
2209   //2nd pad is for legend:
2210   (diffFlowPtAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2211
2212   TLegend* legendDiffFlowPtPOI = new TLegend(0.02,0.25,0.97,0.75);
2213   legendDiffFlowPtPOI->SetTextFont(72);
2214   legendDiffFlowPtPOI->SetTextSize(0.06);
2215  
2216   //legend's entries:
2217   TString *entryDiffMCPtPOI   = new TString("MC ....... ");
2218   TString *entryDiffGFC2PtPOI = new TString("GFC{2} ... ");
2219   TString *entryDiffGFC4PtPOI = new TString("GFC{4} ... ");
2220   TString *entryDiffGFC6PtPOI = new TString("GFC{6} ... ");
2221   TString *entryDiffGFC8PtPOI = new TString("GFC{8} ... "); 
2222   TString *entryDiffQC2PtPOI  = new TString("QC{2} .... ");
2223   TString *entryDiffQC4PtPOI  = new TString("QC{4} .... ");
2224   TString *entryDiffQC6PtPOI  = new TString("QC{6} .... ");
2225   TString *entryDiffQC8PtPOI  = new TString("QC{8} .... ");
2226   TString *entryDiffLYZ2PtPOI = new TString("LYZ ...... ");
2227   TString *entryDiffLYZEPPtPOI = new TString("LYZEP ... "); 
2228  
2229   //MC
2230   if(mcepCommonHistRes)
2231   {
2232    (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillStyle(meshStyle);
2233    (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillColor(meshColor);
2234    entryDiffMCPtPOI->Append("M = ");
2235    (*entryDiffMCPtPOI)+=(Long_t)avMultDiffFlowMCPOI;
2236    entryDiffMCPtPOI->Append(", N = ");
2237    (*entryDiffMCPtPOI)+=(Long_t)nEvtsDiffFlowMCPOI; 
2238    legendDiffFlowPtPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffMCPtPOI->Data(),"f");
2239   }
2240
2241   //GFC
2242   if(plotGFC2PtPOI && gfcCommonHistRes2)
2243   {
2244    entryDiffGFC2PtPOI->Append("M = ");
2245    (*entryDiffGFC2PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2246    entryDiffGFC2PtPOI->Append(", N = ");
2247    (*entryDiffGFC2PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2248    legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffGFC2PtPOI->Data(),"p");
2249   }
2250   if(plotGFC4PtPOI && gfcCommonHistRes4)
2251   {
2252    entryDiffGFC4PtPOI->Append("M = ");
2253    (*entryDiffGFC4PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2254    entryDiffGFC4PtPOI->Append(", N = ");
2255    (*entryDiffGFC4PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2256    legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffGFC4PtPOI->Data(),"p");
2257   }
2258   if(plotGFC6PtPOI && gfcCommonHistRes6)
2259   {
2260    entryDiffGFC6PtPOI->Append("M = ");
2261    (*entryDiffGFC6PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2262    entryDiffGFC6PtPOI->Append(", N = ");
2263    (*entryDiffGFC6PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2264    legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffGFC6PtPOI->Data(),"p");
2265   } 
2266   if(plotGFC8PtPOI && gfcCommonHistRes8)
2267   {
2268    entryDiffGFC8PtPOI->Append("M = ");
2269    (*entryDiffGFC8PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2270    entryDiffGFC8PtPOI->Append(", N = ");
2271    (*entryDiffGFC8PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2272    legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffGFC8PtPOI->Data(),"p");
2273   }  
2274   
2275   //QC
2276   if(plotQC2PtPOI && qcCommonHistRes2)
2277   {
2278    entryDiffQC2PtPOI->Append("M = ");
2279    (*entryDiffQC2PtPOI)+=(Long_t)avMultDiffFlowQC2POI;
2280    entryDiffQC2PtPOI->Append(", N = ");
2281    (*entryDiffQC2PtPOI)+=(Long_t)nEvtsDiffFlowQC2POI; 
2282    legendDiffFlowPtPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffQC2PtPOI->Data(),"p");
2283   }
2284   if(plotQC4PtPOI && qcCommonHistRes4)
2285   {
2286    entryDiffQC4PtPOI->Append("M = ");
2287    (*entryDiffQC4PtPOI)+=(Long_t)avMultDiffFlowQC4POI;
2288    entryDiffQC4PtPOI->Append(", N = ");
2289    (*entryDiffQC4PtPOI)+=(Long_t)nEvtsDiffFlowQC4POI; 
2290    legendDiffFlowPtPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffQC4PtPOI->Data(),"p");
2291   }
2292   if(plotQC6PtPOI && qcCommonHistRes6)
2293   {
2294    entryDiffQC6PtPOI->Append("M = ");
2295    (*entryDiffQC6PtPOI)+=(Long_t)avMultDiffFlowQC6POI;
2296    entryDiffQC6PtPOI->Append(", N = ");
2297    (*entryDiffQC6PtPOI)+=(Long_t)nEvtsDiffFlowQC6POI; 
2298    legendDiffFlowPtPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffQC6PtPOI->Data(),"p");
2299   }
2300   if(plotQC8PtPOI && qcCommonHistRes8)
2301   {
2302    entryDiffQC8PtPOI->Append("M = ");
2303    (*entryDiffQC8PtPOI)+=(Long_t)avMultDiffFlowQC8POI;
2304    entryDiffQC8PtPOI->Append(", N = ");
2305    (*entryDiffQC8PtPOI)+=(Long_t)nEvtsDiffFlowQC8POI; 
2306    legendDiffFlowPtPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffQC8PtPOI->Data(),"p");
2307   }
2308  
2309   //LYZ2
2310   if(plotLYZ2PtPOI && lyz2CommonHistRes)
2311   {
2312    entryDiffLYZ2PtPOI->Append("M = ");
2313    (*entryDiffLYZ2PtPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2314    entryDiffLYZ2PtPOI->Append(", N = ");
2315    (*entryDiffLYZ2PtPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI; 
2316    legendDiffFlowPtPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2PtPOI->Data(),"p");
2317   }
2318   
2319   //LYZEP
2320   if(plotLYZEPPtPOI && lyzepCommonHistRes)
2321   {
2322    entryDiffLYZEPPtPOI->Append("M = ");
2323    (*entryDiffLYZEPPtPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2324    entryDiffLYZEPPtPOI->Append(", N = ");
2325    (*entryDiffLYZEPPtPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI; 
2326    legendDiffFlowPtPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZEPPtPOI->Data(),"p");
2327   }
2328
2329   //drawing finally the legend in the 2nd pad:     
2330   if(legendDiffFlowPtPOI)
2331   {
2332    legendDiffFlowPtPOI->SetMargin(0.15);
2333    legendDiffFlowPtPOI->Draw();
2334   }
2335  }//end of if(plotDiffFlowPtPOI)
2336  //----------------------------------------------------------------------------------
2337  
2338
2339  //----------------------------------------------------------------------------------
2340  //final drawing for differential flow (Eta, POI):
2341  //set here the results of which methods will be plotted by default:
2342  Bool_t plotMCEtaPOI    = kFALSE;
2343  Bool_t plotGFC2EtaPOI  = kTRUE;
2344  Bool_t plotGFC4EtaPOI  = kTRUE;
2345  Bool_t plotGFC6EtaPOI  = kTRUE;
2346  Bool_t plotGFC8EtaPOI  = kTRUE;
2347  Bool_t plotQC2EtaPOI   = kTRUE;
2348  Bool_t plotQC4EtaPOI   = kTRUE;
2349  Bool_t plotQC6EtaPOI   = kTRUE;
2350  Bool_t plotQC8EtaPOI   = kTRUE;
2351  Bool_t plotLYZ2EtaPOI  = kTRUE;
2352  Bool_t plotLYZEPEtaPOI = kTRUE;
2353  if(plotDiffFlowEtaPOI)
2354  {
2355   TCanvas* diffFlowEtaAllCanvasPOI = new TCanvas("Differential Flow (Eta) of POI","Differential Flow (Eta) of POI ",1000,600);
2356  
2357   diffFlowEtaAllCanvasPOI->Divide(2,1);
2358   
2359   //1st pad is for plot:
2360   (diffFlowEtaAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2361  
2362   if(styleHistEta)
2363   {
2364    (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
2365    styleHistEta->Draw();
2366   }
2367   if(pMeshDiffFlowEtaPOI)
2368   {
2369    pMeshDiffFlowEtaPOI->Draw("LFSAME");
2370   }
2371  
2372   //MC 
2373   if(plotMCEtaPOI && mcepCommonHistRes)
2374   { 
2375    (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2376   }
2377   //GFC
2378   if(plotGFC2EtaPOI && gfcCommonHistRes2)
2379   { 
2380    (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME"); 
2381   } 
2382   if(plotGFC4EtaPOI && gfcCommonHistRes4)
2383   { 
2384    (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME"); 
2385   } 
2386   if(plotGFC6EtaPOI && gfcCommonHistRes6)
2387   { 
2388    (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME"); 
2389   } 
2390   if(plotGFC8EtaPOI && gfcCommonHistRes8)
2391   { 
2392    (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME"); 
2393   }    
2394   //QC
2395   if(plotQC2EtaPOI && qcCommonHistRes2)
2396   { 
2397    (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2398   }
2399   if(plotQC4EtaPOI && qcCommonHistRes4)
2400   { 
2401    (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2402   }
2403   if(plotQC6EtaPOI && qcCommonHistRes6)
2404   { 
2405    (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2406   }
2407   if(plotQC8EtaPOI && qcCommonHistRes8)
2408   { 
2409    (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2410   }
2411   //LYZ2
2412   if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2413   { 
2414    (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2415   }
2416   //LYZEP
2417   if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2418   { 
2419    (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2420   }
2421  
2422   //2nd pad is for legend:
2423   (diffFlowEtaAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2424  
2425   TLegend* legendDiffFlowEtaPOI = new TLegend(0.02,0.25,0.97,0.75);
2426   legendDiffFlowEtaPOI->SetTextFont(72);
2427   legendDiffFlowEtaPOI->SetTextSize(0.06);
2428  
2429   //legend's entries:
2430   TString *entryDiffMCEtaPOI    = new TString("MC ....... ");
2431   TString *entryDiffGFC2EtaPOI  = new TString("GFC{2} ... ");
2432   TString *entryDiffGFC4EtaPOI  = new TString("GFC{4} ... ");
2433   TString *entryDiffGFC6EtaPOI  = new TString("GFC{6} ... ");
2434   TString *entryDiffGFC8EtaPOI  = new TString("GFC{8} ... "); 
2435   TString *entryDiffQC2EtaPOI   = new TString("QC{2} .... ");
2436   TString *entryDiffQC4EtaPOI   = new TString("QC{4} .... ");
2437   TString *entryDiffQC6EtaPOI   = new TString("QC{6} .... ");
2438   TString *entryDiffQC8EtaPOI   = new TString("QC{8} .... ");
2439   TString *entryDiffLYZ2EtaPOI  = new TString("LYZ ...... ");
2440   TString *entryDiffLYZEPEtaPOI = new TString("LYZEP ... ");
2441  
2442   //MC
2443   if(mcepCommonHistRes)
2444   {
2445    (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillStyle(meshStyle);
2446    (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillColor(meshColor);
2447    entryDiffMCEtaPOI->Append("M = ");
2448    (*entryDiffMCEtaPOI)+=(Long_t)avMultDiffFlowMCPOI;
2449    entryDiffMCEtaPOI->Append(", N = ");
2450    (*entryDiffMCEtaPOI)+=(Long_t)nEvtsDiffFlowMCPOI; 
2451    legendDiffFlowEtaPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffMCEtaPOI->Data(),"f");
2452   }
2453
2454   //GFC
2455   if(plotGFC2EtaPOI && gfcCommonHistRes2)
2456   {
2457    entryDiffGFC2EtaPOI->Append("M = ");
2458    (*entryDiffGFC2EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2459    entryDiffGFC2EtaPOI->Append(", N = ");
2460    (*entryDiffGFC2EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2461    legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffGFC2EtaPOI->Data(),"p");
2462   }
2463   if(plotGFC4EtaPOI && gfcCommonHistRes4)
2464   {
2465    entryDiffGFC4EtaPOI->Append("M = ");
2466    (*entryDiffGFC4EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2467    entryDiffGFC4EtaPOI->Append(", N = ");
2468    (*entryDiffGFC4EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2469    legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffGFC4EtaPOI->Data(),"p");
2470   }
2471   if(plotGFC6EtaPOI && gfcCommonHistRes6)
2472   {
2473    entryDiffGFC6EtaPOI->Append("M = ");
2474    (*entryDiffGFC6EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2475    entryDiffGFC6EtaPOI->Append(", N = ");
2476    (*entryDiffGFC6EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2477    legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffGFC6EtaPOI->Data(),"p");
2478   } 
2479   if(plotGFC8EtaPOI && gfcCommonHistRes8)
2480   {
2481    entryDiffGFC8EtaPOI->Append("M = ");
2482    (*entryDiffGFC8EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2483    entryDiffGFC8EtaPOI->Append(", N = ");
2484    (*entryDiffGFC8EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI; 
2485    legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffGFC8EtaPOI->Data(),"p");
2486   }  
2487  
2488   //QC
2489   if(plotQC2EtaPOI && qcCommonHistRes2)
2490   {
2491    entryDiffQC2EtaPOI->Append("M = ");
2492    (*entryDiffQC2EtaPOI)+=(Long_t)avMultDiffFlowQC2POI;
2493    entryDiffQC2EtaPOI->Append(", N = ");
2494    (*entryDiffQC2EtaPOI)+=(Long_t)nEvtsDiffFlowQC2POI; 
2495    legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffQC2EtaPOI->Data(),"p");
2496   }
2497   if(plotQC4EtaPOI && qcCommonHistRes4)
2498   {
2499    entryDiffQC4EtaPOI->Append("M = ");
2500    (*entryDiffQC4EtaPOI)+=(Long_t)avMultDiffFlowQC4POI;
2501    entryDiffQC4EtaPOI->Append(", N = ");
2502    (*entryDiffQC4EtaPOI)+=(Long_t)nEvtsDiffFlowQC4POI; 
2503    legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffQC4EtaPOI->Data(),"p");
2504   }
2505   if(plotQC6EtaPOI && qcCommonHistRes6)
2506   {
2507    entryDiffQC6EtaPOI->Append("M = ");
2508    (*entryDiffQC6EtaPOI)+=(Long_t)avMultDiffFlowQC6POI;
2509    entryDiffQC6EtaPOI->Append(", N = ");
2510    (*entryDiffQC6EtaPOI)+=(Long_t)nEvtsDiffFlowQC6POI; 
2511    legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffQC6EtaPOI->Data(),"p");
2512   }
2513   if(plotQC8EtaPOI && qcCommonHistRes8)
2514   {
2515    entryDiffQC8EtaPOI->Append("M = ");
2516    (*entryDiffQC8EtaPOI)+=(Long_t)avMultDiffFlowQC8POI;
2517    entryDiffQC8EtaPOI->Append(", N = ");
2518    (*entryDiffQC8EtaPOI)+=(Long_t)nEvtsDiffFlowQC8POI; 
2519    legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffQC8EtaPOI->Data(),"p");
2520   }
2521  
2522   //LYZ2
2523   if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2524   {
2525    entryDiffLYZ2EtaPOI->Append("M = ");
2526    (*entryDiffLYZ2EtaPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2527    entryDiffLYZ2EtaPOI->Append(", N = ");
2528    (*entryDiffLYZ2EtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI; 
2529    legendDiffFlowEtaPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2EtaPOI->Data(),"p");
2530   }
2531   
2532   //LYZEP
2533   if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2534   {
2535    entryDiffLYZEPEtaPOI->Append("M = ");
2536    (*entryDiffLYZEPEtaPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2537    entryDiffLYZEPEtaPOI->Append(", N = ");
2538    (*entryDiffLYZEPEtaPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI; 
2539    legendDiffFlowEtaPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZEPEtaPOI->Data(),"p");
2540   }
2541
2542   //drawing finally the legend in the 2nd pad:     
2543   if(legendDiffFlowEtaPOI)
2544   {
2545    legendDiffFlowEtaPOI->SetMargin(0.15);
2546    legendDiffFlowEtaPOI->Draw();
2547   }
2548  }//end of if(plotDiffFlowEtaPOI)
2549  //----------------------------------------------------------------------------------
2550
2551
2552  //=====================================================================================
2553
2554 }