1 void CompareFlowResults()
3 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
4 gSystem->AddIncludePath("-I$ROOTSYS/include");
6 //load needed libraries:
7 gSystem->Load("libTree.so");
8 gSystem->Load("libANALYSIS.so");
9 gSystem->Load("libPWG2flow.so");
10 cerr<<"libPWG2flow.so loaded ..."<<endl;
16 //==================================================================================
17 // set here which plots will be shown by default
18 //==================================================================================
19 //RP = particles used to determine the reaction plane
20 Bool_t plotIntFlowRP = kFALSE; //integrated flow RP
21 Bool_t plotDiffFlowPtRP = kFALSE; //differential flow (Pt,RP)
22 Bool_t plotDiffFlowEtaRP = kFALSE; //differential flow (Eta,RP)
23 //POI = particle of interest
24 Bool_t plotIntFlowPOI = kFALSE; //integrated flow POI
25 Bool_t plotDiffFlowPtPOI = kTRUE; //differential flow (Pt,POI)
26 Bool_t plotDiffFlowEtaPOI = kTRUE; //differential flow (Eta,POI)
27 //==================================================================================
32 //==================================================================================
33 // accessing output files
34 //==================================================================================
35 //type of analysis was: ESD, AOD, MC, ESDMC0, ESDMC1
36 const TString type = "ESD";
38 //open the output files:
39 TString inputFileNameMCEP = "outputMCEPanalysis";
40 TFile* fileMCEP = NULL;
41 fileMCEP = TFile::Open(((inputFileNameMCEP.Append(type)).Append(".root")).Data(), "READ");
43 TString inputFileNameLYZ1 = "outputLYZ1analysis";
44 TFile* fileLYZ1 = NULL;
45 fileLYZ1 = TFile::Open(((inputFileNameLYZ1.Append(type)).Append(".root")).Data(), "READ");
47 TString inputFileNameLYZ2 = "outputLYZ2analysis";
48 TFile* fileLYZ2 = NULL;
49 fileLYZ2 = TFile::Open(((inputFileNameLYZ2.Append(type)).Append(".root")).Data(), "READ");
51 TString inputFileNameLYZEP = "outputLYZEPanalysis";
52 TFile* fileLYZEP = NULL;
53 fileLYZEP = TFile::Open(((inputFileNameLYZEP.Append(type)).Append(".root")).Data(), "READ");
55 TString inputFileNameFQD = "outputFQDanalysis";
56 TFile* fileFQD = NULL;
57 fileFQD = TFile::Open(((inputFileNameFQD.Append(type)).Append(".root")).Data(), "READ");
59 TString inputFileNameGFC = "outputGFCanalysis";
60 TFile* fileGFC = NULL;
61 fileGFC = TFile::Open(((inputFileNameGFC.Append(type)).Append(".root")).Data(), "READ");
63 TString inputFileNameQC = "outputQCanalysis";
65 fileQC = TFile::Open(((inputFileNameQC.Append(type)).Append(".root")).Data(), "READ");
66 //==================================================================================
71 //==================================================================================
73 //==================================================================================
74 //removing the title and stat. box from all histograms:
75 gStyle->SetOptTitle(0);
76 gStyle->SetOptStat(0);
78 //choosing the style and color of mesh for MC error bands:
79 Int_t meshStyle = 1001;
80 Int_t meshColor = kRed-10;
82 //marker style and color (int. flow)
83 Int_t markerStyle = 21;
84 Int_t markerColor = kRed-3;
85 //==================================================================================
90 //==================================================================================
92 //==================================================================================
93 //the number of different methods:
94 const Int_t nMethods=12;
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}");
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.};
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;
132 fileMCEP->GetObject("cobjMCEP",pListMCEP);
135 mcepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListMCEP->FindObject("AliFlowCommonHistMCEP"));
136 mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
137 if(mcepCommonHistRes)
139 flowValue[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
140 flowError[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
141 flowValueRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
142 flowErrorRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
143 flowValuePOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
144 flowErrorPOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
149 //LYZ1 = Lee-Yang Zeros (1st run)
150 TList *pListLYZ1 = NULL;
151 AliFlowCommonHist *lyz1CommonHist = NULL;
152 AliFlowCommonHistResults *lyz1CommonHistRes = NULL;
155 fileLYZ1->GetObject("cobjLYZ1",pListLYZ1);
158 lyz1CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ1->FindObject("AliFlowCommonHistLYZ1"));
159 lyz1CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ1->FindObject("AliFlowCommonHistResultsLYZ1"));
160 if(lyz1CommonHistRes)
162 flowValue[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
163 flowError[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
164 flowValueRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
165 flowErrorRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinError(1);
166 flowValuePOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
167 flowErrorPOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
172 //LYZ2 = Lee-Yang Zeros (2nd run) (needed only for differential flow)
173 TList *pListLYZ2 = NULL;
174 AliFlowCommonHist *lyz2CommonHist = NULL;
175 AliFlowCommonHistResults *lyz2CommonHistRes = NULL;
178 fileLYZ2->GetObject("cobjLYZ2",pListLYZ2);
181 lyz2CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ2->FindObject("AliFlowCommonHistLYZ2"));
182 lyz2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ2->FindObject("AliFlowCommonHistResultsLYZ2"));
186 //LYZEP = Lee-Yang Zeros Event Plane
187 TList *pListLYZEP = NULL;
188 AliFlowCommonHist *lyzepCommonHist = NULL;
189 AliFlowCommonHistResults *lyzepCommonHistRes = NULL;
192 fileLYZEP->GetObject("cobjLYZEP",pListLYZEP);
195 lyzepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZEP->FindObject("AliFlowCommonHistLYZEP"));
196 lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZEP->FindObject("AliFlowCommonHistResultsLYZEP"));
197 if(lyzepCommonHistRes)
199 flowValue[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
200 //flowError[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
201 flowValueRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
202 //flowErrorRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
203 flowValuePOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
204 //flowErrorPOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
209 //FQD = Fitting q-distribution
210 TList *pListFQD = NULL;
211 AliFlowCommonHist *fqdCommonHist = NULL;
212 AliFlowCommonHistResults *fqdCommonHistRes = NULL;
215 fileFQD->GetObject("cobjFQD",pListFQD);
218 fqdCommonHist = dynamic_cast<AliFlowCommonHist*> (pListFQD->FindObject("AliFlowCommonHistFQD"));
219 fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListFQD->FindObject("AliFlowCommonHistResultsFQD"));
222 flowValue[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
223 flowError[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
224 flowValueRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
225 flowErrorRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
226 flowValuePOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
227 flowErrorPOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
232 //GFC = Generating Function Cumulants
233 TList *pListGFC = NULL;
234 AliFlowCommonHist *gfcCommonHist = NULL;
235 AliFlowCommonHistResults *gfcCommonHistRes2 = NULL;
236 AliFlowCommonHistResults *gfcCommonHistRes4 = NULL;
237 AliFlowCommonHistResults *gfcCommonHistRes6 = NULL;
238 AliFlowCommonHistResults *gfcCommonHistRes8 = NULL;
241 fileGFC->GetObject("cobjGFC",pListGFC);
244 gfcCommonHist = dynamic_cast<AliFlowCommonHist*> (pListGFC->FindObject("AliFlowCommonHistGFC"));
245 gfcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
246 if(gfcCommonHistRes2)
248 flowValue[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);//to be removed
249 flowError[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinError(1);//to be removed
250 flowValueRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
251 flowErrorRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
252 flowValuePOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
253 flowErrorPOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
255 gfcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
256 if(gfcCommonHistRes4)
258 flowValue[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);//to be removed
259 flowError[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinError(1);//to be removed
260 flowValueRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
261 flowErrorRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
262 flowValuePOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
263 flowErrorPOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
265 gfcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
266 if(gfcCommonHistRes6)
268 flowValue[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);//to be removed
269 flowError[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinError(1);//to be removed
270 flowValueRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
271 flowErrorRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
272 flowValuePOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
273 flowErrorPOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
275 gfcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
276 if(gfcCommonHistRes8)
278 flowValue[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);//to be removed
279 flowError[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinError(1);//to be removed
280 flowValueRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
281 flowErrorRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
282 flowValuePOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
283 flowErrorPOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
289 TList *pListQC = NULL;
290 AliFlowCommonHist *qcCommonHist2 = NULL;
291 AliFlowCommonHist *qcCommonHist4 = NULL;
292 AliFlowCommonHist *qcCommonHist6 = NULL;
293 AliFlowCommonHist *qcCommonHist8 = NULL;
294 AliFlowCommonHistResults *qcCommonHistRes2 = NULL;
295 AliFlowCommonHistResults *qcCommonHistRes4 = NULL;
296 AliFlowCommonHistResults *qcCommonHistRes6 = NULL;
297 AliFlowCommonHistResults *qcCommonHistRes8 = NULL;
301 fileQC->GetObject("cobjQC",pListQC);
304 qcCommonHist2 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist2ndOrderQC"));
305 qcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
308 flowValue[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);//to be removed
309 //flowError[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinError(1);//to be removed
310 flowValueRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
311 //flowErrorRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
312 flowValuePOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
313 //flowErrorPOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
315 qcCommonHist4 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist4thOrderQC"));
316 qcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
319 flowValue[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);//to be removed
320 //flowError[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinError(1);//to be removed
321 flowValueRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
322 //flowErrorRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
323 flowValuePOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
324 //flowErrorPOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
326 qcCommonHist6 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist6thOrderQC"));
327 qcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
330 flowValue[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);//to be removed
331 //flowError[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinError(1);//to be removed
332 flowValueRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
333 //flowErrorRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
334 flowValuePOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
335 //flowErrorPOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
337 qcCommonHist8 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist8thOrderQC"));
338 qcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
341 flowValue[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);//to be removed
342 //flowError[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinError(1);//to be removed
343 flowValueRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
344 //flowErrorRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
345 flowValuePOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
346 //flowErrorPOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
351 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
352 // !!!! to be removed !!!!
353 Double_t dMax=flowValue[0]+flowError[0];
354 Double_t dMin=flowValue[0]-flowError[0];
356 for(Int_t i=1;i<nMethods;i++)
358 if(!(flowValue[i]==0. && flowError[i]==0.))
360 if(dMax<flowValue[i]+flowError[i]) dMax=flowValue[i]+flowError[i];
361 if(dMin>flowValue[i]-flowError[i]) dMin=flowValue[i]-flowError[i];
364 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
367 Double_t dMaxRP=flowValueRP[0]+flowErrorRP[0];
368 Double_t dMinRP=flowValueRP[0]-flowErrorRP[0];
370 for(Int_t i=1;i<nMethods;i++)
372 if(!(flowValueRP[i]==0. && flowErrorRP[i]==0.))
374 if(dMaxRP<flowValueRP[i]+flowErrorRP[i]) dMaxRP=flowValueRP[i]+flowErrorRP[i];
375 if(dMinRP>flowValueRP[i]-flowErrorRP[i]) dMinRP=flowValueRP[i]-flowErrorRP[i];
380 Double_t dMaxPOI=flowValuePOI[0]+flowErrorPOI[0];
381 Double_t dMinPOI=flowValuePOI[0]-flowErrorPOI[0];
383 for(Int_t i=1;i<nMethods;i++)
385 if(!(flowValuePOI[i]==0. && flowErrorPOI[i]==0.))
387 if(dMaxPOI<flowValuePOI[i]+flowErrorPOI[i]) dMaxPOI=flowValuePOI[i]+flowErrorPOI[i];
388 if(dMinPOI>flowValuePOI[i]-flowErrorPOI[i]) dMinPOI=flowValuePOI[i]-flowErrorPOI[i];
392 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
393 // !!!! to be removed !!!!
394 TGraph* flowResults = new TGraphErrors(nMethods, x, flowValue, xError, flowError);
396 flowResults->SetMarkerStyle(markerStyle);
397 flowResults->SetMarkerColor(markerColor);
398 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
401 TGraph* flowResultsRP = new TGraphErrors(nMethods, x, flowValueRP, xError, flowErrorRP);
403 flowResultsRP->SetMarkerStyle(markerStyle);
404 flowResultsRP->SetMarkerColor(markerColor);
407 TGraph* flowResultsPOI = new TGraphErrors(nMethods, x, flowValuePOI, xError, flowErrorPOI);
409 flowResultsPOI->SetMarkerStyle(markerStyle);
410 flowResultsPOI->SetMarkerColor(markerColor);
412 //-----------------------------------------------------------------------------------
414 //----------------------------------------------------------------------------------
415 //cosmetics: mesh for MC error bands (integrated flow)
416 TGraph* pMesh = NULL;//to be removed
417 TGraph* pMeshRP = NULL;
418 TGraph* pMeshPOI = NULL;
420 if(intFlowAll && mcepCommonHistRes)
422 //Double_t valueMC = intFlowAll->GetBinContent(1);
423 //Double_t errorMC = intFlowAll->GetBinError(1);
424 //Int_t nPts = intFlowAll->GetNbinsX();
426 Int_t nPts = nMethods;
427 Double_t valueMC = flowValue[0];//to be removed
428 Double_t errorMC = flowError[0];//to be removed
429 Double_t valueMCRP = flowValueRP[0];
430 Double_t errorMCRP = flowErrorRP[0];
431 Double_t valueMCPOI = flowValuePOI[0];
432 Double_t errorMCPOI = flowErrorPOI[0];
434 pMesh = new TGraph(nPts);//to be removed
435 pMeshRP = new TGraph(nPts);
436 pMeshPOI = new TGraph(nPts);
438 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
439 // !!!! to be removed !!!!
440 pMesh->SetPoint(1,0,valueMC+errorMC);
441 pMesh->SetPoint(2,nPts+1,valueMC+errorMC);
442 pMesh->SetPoint(3,nPts+1,valueMC-errorMC);
443 pMesh->SetPoint(4,0,valueMC-errorMC);
444 pMesh->SetPoint(5,0,valueMC+errorMC);
446 pMesh->SetFillStyle(meshStyle);
447 pMesh->SetFillColor(meshColor);
448 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
451 pMeshRP->SetPoint(1,0,valueMCRP+errorMCRP);
452 pMeshRP->SetPoint(2,nPts+1,valueMCRP+errorMCRP);
453 pMeshRP->SetPoint(3,nPts+1,valueMCRP-errorMCRP);
454 pMeshRP->SetPoint(4,0,valueMCRP-errorMCRP);
455 pMeshRP->SetPoint(5,0,valueMCRP+errorMCRP);
457 pMeshRP->SetFillStyle(meshStyle);
458 pMeshRP->SetFillColor(meshColor);
461 pMeshPOI->SetPoint(1,0,valueMCPOI+errorMCPOI);
462 pMeshPOI->SetPoint(2,nPts+1,valueMCPOI+errorMCPOI);
463 pMeshPOI->SetPoint(3,nPts+1,valueMCPOI-errorMCPOI);
464 pMeshPOI->SetPoint(4,0,valueMCPOI-errorMCPOI);
465 pMeshPOI->SetPoint(5,0,valueMCPOI+errorMCPOI);
467 pMeshPOI->SetFillStyle(meshStyle);
468 pMeshPOI->SetFillColor(meshColor);
470 //----------------------------------------------------------------------------------
473 //----------------------------------------------------------------------------------
474 //cosmetics: text (integrated flow)
476 TPaveText *textDefault = new TPaveText(0.05,0.77,0.95,0.90,"NDC");
477 textDefault->SetTextFont(72);
478 textDefault->SetTextSize(0.08);
479 //textDefault->SetLineColor(kFALSE);
480 //textDefault->SetShadowColor(kFALSE);
482 TString *entryDefaultAvM = new TString("Average Multiplicity");
483 TString *entryDefaultAnd = new TString("and");
484 TString *entryDefaultNumOfEvts = new TString("Number of Events:");
486 textDefault->AddText(entryDefaultAvM->Data());
487 textDefault->AddText(entryDefaultAnd->Data());
488 textDefault->AddText(entryDefaultNumOfEvts->Data());
491 TPaveText *textResults = new TPaveText(0.05,0.12,0.95,0.70,"NDC");//to be removed
492 textResults->SetTextFont(72);//to be removed
493 textResults->SetTextSize(0.06);//to be removed
494 //textResults->SetLineColor(kFALSE);
495 //textResults->SetShadowColor(kFALSE);
498 TPaveText *textResultsRP = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
499 textResultsRP->SetTextFont(72);
500 textResultsRP->SetTextSize(0.06);
503 TPaveText *textResultsPOI = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
504 textResultsPOI->SetTextFont(72);
505 textResultsPOI->SetTextSize(0.06);
507 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
508 // !!!! to be removed !!!!!!
509 TString *entryMC = new TString("MC ...... ");
510 TString *entryGFC = new TString("GFC ..... ");
511 TString *entryQC2 = new TString("QC{2} ... ");
512 TString *entryQC4 = new TString("QC{4} ... ");
513 TString *entryQC6 = new TString("QC{6} ... ");
514 TString *entryQC8 = new TString("QC{8} ... ");
515 TString *entryFQD = new TString("FQD ..... ");
516 TString *entryLYZ1 = new TString("LYZ ..... ");
517 TString *entryLYZEP = new TString("LYZEP ... ");
518 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
521 TString *entryMCRP = new TString("MC ...... ");
522 TString *entryGFCRP = new TString("GFC ..... ");
523 TString *entryQC2RP = new TString("QC{2} ... ");
524 TString *entryQC4RP = new TString("QC{4} ... ");
525 TString *entryQC6RP = new TString("QC{6} ... ");
526 TString *entryQC8RP = new TString("QC{8} ... ");
527 TString *entryFQDRP = new TString("FQD ..... ");
528 TString *entryLYZ1RP = new TString("LYZ ..... ");
529 TString *entryLYZEPRP = new TString("LYZEP ... ");
532 TString *entryMCPOI = new TString("MC ...... ");
533 TString *entryGFCPOI = new TString("GFC ..... ");
534 TString *entryQC2POI = new TString("QC{2} ... ");
535 TString *entryQC4POI = new TString("QC{4} ... ");
536 TString *entryQC6POI = new TString("QC{6} ... ");
537 TString *entryQC8POI = new TString("QC{8} ... ");
538 TString *entryFQDPOI = new TString("FQD ..... ");
539 TString *entryLYZ1POI = new TString("LYZ ..... ");
540 TString *entryLYZEPPOI = new TString("LYZEP ... ");
542 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
543 // !!!! to be removed !!!!
544 Double_t avMultMC=0.;
547 Double_t avMultGFC=0.;
550 Double_t avMultQC2=0., avMultQC4=0., avMultQC6=0., avMultQC8=0.;
551 Long_t nEvtsQC2=0, nEvtsQC4=0, nEvtsQC6=0, nEvtsQC8=0;
553 Double_t avMultFQD=0.;
556 Double_t avMultLYZ1=0.;
559 Double_t avMultLYZEP=0.;
561 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
564 Double_t avMultMCRP=0.;
567 Double_t avMultGFCRP=0.;
570 Double_t avMultQC2RP=0., avMultQC4RP=0., avMultQC6RP=0., avMultQC8RP=0.;
571 Long_t nEvtsQC2RP=0, nEvtsQC4RP=0, nEvtsQC6RP=0, nEvtsQC8RP=0;
573 Double_t avMultFQDRP=0.;
576 Double_t avMultLYZ1RP=0.;
577 Long_t nEvtsLYZ1RP=0;
579 Double_t avMultLYZEPRP=0.;
580 Long_t nEvtsLYZEPRP=0;
583 Double_t avMultMCPOI=0.;
586 Double_t avMultGFCPOI=0.;
587 Long_t nEvtsGFCPOI=0;
589 Double_t avMultQC2POI=0., avMultQC4POI=0., avMultQC6POI=0., avMultQC8POI=0.;
590 Long_t nEvtsQC2POI=0, nEvtsQC4POI=0, nEvtsQC6POI=0, nEvtsQC8POI=0;
592 Double_t avMultFQDPOI=0.;
593 Long_t nEvtsFQDPOI=0;
595 Double_t avMultLYZ1POI=0.;
596 Long_t nEvtsLYZ1POI=0;
598 Double_t avMultLYZEPPOI=0.;
599 Long_t nEvtsLYZEPPOI=0;
604 avMultMC = (mcepCommonHist->GetHistMultInt())->GetMean();//to be removed
605 nEvtsMC = (mcepCommonHist->GetHistMultInt())->GetEntries();//to be removed
606 avMultMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
607 nEvtsMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
608 avMultMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
609 nEvtsMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
611 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
612 // !!!! to be removed !!!!
615 entryMC->Append("M = ");
616 (*entryMC)+=(Long_t)avMultMC;
617 entryMC->Append(", N = ");
618 (*entryMC)+=(Long_t)nEvtsMC;
620 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
623 entryMCRP->Append("M = ");
624 (*entryMCRP)+=(Long_t)avMultMCRP;
625 entryMCRP->Append(", N = ");
626 (*entryMCRP)+=(Long_t)nEvtsMCRP;
630 entryMCPOI->Append("M = ");
631 (*entryMCPOI)+=(Long_t)avMultMCPOI;
632 entryMCPOI->Append(", N = ");
633 (*entryMCPOI)+=(Long_t)nEvtsMCPOI;
639 avMultGFC = (gfcCommonHist->GetHistMultInt())->GetMean();//to be removed
640 nEvtsGFC = (gfcCommonHist->GetHistMultInt())->GetEntries();//to be removed
641 avMultGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
642 nEvtsGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
643 avMultGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
644 nEvtsGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
646 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
647 // !!!! to be removed !!!!
650 entryGFC->Append("M = ");
651 (*entryGFC)+=(Long_t)avMultGFC;
652 entryGFC->Append(", N = ");
653 (*entryGFC)+=(Long_t)nEvtsGFC;
655 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
658 entryGFCRP->Append("M = ");
659 (*entryGFCRP)+=(Long_t)avMultGFCRP;
660 entryGFCRP->Append(", N = ");
661 (*entryGFCRP)+=(Long_t)nEvtsGFCRP;
665 entryGFCPOI->Append("M = ");
666 (*entryGFCPOI)+=(Long_t)avMultGFCPOI;
667 entryGFCPOI->Append(", N = ");
668 (*entryGFCPOI)+=(Long_t)nEvtsGFCPOI;
674 avMultQC2 = (qcCommonHist2->GetHistMultInt())->GetMean();//to be removed
675 nEvtsQC2 = (qcCommonHist2->GetHistMultInt())->GetEntries();//to be removed
676 avMultQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
677 nEvtsQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
678 avMultQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
679 nEvtsQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
681 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
682 // !!!! to be removed !!!!
685 entryQC2->Append("M = ");
686 (*entryQC2)+=(Long_t)avMultQC2;
687 entryQC2->Append(", N = ");
688 (*entryQC2)+=(Long_t)nEvtsQC2;
690 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
693 entryQC2RP->Append("M = ");
694 (*entryQC2RP)+=(Long_t)avMultQC2RP;
695 entryQC2RP->Append(", N = ");
696 (*entryQC2RP)+=(Long_t)nEvtsQC2RP;
700 entryQC2POI->Append("M = ");
701 (*entryQC2POI)+=(Long_t)avMultQC2POI;
702 entryQC2POI->Append(", N = ");
703 (*entryQC2POI)+=(Long_t)nEvtsQC2POI;
708 avMultQC4 = (qcCommonHist4->GetHistMultInt())->GetMean();//to be removed
709 nEvtsQC4 = (qcCommonHist4->GetHistMultInt())->GetEntries();//to be removed
710 avMultQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
711 nEvtsQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
712 avMultQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
713 nEvtsQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
715 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
716 // !!!! to be removed !!!!
719 entryQC4->Append("M = ");
720 (*entryQC4)+=(Long_t)avMultQC4;
721 entryQC4->Append(", N = ");
722 (*entryQC4)+=(Long_t)nEvtsQC4;
724 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
727 entryQC4RP->Append("M = ");
728 (*entryQC4RP)+=(Long_t)avMultQC4RP;
729 entryQC4RP->Append(", N = ");
730 (*entryQC4RP)+=(Long_t)nEvtsQC4RP;
734 entryQC4POI->Append("M = ");
735 (*entryQC4POI)+=(Long_t)avMultQC4POI;
736 entryQC4POI->Append(", N = ");
737 (*entryQC4POI)+=(Long_t)nEvtsQC4POI;
742 avMultQC6 = (qcCommonHist6->GetHistMultInt())->GetMean();//to be removed
743 nEvtsQC6 = (qcCommonHist6->GetHistMultInt())->GetEntries();//to be removed
744 avMultQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
745 nEvtsQC6RP = (qcCommonHist6->GetHistMultInt())->GetEntries();
746 avMultQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
747 nEvtsQC6POI = (qcCommonHist6->GetHistMultDiff())->GetEntries();
749 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
750 // !!!! to be removed !!!!
753 entryQC6->Append("M = ");
754 (*entryQC6)+=(Long_t)avMultQC6;
755 entryQC6->Append(", N = ");
756 (*entryQC6)+=(Long_t)nEvtsQC6;
758 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
761 entryQC6RP->Append("M = ");
762 (*entryQC6RP)+=(Long_t)avMultQC6RP;
763 entryQC6RP->Append(", N = ");
764 (*entryQC6RP)+=(Long_t)nEvtsQC6RP;
768 entryQC6POI->Append("M = ");
769 (*entryQC6POI)+=(Long_t)avMultQC6POI;
770 entryQC6POI->Append(", N = ");
771 (*entryQC6POI)+=(Long_t)nEvtsQC6POI;
776 avMultQC8 = (qcCommonHist8->GetHistMultInt())->GetMean();//to be removed
777 nEvtsQC8 = (qcCommonHist8->GetHistMultInt())->GetEntries();//to be removed
778 avMultQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
779 nEvtsQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
780 avMultQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
781 nEvtsQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
783 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
784 // !!!! to be removed !!!!
787 entryQC8->Append("M = ");
788 (*entryQC8)+=(Long_t)avMultQC8;
789 entryQC8->Append(", N = ");
790 (*entryQC8)+=(Long_t)nEvtsQC8;
792 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
795 entryQC8RP->Append("M = ");
796 (*entryQC8RP)+=(Long_t)avMultQC8RP;
797 entryQC8RP->Append(", N = ");
798 (*entryQC8RP)+=(Long_t)nEvtsQC8RP;
802 entryQC8POI->Append("M = ");
803 (*entryQC8POI)+=(Long_t)avMultQC8POI;
804 entryQC8POI->Append(", N = ");
805 (*entryQC8POI)+=(Long_t)nEvtsQC8POI;
811 avMultFQD = (fqdCommonHist->GetHistMultInt())->GetMean();//to be removed
812 nEvtsFQD = (fqdCommonHist->GetHistMultInt())->GetEntries();//to be removed
813 avMultFQDRP = (fqdCommonHist->GetHistMultInt())->GetMean();
814 nEvtsFQDRP = (fqdCommonHist->GetHistMultInt())->GetEntries();
815 avMultFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetMean();
816 nEvtsFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetEntries();
818 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
819 // !!!! to be removed !!!!
822 entryFQD->Append("M = ");
823 (*entryFQD)+=(Long_t)avMultFQD;
824 entryFQD->Append(", N = ");
825 (*entryFQD)+=(Long_t)nEvtsFQD;
827 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
830 entryFQDRP->Append("M = ");
831 (*entryFQDRP)+=(Long_t)avMultFQDRP;
832 entryFQDRP->Append(", N = ");
833 (*entryFQDRP)+=(Long_t)nEvtsFQDRP;
837 entryFQDPOI->Append("M = ");
838 (*entryFQDPOI)+=(Long_t)avMultFQDPOI;
839 entryFQDPOI->Append(", N = ");
840 (*entryFQDPOI)+=(Long_t)nEvtsFQDPOI;
846 avMultLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetMean();//to be removed
847 nEvtsLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetEntries();//to be removed
848 avMultLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetMean();
849 nEvtsLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetEntries();
850 avMultLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetMean();
851 nEvtsLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetEntries();
853 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
854 // !!!! to be removed !!!!
857 entryLYZ1->Append("M = ");
858 (*entryLYZ1)+=(Long_t)avMultLYZ1;
859 entryLYZ1->Append(", N = ");
860 (*entryLYZ1)+=(Long_t)nEvtsLYZ1;
862 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
865 entryLYZ1RP->Append("M = ");
866 (*entryLYZ1RP)+=(Long_t)avMultLYZ1RP;
867 entryLYZ1RP->Append(", N = ");
868 (*entryLYZ1RP)+=(Long_t)nEvtsLYZ1RP;
872 entryLYZ1POI->Append("M = ");
873 (*entryLYZ1POI)+=(Long_t)avMultLYZ1POI;
874 entryLYZ1POI->Append(", N = ");
875 (*entryLYZ1POI)+=(Long_t)nEvtsLYZ1POI;
881 avMultLYZEP = (lyzepCommonHist->GetHistMultInt())->GetMean();//to be removed
882 nEvtsLYZEP = (lyzepCommonHist->GetHistMultInt())->GetEntries();//to be removed
883 avMultLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
884 nEvtsLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
885 avMultLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
886 nEvtsLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
888 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
889 // !!!! to be removed !!!!
892 entryLYZEP->Append("M = ");
893 (*entryLYZEP)+=(Long_t)avMultLYZEP;
894 entryLYZEP->Append(", N = ");
895 (*entryLYZEP)+=(Long_t)nEvtsLYZEP;
897 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
900 entryLYZEPRP->Append("M = ");
901 (*entryLYZEPRP)+=(Long_t)avMultLYZEPRP;
902 entryLYZEPRP->Append(", N = ");
903 (*entryLYZEPRP)+=(Long_t)nEvtsLYZEPRP;
907 entryLYZEPPOI->Append("M = ");
908 (*entryLYZEPPOI)+=(Long_t)avMultLYZEPPOI;
909 entryLYZEPPOI->Append(", N = ");
910 (*entryLYZEPPOI)+=(Long_t)nEvtsLYZEPPOI;
913 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
914 // !!!! to be removed !!!!
917 textResults->AddText(entryMC->Data());
918 textResults->AddText(entryGFC->Data());
919 textResults->AddText(entryQC2->Data());
920 textResults->AddText(entryQC4->Data());
921 textResults->AddText(entryQC6->Data());
922 textResults->AddText(entryQC8->Data());
923 textResults->AddText(entryFQD->Data());
924 textResults->AddText(entryLYZ1->Data());
925 textResults->AddText(entryLYZEP->Data());
927 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
931 textResultsRP->AddText(entryMCRP->Data());
932 textResultsRP->AddText(entryGFCRP->Data());
933 textResultsRP->AddText(entryQC2RP->Data());
934 textResultsRP->AddText(entryQC4RP->Data());
935 textResultsRP->AddText(entryQC6RP->Data());
936 textResultsRP->AddText(entryQC8RP->Data());
937 textResultsRP->AddText(entryFQDRP->Data());
938 textResultsRP->AddText(entryLYZ1RP->Data());
939 textResultsRP->AddText(entryLYZEPRP->Data());
944 textResultsPOI->AddText(entryMCPOI->Data());
945 textResultsPOI->AddText(entryGFCPOI->Data());
946 textResultsPOI->AddText(entryQC2POI->Data());
947 textResultsPOI->AddText(entryQC4POI->Data());
948 textResultsPOI->AddText(entryQC6POI->Data());
949 textResultsPOI->AddText(entryQC8POI->Data());
950 textResultsPOI->AddText(entryFQDPOI->Data());
951 textResultsPOI->AddText(entryLYZ1POI->Data());
952 textResultsPOI->AddText(entryLYZEPPOI->Data());
954 //----------------------------------------------------------------------------------
956 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
957 // !!!! to be removed !!!!
958 //----------------------------------------------------------------------------------
959 //final drawing for integrated flow:
960 TCanvas* intFlowAllCanvas = new TCanvas("Integrated Flow","Integrated Flow",1000,600);
962 intFlowAllCanvas->Divide(2,1);
964 //1st pad is for plot:
965 (intFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
969 if(dMin>0. && dMax>0.)
971 (intFlowAll->GetYaxis())->SetRangeUser(0.9744*dMin,1.0144*dMax);
972 } else if(dMin<0. && dMax>0.)
974 if(!(-1.*dMin<4.*dMax))
976 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,1.0144*dMax);
977 } else {(intFlowAll->GetYaxis())->SetRangeUser(1.1266*dMin,1.0144*dMax);}
978 } else if(dMin<0. && dMax<0.)
980 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,0.9866*dMax);
982 intFlowAll->Draw("E1");
985 if(pMesh) pMesh->Draw("LFSAME");
987 if(flowResults) flowResults->Draw("PSAME");
989 //2nd pad is for legend:
990 (intFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
998 //----------------------------------------------------------------------------------
999 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1006 //----------------------------------------------------------------------------------
1007 //final drawing for integrated flow of RP (i.e. of particles used to determine the reaction plane):
1010 TCanvas* intFlowAllCanvasRP = new TCanvas("Integrated Flow RP","Integrated Flow RP",1000,600);
1012 intFlowAllCanvasRP->Divide(2,1);
1014 //1st pad is for plot:
1015 (intFlowAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1017 TH1D intFlowAllRPtemp = *intFlowAll;//to be improved
1018 TH1D *intFlowAllRP=&intFlowAllRPtemp;//to be improved
1022 if(dMinRP>0. && dMaxRP>0.)
1024 (intFlowAllRP->GetYaxis())->SetRangeUser(0.9744*dMinRP,1.0144*dMaxRP);
1025 } else if(dMinRP<0. && dMaxRP>0.)
1027 if(!(-1.*dMinRP<4.*dMaxRP))
1029 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,1.0144*dMaxRP);
1030 } else {(intFlowAllRP->GetYaxis())->SetRangeUser(1.1266*dMinRP,1.0144*dMaxRP);}
1031 } else if(dMinRP<0. && dMaxRP<0.)
1033 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,0.9866*dMaxRP);
1035 intFlowAllRP->Draw("E1");
1038 if(pMeshRP) pMeshRP->Draw("LFSAME");
1040 if(flowResultsRP) flowResultsRP->Draw("PSAME");
1042 //2nd pad is for legend:
1043 (intFlowAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1045 if(textDefault) textDefault->Draw();
1047 if(textResultsRP) textResultsRP->Draw();
1048 }//end of if(plotIntFlowRP}
1049 //----------------------------------------------------------------------------------
1051 //----------------------------------------------------------------------------------
1052 //final drawing for integrated flow of POI (i.e. of particles of interest):
1055 TCanvas* intFlowAllCanvasPOI = new TCanvas("Integrated Flow POI","Integrated Flow POI",1000,600);
1057 intFlowAllCanvasPOI->Divide(2,1);
1059 //1st pad is for plot:
1060 (intFlowAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1062 TH1D intFlowAllPOItemp = *intFlowAll;//to be improved
1063 TH1D *intFlowAllPOI=&intFlowAllRPtemp;//to be improved
1066 if(dMinPOI>0. && dMaxPOI>0.)
1068 (intFlowAllPOI->GetYaxis())->SetRangeUser(0.9744*dMinPOI,1.0144*dMaxPOI);
1069 } else if(dMinPOI<0. && dMaxPOI>0.)
1071 if(!(-1.*dMinPOI<4.*dMaxPOI))
1073 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,1.0144*dMaxPOI);
1074 } else {(intFlowAllPOI->GetYaxis())->SetRangeUser(1.1266*dMinPOI,1.0144*dMaxPOI);}
1075 } else if(dMinPOI<0. && dMaxPOI<0.)
1077 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,0.9866*dMaxPOI);
1079 intFlowAllPOI->Draw("E1");
1082 if(pMeshPOI) pMeshPOI->Draw("LFSAME");
1084 if(flowResultsPOI) flowResultsPOI->Draw("PSAME");
1086 //2nd pad is for legend:
1087 (intFlowAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1089 if(textDefault) textDefault->Draw();
1091 if(textResultsPOI) textResultsPOI->Draw();
1092 }// end of if(plotIntFlowPOI)
1093 //----------------------------------------------------------------------------------
1095 //==================================================================================
1105 //==================================================================================
1106 // DIFFERENTIAL FLOW
1107 //==================================================================================
1108 Int_t iNbinsPt = AliFlowCommonConstants::GetNbinsPt();
1109 Double_t dPtMin = AliFlowCommonConstants::GetPtMin();
1110 Double_t dPtMax = AliFlowCommonConstants::GetPtMax();
1112 Int_t iNbinsEta = AliFlowCommonConstants::GetNbinsEta();
1113 Double_t dEtaMin = AliFlowCommonConstants::GetEtaMin();
1114 Double_t dEtaMax = AliFlowCommonConstants::GetEtaMax();
1116 //----------------------------------------------------------------------------------
1117 //cosmetics: the style histogram for differential flow (pt):
1118 TH1D *styleHistPt = new TH1D("styleHistPt","styleHistPt",iNbinsPt,dPtMin,dPtMax);
1119 styleHistPt->SetTitle("Differential Flow");
1120 styleHistPt->SetXTitle("p_{t} [GeV]");
1121 styleHistPt->SetYTitle("v_{n}");
1123 //cosmetics: the style histogram for differential flow (eta):
1124 TH1D *styleHistEta = new TH1D("styleHistEta","styleHistEta",iNbinsEta,dEtaMin,dEtaMax);
1125 styleHistEta->SetTitle("Differential Flow");
1126 styleHistEta->SetXTitle("#eta");
1127 styleHistEta->SetYTitle("v_{n}");
1128 //----------------------------------------------------------------------------------
1132 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1133 // !!!! to be removed !!!!
1134 //----------------------------------------------------------------------------------
1135 //cosmetics: Monte Carlo error bands for differential flow
1136 TGraph* pMeshDiffFlow = NULL;
1137 if(mcepCommonHistRes)
1139 Int_t nPtsDF = (mcepCommonHistRes->GetHistDiffFlow())->GetNbinsX();
1140 Double_t binWidth = (mcepCommonHistRes->GetHistDiffFlow())->GetBinWidth(1);//assuming that all bins have the same width
1142 pMeshDiffFlow = new TGraph(2*nPtsDF+1);
1144 Double_t valueMC=0., errorMC=0.;
1145 for(Int_t i=1;i<nPtsDF+1;i++)
1147 valueMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinContent(i);
1148 errorMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinError(i);
1149 pMeshDiffFlow->SetPoint(i,(i-0.5)*binWidth,valueMC+errorMC);
1151 for(Int_t i=nPtsDF+1;i<2*nPtsDF+1;i++)
1153 valueMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinContent(2*nPtsDF+1-i);
1154 errorMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinError(2*nPtsDF+1-i);
1155 pMeshDiffFlow->SetPoint(i,(2*nPtsDF-i+0.5)*binWidth,valueMC-errorMC);
1157 pMeshDiffFlow->SetPoint(2*nPtsDF+1,0.5*binWidth,valueMC+errorMC);
1158 pMeshDiffFlow->SetFillStyle(meshStyle);
1159 pMeshDiffFlow->SetFillColor(meshColor);
1161 //----------------------------------------------------------------------------------
1162 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1164 //----------------------------------------------------------------------------------
1166 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1167 TGraph* pMeshDiffFlowPtRP = NULL;
1168 if(mcepCommonHistRes)
1170 Int_t nPtsDFPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetNbinsX();
1171 Double_t binWidthPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinWidth(1);//assuming that all bins have the same width
1173 pMeshDiffFlowPtRP = new TGraph(2*nPtsDFPtRP+1);
1175 Double_t valueMCPtRP=0., errorMCPtRP=0.;
1176 for(Int_t i=1;i<nPtsDFPtRP+1;i++)
1178 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(i);
1179 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i);
1180 pMeshDiffFlowPtRP->SetPoint(i,(i-0.5)*binWidthPtRP,valueMCPtRP+errorMCPtRP);
1182 for(Int_t i=nPtsDFPtRP+1;i<2*nPtsDFPtRP+1;i++)
1184 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(2*nPtsDFPtRP+1-i);
1185 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(2*nPtsDFPtRP+1-i);
1186 pMeshDiffFlowPtRP->SetPoint(i,(2*nPtsDFPtRP-i+0.5)*binWidthPtRP,valueMCPtRP-errorMCPtRP);
1188 pMeshDiffFlowPtRP->SetPoint(2*nPtsDFPtRP+1,0.5*binWidthPtRP,valueMCPtRP+errorMCPtRP);
1189 pMeshDiffFlowPtRP->SetFillStyle(meshStyle);
1190 pMeshDiffFlowPtRP->SetFillColor(meshColor);
1193 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1194 TGraph* pMeshDiffFlowEtaRP = NULL;
1195 if(mcepCommonHistRes)
1197 Int_t nPtsDFEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetNbinsX();
1198 Double_t binWidthEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinWidth(1);//assuming that all bins have the same width
1200 pMeshDiffFlowEtaRP = new TGraph(2*nPtsDFEtaRP+1);
1202 Double_t valueMCEtaRP=0., errorMCEtaRP=0.;
1203 for(Int_t i=1;i<nPtsDFEtaRP+1;i++)
1205 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(i);
1206 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i);
1207 pMeshDiffFlowEtaRP->SetPoint(i,(i-0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1209 for(Int_t i=nPtsDFEtaRP+1;i<2*nPtsDFEtaRP+1;i++)
1211 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(2*nPtsDFEtaRP+1-i);
1212 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(2*nPtsDFEtaRP+1-i);
1213 pMeshDiffFlowEtaRP->SetPoint(i,(2*nPtsDFEtaRP-i+0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP-errorMCEtaRP);
1215 pMeshDiffFlowEtaRP->SetPoint(2*nPtsDFEtaRP+1,0.5*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1216 pMeshDiffFlowEtaRP->SetFillStyle(meshStyle);
1217 pMeshDiffFlowEtaRP->SetFillColor(meshColor);
1219 //----------------------------------------------------------------------------------
1222 //----------------------------------------------------------------------------------
1224 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1225 TGraph* pMeshDiffFlowPtPOI = NULL;
1226 if(mcepCommonHistRes)
1228 Int_t nPtsDFPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetNbinsX();
1229 Double_t binWidthPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinWidth(1);//assuming that all bins have the same width
1231 pMeshDiffFlowPtPOI = new TGraph(2*nPtsDFPtPOI+1);
1233 Double_t valueMCPtPOI=0., errorMCPtPOI=0.;
1234 for(Int_t i=1;i<nPtsDFPtPOI+1;i++)
1236 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(i);
1237 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i);
1238 pMeshDiffFlowPtPOI->SetPoint(i,(i-0.5)*binWidthPtPOI,valueMCPtPOI+errorMCPtPOI);
1240 for(Int_t i=nPtsDFPtPOI+1;i<2*nPtsDFPtPOI+1;i++)
1242 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(2*nPtsDFPtPOI+1-i);
1243 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(2*nPtsDFPtPOI+1-i);
1244 pMeshDiffFlowPtPOI->SetPoint(i,(2*nPtsDFPtPOI-i+0.5)*binWidthPtPOI,valueMCPtPOI-errorMCPtPOI);
1246 pMeshDiffFlowPtPOI->SetPoint(2*nPtsDFPtPOI+1,0.5*binWidthPtPOI,valueMCPtPOI+errorMCPtPOI);
1247 pMeshDiffFlowPtPOI->SetFillStyle(meshStyle);
1248 pMeshDiffFlowPtPOI->SetFillColor(meshColor);
1251 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1252 TGraph* pMeshDiffFlowEtaPOI = NULL;
1253 if(mcepCommonHistRes)
1255 Int_t nPtsDFEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetNbinsX();
1256 Double_t binWidthEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinWidth(1);//assuming that all bins have the same width
1258 pMeshDiffFlowEtaPOI = new TGraph(2*nPtsDFEtaPOI+1);
1260 Double_t valueMCEtaPOI=0., errorMCEtaPOI=0.;
1261 for(Int_t i=1;i<nPtsDFEtaPOI+1;i++)
1263 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(i);
1264 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i);
1265 pMeshDiffFlowEtaPOI->SetPoint(i,(i-0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1267 for(Int_t i=nPtsDFEtaPOI+1;i<2*nPtsDFEtaPOI+1;i++)
1269 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(2*nPtsDFEtaPOI+1-i);
1270 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(2*nPtsDFEtaPOI+1-i);
1271 pMeshDiffFlowEtaPOI->SetPoint(i,(2*nPtsDFEtaPOI-i+0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI-errorMCEtaPOI);
1273 pMeshDiffFlowEtaPOI->SetPoint(2*nPtsDFEtaPOI+1,0.5*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1274 pMeshDiffFlowEtaPOI->SetFillStyle(meshStyle);
1275 pMeshDiffFlowEtaPOI->SetFillColor(meshColor);
1277 //----------------------------------------------------------------------------------
1279 //MCEP = Monte Carlo Event Plane
1280 Double_t avMultDiffFlowMC=0.;//to be removed
1281 Double_t nEvtsDiffFlowMC=0;//to be removed
1282 Double_t avMultDiffFlowMCRP=0.;
1283 Double_t nEvtsDiffFlowMCRP=0;
1284 Double_t avMultDiffFlowMCPOI=0.;
1285 Double_t nEvtsDiffFlowMCPOI=0;
1288 if(mcepCommonHistRes)
1290 (mcepCommonHistRes->GetHistDiffFlow())->SetMarkerColor(2);//to be removed
1291 (mcepCommonHistRes->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1292 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(2);
1293 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1294 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(2);
1295 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1296 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(2);
1297 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1298 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(2);
1299 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1303 avMultDiffFlowMC = (mcepCommonHist->GetHistMultDiff())->GetMean();//to be removed
1304 nEvtsDiffFlowMC = (mcepCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1305 avMultDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
1306 nEvtsDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
1307 avMultDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
1308 nEvtsDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
1312 //GFC = Generating Function Cumulants
1313 Double_t avMultDiffFlowGFC=0.;//to be removed
1314 Double_t nEvtsDiffFlowGFC=0.;//to be removed
1315 Double_t avMultDiffFlowGFCRP=0.;
1316 Double_t nEvtsDiffFlowGFCRP=0.;
1317 Double_t avMultDiffFlowGFCPOI=0.;
1318 Double_t nEvtsDiffFlowGFCPOI=0.;
1321 if(gfcCommonHistRes2)
1323 (gfcCommonHistRes2->GetHistDiffFlow())->SetMarkerColor(kViolet+7);//to be removed
1324 (gfcCommonHistRes2->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1325 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet+7);
1326 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1327 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet+7);
1328 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1329 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet+7);
1330 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1331 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet+7);
1332 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1334 if(gfcCommonHistRes4)
1336 (gfcCommonHistRes4->GetHistDiffFlow())->SetMarkerColor(kViolet-3);//to be removed
1337 (gfcCommonHistRes4->GetHistDiffFlow())->SetMarkerStyle(21);//to be removed
1338 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet-3);
1339 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(21);
1340 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet-3);
1341 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(21);
1342 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet-3);
1343 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(21);
1344 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet-3);
1345 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(21);
1347 if(gfcCommonHistRes6)
1349 (gfcCommonHistRes6->GetHistDiffFlow())->SetMarkerColor(kViolet+7);//to be removed
1350 (gfcCommonHistRes6->GetHistDiffFlow())->SetMarkerStyle(24);//to be removed
1351 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet+7);
1352 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(24);
1353 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet+7);
1354 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(24);
1355 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet+7);
1356 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(24);
1357 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet+7);
1358 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(24);
1360 if(gfcCommonHistRes8)
1362 (gfcCommonHistRes8->GetHistDiffFlow())->SetMarkerColor(kViolet-3);//to be removed
1363 (gfcCommonHistRes8->GetHistDiffFlow())->SetMarkerStyle(25);//to be removed
1364 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet-3);
1365 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(25);
1366 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet-3);
1367 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(25);
1368 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet-3);
1369 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(25);
1370 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet-3);
1371 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(25);
1375 avMultDiffFlowGFC = (gfcCommonHist->GetHistMultDiff())->GetMean();//to be removed
1376 nEvtsDiffFlowGFC = (gfcCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1377 avMultDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
1378 nEvtsDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
1379 avMultDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
1380 nEvtsDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
1385 Double_t avMultDiffFlowQC2=0., avMultDiffFlowQC4=0.;//to be removed
1386 Double_t nEvtsDiffFlowQC2=0., nEvtsDiffFlowQC4=0.;//to be removed
1387 Double_t avMultDiffFlowQC6=0., avMultDiffFlowQC8=0.;//to be removed
1388 Double_t nEvtsDiffFlowQC6=0., nEvtsDiffFlowQC8=0.;//to be removed
1389 Double_t avMultDiffFlowQC2RP=0.;
1390 Double_t nEvtsDiffFlowQC2RP=0.;
1391 Double_t avMultDiffFlowQC2POI=0.;
1392 Double_t nEvtsDiffFlowQC2POI=0.;
1393 Double_t avMultDiffFlowQC4RP=0.;
1394 Double_t nEvtsDiffFlowQC4RP=0.;
1395 Double_t avMultDiffFlowQC4POI=0.;
1396 Double_t nEvtsDiffFlowQC4POI=0.;
1397 Double_t avMultDiffFlowQC6RP=0.;
1398 Double_t nEvtsDiffFlowQC6RP=0.;
1399 Double_t avMultDiffFlowQC6POI=0.;
1400 Double_t nEvtsDiffFlowQC6POI=0.;
1401 Double_t avMultDiffFlowQC8RP=0.;
1402 Double_t nEvtsDiffFlowQC8RP=0.;
1403 Double_t avMultDiffFlowQC8POI=0.;
1404 Double_t nEvtsDiffFlowQC8POI=0.;
1409 if(qcCommonHistRes2)
1411 (qcCommonHistRes2->GetHistDiffFlow())->SetMarkerColor(kOrange+3);//to be removed
1412 (qcCommonHistRes2->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1413 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange+3);
1414 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1415 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange+3);
1416 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1417 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange+3);
1418 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1419 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange+3);
1420 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1424 avMultDiffFlowQC2 = (qcCommonHist2->GetHistMultDiff())->GetMean();//to be removed
1425 nEvtsDiffFlowQC2 = (qcCommonHist2->GetHistMultDiff())->GetEntries();//to be removed
1426 avMultDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
1427 nEvtsDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
1428 avMultDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
1429 nEvtsDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
1432 if(qcCommonHistRes4)
1434 (qcCommonHistRes4->GetHistDiffFlow())->SetMarkerColor(kOrange-6);//to be removed
1435 (qcCommonHistRes4->GetHistDiffFlow())->SetMarkerStyle(21);//to be removed
1436 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange-6);
1437 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(21);
1438 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange-6);
1439 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(21);
1440 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange-6);
1441 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(21);
1442 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange-6);
1443 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(21);
1447 avMultDiffFlowQC4 = (qcCommonHist4->GetHistMultDiff())->GetMean();//to be removed
1448 nEvtsDiffFlowQC4 = (qcCommonHist4->GetHistMultDiff())->GetEntries();//to be removed
1449 avMultDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
1450 nEvtsDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
1451 avMultDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
1452 nEvtsDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
1455 if(qcCommonHistRes6)
1457 (qcCommonHistRes6->GetHistDiffFlow())->SetMarkerColor(kOrange+3);//to be removed
1458 (qcCommonHistRes6->GetHistDiffFlow())->SetMarkerStyle(24);//to be removed
1459 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange+3);
1460 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(24);
1461 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange+3);
1462 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(24);
1463 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange+3);
1464 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(24);
1465 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange+3);
1466 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(24);
1470 avMultDiffFlowQC6 = (qcCommonHist6->GetHistMultDiff())->GetMean();//to be removed
1471 nEvtsDiffFlowQC6 = (qcCommonHist6->GetHistMultDiff())->GetEntries();//to be removed
1472 avMultDiffFlowQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
1473 nEvtsDiffFlowQC6RP = (qcCommonHist6->GetHistMultInt())->GetEntries();
1474 avMultDiffFlowQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
1475 nEvtsDiffFlowQC6POI = (qcCommonHist6->GetHistMultDiff())->GetEntries();
1478 if(qcCommonHistRes8)
1480 (qcCommonHistRes8->GetHistDiffFlow())->SetMarkerColor(kOrange-6);//to be removed
1481 (qcCommonHistRes8->GetHistDiffFlow())->SetMarkerStyle(25);//to be removed
1482 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange-6);
1483 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(25);
1484 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange-6);
1485 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(25);
1486 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange-6);
1487 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(25);
1488 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange-6);
1489 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(25);
1493 avMultDiffFlowQC8 = (qcCommonHist8->GetHistMultDiff())->GetMean();//to be removed
1494 nEvtsDiffFlowQC8 = (qcCommonHist8->GetHistMultDiff())->GetEntries();//to be removed
1495 avMultDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
1496 nEvtsDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
1497 avMultDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
1498 nEvtsDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
1502 //LYZ2 = Lee-Yang Zeros (2nd run)
1503 Double_t avMultDiffFlowLYZ2=0.;//to be removed
1504 Double_t nEvtsDiffFlowLYZ2=0;//to be removed
1505 Double_t avMultDiffFlowLYZ2RP=0.;
1506 Double_t nEvtsDiffFlowLYZ2RP=0;
1507 Double_t avMultDiffFlowLYZ2POI=0.;
1508 Double_t nEvtsDiffFlowLYZ2POI=0;
1511 if(lyz2CommonHistRes)
1513 (lyz2CommonHistRes->GetHistDiffFlow())->SetMarkerColor(kGreen+3);//to be removed
1514 (lyz2CommonHistRes->GetHistDiffFlow())->SetMarkerStyle(22);//to be removed
1515 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(kGreen+3);
1516 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(22);
1517 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(kGreen+3);
1518 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(22);
1519 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(kGreen+3);
1520 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(22);
1521 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(kGreen+3);
1522 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(22);
1526 avMultDiffFlowLYZ2 = (lyz2CommonHist->GetHistMultDiff())->GetMean();//to be removed
1527 nEvtsDiffFlowLYZ2 = (lyz2CommonHist->GetHistMultDiff())->GetEntries();//to be removed
1528 avMultDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetMean();
1529 nEvtsDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetEntries();
1530 avMultDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetMean();
1531 nEvtsDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetEntries();
1535 //LYZEP = Lee-Yang Zeros Event Plane
1536 Double_t avMultDiffFlowLYZEP=0.;//to be removed
1537 Double_t nEvtsDiffFlowLYZEP=0;//to be removed
1538 Double_t avMultDiffFlowLYZEPRP=0.;
1539 Double_t nEvtsDiffFlowLYZEPRP=0;
1540 Double_t avMultDiffFlowLYZEPPOI=0.;
1541 Double_t nEvtsDiffFlowLYZEPPOI=0;
1544 if(lyzepCommonHistRes)
1546 (lyzepCommonHistRes->GetHistDiffFlow())->Scale(0.01);//to be improved
1547 (lyzepCommonHistRes->GetHistDiffFlow())->SetMarkerColor(kGreen+3);//to be removed
1548 (lyzepCommonHistRes->GetHistDiffFlow())->SetMarkerStyle(26);//to be removed
1549 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(kGreen+3);
1550 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(26);
1551 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(kGreen+3);
1552 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(26);
1553 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(kGreen+3);
1554 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(26);
1555 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(kGreen+3);
1556 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(26);
1560 avMultDiffFlowLYZEP = (lyzepCommonHist->GetHistMultDiff())->GetMean();//to be removed
1561 nEvtsDiffFlowLYZEP = (lyzepCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1562 avMultDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
1563 nEvtsDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
1564 avMultDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
1565 nEvtsDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
1569 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1570 // !!!! to be removed !!!!
1571 //----------------------------------------------------------------------------------
1572 //final drawing for differential flow:
1573 TCanvas* diffFlowAllCanvas = new TCanvas("Differential Flow","Differential Flow",1000,600);
1575 diffFlowAllCanvas->Divide(2,1);
1577 //1st pad is for plot:
1578 (diffFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1582 styleHistPt->Draw();
1587 pMeshDiffFlow->Draw("LFSAME");
1590 if(mcepCommonHistRes)
1592 (mcepCommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1595 if(gfcCommonHistRes2)
1597 (gfcCommonHistRes2->GetHistDiffFlow())->Draw("E1PSAME");
1599 if(gfcCommonHistRes4)
1601 (gfcCommonHistRes4->GetHistDiffFlow())->Draw("E1PSAME");
1603 if(gfcCommonHistRes6)
1605 (gfcCommonHistRes6->GetHistDiffFlow())->Draw("E1PSAME");
1607 if(gfcCommonHistRes8)
1609 (gfcCommonHistRes8->GetHistDiffFlow())->Draw("E1PSAME");
1612 if(qcCommonHistRes2)
1614 (qcCommonHistRes2->GetHistDiffFlow())->Draw("E1PSAME");
1616 if(qcCommonHistRes4)
1618 (qcCommonHistRes4->GetHistDiffFlow())->Draw("E1PSAME");
1621 if(lyz2CommonHistRes)
1623 (lyz2CommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1626 if(lyzepCommonHistRes)
1628 (lyzepCommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1631 //2nd pad is for legend:
1632 (diffFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1634 TLegend* legendDiffFlow = new TLegend(0.02,0.25,0.97,0.75);
1635 legendDiffFlow->SetTextFont(72);
1636 legendDiffFlow->SetTextSize(0.06);
1639 TString *entryDiffMC = new TString("MC ....... ");
1640 TString *entryDiffGFC2 = new TString("GFC{2} ... ");
1641 TString *entryDiffGFC4 = new TString("GFC{4} ... ");
1642 TString *entryDiffGFC6 = new TString("GFC{6} ... ");
1643 TString *entryDiffGFC8 = new TString("GFC{8} ... ");
1644 TString *entryDiffQC2 = new TString("QC{2} .... ");
1645 TString *entryDiffQC4 = new TString("QC{4} .... ");
1646 TString *entryDiffLYZ2 = new TString("LYZ ...... ");
1647 TString *entryDiffLYZEP = new TString("LYZEP ... ");
1650 if(mcepCommonHistRes)
1652 (mcepCommonHistRes->GetHistDiffFlow())->SetFillStyle(meshStyle);
1653 (mcepCommonHistRes->GetHistDiffFlow())->SetFillColor(meshColor);
1654 entryDiffMC->Append("M = ");
1655 (*entryDiffMC)+=(Long_t)avMultDiffFlowMC;
1656 entryDiffMC->Append(", N = ");
1657 (*entryDiffMC)+=(Long_t)nEvtsDiffFlowMC;
1658 legendDiffFlow->AddEntry(mcepCommonHistRes->GetHistDiffFlow(),entryDiffMC->Data(),"f");
1662 if(gfcCommonHistRes2)
1664 entryDiffGFC2->Append("M = ");
1665 (*entryDiffGFC2)+=(Long_t)avMultDiffFlowGFC;
1666 entryDiffGFC2->Append(", N = ");
1667 (*entryDiffGFC2)+=(Long_t)nEvtsDiffFlowGFC;
1668 legendDiffFlow->AddEntry(gfcCommonHistRes2->GetHistDiffFlow(),entryDiffGFC2->Data(),"p");
1670 if(gfcCommonHistRes4)
1672 entryDiffGFC4->Append("M = ");
1673 (*entryDiffGFC4)+=(Long_t)avMultDiffFlowGFC;
1674 entryDiffGFC4->Append(", N = ");
1675 (*entryDiffGFC4)+=(Long_t)nEvtsDiffFlowGFC;
1676 legendDiffFlow->AddEntry(gfcCommonHistRes4->GetHistDiffFlow(),entryDiffGFC4->Data(),"p");
1678 if(gfcCommonHistRes6)
1680 entryDiffGFC6->Append("M = ");
1681 (*entryDiffGFC6)+=(Long_t)avMultDiffFlowGFC;
1682 entryDiffGFC6->Append(", N = ");
1683 (*entryDiffGFC6)+=(Long_t)nEvtsDiffFlowGFC;
1684 legendDiffFlow->AddEntry(gfcCommonHistRes6->GetHistDiffFlow(),entryDiffGFC6->Data(),"p");
1686 if(gfcCommonHistRes8)
1688 entryDiffGFC8->Append("M = ");
1689 (*entryDiffGFC8)+=(Long_t)avMultDiffFlowGFC;
1690 entryDiffGFC8->Append(", N = ");
1691 (*entryDiffGFC8)+=(Long_t)nEvtsDiffFlowGFC;
1692 legendDiffFlow->AddEntry(gfcCommonHistRes8->GetHistDiffFlow(),entryDiffGFC8->Data(),"p");
1695 if(qcCommonHistRes2)
1697 entryDiffQC2->Append("M = ");
1698 (*entryDiffQC2)+=(Long_t)avMultDiffFlowQC2;
1699 entryDiffQC2->Append(", N = ");
1700 (*entryDiffQC2)+=(Long_t)nEvtsDiffFlowQC2;
1701 legendDiffFlow->AddEntry(qcCommonHistRes2->GetHistDiffFlow(),entryDiffQC2->Data(),"p");
1703 if(qcCommonHistRes4)
1705 entryDiffQC4->Append("M = ");
1706 (*entryDiffQC4)+=(Long_t)avMultDiffFlowQC4;
1707 entryDiffQC4->Append(", N = ");
1708 (*entryDiffQC4)+=(Long_t)nEvtsDiffFlowQC4;
1709 legendDiffFlow->AddEntry(qcCommonHistRes4->GetHistDiffFlow(),entryDiffQC4->Data(),"p");
1713 if(lyz2CommonHistRes)
1715 entryDiffLYZ2->Append("M = ");
1716 (*entryDiffLYZ2)+=(Long_t)avMultDiffFlowLYZ2;
1717 entryDiffLYZ2->Append(", N = ");
1718 (*entryDiffLYZ2)+=(Long_t)nEvtsDiffFlowLYZ2;
1719 legendDiffFlow->AddEntry(lyz2CommonHistRes->GetHistDiffFlow(),entryDiffLYZ2->Data(),"p");
1723 if(lyzepCommonHistRes)
1725 entryDiffLYZEP->Append("M = ");
1726 (*entryDiffLYZEP)+=(Long_t)avMultDiffFlowLYZEP;
1727 entryDiffLYZEP->Append(", N = ");
1728 (*entryDiffLYZEP)+=(Long_t)nEvtsDiffFlowLYZEP;
1729 legendDiffFlow->AddEntry(lyzepCommonHistRes->GetHistDiffFlow(),entryDiffLYZEP->Data(),"p");
1733 //drawing finally the legend in the 2nd pad:
1736 legendDiffFlow->SetMargin(0.15);
1737 legendDiffFlow->Draw();
1739 //----------------------------------------------------------------------------------
1740 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1743 //----------------------------------------------------------------------------------
1744 //final drawing for differential flow (Pt, RP):
1745 //set here the results of which methods will be plotted by default:
1746 Bool_t plotMCPtRP = kFALSE;
1747 Bool_t plotGFC2PtRP = kTRUE;
1748 Bool_t plotGFC4PtRP = kTRUE;
1749 Bool_t plotGFC6PtRP = kTRUE;
1750 Bool_t plotGFC8PtRP = kTRUE;
1751 Bool_t plotQC2PtRP = kTRUE;
1752 Bool_t plotQC4PtRP = kTRUE;
1753 Bool_t plotQC6PtRP = kTRUE;
1754 Bool_t plotQC8PtRP = kTRUE;
1755 Bool_t plotLYZ2PtRP = kTRUE;
1756 Bool_t plotLYZEPPtRP = kTRUE;
1757 if(plotDiffFlowPtRP)
1759 TCanvas* diffFlowPtAllCanvasRP = new TCanvas("Differential Flow (Pt) of RP","Differential Flow (Pt) of RP ",1000,600);
1761 diffFlowPtAllCanvasRP->Divide(2,1);
1763 //1st pad is for plot:
1764 (diffFlowPtAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1768 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
1769 styleHistPt->Draw();
1771 if(pMeshDiffFlowPtRP)
1773 pMeshDiffFlowPtRP->Draw("LFSAME");
1777 if(plotMCPtRP && mcepCommonHistRes)
1779 (mcepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1782 if(plotGFC2PtRP && gfcCommonHistRes2)
1784 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1786 if(plotGFC4PtRP && gfcCommonHistRes4)
1788 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1790 if(plotGFC6PtRP && gfcCommonHistRes6)
1792 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1794 if(plotGFC8PtRP && gfcCommonHistRes8)
1796 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1799 if(plotQC2PtRP && qcCommonHistRes2)
1801 (qcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1803 if(plotQC4PtRP && qcCommonHistRes4)
1805 (qcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1807 if(plotQC6PtRP && qcCommonHistRes6)
1809 (qcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1811 if(plotQC8PtRP && qcCommonHistRes8)
1813 (qcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1816 if(plotLYZ2PtRP && lyz2CommonHistRes)
1818 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1821 if(plotLYZEPPtRP && lyzepCommonHistRes)
1823 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1826 //2nd pad is for legend:
1827 (diffFlowPtAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1829 TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.25,0.97,0.75);
1830 legendDiffFlowPtRP->SetTextFont(72);
1831 legendDiffFlowPtRP->SetTextSize(0.06);
1834 TString *entryDiffMCPtRP = new TString("MC ....... ");
1835 TString *entryDiffGFC2PtRP = new TString("GFC{2} ... ");
1836 TString *entryDiffGFC4PtRP = new TString("GFC{4} ... ");
1837 TString *entryDiffGFC6PtRP = new TString("GFC{6} ... ");
1838 TString *entryDiffGFC8PtRP = new TString("GFC{8} ... ");
1839 TString *entryDiffQC2PtRP = new TString("QC{2} .... ");
1840 TString *entryDiffQC4PtRP = new TString("QC{4} .... ");
1841 TString *entryDiffQC6PtRP = new TString("QC{6} .... ");
1842 TString *entryDiffQC8PtRP = new TString("QC{8} .... ");
1843 TString *entryDiffLYZ2PtRP = new TString("LYZ ...... ");
1844 TString *entryDiffLYZEPPtRP = new TString("LYZEP ... ");
1847 if(mcepCommonHistRes)
1849 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyle);
1850 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColor);
1851 entryDiffMCPtRP->Append("M = ");
1852 (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
1853 entryDiffMCPtRP->Append(", N = ");
1854 (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP;
1855 legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
1859 if(plotGFC2PtRP && gfcCommonHistRes2)
1861 entryDiffGFC2PtRP->Append("M = ");
1862 (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1863 entryDiffGFC2PtRP->Append(", N = ");
1864 (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1865 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
1867 if(plotGFC4PtRP && gfcCommonHistRes4)
1869 entryDiffGFC4PtRP->Append("M = ");
1870 (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1871 entryDiffGFC4PtRP->Append(", N = ");
1872 (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1873 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
1875 if(plotGFC6PtRP && gfcCommonHistRes6)
1877 entryDiffGFC6PtRP->Append("M = ");
1878 (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1879 entryDiffGFC6PtRP->Append(", N = ");
1880 (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1881 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
1883 if(plotGFC8PtRP && gfcCommonHistRes8)
1885 entryDiffGFC8PtRP->Append("M = ");
1886 (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1887 entryDiffGFC8PtRP->Append(", N = ");
1888 (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1889 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
1893 if(plotQC2PtRP && qcCommonHistRes2)
1895 entryDiffQC2PtRP->Append("M = ");
1896 (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
1897 entryDiffQC2PtRP->Append(", N = ");
1898 (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP;
1899 legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
1901 if(plotQC4PtRP && qcCommonHistRes4)
1903 entryDiffQC4PtRP->Append("M = ");
1904 (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
1905 entryDiffQC4PtRP->Append(", N = ");
1906 (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP;
1907 legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
1909 if(plotQC6PtRP && qcCommonHistRes6)
1911 entryDiffQC6PtRP->Append("M = ");
1912 (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
1913 entryDiffQC6PtRP->Append(", N = ");
1914 (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP;
1915 legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
1917 if(plotQC8PtRP && qcCommonHistRes8)
1919 entryDiffQC8PtRP->Append("M = ");
1920 (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
1921 entryDiffQC8PtRP->Append(", N = ");
1922 (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP;
1923 legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
1927 if(plotLYZ2PtRP && lyz2CommonHistRes)
1929 entryDiffLYZ2PtRP->Append("M = ");
1930 (*entryDiffLYZ2PtRP)+=(Long_t)avMultDiffFlowLYZ2RP;
1931 entryDiffLYZ2PtRP->Append(", N = ");
1932 (*entryDiffLYZ2PtRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
1933 legendDiffFlowPtRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PtRP->Data(),"p");
1937 if(plotLYZEPPtRP && lyzepCommonHistRes)
1939 entryDiffLYZEPPtRP->Append("M = ");
1940 (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
1941 entryDiffLYZEPPtRP->Append(", N = ");
1942 (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
1943 legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
1946 //drawing finally the legend in the 2nd pad:
1947 if(legendDiffFlowPtRP)
1949 legendDiffFlowPtRP->SetMargin(0.15);
1950 legendDiffFlowPtRP->Draw();
1952 }// end of if(plotDiffFlowPtRP)
1953 //----------------------------------------------------------------------------------
1956 //----------------------------------------------------------------------------------
1957 //final drawing for differential flow (Eta, RP):
1958 //set here the results of which methods will be plotted by default:
1959 Bool_t plotMCEtaRP = kFALSE;
1960 Bool_t plotGFC2EtaRP = kTRUE;
1961 Bool_t plotGFC4EtaRP = kTRUE;
1962 Bool_t plotGFC6EtaRP = kTRUE;
1963 Bool_t plotGFC8EtaRP = kTRUE;
1964 Bool_t plotQC2EtaRP = kTRUE;
1965 Bool_t plotQC4EtaRP = kTRUE;
1966 Bool_t plotQC6EtaRP = kTRUE;
1967 Bool_t plotQC8EtaRP = kTRUE;
1968 Bool_t plotLYZ2EtaRP = kTRUE;
1969 Bool_t plotLYZEPEtaRP = kTRUE;
1970 if(plotDiffFlowEtaRP)
1972 TCanvas* diffFlowEtaAllCanvasRP = new TCanvas("Differential Flow (Eta) of RP","Differential Flow (Eta) of RP ",1000,600);
1974 diffFlowEtaAllCanvasRP->Divide(2,1);
1976 //1st pad is for plot:
1977 (diffFlowEtaAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1981 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
1982 styleHistEta->Draw();
1984 if(pMeshDiffFlowEtaRP)
1986 pMeshDiffFlowEtaRP->Draw("LFSAME");
1990 if(plotMCEtaRP && mcepCommonHistRes)
1992 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1995 if(plotGFC2EtaRP && gfcCommonHistRes2)
1997 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1999 if(plotGFC4EtaRP && gfcCommonHistRes4)
2001 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2003 if(plotGFC6EtaRP && gfcCommonHistRes6)
2005 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2007 if(plotGFC8EtaRP && gfcCommonHistRes8)
2009 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2012 if(plotQC2EtaRP && qcCommonHistRes2)
2014 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2016 if(plotQC4EtaRP && qcCommonHistRes4)
2018 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2020 if(plotQC6EtaRP && qcCommonHistRes6)
2022 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2024 if(plotQC8EtaRP && qcCommonHistRes8)
2026 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2029 if(plotLYZ2EtaRP && lyz2CommonHistRes)
2031 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2034 if(plotLYZEPEtaRP && lyzepCommonHistRes)
2036 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2039 //2nd pad is for legend:
2040 (diffFlowEtaAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2042 TLegend* legendDiffFlowEtaRP = new TLegend(0.02,0.25,0.97,0.75);
2043 legendDiffFlowEtaRP->SetTextFont(72);
2044 legendDiffFlowEtaRP->SetTextSize(0.06);
2047 TString *entryDiffMCEtaRP = new TString("MC ....... ");
2048 TString *entryDiffGFC2EtaRP = new TString("GFC{2} ... ");
2049 TString *entryDiffGFC4EtaRP = new TString("GFC{4} ... ");
2050 TString *entryDiffGFC6EtaRP = new TString("GFC{6} ... ");
2051 TString *entryDiffGFC8EtaRP = new TString("GFC{8} ... ");
2052 TString *entryDiffQC2EtaRP = new TString("QC{2} .... ");
2053 TString *entryDiffQC4EtaRP = new TString("QC{4} .... ");
2054 TString *entryDiffQC6EtaRP = new TString("QC{6} .... ");
2055 TString *entryDiffQC8EtaRP = new TString("QC{8} .... ");
2056 TString *entryDiffLYZ2EtaRP = new TString("LYZ ...... ");
2057 TString *entryDiffLYZEPEtaRP = new TString("LYZEP ... ");
2060 if(mcepCommonHistRes)
2062 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillStyle(meshStyle);
2063 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillColor(meshColor);
2064 entryDiffMCEtaRP->Append("M = ");
2065 (*entryDiffMCEtaRP)+=(Long_t)avMultDiffFlowMCRP;
2066 entryDiffMCEtaRP->Append(", N = ");
2067 (*entryDiffMCEtaRP)+=(Long_t)nEvtsDiffFlowMCRP;
2068 legendDiffFlowEtaRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffMCEtaRP->Data(),"f");
2072 if(plotGFC2EtaRP && gfcCommonHistRes2)
2074 entryDiffGFC2EtaRP->Append("M = ");
2075 (*entryDiffGFC2EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2076 entryDiffGFC2EtaRP->Append(", N = ");
2077 (*entryDiffGFC2EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2078 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffGFC2EtaRP->Data(),"p");
2080 if(plotGFC4EtaRP && gfcCommonHistRes4)
2082 entryDiffGFC4EtaRP->Append("M = ");
2083 (*entryDiffGFC4EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2084 entryDiffGFC4EtaRP->Append(", N = ");
2085 (*entryDiffGFC4EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2086 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffGFC4EtaRP->Data(),"p");
2088 if(plotGFC6EtaRP && gfcCommonHistRes6)
2090 entryDiffGFC6EtaRP->Append("M = ");
2091 (*entryDiffGFC6EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2092 entryDiffGFC6EtaRP->Append(", N = ");
2093 (*entryDiffGFC6EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2094 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffGFC6EtaRP->Data(),"p");
2096 if(plotGFC8EtaRP && gfcCommonHistRes8)
2098 entryDiffGFC8EtaRP->Append("M = ");
2099 (*entryDiffGFC8EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2100 entryDiffGFC8EtaRP->Append(", N = ");
2101 (*entryDiffGFC8EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2102 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffGFC8EtaRP->Data(),"p");
2106 if(plotQC2EtaRP && qcCommonHistRes2)
2108 entryDiffQC2EtaRP->Append("M = ");
2109 (*entryDiffQC2EtaRP)+=(Long_t)avMultDiffFlowQC2RP;
2110 entryDiffQC2EtaRP->Append(", N = ");
2111 (*entryDiffQC2EtaRP)+=(Long_t)nEvtsDiffFlowQC2RP;
2112 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffQC2EtaRP->Data(),"p");
2114 if(plotQC4EtaRP && qcCommonHistRes4)
2116 entryDiffQC4EtaRP->Append("M = ");
2117 (*entryDiffQC4EtaRP)+=(Long_t)avMultDiffFlowQC4RP;
2118 entryDiffQC4EtaRP->Append(", N = ");
2119 (*entryDiffQC4EtaRP)+=(Long_t)nEvtsDiffFlowQC4RP;
2120 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffQC4EtaRP->Data(),"p");
2122 if(plotQC6EtaRP && qcCommonHistRes6)
2124 entryDiffQC6EtaRP->Append("M = ");
2125 (*entryDiffQC6EtaRP)+=(Long_t)avMultDiffFlowQC6RP;
2126 entryDiffQC6EtaRP->Append(", N = ");
2127 (*entryDiffQC6EtaRP)+=(Long_t)nEvtsDiffFlowQC6RP;
2128 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffQC6EtaRP->Data(),"p");
2130 if(plotQC8EtaRP && qcCommonHistRes8)
2132 entryDiffQC8EtaRP->Append("M = ");
2133 (*entryDiffQC8EtaRP)+=(Long_t)avMultDiffFlowQC8RP;
2134 entryDiffQC8EtaRP->Append(", N = ");
2135 (*entryDiffQC8EtaRP)+=(Long_t)nEvtsDiffFlowQC8RP;
2136 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffQC8EtaRP->Data(),"p");
2140 if(plotLYZ2EtaRP && lyz2CommonHistRes)
2142 entryDiffLYZ2EtaRP->Append("M = ");
2143 (*entryDiffLYZ2EtaRP)+=(Long_t)avMultDiffFlowLYZ2RP;
2144 entryDiffLYZ2EtaRP->Append(", N = ");
2145 (*entryDiffLYZ2EtaRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
2146 legendDiffFlowEtaRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZ2EtaRP->Data(),"p");
2150 if(plotLYZEPEtaRP && lyzepCommonHistRes)
2152 entryDiffLYZEPEtaRP->Append("M = ");
2153 (*entryDiffLYZEPEtaRP)+=(Long_t)avMultDiffFlowLYZEPRP;
2154 entryDiffLYZEPEtaRP->Append(", N = ");
2155 (*entryDiffLYZEPEtaRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
2156 legendDiffFlowEtaRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZEPEtaRP->Data(),"p");
2159 //drawing finally the legend in the 2nd pad:
2160 if(legendDiffFlowEtaRP)
2162 legendDiffFlowEtaRP->SetMargin(0.15);
2163 legendDiffFlowEtaRP->Draw();
2165 }// end of if(plotDiffFlowEtaRP)
2166 //----------------------------------------------------------------------------------
2168 //----------------------------------------------------------------------------------
2169 //final drawing for differential flow (Pt, POI):
2170 //set here the results of which methods will be plotted by default:
2171 Bool_t plotMCPtPOI = kFALSE;
2172 Bool_t plotGFC2PtPOI = kTRUE;
2173 Bool_t plotGFC4PtPOI = kTRUE;
2174 Bool_t plotGFC6PtPOI = kTRUE;
2175 Bool_t plotGFC8PtPOI = kTRUE;
2176 Bool_t plotQC2PtPOI = kTRUE;
2177 Bool_t plotQC4PtPOI = kTRUE;
2178 Bool_t plotQC6PtPOI = kTRUE;
2179 Bool_t plotQC8PtPOI = kTRUE;
2180 Bool_t plotLYZ2PtPOI = kTRUE;
2181 Bool_t plotLYZEPPtPOI = kTRUE;
2182 if(plotDiffFlowPtPOI)
2184 TCanvas* diffFlowPtAllCanvasPOI = new TCanvas("Differential Flow (Pt) of POI","Differential Flow (Pt) of POI ",1000,600);
2186 diffFlowPtAllCanvasPOI->Divide(2,1);
2188 //1st pad is for plot:
2189 (diffFlowPtAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2193 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2194 styleHistPt->Draw();
2196 if(pMeshDiffFlowPtPOI)
2198 pMeshDiffFlowPtPOI->Draw("LFSAME");
2202 if(plotMCPtPOI && mcepCommonHistRes)
2204 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2207 if(plotGFC2PtPOI && gfcCommonHistRes2)
2209 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2211 if(plotGFC4PtPOI && gfcCommonHistRes4)
2213 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2215 if(plotGFC6PtPOI && gfcCommonHistRes6)
2217 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2219 if(plotGFC8PtPOI && gfcCommonHistRes8)
2221 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2224 if(plotQC2PtPOI && qcCommonHistRes2)
2226 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2228 if(plotQC4PtPOI && qcCommonHistRes4)
2230 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2232 if(plotQC6PtPOI && qcCommonHistRes6)
2234 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2236 if(plotQC8PtPOI && qcCommonHistRes8)
2238 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2241 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2243 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2246 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2248 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2251 //2nd pad is for legend:
2252 (diffFlowPtAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2254 TLegend* legendDiffFlowPtPOI = new TLegend(0.02,0.25,0.97,0.75);
2255 legendDiffFlowPtPOI->SetTextFont(72);
2256 legendDiffFlowPtPOI->SetTextSize(0.06);
2259 TString *entryDiffMCPtPOI = new TString("MC ....... ");
2260 TString *entryDiffGFC2PtPOI = new TString("GFC{2} ... ");
2261 TString *entryDiffGFC4PtPOI = new TString("GFC{4} ... ");
2262 TString *entryDiffGFC6PtPOI = new TString("GFC{6} ... ");
2263 TString *entryDiffGFC8PtPOI = new TString("GFC{8} ... ");
2264 TString *entryDiffQC2PtPOI = new TString("QC{2} .... ");
2265 TString *entryDiffQC4PtPOI = new TString("QC{4} .... ");
2266 TString *entryDiffQC6PtPOI = new TString("QC{6} .... ");
2267 TString *entryDiffQC8PtPOI = new TString("QC{8} .... ");
2268 TString *entryDiffLYZ2PtPOI = new TString("LYZ ...... ");
2269 TString *entryDiffLYZEPPtPOI = new TString("LYZEP ... ");
2272 if(mcepCommonHistRes)
2274 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillStyle(meshStyle);
2275 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillColor(meshColor);
2276 entryDiffMCPtPOI->Append("M = ");
2277 (*entryDiffMCPtPOI)+=(Long_t)avMultDiffFlowMCPOI;
2278 entryDiffMCPtPOI->Append(", N = ");
2279 (*entryDiffMCPtPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2280 legendDiffFlowPtPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffMCPtPOI->Data(),"f");
2284 if(plotGFC2PtPOI && gfcCommonHistRes2)
2286 entryDiffGFC2PtPOI->Append("M = ");
2287 (*entryDiffGFC2PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2288 entryDiffGFC2PtPOI->Append(", N = ");
2289 (*entryDiffGFC2PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2290 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffGFC2PtPOI->Data(),"p");
2292 if(plotGFC4PtPOI && gfcCommonHistRes4)
2294 entryDiffGFC4PtPOI->Append("M = ");
2295 (*entryDiffGFC4PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2296 entryDiffGFC4PtPOI->Append(", N = ");
2297 (*entryDiffGFC4PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2298 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffGFC4PtPOI->Data(),"p");
2300 if(plotGFC6PtPOI && gfcCommonHistRes6)
2302 entryDiffGFC6PtPOI->Append("M = ");
2303 (*entryDiffGFC6PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2304 entryDiffGFC6PtPOI->Append(", N = ");
2305 (*entryDiffGFC6PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2306 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffGFC6PtPOI->Data(),"p");
2308 if(plotGFC8PtPOI && gfcCommonHistRes8)
2310 entryDiffGFC8PtPOI->Append("M = ");
2311 (*entryDiffGFC8PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2312 entryDiffGFC8PtPOI->Append(", N = ");
2313 (*entryDiffGFC8PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2314 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffGFC8PtPOI->Data(),"p");
2318 if(plotQC2PtPOI && qcCommonHistRes2)
2320 entryDiffQC2PtPOI->Append("M = ");
2321 (*entryDiffQC2PtPOI)+=(Long_t)avMultDiffFlowQC2POI;
2322 entryDiffQC2PtPOI->Append(", N = ");
2323 (*entryDiffQC2PtPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2324 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffQC2PtPOI->Data(),"p");
2326 if(plotQC4PtPOI && qcCommonHistRes4)
2328 entryDiffQC4PtPOI->Append("M = ");
2329 (*entryDiffQC4PtPOI)+=(Long_t)avMultDiffFlowQC4POI;
2330 entryDiffQC4PtPOI->Append(", N = ");
2331 (*entryDiffQC4PtPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2332 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffQC4PtPOI->Data(),"p");
2334 if(plotQC6PtPOI && qcCommonHistRes6)
2336 entryDiffQC6PtPOI->Append("M = ");
2337 (*entryDiffQC6PtPOI)+=(Long_t)avMultDiffFlowQC6POI;
2338 entryDiffQC6PtPOI->Append(", N = ");
2339 (*entryDiffQC6PtPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2340 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffQC6PtPOI->Data(),"p");
2342 if(plotQC8PtPOI && qcCommonHistRes8)
2344 entryDiffQC8PtPOI->Append("M = ");
2345 (*entryDiffQC8PtPOI)+=(Long_t)avMultDiffFlowQC8POI;
2346 entryDiffQC8PtPOI->Append(", N = ");
2347 (*entryDiffQC8PtPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2348 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffQC8PtPOI->Data(),"p");
2352 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2354 entryDiffLYZ2PtPOI->Append("M = ");
2355 (*entryDiffLYZ2PtPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2356 entryDiffLYZ2PtPOI->Append(", N = ");
2357 (*entryDiffLYZ2PtPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2358 legendDiffFlowPtPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2PtPOI->Data(),"p");
2362 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2364 entryDiffLYZEPPtPOI->Append("M = ");
2365 (*entryDiffLYZEPPtPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2366 entryDiffLYZEPPtPOI->Append(", N = ");
2367 (*entryDiffLYZEPPtPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2368 legendDiffFlowPtPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZEPPtPOI->Data(),"p");
2371 //drawing finally the legend in the 2nd pad:
2372 if(legendDiffFlowPtPOI)
2374 legendDiffFlowPtPOI->SetMargin(0.15);
2375 legendDiffFlowPtPOI->Draw();
2377 }//end of if(plotDiffFlowPtPOI)
2378 //----------------------------------------------------------------------------------
2381 //----------------------------------------------------------------------------------
2382 //final drawing for differential flow (Eta, POI):
2383 //set here the results of which methods will be plotted by default:
2384 Bool_t plotMCEtaPOI = kFALSE;
2385 Bool_t plotGFC2EtaPOI = kTRUE;
2386 Bool_t plotGFC4EtaPOI = kTRUE;
2387 Bool_t plotGFC6EtaPOI = kTRUE;
2388 Bool_t plotGFC8EtaPOI = kTRUE;
2389 Bool_t plotQC2EtaPOI = kTRUE;
2390 Bool_t plotQC4EtaPOI = kTRUE;
2391 Bool_t plotQC6EtaPOI = kTRUE;
2392 Bool_t plotQC8EtaPOI = kTRUE;
2393 Bool_t plotLYZ2EtaPOI = kTRUE;
2394 Bool_t plotLYZEPEtaPOI = kTRUE;
2395 if(plotDiffFlowEtaPOI)
2397 TCanvas* diffFlowEtaAllCanvasPOI = new TCanvas("Differential Flow (Eta) of POI","Differential Flow (Eta) of POI ",1000,600);
2399 diffFlowEtaAllCanvasPOI->Divide(2,1);
2401 //1st pad is for plot:
2402 (diffFlowEtaAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2406 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
2407 styleHistEta->Draw();
2409 if(pMeshDiffFlowEtaPOI)
2411 pMeshDiffFlowEtaPOI->Draw("LFSAME");
2415 if(plotMCEtaPOI && mcepCommonHistRes)
2417 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2420 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2422 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2424 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2426 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2428 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2430 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2432 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2434 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2437 if(plotQC2EtaPOI && qcCommonHistRes2)
2439 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2441 if(plotQC4EtaPOI && qcCommonHistRes4)
2443 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2445 if(plotQC6EtaPOI && qcCommonHistRes6)
2447 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2449 if(plotQC8EtaPOI && qcCommonHistRes8)
2451 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2454 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2456 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2459 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2461 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2464 //2nd pad is for legend:
2465 (diffFlowEtaAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2467 TLegend* legendDiffFlowEtaPOI = new TLegend(0.02,0.25,0.97,0.75);
2468 legendDiffFlowEtaPOI->SetTextFont(72);
2469 legendDiffFlowEtaPOI->SetTextSize(0.06);
2472 TString *entryDiffMCEtaPOI = new TString("MC ....... ");
2473 TString *entryDiffGFC2EtaPOI = new TString("GFC{2} ... ");
2474 TString *entryDiffGFC4EtaPOI = new TString("GFC{4} ... ");
2475 TString *entryDiffGFC6EtaPOI = new TString("GFC{6} ... ");
2476 TString *entryDiffGFC8EtaPOI = new TString("GFC{8} ... ");
2477 TString *entryDiffQC2EtaPOI = new TString("QC{2} .... ");
2478 TString *entryDiffQC4EtaPOI = new TString("QC{4} .... ");
2479 TString *entryDiffQC6EtaPOI = new TString("QC{6} .... ");
2480 TString *entryDiffQC8EtaPOI = new TString("QC{8} .... ");
2481 TString *entryDiffLYZ2EtaPOI = new TString("LYZ ...... ");
2482 TString *entryDiffLYZEPEtaPOI = new TString("LYZEP ... ");
2485 if(mcepCommonHistRes)
2487 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillStyle(meshStyle);
2488 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillColor(meshColor);
2489 entryDiffMCEtaPOI->Append("M = ");
2490 (*entryDiffMCEtaPOI)+=(Long_t)avMultDiffFlowMCPOI;
2491 entryDiffMCEtaPOI->Append(", N = ");
2492 (*entryDiffMCEtaPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2493 legendDiffFlowEtaPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffMCEtaPOI->Data(),"f");
2497 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2499 entryDiffGFC2EtaPOI->Append("M = ");
2500 (*entryDiffGFC2EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2501 entryDiffGFC2EtaPOI->Append(", N = ");
2502 (*entryDiffGFC2EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2503 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffGFC2EtaPOI->Data(),"p");
2505 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2507 entryDiffGFC4EtaPOI->Append("M = ");
2508 (*entryDiffGFC4EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2509 entryDiffGFC4EtaPOI->Append(", N = ");
2510 (*entryDiffGFC4EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2511 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffGFC4EtaPOI->Data(),"p");
2513 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2515 entryDiffGFC6EtaPOI->Append("M = ");
2516 (*entryDiffGFC6EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2517 entryDiffGFC6EtaPOI->Append(", N = ");
2518 (*entryDiffGFC6EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2519 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffGFC6EtaPOI->Data(),"p");
2521 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2523 entryDiffGFC8EtaPOI->Append("M = ");
2524 (*entryDiffGFC8EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2525 entryDiffGFC8EtaPOI->Append(", N = ");
2526 (*entryDiffGFC8EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2527 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffGFC8EtaPOI->Data(),"p");
2531 if(plotQC2EtaPOI && qcCommonHistRes2)
2533 entryDiffQC2EtaPOI->Append("M = ");
2534 (*entryDiffQC2EtaPOI)+=(Long_t)avMultDiffFlowQC2POI;
2535 entryDiffQC2EtaPOI->Append(", N = ");
2536 (*entryDiffQC2EtaPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2537 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffQC2EtaPOI->Data(),"p");
2539 if(plotQC4EtaPOI && qcCommonHistRes4)
2541 entryDiffQC4EtaPOI->Append("M = ");
2542 (*entryDiffQC4EtaPOI)+=(Long_t)avMultDiffFlowQC4POI;
2543 entryDiffQC4EtaPOI->Append(", N = ");
2544 (*entryDiffQC4EtaPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2545 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffQC4EtaPOI->Data(),"p");
2547 if(plotQC6EtaPOI && qcCommonHistRes6)
2549 entryDiffQC6EtaPOI->Append("M = ");
2550 (*entryDiffQC6EtaPOI)+=(Long_t)avMultDiffFlowQC6POI;
2551 entryDiffQC6EtaPOI->Append(", N = ");
2552 (*entryDiffQC6EtaPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2553 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffQC6EtaPOI->Data(),"p");
2555 if(plotQC8EtaPOI && qcCommonHistRes8)
2557 entryDiffQC8EtaPOI->Append("M = ");
2558 (*entryDiffQC8EtaPOI)+=(Long_t)avMultDiffFlowQC8POI;
2559 entryDiffQC8EtaPOI->Append(", N = ");
2560 (*entryDiffQC8EtaPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2561 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffQC8EtaPOI->Data(),"p");
2565 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2567 entryDiffLYZ2EtaPOI->Append("M = ");
2568 (*entryDiffLYZ2EtaPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2569 entryDiffLYZ2EtaPOI->Append(", N = ");
2570 (*entryDiffLYZ2EtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2571 legendDiffFlowEtaPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2EtaPOI->Data(),"p");
2575 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2577 entryDiffLYZEPEtaPOI->Append("M = ");
2578 (*entryDiffLYZEPEtaPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2579 entryDiffLYZEPEtaPOI->Append(", N = ");
2580 (*entryDiffLYZEPEtaPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2581 legendDiffFlowEtaPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZEPEtaPOI->Data(),"p");
2584 //drawing finally the legend in the 2nd pad:
2585 if(legendDiffFlowEtaPOI)
2587 legendDiffFlowEtaPOI->SetMargin(0.15);
2588 legendDiffFlowEtaPOI->Draw();
2590 }//end of if(plotDiffFlowEtaPOI)
2591 //----------------------------------------------------------------------------------
2594 //=====================================================================================