1 //type of analysis can be: ESD, AOD, MC, ESDMC0, ESDMC1
2 //const TString type = "ESD";
3 void compareFlowResults(TString type="ESD")
5 //load needed libraries:
6 gSystem->AddIncludePath("-I$ROOTSYS/include");
7 gSystem->Load("libTree.so");
10 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
11 gSystem->Load("libANALYSIS.so");
12 gSystem->Load("libPWG2flowCommon.so");
13 cerr<<"libPWG2flowCommon.so loaded ..."<<endl;
15 // for root load histrogram classes
17 // gROOT->LoadMacro("code/AliFlowCommonHist.cxx+");
18 // gROOT->LoadMacro("code/AliFlowCommonHistResults.cxx+");
19 // gROOT->LoadMacro("code/AliFlowLYZHist1.cxx+");
20 // gROOT->LoadMacro("code/AliFlowLYZHist2.cxx+");
23 //==================================================================================
24 // set here which plots will be shown by default
25 //==================================================================================
26 //RP = particles used to determine the reaction plane
27 Bool_t plotIntFlowRP = kTRUE; //integrated flow RP
28 Bool_t plotDiffFlowPtRP = kTRUE; //differential flow (Pt,RP)
29 Bool_t plotDiffFlowEtaRP = kTRUE; //differential flow (Eta,RP)
30 //POI = particle of interest
31 Bool_t plotIntFlowPOI = kTRUE; //integrated flow POI
32 Bool_t plotDiffFlowPtPOI = kTRUE; //differential flow (Pt,POI)
33 Bool_t plotDiffFlowEtaPOI = kTRUE; //differential flow (Eta,POI)
34 //==================================================================================
39 //==================================================================================
40 // accessing output files
41 //==================================================================================
42 //open the output files:
43 TString inputFileNameMCEP = "outputMCEPanalysis";
44 TFile* fileMCEP = NULL;
45 fileMCEP = TFile::Open(((inputFileNameMCEP.Append(type)).Append(".root")).Data(), "READ");
47 TString inputFileNameLYZ1 = "outputLYZ1analysis";
48 TFile* fileLYZ1 = NULL;
49 fileLYZ1 = TFile::Open(((inputFileNameLYZ1.Append(type)).Append(".root")).Data(), "READ");
51 TString inputFileNameLYZ2 = "outputLYZ2analysis";
52 TFile* fileLYZ2 = NULL;
53 fileLYZ2 = TFile::Open(((inputFileNameLYZ2.Append(type)).Append(".root")).Data(), "READ");
55 TString inputFileNameLYZEP = "outputLYZEPanalysis";
56 TFile* fileLYZEP = NULL;
57 fileLYZEP = TFile::Open(((inputFileNameLYZEP.Append(type)).Append(".root")).Data(), "READ");
59 TString inputFileNameFQD = "outputFQDanalysis";
60 TFile* fileFQD = NULL;
61 fileFQD = TFile::Open(((inputFileNameFQD.Append(type)).Append(".root")).Data(), "READ");
63 TString inputFileNameGFC = "outputGFCanalysis";
64 TFile* fileGFC = NULL;
65 fileGFC = TFile::Open(((inputFileNameGFC.Append(type)).Append(".root")).Data(), "READ");
67 TString inputFileNameQC = "outputQCanalysis";
69 fileQC = TFile::Open(((inputFileNameQC.Append(type)).Append(".root")).Data(), "READ");
70 //==================================================================================
75 //==================================================================================
77 //==================================================================================
78 //removing the title and stat. box from all histograms:
79 gStyle->SetOptTitle(0);
80 gStyle->SetOptStat(0);
82 //choosing the style and color of mesh for MC error bands:
83 Int_t meshStyle = 1001;
84 Int_t meshColor = kRed-10;
86 //marker style and color (plots for int. flow)
87 Int_t markerStyle = 21;
88 Int_t markerColor = kRed-3;
89 //==================================================================================
94 //==================================================================================
96 //==================================================================================
97 //the number of different methods:
98 const Int_t nMethods=12;
100 //booking the histogram for the integrated flow results from all methods:
101 TH1D* intFlowAll = new TH1D("intFlowAll","Integrated Flow",nMethods,0,nMethods);
102 //intFlowAll->SetLabelSize(0.036,"X");
103 //intFlowAll->SetLabelSize(0.036,"Y");
104 intFlowAll->SetMarkerStyle(markerStyle);
105 intFlowAll->SetMarkerColor(markerColor);
106 (intFlowAll->GetXaxis())->SetBinLabel(1,"v_{2}{MC}");
107 (intFlowAll->GetXaxis())->SetBinLabel(2,"v_{2}{2,GFC}");
108 (intFlowAll->GetXaxis())->SetBinLabel(3,"v_{2}{2,QC}");
109 (intFlowAll->GetXaxis())->SetBinLabel(4,"v_{2}{4,GFC}");
110 (intFlowAll->GetXaxis())->SetBinLabel(5,"v_{2}{4,QC}");
111 (intFlowAll->GetXaxis())->SetBinLabel(6,"v_{2}{6,GFC}");
112 (intFlowAll->GetXaxis())->SetBinLabel(7,"v_{2}{6,QC}");
113 (intFlowAll->GetXaxis())->SetBinLabel(8,"v_{2}{8,GFC}");
114 (intFlowAll->GetXaxis())->SetBinLabel(9,"v_{2}{8,QC}");
115 (intFlowAll->GetXaxis())->SetBinLabel(10,"v_{2}{FQD}");
116 (intFlowAll->GetXaxis())->SetBinLabel(11,"v_{2}{LYZ}");
117 (intFlowAll->GetXaxis())->SetBinLabel(12,"v_{2}{LYZEP}");
119 //booking the graph to store flow values and errors from all methods:
120 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};
121 Double_t xError[nMethods] = {0.};
122 Double_t flowValue[nMethods] = {0.};
123 Double_t flowError[nMethods] = {0.};
124 Double_t flowValueRP[nMethods] = {0.};
125 Double_t flowErrorRP[nMethods] = {0.};
126 Double_t flowValuePOI[nMethods] = {0.};
127 Double_t flowErrorPOI[nMethods] = {0.};
129 //accessing the results for each method:
130 //MCEP = Monte Carlo Event Plane
131 TList *pListMCEP = NULL;
132 AliFlowCommonHist *mcepCommonHist = NULL;
133 AliFlowCommonHistResults *mcepCommonHistRes = NULL;
135 fileMCEP->GetObject("cobjMCEP",pListMCEP);
137 mcepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListMCEP->FindObject("AliFlowCommonHistMCEP"));
138 mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
139 if(mcepCommonHistRes) {
140 flowValue[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
141 flowError[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinError(1);
142 flowValueRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
143 flowErrorRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
144 flowValuePOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
145 flowErrorPOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
150 //LYZ1 = Lee-Yang Zeros (1st run)
151 TList *pListLYZ1 = NULL;
152 AliFlowCommonHist *lyz1CommonHist = NULL;
153 AliFlowCommonHistResults *lyz1CommonHistRes = NULL;
155 fileLYZ1->GetObject("cobjLYZ1",pListLYZ1);
157 lyz1CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ1->FindObject("AliFlowCommonHistLYZ1"));
158 lyz1CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ1->FindObject("AliFlowCommonHistResultsLYZ1"));
159 if(lyz1CommonHistRes) {
160 flowValue[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinContent(1);
161 flowError[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinError(1);
162 flowValueRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
163 flowErrorRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinError(1);
164 flowValuePOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
165 flowErrorPOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
170 //LYZ2 = Lee-Yang Zeros (2nd run) (needed only for differential flow)
171 TList *pListLYZ2 = NULL;
172 AliFlowCommonHist *lyz2CommonHist = NULL;
173 AliFlowCommonHistResults *lyz2CommonHistRes = NULL;
175 fileLYZ2->GetObject("cobjLYZ2",pListLYZ2);
177 lyz2CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ2->FindObject("AliFlowCommonHistLYZ2"));
178 lyz2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ2->FindObject("AliFlowCommonHistResultsLYZ2"));
179 if(lyz2CommonHistRes) {
180 flowValue[10] = (lyz2CommonHistRes->GetHistIntFlow())->GetBinContent(1);
181 flowError[10] = (lyz2CommonHistRes->GetHistIntFlow())->GetBinError(1);
182 flowValueRP[10] = (lyz2CommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
183 flowErrorRP[10] = (lyz2CommonHistRes->GetHistIntFlowRP())->GetBinError(1);
184 flowValuePOI[10] = (lyz2CommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
185 flowErrorPOI[10] = (lyz2CommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
190 //LYZEP = Lee-Yang Zeros Event Plane
191 TList *pListLYZEP = NULL;
192 AliFlowCommonHist *lyzepCommonHist = NULL;
193 AliFlowCommonHistResults *lyzepCommonHistRes = NULL;
195 fileLYZEP->GetObject("cobjLYZEP",pListLYZEP);
197 lyzepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZEP->FindObject("AliFlowCommonHistLYZEP"));
198 lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZEP->FindObject("AliFlowCommonHistResultsLYZEP"));
199 if(lyzepCommonHistRes) {
200 flowValue[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
201 flowError[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinError(1);
202 flowValueRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
203 flowErrorRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
204 flowValuePOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
205 flowErrorPOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
210 //FQD = Fitting q-distribution
211 TList *pListFQD = NULL;
212 AliFlowCommonHist *fqdCommonHist = NULL;
213 AliFlowCommonHistResults *fqdCommonHistRes = NULL;
215 fileFQD->GetObject("cobjFQD",pListFQD);
217 fqdCommonHist = dynamic_cast<AliFlowCommonHist*> (pListFQD->FindObject("AliFlowCommonHistFQD"));
218 fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListFQD->FindObject("AliFlowCommonHistResultsFQD"));
219 if(fqdCommonHistRes) {
220 flowValue[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);
221 flowError[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);
222 flowValueRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
223 flowErrorRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
224 flowValuePOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
225 flowErrorPOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
230 //GFC = Generating Function Cumulants
231 TList *pListGFC = NULL;
232 AliFlowCommonHist *gfcCommonHist = NULL;
233 AliFlowCommonHistResults *gfcCommonHistRes2 = NULL;
234 AliFlowCommonHistResults *gfcCommonHistRes4 = NULL;
235 AliFlowCommonHistResults *gfcCommonHistRes6 = NULL;
236 AliFlowCommonHistResults *gfcCommonHistRes8 = NULL;
238 fileGFC->GetObject("cobjGFC",pListGFC);
240 gfcCommonHist = dynamic_cast<AliFlowCommonHist*> (pListGFC->FindObject("AliFlowCommonHistGFC"));
241 gfcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
242 if(gfcCommonHistRes2) {
243 flowValue[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);
244 flowError[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinError(1);
245 flowValueRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
246 flowErrorRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
247 flowValuePOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
248 flowErrorPOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
250 gfcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
251 if(gfcCommonHistRes4) {
252 flowValue[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);
253 flowError[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinError(1);
254 flowValueRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
255 flowErrorRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
256 flowValuePOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
257 flowErrorPOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
259 gfcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
260 if(gfcCommonHistRes6) {
261 flowValue[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);
262 flowError[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinError(1);
263 flowValueRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
264 flowErrorRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
265 flowValuePOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
266 flowErrorPOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
268 gfcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
269 if(gfcCommonHistRes8) {
270 flowValue[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);
271 flowError[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinError(1);
272 flowValueRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
273 flowErrorRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
274 flowValuePOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
275 flowErrorPOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
281 TList *pListQC = NULL;
282 AliFlowCommonHist *qcCommonHist2 = NULL;
283 AliFlowCommonHist *qcCommonHist4 = NULL;
284 AliFlowCommonHist *qcCommonHist6 = NULL;
285 AliFlowCommonHist *qcCommonHist8 = NULL;
286 AliFlowCommonHistResults *qcCommonHistRes2 = NULL;
287 AliFlowCommonHistResults *qcCommonHistRes4 = NULL;
288 AliFlowCommonHistResults *qcCommonHistRes6 = NULL;
289 AliFlowCommonHistResults *qcCommonHistRes8 = NULL;
292 fileQC->GetObject("cobjQC",pListQC);
294 qcCommonHist2 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist2ndOrderQC"));
295 qcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
296 if(qcCommonHistRes2) {
297 flowValue[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);
298 //flowError[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinError(1);
299 flowValueRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
300 //flowErrorRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
301 flowValuePOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
302 //flowErrorPOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
304 qcCommonHist4 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist4thOrderQC"));
305 qcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
306 if(qcCommonHistRes4) {
307 flowValue[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);
308 //flowError[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinError(1);
309 flowValueRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
310 //flowErrorRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
311 flowValuePOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
312 //flowErrorPOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
314 qcCommonHist6 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist6thOrderQC"));
315 qcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
316 if(qcCommonHistRes6) {
317 flowValue[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);
318 //flowError[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinError(1);
319 flowValueRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
320 //flowErrorRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
321 flowValuePOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
322 //flowErrorPOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
324 qcCommonHist8 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist8thOrderQC"));
325 qcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
326 if(qcCommonHistRes8) {
327 flowValue[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);
328 //flowError[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinError(1);
329 flowValueRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
330 //flowErrorRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
331 flowValuePOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
332 //flowErrorPOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
338 Double_t dMax=flowValue[0]+flowError[0];
339 Double_t dMin=flowValue[0]-flowError[0];
341 for(Int_t i=1;i<nMethods;i++) {
342 if(!(flowValue[i]==0. && flowError[i]==0.)) {
343 if(dMax<flowValue[i]+flowError[i]) dMax=flowValue[i]+flowError[i];
344 if(dMin>flowValue[i]-flowError[i]) dMin=flowValue[i]-flowError[i];
349 Double_t dMaxRP=flowValueRP[0]+flowErrorRP[0];
350 Double_t dMinRP=flowValueRP[0]-flowErrorRP[0];
352 for(Int_t i=1;i<nMethods;i++) {
353 if(!(flowValueRP[i]==0. && flowErrorRP[i]==0.)) {
354 if(dMaxRP<flowValueRP[i]+flowErrorRP[i]) dMaxRP=flowValueRP[i]+flowErrorRP[i];
355 if(dMinRP>flowValueRP[i]-flowErrorRP[i]) dMinRP=flowValueRP[i]-flowErrorRP[i];
360 Double_t dMaxPOI=flowValuePOI[0]+flowErrorPOI[0];
361 Double_t dMinPOI=flowValuePOI[0]-flowErrorPOI[0];
363 for(Int_t i=1;i<nMethods;i++) {
364 if(!(flowValuePOI[i]==0. && flowErrorPOI[i]==0.)) {
365 if(dMaxPOI<flowValuePOI[i]+flowErrorPOI[i]) dMaxPOI=flowValuePOI[i]+flowErrorPOI[i];
366 if(dMinPOI>flowValuePOI[i]-flowErrorPOI[i]) dMinPOI=flowValuePOI[i]-flowErrorPOI[i];
371 TGraph* flowResults = new TGraphErrors(nMethods, x, flowValue, xError, flowError);
372 flowResults->SetMarkerStyle(markerStyle);
373 flowResults->SetMarkerColor(markerColor);
376 TGraph* flowResultsRP = new TGraphErrors(nMethods, x, flowValueRP, xError, flowErrorRP);
377 flowResultsRP->SetMarkerStyle(markerStyle);
378 flowResultsRP->SetMarkerColor(markerColor);
381 TGraph* flowResultsPOI = new TGraphErrors(nMethods, x, flowValuePOI, xError, flowErrorPOI);
382 flowResultsPOI->SetMarkerStyle(markerStyle);
383 flowResultsPOI->SetMarkerColor(markerColor);
385 //-----------------------------------------------------------------------------------
387 //----------------------------------------------------------------------------------
388 //cosmetics: mesh for MC error bands (integrated flow)
389 TGraph* pMesh = NULL;
390 TGraph* pMeshRP = NULL;
391 TGraph* pMeshPOI = NULL;
393 if(intFlowAll && mcepCommonHistRes) {
394 Int_t nPts = nMethods;
395 Double_t valueMC = flowValue[0];
396 Double_t errorMC = flowError[0];
397 Double_t valueMCRP = flowValueRP[0];
398 Double_t errorMCRP = flowErrorRP[0];
399 Double_t valueMCPOI = flowValuePOI[0];
400 Double_t errorMCPOI = flowErrorPOI[0];
402 pMesh = new TGraph(nPts);
403 pMeshRP = new TGraph(nPts);
404 pMeshPOI = new TGraph(nPts);
407 pMesh->SetPoint(1,0,valueMC+errorMC);
408 pMesh->SetPoint(2,nPts+1,valueMC+errorMC);
409 pMesh->SetPoint(3,nPts+1,valueMC-errorMC);
410 pMesh->SetPoint(4,0,valueMC-errorMC);
411 pMesh->SetPoint(5,0,valueMC+errorMC);
412 pMesh->SetFillStyle(meshStyle);
413 pMesh->SetFillColor(meshColor);
416 pMeshRP->SetPoint(1,0,valueMCRP+errorMCRP);
417 pMeshRP->SetPoint(2,nPts+1,valueMCRP+errorMCRP);
418 pMeshRP->SetPoint(3,nPts+1,valueMCRP-errorMCRP);
419 pMeshRP->SetPoint(4,0,valueMCRP-errorMCRP);
420 pMeshRP->SetPoint(5,0,valueMCRP+errorMCRP);
421 pMeshRP->SetFillStyle(meshStyle);
422 pMeshRP->SetFillColor(meshColor);
425 pMeshPOI->SetPoint(1,0,valueMCPOI+errorMCPOI);
426 pMeshPOI->SetPoint(2,nPts+1,valueMCPOI+errorMCPOI);
427 pMeshPOI->SetPoint(3,nPts+1,valueMCPOI-errorMCPOI);
428 pMeshPOI->SetPoint(4,0,valueMCPOI-errorMCPOI);
429 pMeshPOI->SetPoint(5,0,valueMCPOI+errorMCPOI);
430 pMeshPOI->SetFillStyle(meshStyle);
431 pMeshPOI->SetFillColor(meshColor);
433 //----------------------------------------------------------------------------------
436 //----------------------------------------------------------------------------------
437 //cosmetics: text (integrated flow)
439 TPaveText *textDefault = new TPaveText(0.05,0.77,0.95,0.90,"NDC");
440 textDefault->SetTextFont(72);
441 textDefault->SetTextSize(0.08);
443 TString *entryDefaultAvM = new TString("Average Multiplicity");
444 TString *entryDefaultAnd = new TString("and");
445 TString *entryDefaultNumOfEvts = new TString("Number of Events:");
447 textDefault->AddText(entryDefaultAvM->Data());
448 textDefault->AddText(entryDefaultAnd->Data());
449 textDefault->AddText(entryDefaultNumOfEvts->Data());
452 TPaveText *textResults = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
453 textResults->SetTextFont(72);
454 textResults->SetTextSize(0.06);
457 TPaveText *textResultsRP = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
458 textResultsRP->SetTextFont(72);
459 textResultsRP->SetTextSize(0.06);
462 TPaveText *textResultsPOI = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
463 textResultsPOI->SetTextFont(72);
464 textResultsPOI->SetTextSize(0.06);
467 TString *entryMC = new TString("MC ...... ");
468 TString *entryGFC = new TString("GFC ..... ");
469 TString *entryQC2 = new TString("QC{2} ... ");
470 TString *entryQC4 = new TString("QC{4} ... ");
471 TString *entryQC6 = new TString("QC{6} ... ");
472 TString *entryQC8 = new TString("QC{8} ... ");
473 TString *entryFQD = new TString("FQD ..... ");
474 TString *entryLYZ1 = new TString("LYZ ..... ");
475 TString *entryLYZEP = new TString("LYZEP ... ");
478 TString *entryMCRP = new TString("MC ...... ");
479 TString *entryGFCRP = new TString("GFC ..... ");
480 TString *entryQC2RP = new TString("QC{2} ... ");
481 TString *entryQC4RP = new TString("QC{4} ... ");
482 TString *entryQC6RP = new TString("QC{6} ... ");
483 TString *entryQC8RP = new TString("QC{8} ... ");
484 TString *entryFQDRP = new TString("FQD ..... ");
485 TString *entryLYZ1RP = new TString("LYZ ..... ");
486 TString *entryLYZEPRP = new TString("LYZEP ... ");
489 TString *entryMCPOI = new TString("MC ...... ");
490 TString *entryGFCPOI = new TString("GFC ..... ");
491 TString *entryQC2POI = new TString("QC{2} ... ");
492 TString *entryQC4POI = new TString("QC{4} ... ");
493 TString *entryQC6POI = new TString("QC{6} ... ");
494 TString *entryQC8POI = new TString("QC{8} ... ");
495 TString *entryFQDPOI = new TString("FQD ..... ");
496 TString *entryLYZ1POI = new TString("LYZ ..... ");
497 TString *entryLYZEPPOI = new TString("LYZEP ... ");
500 Double_t avMultMC=0.;
502 Double_t avMultGFC=0.;
504 Double_t avMultQC2=0., avMultQC4=0., avMultQC6=0., avMultQC8=0.;
505 Long_t nEvtsQC2=0, nEvtsQC4=0, nEvtsQC6=0, nEvtsQC8=0;
506 Double_t avMultFQD=0.;
508 Double_t avMultLYZ1=0.;
510 Double_t avMultLYZEP=0.;
514 Double_t avMultMCRP=0.;
516 Double_t avMultGFCRP=0.;
518 Double_t avMultQC2RP=0., avMultQC4RP=0., avMultQC6RP=0., avMultQC8RP=0.;
519 Long_t nEvtsQC2RP=0, nEvtsQC4RP=0, nEvtsQC6RP=0, nEvtsQC8RP=0;
520 Double_t avMultFQDRP=0.;
522 Double_t avMultLYZ1RP=0.;
523 Long_t nEvtsLYZ1RP=0;
524 Double_t avMultLYZEPRP=0.;
525 Long_t nEvtsLYZEPRP=0;
528 Double_t avMultMCPOI=0.;
530 Double_t avMultGFCPOI=0.;
531 Long_t nEvtsGFCPOI=0;
532 Double_t avMultQC2POI=0., avMultQC4POI=0., avMultQC6POI=0., avMultQC8POI=0.;
533 Long_t nEvtsQC2POI=0, nEvtsQC4POI=0, nEvtsQC6POI=0, nEvtsQC8POI=0;
534 Double_t avMultFQDPOI=0.;
535 Long_t nEvtsFQDPOI=0;
536 Double_t avMultLYZ1POI=0.;
537 Long_t nEvtsLYZ1POI=0;
538 Double_t avMultLYZEPPOI=0.;
539 Long_t nEvtsLYZEPPOI=0;
543 avMultMC = (mcepCommonHist->GetHistMultInt())->GetMean();
544 nEvtsMC = (mcepCommonHist->GetHistMultInt())->GetEntries();
545 avMultMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
546 nEvtsMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
547 avMultMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
548 nEvtsMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
552 entryMC->Append("M = ");
553 (*entryMC)+=(Long_t)avMultMC;
554 entryMC->Append(", N = ");
555 (*entryMC)+=(Long_t)nEvtsMC;
559 entryMCRP->Append("M = ");
560 (*entryMCRP)+=(Long_t)avMultMCRP;
561 entryMCRP->Append(", N = ");
562 (*entryMCRP)+=(Long_t)nEvtsMCRP;
566 entryMCPOI->Append("M = ");
567 (*entryMCPOI)+=(Long_t)avMultMCPOI;
568 entryMCPOI->Append(", N = ");
569 (*entryMCPOI)+=(Long_t)nEvtsMCPOI;
574 avMultGFC = (gfcCommonHist->GetHistMultInt())->GetMean();
575 nEvtsGFC = (gfcCommonHist->GetHistMultInt())->GetEntries();
576 avMultGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
577 nEvtsGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
578 avMultGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
579 nEvtsGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
583 entryGFC->Append("M = ");
584 (*entryGFC)+=(Long_t)avMultGFC;
585 entryGFC->Append(", N = ");
586 (*entryGFC)+=(Long_t)nEvtsGFC;
590 entryGFCRP->Append("M = ");
591 (*entryGFCRP)+=(Long_t)avMultGFCRP;
592 entryGFCRP->Append(", N = ");
593 (*entryGFCRP)+=(Long_t)nEvtsGFCRP;
596 entryGFCPOI->Append("M = ");
597 (*entryGFCPOI)+=(Long_t)avMultGFCPOI;
598 entryGFCPOI->Append(", N = ");
599 (*entryGFCPOI)+=(Long_t)nEvtsGFCPOI;
604 avMultQC2 = (qcCommonHist2->GetHistMultInt())->GetMean();
605 nEvtsQC2 = (qcCommonHist2->GetHistMultInt())->GetEntries();
606 avMultQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
607 nEvtsQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
608 avMultQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
609 nEvtsQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
614 entryQC2->Append("M = ");
615 (*entryQC2)+=(Long_t)avMultQC2;
616 entryQC2->Append(", N = ");
617 (*entryQC2)+=(Long_t)nEvtsQC2;
622 entryQC2RP->Append("M = ");
623 (*entryQC2RP)+=(Long_t)avMultQC2RP;
624 entryQC2RP->Append(", N = ");
625 (*entryQC2RP)+=(Long_t)nEvtsQC2RP;
630 entryQC2POI->Append("M = ");
631 (*entryQC2POI)+=(Long_t)avMultQC2POI;
632 entryQC2POI->Append(", N = ");
633 (*entryQC2POI)+=(Long_t)nEvtsQC2POI;
638 avMultQC4 = (qcCommonHist4->GetHistMultInt())->GetMean();
639 nEvtsQC4 = (qcCommonHist4->GetHistMultInt())->GetEntries();
640 avMultQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
641 nEvtsQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
642 avMultQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
643 nEvtsQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
648 entryQC4->Append("M = ");
649 (*entryQC4)+=(Long_t)avMultQC4;
650 entryQC4->Append(", N = ");
651 (*entryQC4)+=(Long_t)nEvtsQC4;
656 entryQC4RP->Append("M = ");
657 (*entryQC4RP)+=(Long_t)avMultQC4RP;
658 entryQC4RP->Append(", N = ");
659 (*entryQC4RP)+=(Long_t)nEvtsQC4RP;
664 entryQC4POI->Append("M = ");
665 (*entryQC4POI)+=(Long_t)avMultQC4POI;
666 entryQC4POI->Append(", N = ");
667 (*entryQC4POI)+=(Long_t)nEvtsQC4POI;
672 avMultQC6 = (qcCommonHist6->GetHistMultInt())->GetMean();
673 nEvtsQC6 = (qcCommonHist6->GetHistMultInt())->GetEntries();
674 avMultQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
675 nEvtsQC6RP = (qcCommonHist6->GetHistMultInt())->GetEntries();
676 avMultQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
677 nEvtsQC6POI = (qcCommonHist6->GetHistMultDiff())->GetEntries();
682 entryQC6->Append("M = ");
683 (*entryQC6)+=(Long_t)avMultQC6;
684 entryQC6->Append(", N = ");
685 (*entryQC6)+=(Long_t)nEvtsQC6;
690 entryQC6RP->Append("M = ");
691 (*entryQC6RP)+=(Long_t)avMultQC6RP;
692 entryQC6RP->Append(", N = ");
693 (*entryQC6RP)+=(Long_t)nEvtsQC6RP;
698 entryQC6POI->Append("M = ");
699 (*entryQC6POI)+=(Long_t)avMultQC6POI;
700 entryQC6POI->Append(", N = ");
701 (*entryQC6POI)+=(Long_t)nEvtsQC6POI;
706 avMultQC8 = (qcCommonHist8->GetHistMultInt())->GetMean();
707 nEvtsQC8 = (qcCommonHist8->GetHistMultInt())->GetEntries();
708 avMultQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
709 nEvtsQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
710 avMultQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
711 nEvtsQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
716 entryQC8->Append("M = ");
717 (*entryQC8)+=(Long_t)avMultQC8;
718 entryQC8->Append(", N = ");
719 (*entryQC8)+=(Long_t)nEvtsQC8;
724 entryQC8RP->Append("M = ");
725 (*entryQC8RP)+=(Long_t)avMultQC8RP;
726 entryQC8RP->Append(", N = ");
727 (*entryQC8RP)+=(Long_t)nEvtsQC8RP;
732 entryQC8POI->Append("M = ");
733 (*entryQC8POI)+=(Long_t)avMultQC8POI;
734 entryQC8POI->Append(", N = ");
735 (*entryQC8POI)+=(Long_t)nEvtsQC8POI;
741 avMultFQD = (fqdCommonHist->GetHistMultInt())->GetMean();
742 nEvtsFQD = (fqdCommonHist->GetHistMultInt())->GetEntries();
743 avMultFQDRP = (fqdCommonHist->GetHistMultInt())->GetMean();
744 nEvtsFQDRP = (fqdCommonHist->GetHistMultInt())->GetEntries();
745 avMultFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetMean();
746 nEvtsFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetEntries();
751 entryFQD->Append("M = ");
752 (*entryFQD)+=(Long_t)avMultFQD;
753 entryFQD->Append(", N = ");
754 (*entryFQD)+=(Long_t)nEvtsFQD;
759 entryFQDRP->Append("M = ");
760 (*entryFQDRP)+=(Long_t)avMultFQDRP;
761 entryFQDRP->Append(", N = ");
762 (*entryFQDRP)+=(Long_t)nEvtsFQDRP;
767 entryFQDPOI->Append("M = ");
768 (*entryFQDPOI)+=(Long_t)avMultFQDPOI;
769 entryFQDPOI->Append(", N = ");
770 (*entryFQDPOI)+=(Long_t)nEvtsFQDPOI;
776 avMultLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetMean();
777 nEvtsLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetEntries();
778 avMultLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetMean();
779 nEvtsLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetEntries();
780 avMultLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetMean();
781 nEvtsLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetEntries();
786 entryLYZ1->Append("M = ");
787 (*entryLYZ1)+=(Long_t)avMultLYZ1;
788 entryLYZ1->Append(", N = ");
789 (*entryLYZ1)+=(Long_t)nEvtsLYZ1;
794 entryLYZ1RP->Append("M = ");
795 (*entryLYZ1RP)+=(Long_t)avMultLYZ1RP;
796 entryLYZ1RP->Append(", N = ");
797 (*entryLYZ1RP)+=(Long_t)nEvtsLYZ1RP;
802 entryLYZ1POI->Append("M = ");
803 (*entryLYZ1POI)+=(Long_t)avMultLYZ1POI;
804 entryLYZ1POI->Append(", N = ");
805 (*entryLYZ1POI)+=(Long_t)nEvtsLYZ1POI;
811 avMultLYZEP = (lyzepCommonHist->GetHistMultInt())->GetMean();
812 nEvtsLYZEP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
813 avMultLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
814 nEvtsLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
815 avMultLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
816 nEvtsLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
821 entryLYZEP->Append("M = ");
822 (*entryLYZEP)+=(Long_t)avMultLYZEP;
823 entryLYZEP->Append(", N = ");
824 (*entryLYZEP)+=(Long_t)nEvtsLYZEP;
829 entryLYZEPRP->Append("M = ");
830 (*entryLYZEPRP)+=(Long_t)avMultLYZEPRP;
831 entryLYZEPRP->Append(", N = ");
832 (*entryLYZEPRP)+=(Long_t)nEvtsLYZEPRP;
837 entryLYZEPPOI->Append("M = ");
838 (*entryLYZEPPOI)+=(Long_t)avMultLYZEPPOI;
839 entryLYZEPPOI->Append(", N = ");
840 (*entryLYZEPPOI)+=(Long_t)nEvtsLYZEPPOI;
846 textResults->AddText(entryMC->Data());
847 textResults->AddText(entryGFC->Data());
848 textResults->AddText(entryQC2->Data());
849 textResults->AddText(entryQC4->Data());
850 textResults->AddText(entryQC6->Data());
851 textResults->AddText(entryQC8->Data());
852 textResults->AddText(entryFQD->Data());
853 textResults->AddText(entryLYZ1->Data());
854 textResults->AddText(entryLYZEP->Data());
860 textResultsRP->AddText(entryMCRP->Data());
861 textResultsRP->AddText(entryGFCRP->Data());
862 textResultsRP->AddText(entryQC2RP->Data());
863 textResultsRP->AddText(entryQC4RP->Data());
864 textResultsRP->AddText(entryQC6RP->Data());
865 textResultsRP->AddText(entryQC8RP->Data());
866 textResultsRP->AddText(entryFQDRP->Data());
867 textResultsRP->AddText(entryLYZ1RP->Data());
868 textResultsRP->AddText(entryLYZEPRP->Data());
873 textResultsPOI->AddText(entryMCPOI->Data());
874 textResultsPOI->AddText(entryGFCPOI->Data());
875 textResultsPOI->AddText(entryQC2POI->Data());
876 textResultsPOI->AddText(entryQC4POI->Data());
877 textResultsPOI->AddText(entryQC6POI->Data());
878 textResultsPOI->AddText(entryQC8POI->Data());
879 textResultsPOI->AddText(entryFQDPOI->Data());
880 textResultsPOI->AddText(entryLYZ1POI->Data());
881 textResultsPOI->AddText(entryLYZEPPOI->Data());
883 //----------------------------------------------------------------------------------
888 //----------------------------------------------------------------------------------
889 //final drawing for integrated flow (no-name):
890 TCanvas* intFlowAllCanvas = new TCanvas("Integrated Flow","Integrated Flow",1000,600);
892 intFlowAllCanvas->Divide(2,1);
894 //1st pad is for plot:
895 (intFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
899 if(dMin>0. && dMax>0.)
901 (intFlowAll->GetYaxis())->SetRangeUser(0.9744*dMin,1.0144*dMax);
902 } else if(dMin<0. && dMax>0.)
904 if(!(-1.*dMin<4.*dMax))
906 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,1.0144*dMax);
907 } else {(intFlowAll->GetYaxis())->SetRangeUser(1.1266*dMin,1.0144*dMax);}
908 } else if(dMin<0. && dMax<0.)
910 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,0.9866*dMax);
912 intFlowAll->Draw("E1");
915 if(pMesh) pMesh->Draw("LFSAME");
917 if(flowResults) flowResults->Draw("PSAME");
919 //2nd pad is for legend:
920 (intFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
927 //----------------------------------------------------------------------------------
932 //----------------------------------------------------------------------------------
933 //final drawing for integrated flow of RP (i.e. of particles used to determine the reaction plane):
936 TCanvas* intFlowAllCanvasRP = new TCanvas("Integrated Flow RP","Integrated Flow RP",1000,600);
938 intFlowAllCanvasRP->Divide(2,1);
940 //1st pad is for plot:
941 (intFlowAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
943 TH1D *intFlowAllRP = new TH1D(*intFlowAll);
947 if(dMinRP>0. && dMaxRP>0.)
949 (intFlowAllRP->GetYaxis())->SetRangeUser(0.9744*dMinRP,1.0144*dMaxRP);
950 } else if(dMinRP<0. && dMaxRP>0.)
952 if(!(-1.*dMinRP<4.*dMaxRP))
954 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,1.0144*dMaxRP);
955 } else {(intFlowAllRP->GetYaxis())->SetRangeUser(1.1266*dMinRP,1.0144*dMaxRP);}
956 } else if(dMinRP<0. && dMaxRP<0.)
958 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,0.9866*dMaxRP);
960 intFlowAllRP->Draw("E1");
963 if(pMeshRP) pMeshRP->Draw("LFSAME");
965 if(flowResultsRP) flowResultsRP->Draw("PSAME");
967 //2nd pad is for legend:
968 (intFlowAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
970 if(textDefault) textDefault->Draw();
972 if(textResultsRP) textResultsRP->Draw();
973 }//end of if(plotIntFlowRP}
974 //----------------------------------------------------------------------------------
979 //----------------------------------------------------------------------------------
980 //final drawing for integrated flow of POI (i.e. of particles of interest):
983 TCanvas* intFlowAllCanvasPOI = new TCanvas("Integrated Flow POI","Integrated Flow POI",1000,600);
985 intFlowAllCanvasPOI->Divide(2,1);
987 //1st pad is for plot:
988 (intFlowAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
990 TH1D *intFlowAllPOI = new TH1D(*intFlowAll);
994 if(dMinPOI>0. && dMaxPOI>0.)
996 (intFlowAllPOI->GetYaxis())->SetRangeUser(0.9744*dMinPOI,1.0144*dMaxPOI);
997 } else if(dMinPOI<0. && dMaxPOI>0.)
999 if(!(-1.*dMinPOI<4.*dMaxPOI))
1001 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,1.0144*dMaxPOI);
1002 } else {(intFlowAllPOI->GetYaxis())->SetRangeUser(1.1266*dMinPOI,1.0144*dMaxPOI);}
1003 } else if(dMinPOI<0. && dMaxPOI<0.)
1005 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,0.9866*dMaxPOI);
1007 intFlowAllPOI->Draw("E1");
1010 if(pMeshPOI) pMeshPOI->Draw("LFSAME");
1012 if(flowResultsPOI) flowResultsPOI->Draw("PSAME");
1014 //2nd pad is for legend:
1015 (intFlowAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1017 if(textDefault) textDefault->Draw();
1019 if(textResultsPOI) textResultsPOI->Draw();
1020 }// end of if(plotIntFlowPOI)
1021 //----------------------------------------------------------------------------------
1023 //==================================================================================
1028 //==================================================================================
1029 // DIFFERENTIAL FLOW
1030 //==================================================================================
1031 Int_t iNbinsPt = AliFlowCommonConstants::GetNbinsPt();
1032 Double_t dPtMin = AliFlowCommonConstants::GetPtMin();
1033 Double_t dPtMax = AliFlowCommonConstants::GetPtMax();
1035 Int_t iNbinsEta = AliFlowCommonConstants::GetNbinsEta();
1036 Double_t dEtaMin = AliFlowCommonConstants::GetEtaMin();
1037 Double_t dEtaMax = AliFlowCommonConstants::GetEtaMax();
1039 //----------------------------------------------------------------------------------
1040 //cosmetics: the style histogram for differential flow (pt):
1041 TH1D *styleHistPt = new TH1D("styleHistPt","styleHistPt",iNbinsPt,dPtMin,dPtMax);
1042 styleHistPt->SetTitle("Differential Flow");
1043 styleHistPt->SetXTitle("p_{t} [GeV]");
1044 styleHistPt->SetYTitle("v_{n}");
1046 //cosmetics: the style histogram for differential flow (eta):
1047 TH1D *styleHistEta = new TH1D("styleHistEta","styleHistEta",iNbinsEta,dEtaMin,dEtaMax);
1048 styleHistEta->SetTitle("Differential Flow");
1049 styleHistEta->SetXTitle("#eta");
1050 styleHistEta->SetYTitle("v_{n}");
1052 //cosmetics: marker style and color for each method:
1054 Int_t markerStyleMC = 20;//full circle
1055 Int_t markerColorMC = kRed;
1057 Int_t markerStyleGFC2 = 21;//full square
1058 Int_t markerColorGFC2 = kAzure-7;
1060 Int_t markerStyleGFC4 = 20;//full circle
1061 Int_t markerColorGFC4 = kAzure+3;
1063 Int_t markerStyleGFC6 = 25;//open circle
1064 Int_t markerColorGFC6 = kAzure-7;
1066 Int_t markerStyleGFC8 = 24;//open square
1067 Int_t markerColorGFC8 = kAzure+3;
1069 Int_t markerStyleQC2 = 21;//full square
1070 Int_t markerColorQC2 = kOrange-7;
1072 Int_t markerStyleQC4 = 20;//full circle
1073 Int_t markerColorQC4 = kOrange+3;
1075 Int_t markerStyleQC6 = 25;//open circle
1076 Int_t markerColorQC6 = kOrange-7;
1078 Int_t markerStyleQC8 = 24;//open square
1079 Int_t markerColorQC8 = kOrange+3;
1081 Int_t markerStyleLYZ2 = 22;//full triangle
1082 Int_t markerColorLYZ2 = kYellow+3;
1084 Int_t markerStyleLYZEP = 26;//open triangle
1085 Int_t markerColorLYZEP = kYellow+3;
1086 //----------------------------------------------------------------------------------
1090 //----------------------------------------------------------------------------------
1092 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1093 TGraph* pMeshDiffFlowPtRP = NULL;
1094 if(mcepCommonHistRes)
1096 Int_t nBinsDiffFlowPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetNbinsX();
1097 Double_t binWidthPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinWidth(1);//assuming that all bins have the same width
1099 //counting the non-empty bins:
1100 Int_t nNonEmptyBinsDiffFlowPtRP=0;
1101 for(Int_t i=1;i<nBinsDiffFlowPtRP+1;i++)
1103 if(!(mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i)==0.0))
1105 nNonEmptyBinsDiffFlowPtRP++;
1109 pMeshDiffFlowPtRP = new TGraph(2*nNonEmptyBinsDiffFlowPtRP+1);
1111 Double_t valueMCPtRP=0.,errorMCPtRP=0.;
1112 Int_t countDiffFlowPtRP=1;
1113 Double_t xFirstDiffFlowPtRP=0.,yUpFirstDiffFlowPtRP=0.;//needed to close up the mesh
1114 for(Int_t i=1;i<nBinsDiffFlowPtRP+1;i++)
1116 //setting up the upper limit of the mesh:
1117 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(i);
1118 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i);
1119 if(!(errorMCPtRP==0.0))
1121 pMeshDiffFlowPtRP->SetPoint(countDiffFlowPtRP++,(i-0.5)*binWidthPtRP+dPtMin,valueMCPtRP+errorMCPtRP);
1122 if(xFirstDiffFlowPtRP==0.)
1124 xFirstDiffFlowPtRP=(i-0.5)*binWidthPtRP+dPtMin;
1125 yUpFirstDiffFlowPtRP=valueMCPtRP+errorMCPtRP;
1129 for(Int_t i=nBinsDiffFlowPtRP+1;i<2*nBinsDiffFlowPtRP+1;i++)
1131 //setting up the lower limit of the mesh:
1132 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(2*nBinsDiffFlowPtRP+1-i);
1133 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(2*nBinsDiffFlowPtRP+1-i);
1134 if(!(errorMCPtRP==0.0))
1136 pMeshDiffFlowPtRP->SetPoint(countDiffFlowPtRP++,(2*nBinsDiffFlowPtRP-i+0.5)*binWidthPtRP+dPtMin,valueMCPtRP-errorMCPtRP);
1139 //closing the mesh area:
1140 pMeshDiffFlowPtRP->SetPoint(2*nNonEmptyBinsDiffFlowPtRP+1,xFirstDiffFlowPtRP,yUpFirstDiffFlowPtRP);
1142 //setting the mesh style and color:
1143 pMeshDiffFlowPtRP->SetFillStyle(meshStyle);
1144 pMeshDiffFlowPtRP->SetFillColor(meshColor);
1147 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1148 TGraph* pMeshDiffFlowEtaRP = NULL;
1149 if(mcepCommonHistRes)
1151 Int_t nBinsDiffFlowEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetNbinsX();
1152 Double_t binWidthEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinWidth(1);//assuming that all bins have the same width
1154 //counting the non-empty bins:
1155 Int_t nNonEmptyBinsDiffFlowEtaRP=0;
1156 for(Int_t i=1;i<nBinsDiffFlowEtaRP+1;i++)
1158 if(!(mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i)==0.0))
1160 nNonEmptyBinsDiffFlowEtaRP++;
1164 pMeshDiffFlowEtaRP = new TGraph(2*nNonEmptyBinsDiffFlowEtaRP+1);
1166 Double_t valueMCEtaRP=0.,errorMCEtaRP=0.;
1167 Int_t countDiffFlowEtaRP=1;
1168 Double_t xFirstDiffFlowEtaRP=0.,yUpFirstDiffFlowEtaRP=0.;//needed to close up the mesh
1169 for(Int_t i=1;i<nBinsDiffFlowEtaRP+1;i++)
1171 //setting up the upper limit of the mesh:
1172 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(i);
1173 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i);
1174 if(!(errorMCEtaRP==0.0))
1176 pMeshDiffFlowEtaRP->SetPoint(countDiffFlowEtaRP++,(i-0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1177 if(xFirstDiffFlowEtaRP==0.)
1179 xFirstDiffFlowEtaRP=(i-0.5)*binWidthEtaRP+dEtaMin;
1180 yUpFirstDiffFlowEtaRP=valueMCEtaRP+errorMCEtaRP;
1184 for(Int_t i=nBinsDiffFlowEtaRP+1;i<2*nBinsDiffFlowEtaRP+1;i++)
1186 //setting up the lower limit of the mesh:
1187 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(2*nBinsDiffFlowEtaRP+1-i);
1188 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(2*nBinsDiffFlowEtaRP+1-i);
1189 if(!(errorMCEtaRP==0.0))
1191 pMeshDiffFlowEtaRP->SetPoint(countDiffFlowEtaRP++,(2*nBinsDiffFlowEtaRP-i+0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP-errorMCEtaRP);
1194 //closing the mesh area:
1195 pMeshDiffFlowEtaRP->SetPoint(2*nNonEmptyBinsDiffFlowEtaRP+1,xFirstDiffFlowEtaRP,yUpFirstDiffFlowEtaRP);
1197 //setting the mesh style and color:
1198 pMeshDiffFlowEtaRP->SetFillStyle(meshStyle);
1199 pMeshDiffFlowEtaRP->SetFillColor(meshColor);
1201 //----------------------------------------------------------------------------------
1206 //----------------------------------------------------------------------------------
1208 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1209 TGraph* pMeshDiffFlowPtPOI = NULL;
1210 if(mcepCommonHistRes)
1212 Int_t nBinsDiffFlowPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetNbinsX();
1213 Double_t binWidthPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinWidth(1);//assuming that all bins have the same width
1215 //counting the non-empty bins:
1216 Int_t nNonEmptyBinsDiffFlowPtPOI=0;
1217 for(Int_t i=1;i<nBinsDiffFlowPtPOI+1;i++)
1219 if(!(mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i)==0.0))
1221 nNonEmptyBinsDiffFlowPtPOI++;
1225 pMeshDiffFlowPtPOI = new TGraph(2*nNonEmptyBinsDiffFlowPtPOI+1);
1227 Double_t valueMCPtPOI=0.,errorMCPtPOI=0.;
1228 Int_t countDiffFlowPtPOI=1;
1229 Double_t xFirstDiffFlowPtPOI=0.,yUpFirstDiffFlowPtPOI=0.;//needed to close up the mesh
1230 for(Int_t i=1;i<nBinsDiffFlowPtPOI+1;i++)
1232 //setting up the upper limit of the mesh:
1233 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(i);
1234 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i);
1235 if(!(errorMCPtPOI==0.0))
1237 pMeshDiffFlowPtPOI->SetPoint(countDiffFlowPtPOI++,(i-0.5)*binWidthPtPOI+dPtMin,valueMCPtPOI+errorMCPtPOI);
1238 if(xFirstDiffFlowPtPOI==0.)
1240 xFirstDiffFlowPtPOI=(i-0.5)*binWidthPtPOI+dPtMin;
1241 yUpFirstDiffFlowPtPOI=valueMCPtPOI+errorMCPtPOI;
1245 for(Int_t i=nBinsDiffFlowPtPOI+1;i<2*nBinsDiffFlowPtPOI+1;i++)
1247 //setting up the lower limit of the mesh:
1248 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(2*nBinsDiffFlowPtPOI+1-i);
1249 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(2*nBinsDiffFlowPtPOI+1-i);
1250 if(!(errorMCPtPOI==0.0))
1252 pMeshDiffFlowPtPOI->SetPoint(countDiffFlowPtPOI++,(2*nBinsDiffFlowPtPOI-i+0.5)*binWidthPtPOI+dPtMin,valueMCPtPOI-errorMCPtPOI);
1255 //closing the mesh area:
1256 pMeshDiffFlowPtPOI->SetPoint(2*nNonEmptyBinsDiffFlowPtPOI+1,xFirstDiffFlowPtPOI,yUpFirstDiffFlowPtPOI);
1258 //setting the mesh style and color:
1259 pMeshDiffFlowPtPOI->SetFillStyle(meshStyle);
1260 pMeshDiffFlowPtPOI->SetFillColor(meshColor);
1263 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1264 TGraph* pMeshDiffFlowEtaPOI = NULL;
1265 if(mcepCommonHistRes)
1267 Int_t nBinsDiffFlowEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetNbinsX();
1268 Double_t binWidthEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinWidth(1);//assuming that all bins have the same width
1270 //counting the non-empty bins:
1271 Int_t nNonEmptyBinsDiffFlowEtaPOI=0;
1272 for(Int_t i=1;i<nBinsDiffFlowEtaPOI+1;i++)
1274 if(!(mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i)==0.0))
1276 nNonEmptyBinsDiffFlowEtaPOI++;
1280 pMeshDiffFlowEtaPOI = new TGraph(2*nNonEmptyBinsDiffFlowEtaPOI+1);
1282 Double_t valueMCEtaPOI=0.,errorMCEtaPOI=0.;
1283 Int_t countDiffFlowEtaPOI=1;
1284 Double_t xFirstDiffFlowEtaPOI=0.,yUpFirstDiffFlowEtaPOI=0.;//needed to close up the mesh
1285 for(Int_t i=1;i<nBinsDiffFlowEtaPOI+1;i++)
1287 //setting up the upper limit of the mesh:
1288 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(i);
1289 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i);
1290 if(!(errorMCEtaPOI==0.0))
1292 pMeshDiffFlowEtaPOI->SetPoint(countDiffFlowEtaPOI++,(i-0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1293 if(xFirstDiffFlowEtaPOI==0.)
1295 xFirstDiffFlowEtaPOI=(i-0.5)*binWidthEtaPOI+dEtaMin;
1296 yUpFirstDiffFlowEtaPOI=valueMCEtaPOI+errorMCEtaPOI;
1300 for(Int_t i=nBinsDiffFlowEtaPOI+1;i<2*nBinsDiffFlowEtaPOI+1;i++)
1302 //setting up the lower limit of the mesh:
1303 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(2*nBinsDiffFlowEtaPOI+1-i);
1304 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(2*nBinsDiffFlowEtaPOI+1-i);
1305 if(!(errorMCEtaPOI==0.0))
1307 pMeshDiffFlowEtaPOI->SetPoint(countDiffFlowEtaPOI++,(2*nBinsDiffFlowEtaPOI-i+0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI-errorMCEtaPOI);
1310 //closing the mesh area:
1311 pMeshDiffFlowEtaPOI->SetPoint(2*nNonEmptyBinsDiffFlowEtaPOI+1,xFirstDiffFlowEtaPOI,yUpFirstDiffFlowEtaPOI);
1313 //setting the mesh style and color:
1314 pMeshDiffFlowEtaPOI->SetFillStyle(meshStyle);
1315 pMeshDiffFlowEtaPOI->SetFillColor(meshColor);
1317 //----------------------------------------------------------------------------------
1319 //MCEP = Monte Carlo Event Plane
1320 Double_t avMultDiffFlowMCRP=0.;
1321 Double_t nEvtsDiffFlowMCRP=0;
1322 Double_t avMultDiffFlowMCPOI=0.;
1323 Double_t nEvtsDiffFlowMCPOI=0;
1326 if(mcepCommonHistRes)
1328 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorMC);
1329 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleMC);
1330 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorMC);
1331 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleMC);
1332 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorMC);
1333 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleMC);
1334 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorMC);
1335 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleMC);
1339 avMultDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
1340 nEvtsDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
1341 avMultDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
1342 nEvtsDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
1346 //GFC = Generating Function Cumulants
1347 Double_t avMultDiffFlowGFC=0.;//to be removed
1348 Double_t nEvtsDiffFlowGFC=0.;//to be removed
1349 Double_t avMultDiffFlowGFCRP=0.;
1350 Double_t nEvtsDiffFlowGFCRP=0.;
1351 Double_t avMultDiffFlowGFCPOI=0.;
1352 Double_t nEvtsDiffFlowGFCPOI=0.;
1355 if(gfcCommonHistRes2)
1357 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC2);
1358 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC2);
1359 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC2);
1360 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC2);
1361 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC2);
1362 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC2);
1363 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC2);
1364 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC2);
1366 if(gfcCommonHistRes4)
1368 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC4);
1369 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC4);
1370 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC4);
1371 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC4);
1372 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC4);
1373 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC4);
1374 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC4);
1375 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC4);
1377 if(gfcCommonHistRes6)
1379 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC6);
1380 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC6);
1381 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC6);
1382 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC6);
1383 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC6);
1384 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC6);
1385 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC6);
1386 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC6);
1388 if(gfcCommonHistRes8)
1390 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC8);
1391 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC8);
1392 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC8);
1393 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC8);
1394 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC8);
1395 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC8);
1396 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC8);
1397 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC8);
1401 avMultDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
1402 nEvtsDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
1403 avMultDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
1404 nEvtsDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
1409 Double_t avMultDiffFlowQC2RP=0.;
1410 Double_t nEvtsDiffFlowQC2RP=0.;
1411 Double_t avMultDiffFlowQC2POI=0.;
1412 Double_t nEvtsDiffFlowQC2POI=0.;
1413 Double_t avMultDiffFlowQC4RP=0.;
1414 Double_t nEvtsDiffFlowQC4RP=0.;
1415 Double_t avMultDiffFlowQC4POI=0.;
1416 Double_t nEvtsDiffFlowQC4POI=0.;
1417 Double_t avMultDiffFlowQC6RP=0.;
1418 Double_t nEvtsDiffFlowQC6RP=0.;
1419 Double_t avMultDiffFlowQC6POI=0.;
1420 Double_t nEvtsDiffFlowQC6POI=0.;
1421 Double_t avMultDiffFlowQC8RP=0.;
1422 Double_t nEvtsDiffFlowQC8RP=0.;
1423 Double_t avMultDiffFlowQC8POI=0.;
1424 Double_t nEvtsDiffFlowQC8POI=0.;
1429 if(qcCommonHistRes2)
1431 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC2);
1432 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC2);
1433 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC2);
1434 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC2);
1435 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC2);
1436 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC2);
1437 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC2);
1438 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC2);
1442 avMultDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
1443 nEvtsDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
1444 avMultDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
1445 nEvtsDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
1448 if(qcCommonHistRes4)
1450 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC4);
1451 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC4);
1452 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC4);
1453 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC4);
1454 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC4);
1455 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC4);
1456 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC4);
1457 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC4);
1461 avMultDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
1462 nEvtsDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
1463 avMultDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
1464 nEvtsDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
1467 if(qcCommonHistRes6)
1469 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC6);
1470 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC6);
1471 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC6);
1472 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC6);
1473 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC6);
1474 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC6);
1475 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC6);
1476 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC6);
1480 avMultDiffFlowQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
1481 nEvtsDiffFlowQC6RP = (qcCommonHist6->GetHistMultInt())->GetEntries();
1482 avMultDiffFlowQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
1483 nEvtsDiffFlowQC6POI = (qcCommonHist6->GetHistMultDiff())->GetEntries();
1486 if(qcCommonHistRes8)
1488 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC8);
1489 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC8);
1490 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC8);
1491 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC8);
1492 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC8);
1493 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC8);
1494 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC8);
1495 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC8);
1499 avMultDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
1500 nEvtsDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
1501 avMultDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
1502 nEvtsDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
1506 //LYZ2 = Lee-Yang Zeros (2nd run)
1507 Double_t avMultDiffFlowLYZ2RP=0.;
1508 Double_t nEvtsDiffFlowLYZ2RP=0;
1509 Double_t avMultDiffFlowLYZ2POI=0.;
1510 Double_t nEvtsDiffFlowLYZ2POI=0;
1513 if(lyz2CommonHistRes)
1515 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorLYZ2);
1516 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleLYZ2);
1517 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorLYZ2);
1518 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleLYZ2);
1519 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorLYZ2);
1520 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleLYZ2);
1521 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorLYZ2);
1522 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleLYZ2);
1526 avMultDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetMean();
1527 nEvtsDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetEntries();
1528 avMultDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetMean();
1529 nEvtsDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetEntries();
1533 //LYZEP = Lee-Yang Zeros Event Plane
1534 Double_t avMultDiffFlowLYZEPRP=0.;
1535 Double_t nEvtsDiffFlowLYZEPRP=0;
1536 Double_t avMultDiffFlowLYZEPPOI=0.;
1537 Double_t nEvtsDiffFlowLYZEPPOI=0;
1540 if(lyzepCommonHistRes)
1542 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorLYZEP);
1543 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleLYZEP);
1544 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorLYZEP);
1545 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleLYZEP);
1546 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorLYZEP);
1547 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleLYZEP);
1548 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorLYZEP);
1549 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleLYZEP);
1553 avMultDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
1554 nEvtsDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
1555 avMultDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
1556 nEvtsDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
1561 //----------------------------------------------------------------------------------
1562 //final drawing for differential flow (Pt, RP):
1563 //set here the results of which methods will be plotted by default:
1564 Bool_t plotMCPtRP = kFALSE;
1565 Bool_t plotGFC2PtRP = kTRUE;
1566 Bool_t plotGFC4PtRP = kTRUE;
1567 Bool_t plotGFC6PtRP = kTRUE;
1568 Bool_t plotGFC8PtRP = kTRUE;
1569 Bool_t plotQC2PtRP = kTRUE;
1570 Bool_t plotQC4PtRP = kTRUE;
1571 Bool_t plotQC6PtRP = kTRUE;
1572 Bool_t plotQC8PtRP = kTRUE;
1573 Bool_t plotLYZ2PtRP = kTRUE;
1574 Bool_t plotLYZEPPtRP = kTRUE;
1575 if(plotDiffFlowPtRP)
1577 TCanvas* diffFlowPtAllCanvasRP = new TCanvas("Differential Flow (Pt) of RP","Differential Flow (Pt) of RP ",1000,600);
1579 diffFlowPtAllCanvasRP->Divide(2,1);
1581 //1st pad is for plot:
1582 (diffFlowPtAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1586 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
1587 styleHistPt->Draw();
1589 if(pMeshDiffFlowPtRP)
1591 pMeshDiffFlowPtRP->Draw("LFSAME");
1595 if(plotMCPtRP && mcepCommonHistRes)
1597 (mcepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1600 if(plotGFC2PtRP && gfcCommonHistRes2)Pt
1602 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1604 if(plotGFC4PtRP && gfcCommonHistRes4)
1606 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1608 if(plotGFC6PtRP && gfcCommonHistRes6)
1610 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1612 if(plotGFC8PtRP && gfcCommonHistRes8)
1614 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1617 if(plotQC2PtRP && qcCommonHistRes2)
1619 (qcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1621 if(plotQC4PtRP && qcCommonHistRes4)
1623 (qcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1625 if(plotQC6PtRP && qcCommonHistRes6)
1627 //(qcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1629 if(plotQC8PtRP && qcCommonHistRes8)
1631 //(qcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1634 if(plotLYZ2PtRP && lyz2CommonHistRes)
1636 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1639 if(plotLYZEPPtRP && lyzepCommonHistRes)
1641 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1644 //2nd pad is for legend:
1645 (diffFlowPtAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1647 TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.25,0.97,0.75);
1648 legendDiffFlowPtRP->SetTextFont(72);
1649 legendDiffFlowPtRP->SetTextSize(0.06);
1651 //legend's entries:Pt
1652 TString *entryDiffMCPtRP = new TString("MC ....... ");
1653 TString *entryDiffGFC2PtRP = new TString("GFC{2} ... ");
1654 TString *entryDiffGFC4PtRP = new TString("GFC{4} ... ");
1655 TString *entryDiffGFC6PtRP = new TString("GFC{6} ... ");
1656 TString *entryDiffGFC8PtRP = new TString("GFC{8} ... ");
1657 TString *entryDiffQC2PtRP = new TString("QC{2} .... ");
1658 TString *entryDiffQC4PtRP = new TString("QC{4} .... ");
1659 TString *entryDiffQC6PtRP = new TString("QC{6} .... ");
1660 TString *entryDiffQC8PtRP = new TString("QC{8} .... ");
1661 TString *entryDiffLYZ2PtRP = new TString("LYZ ...... ");
1662 TString *entryDiffLYZEPPtRP = new TString("LYZEP ... ");
1665 if(mcepCommonHistRes)
1667 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyle);
1668 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColor);
1669 entryDiffMCPtRP->Append("M = ");
1670 (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
1671 entryDiffMCPtRP->Append(", N = ");
1672 (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP;
1673 legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
1677 if(plotGFC2PtRP && gfcCommonHistRes2)
1679 entryDiffGFC2PtRP->Append("M = ");
1680 (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1681 entryDiffGFC2PtRP->Append(", N = ");
1682 (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1683 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
1685 if(plotGFC4PtRP && gfcCommonHistRes4)
1687 entryDiffGFC4PtRP->Append("M = ");
1688 (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1689 entryDiffGFC4PtRP->Append(", N = ");
1690 (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1691 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
1693 if(plotGFC6PtRP && gfcCommonHistRes6)
1695 entryDiffGFC6PtRP->Append("M = ");
1696 (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1697 entryDiffGFC6PtRP->Append(", N = ");
1698 (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1699 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
1701 if(plotGFC8PtRP && gfcCommonHistRes8)
1703 entryDiffGFC8PtRP->Append("M = ");
1704 (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1705 entryDiffGFC8PtRP->Append(", N = ");
1706 (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1707 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
1711 if(plotQC2PtRP && qcCommonHistRes2)
1713 entryDiffQC2PtRP->Append("M = ");
1714 (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
1715 entryDiffQC2PtRP->Append(", N = ");
1716 (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP;
1717 legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
1719 if(plotQC4PtRP && qcCommonHistRes4)
1721 entryDiffQC4PtRP->Append("M = ");
1722 (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
1723 entryDiffQC4PtRP->Append(", N = ");
1724 (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP;
1725 legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
1727 if(plotQC6PtRP && qcCommonHistRes6)
1729 entryDiffQC6PtRP->Append("M = ");
1730 (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
1731 entryDiffQC6PtRP->Append(", N = ");
1732 (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP;
1733 legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
1735 if(plotQC8PtRP && qcCommonHistRes8)
1737 entryDiffQC8PtRP->Append("M = ");
1738 (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
1739 entryDiffQC8PtRP->Append(", N = ");
1740 (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP;
1741 legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
1745 if(plotLYZ2PtRP && lyz2CommonHistRes)
1747 entryDiffLYZ2PtRP->Append("M = ");
1748 (*entryDiffLYZ2PtRP)+=(Long_t)avMultDiffFlowLYZ2RP;
1749 entryDiffLYZ2PtRP->Append(", N = ");
1750 (*entryDiffLYZ2PtRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
1751 legendDiffFlowPtRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PtRP->Data(),"p");
1755 if(plotLYZEPPtRP && lyzepCommonHistRes)
1757 entryDiffLYZEPPtRP->Append("M = ");
1758 (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
1759 entryDiffLYZEPPtRP->Append(", N = ");
1760 (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
1761 legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
1764 //drawing finally the legend in the 2nd pad:
1765 if(legendDiffFlowPtRP)
1767 legendDiffFlowPtRP->SetMargin(0.15);
1768 legendDiffFlowPtRP->Draw();
1770 }// end of if(plotDiffFlowPtRP)
1771 //----------------------------------------------------------------------------------
1774 //----------------------------------------------------------------------------------
1775 //final drawing for differential flow (Eta, RP):
1776 //set here the results of which methods will be plotted by default:
1777 Bool_t plotMCEtaRP = kFALSE;
1778 Bool_t plotGFC2EtaRP = kTRUE;
1779 Bool_t plotGFC4EtaRP = kTRUE;
1780 Bool_t plotGFC6EtaRP = kTRUE;
1781 Bool_t plotGFC8EtaRP = kTRUE;
1782 Bool_t plotQC2EtaRP = kTRUE;
1783 Bool_t plotQC4EtaRP = kTRUE;
1784 Bool_t plotQC6EtaRP = kTRUE;
1785 Bool_t plotQC8EtaRP = kTRUE;
1786 Bool_t plotLYZ2EtaRP = kTRUE;
1787 Bool_t plotLYZEPEtaRP = kTRUE;
1788 if(plotDiffFlowEtaRP)
1790 TCanvas* diffFlowEtaAllCanvasRP = new TCanvas("Differential Flow (Eta) of RP","Differential Flow (Eta) of RP ",1000,600);
1792 diffFlowEtaAllCanvasRP->Divide(2,1);
1794 //1st pad is for plot:
1795 (diffFlowEtaAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1799 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
1800 styleHistEta->Draw();
1802 if(pMeshDiffFlowEtaRP)
1804 pMeshDiffFlowEtaRP->Draw("LFSAME");
1808 if(plotMCEtaRP && mcepCommonHistRes)
1810 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1813 if(plotGFC2EtaRP && gfcCommonHistRes2)
1815 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1817 if(plotGFC4EtaRP && gfcCommonHistRes4)
1819 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1821 if(plotGFC6EtaRP && gfcCommonHistRes6)
1823 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1825 if(plotGFC8EtaRP && gfcCommonHistRes8)
1827 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1830 if(plotQC2EtaRP && qcCommonHistRes2)
1832 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1834 if(plotQC4EtaRP && qcCommonHistRes4)
1836 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1838 if(plotQC6EtaRP && qcCommonHistRes6)
1840 //(qcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1842 if(plotQC8EtaRP && qcCommonHistRes8)
1844 //(qcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1847 if(plotLYZ2EtaRP && lyz2CommonHistRes)
1849 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1852 if(plotLYZEPEtaRP && lyzepCommonHistRes)
1854 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1857 //2nd pad is for legend:
1858 (diffFlowEtaAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1860 TLegend* legendDiffFlowEtaRP = new TLegend(0.02,0.25,0.97,0.75);
1861 legendDiffFlowEtaRP->SetTextFont(72);
1862 legendDiffFlowEtaRP->SetTextSize(0.06);
1865 TString *entryDiffMCEtaRP = new TString("MC ....... ");
1866 TString *entryDiffGFC2EtaRP = new TString("GFC{2} ... ");
1867 TString *entryDiffGFC4EtaRP = new TString("GFC{4} ... ");
1868 TString *entryDiffGFC6EtaRP = new TString("GFC{6} ... ");
1869 TString *entryDiffGFC8EtaRP = new TString("GFC{8} ... ");
1870 TString *entryDiffQC2EtaRP = new TString("QC{2} .... ");
1871 TString *entryDiffQC4EtaRP = new TString("QC{4} .... ");
1872 TString *entryDiffQC6EtaRP = new TString("QC{6} .... ");
1873 TString *entryDiffQC8EtaRP = new TString("QC{8} .... ");
1874 TString *entryDiffLYZ2EtaRP = new TString("LYZ ...... ");
1875 TString *entryDiffLYZEPEtaRP = new TString("LYZEP ... ");
1878 if(mcepCommonHistRes)
1880 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillStyle(meshStyle);
1881 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillColor(meshColor);
1882 entryDiffMCEtaRP->Append("M = ");
1883 (*entryDiffMCEtaRP)+=(Long_t)avMultDiffFlowMCRP;
1884 entryDiffMCEtaRP->Append(", N = ");
1885 (*entryDiffMCEtaRP)+=(Long_t)nEvtsDiffFlowMCRP;
1886 legendDiffFlowEtaRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffMCEtaRP->Data(),"f");
1890 if(plotGFC2EtaRP && gfcCommonHistRes2)
1892 entryDiffGFC2EtaRP->Append("M = ");
1893 (*entryDiffGFC2EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1894 entryDiffGFC2EtaRP->Append(", N = ");
1895 (*entryDiffGFC2EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1896 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffGFC2EtaRP->Data(),"p");
1898 if(plotGFC4EtaRP && gfcCommonHistRes4)
1900 entryDiffGFC4EtaRP->Append("M = ");
1901 (*entryDiffGFC4EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1902 entryDiffGFC4EtaRP->Append(", N = ");
1903 (*entryDiffGFC4EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1904 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffGFC4EtaRP->Data(),"p");
1906 if(plotGFC6EtaRP && gfcCommonHistRes6)
1908 entryDiffGFC6EtaRP->Append("M = ");
1909 (*entryDiffGFC6EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1910 entryDiffGFC6EtaRP->Append(", N = ");
1911 (*entryDiffGFC6EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1912 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffGFC6EtaRP->Data(),"p");
1914 if(plotGFC8EtaRP && gfcCommonHistRes8)
1916 entryDiffGFC8EtaRP->Append("M = ");
1917 (*entryDiffGFC8EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1918 entryDiffGFC8EtaRP->Append(", N = ");
1919 (*entryDiffGFC8EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1920 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffGFC8EtaRP->Data(),"p");
1924 if(plotQC2EtaRP && qcCommonHistRes2)
1926 entryDiffQC2EtaRP->Append("M = ");
1927 (*entryDiffQC2EtaRP)+=(Long_t)avMultDiffFlowQC2RP;
1928 entryDiffQC2EtaRP->Append(", N = ");
1929 (*entryDiffQC2EtaRP)+=(Long_t)nEvtsDiffFlowQC2RP;
1930 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffQC2EtaRP->Data(),"p");
1932 if(plotQC4EtaRP && qcCommonHistRes4)
1934 entryDiffQC4EtaRP->Append("M = ");
1935 (*entryDiffQC4EtaRP)+=(Long_t)avMultDiffFlowQC4RP;
1936 entryDiffQC4EtaRP->Append(", N = ");
1937 (*entryDiffQC4EtaRP)+=(Long_t)nEvtsDiffFlowQC4RP;
1938 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffQC4EtaRP->Data(),"p");
1940 if(plotQC6EtaRP && qcCommonHistRes6)
1942 entryDiffQC6EtaRP->Append("M = ");
1943 (*entryDiffQC6EtaRP)+=(Long_t)avMultDiffFlowQC6RP;
1944 entryDiffQC6EtaRP->Append(", N = ");
1945 (*entryDiffQC6EtaRP)+=(Long_t)nEvtsDiffFlowQC6RP;
1946 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffQC6EtaRP->Data(),"p");
1948 if(plotQC8EtaRP && qcCommonHistRes8)
1950 entryDiffQC8EtaRP->Append("M = ");
1951 (*entryDiffQC8EtaRP)+=(Long_t)avMultDiffFlowQC8RP;
1952 entryDiffQC8EtaRP->Append(", N = ");
1953 (*entryDiffQC8EtaRP)+=(Long_t)nEvtsDiffFlowQC8RP;
1954 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffQC8EtaRP->Data(),"p");
1958 if(plotLYZ2EtaRP && lyz2CommonHistRes)
1960 entryDiffLYZ2EtaRP->Append("M = ");
1961 (*entryDiffLYZ2EtaRP)+=(Long_t)avMultDiffFlowLYZ2RP;
1962 entryDiffLYZ2EtaRP->Append(", N = ");
1963 (*entryDiffLYZ2EtaRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
1964 legendDiffFlowEtaRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZ2EtaRP->Data(),"p");
1968 if(plotLYZEPEtaRP && lyzepCommonHistRes)
1970 entryDiffLYZEPEtaRP->Append("M = ");
1971 (*entryDiffLYZEPEtaRP)+=(Long_t)avMultDiffFlowLYZEPRP;
1972 entryDiffLYZEPEtaRP->Append(", N = ");
1973 (*entryDiffLYZEPEtaRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
1974 legendDiffFlowEtaRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZEPEtaRP->Data(),"p");
1977 //drawing finally the legend in the 2nd pad:
1978 if(legendDiffFlowEtaRP)
1980 legendDiffFlowEtaRP->SetMargin(0.15);
1981 legendDiffFlowEtaRP->Draw();
1983 }// end of if(plotDiffFlowEtaRP)
1984 //----------------------------------------------------------------------------------
1986 //----------------------------------------------------------------------------------
1987 //final drawing for differential flow (Pt, POI):
1988 //set here the results of which methods will be plotted by default:
1989 Bool_t plotMCPtPOI = kFALSE;
1990 Bool_t plotGFC2PtPOI = kTRUE;
1991 Bool_t plotGFC4PtPOI = kTRUE;
1992 Bool_t plotGFC6PtPOI = kTRUE;
1993 Bool_t plotGFC8PtPOI = kTRUE;
1994 Bool_t plotQC2PtPOI = kTRUE;
1995 Bool_t plotQC4PtPOI = kTRUE;
1996 Bool_t plotQC6PtPOI = kTRUE;
1997 Bool_t plotQC8PtPOI = kTRUE;
1998 Bool_t plotLYZ2PtPOI = kTRUE;
1999 Bool_t plotLYZEPPtPOI = kTRUE;
2000 if(plotDiffFlowPtPOI)
2002 TCanvas* diffFlowPtAllCanvasPOI = new TCanvas("Differential Flow (Pt) of POI","Differential Flow (Pt) of POI ",1000,600);
2004 diffFlowPtAllCanvasPOI->Divide(2,1);
2006 //1st pad is for plot:
2007 (diffFlowPtAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2011 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2012 styleHistPt->Draw();
2014 if(pMeshDiffFlowPtPOI)
2016 pMeshDiffFlowPtPOI->Draw("LFSAME");
2020 if(plotMCPtPOI && mcepCommonHistRes)
2022 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2025 if(plotGFC2PtPOI && gfcCommonHistRes2)
2027 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2029 if(plotGFC4PtPOI && gfcCommonHistRes4)
2031 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2033 if(plotGFC6PtPOI && gfcCommonHistRes6)
2035 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2037 if(plotGFC8PtPOI && gfcCommonHistRes8)
2039 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2042 if(plotQC2PtPOI && qcCommonHistRes2)
2044 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2046 if(plotQC4PtPOI && qcCommonHistRes4)
2048 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2050 if(plotQC6PtPOI && qcCommonHistRes6)
2052 //(qcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2054 if(plotQC8PtPOI && qcCommonHistRes8)
2056 //(qcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2059 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2061 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2064 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2066 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2069 //2nd pad is for legend:
2070 (diffFlowPtAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2072 TLegend* legendDiffFlowPtPOI = new TLegend(0.02,0.25,0.97,0.75);
2073 legendDiffFlowPtPOI->SetTextFont(72);
2074 legendDiffFlowPtPOI->SetTextSize(0.06);
2077 TString *entryDiffMCPtPOI = new TString("MC ....... ");
2078 TString *entryDiffGFC2PtPOI = new TString("GFC{2} ... ");
2079 TString *entryDiffGFC4PtPOI = new TString("GFC{4} ... ");
2080 TString *entryDiffGFC6PtPOI = new TString("GFC{6} ... ");
2081 TString *entryDiffGFC8PtPOI = new TString("GFC{8} ... ");
2082 TString *entryDiffQC2PtPOI = new TString("QC{2} .... ");
2083 TString *entryDiffQC4PtPOI = new TString("QC{4} .... ");
2084 TString *entryDiffQC6PtPOI = new TString("QC{6} .... ");
2085 TString *entryDiffQC8PtPOI = new TString("QC{8} .... ");
2086 TString *entryDiffLYZ2PtPOI = new TString("LYZ ...... ");
2087 TString *entryDiffLYZEPPtPOI = new TString("LYZEP ... ");
2090 if(mcepCommonHistRes)
2092 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillStyle(meshStyle);
2093 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillColor(meshColor);
2094 entryDiffMCPtPOI->Append("M = ");
2095 (*entryDiffMCPtPOI)+=(Long_t)avMultDiffFlowMCPOI;
2096 entryDiffMCPtPOI->Append(", N = ");
2097 (*entryDiffMCPtPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2098 legendDiffFlowPtPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffMCPtPOI->Data(),"f");
2102 if(plotGFC2PtPOI && gfcCommonHistRes2)
2104 entryDiffGFC2PtPOI->Append("M = ");
2105 (*entryDiffGFC2PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2106 entryDiffGFC2PtPOI->Append(", N = ");
2107 (*entryDiffGFC2PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2108 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffGFC2PtPOI->Data(),"p");
2110 if(plotGFC4PtPOI && gfcCommonHistRes4)
2112 entryDiffGFC4PtPOI->Append("M = ");
2113 (*entryDiffGFC4PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2114 entryDiffGFC4PtPOI->Append(", N = ");
2115 (*entryDiffGFC4PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2116 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffGFC4PtPOI->Data(),"p");
2118 if(plotGFC6PtPOI && gfcCommonHistRes6)
2120 entryDiffGFC6PtPOI->Append("M = ");
2121 (*entryDiffGFC6PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2122 entryDiffGFC6PtPOI->Append(", N = ");
2123 (*entryDiffGFC6PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2124 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffGFC6PtPOI->Data(),"p");
2126 if(plotGFC8PtPOI && gfcCommonHistRes8)
2128 entryDiffGFC8PtPOI->Append("M = ");
2129 (*entryDiffGFC8PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2130 entryDiffGFC8PtPOI->Append(", N = ");
2131 (*entryDiffGFC8PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2132 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffGFC8PtPOI->Data(),"p");
2136 if(plotQC2PtPOI && qcCommonHistRes2)
2138 entryDiffQC2PtPOI->Append("M = ");
2139 (*entryDiffQC2PtPOI)+=(Long_t)avMultDiffFlowQC2POI;
2140 entryDiffQC2PtPOI->Append(", N = ");
2141 (*entryDiffQC2PtPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2142 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffQC2PtPOI->Data(),"p");
2144 if(plotQC4PtPOI && qcCommonHistRes4)
2146 entryDiffQC4PtPOI->Append("M = ");
2147 (*entryDiffQC4PtPOI)+=(Long_t)avMultDiffFlowQC4POI;
2148 entryDiffQC4PtPOI->Append(", N = ");
2149 (*entryDiffQC4PtPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2150 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffQC4PtPOI->Data(),"p");
2152 if(plotQC6PtPOI && qcCommonHistRes6)
2154 entryDiffQC6PtPOI->Append("M = ");
2155 (*entryDiffQC6PtPOI)+=(Long_t)avMultDiffFlowQC6POI;
2156 entryDiffQC6PtPOI->Append(", N = ");
2157 (*entryDiffQC6PtPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2158 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffQC6PtPOI->Data(),"p");
2160 if(plotQC8PtPOI && qcCommonHistRes8)
2162 entryDiffQC8PtPOI->Append("M = ");
2163 (*entryDiffQC8PtPOI)+=(Long_t)avMultDiffFlowQC8POI;
2164 entryDiffQC8PtPOI->Append(", N = ");
2165 (*entryDiffQC8PtPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2166 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffQC8PtPOI->Data(),"p");
2170 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2172 entryDiffLYZ2PtPOI->Append("M = ");
2173 (*entryDiffLYZ2PtPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2174 entryDiffLYZ2PtPOI->Append(", N = ");
2175 (*entryDiffLYZ2PtPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2176 legendDiffFlowPtPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2PtPOI->Data(),"p");
2180 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2182 entryDiffLYZEPPtPOI->Append("M = ");
2183 (*entryDiffLYZEPPtPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2184 entryDiffLYZEPPtPOI->Append(", N = ");
2185 (*entryDiffLYZEPPtPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2186 legendDiffFlowPtPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZEPPtPOI->Data(),"p");
2189 //drawing finally the legend in the 2nd pad:
2190 if(legendDiffFlowPtPOI)
2192 legendDiffFlowPtPOI->SetMargin(0.15);
2193 legendDiffFlowPtPOI->Draw();
2195 }//end of if(plotDiffFlowPtPOI)
2196 //----------------------------------------------------------------------------------
2199 //----------------------------------------------------------------------------------
2200 //final drawing for differential flow (Eta, POI):
2201 //set here the results of which methods will be plotted by default:
2202 Bool_t plotMCEtaPOI = kFALSE;
2203 Bool_t plotGFC2EtaPOI = kTRUE;
2204 Bool_t plotGFC4EtaPOI = kTRUE;
2205 Bool_t plotGFC6EtaPOI = kTRUE;
2206 Bool_t plotGFC8EtaPOI = kTRUE;
2207 Bool_t plotQC2EtaPOI = kTRUE;
2208 Bool_t plotQC4EtaPOI = kTRUE;
2209 Bool_t plotQC6EtaPOI = kTRUE;
2210 Bool_t plotQC8EtaPOI = kTRUE;
2211 Bool_t plotLYZ2EtaPOI = kTRUE;
2212 Bool_t plotLYZEPEtaPOI = kTRUE;
2213 if(plotDiffFlowEtaPOI)
2215 TCanvas* diffFlowEtaAllCanvasPOI = new TCanvas("Differential Flow (Eta) of POI","Differential Flow (Eta) of POI ",1000,600);
2217 diffFlowEtaAllCanvasPOI->Divide(2,1);
2219 //1st pad is for plot:
2220 (diffFlowEtaAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2224 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
2225 styleHistEta->Draw();
2227 if(pMeshDiffFlowEtaPOI)
2229 pMeshDiffFlowEtaPOI->Draw("LFSAME");
2233 if(plotMCEtaPOI && mcepCommonHistRes)
2235 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2238 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2240 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2242 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2244 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2246 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2248 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2250 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2252 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2255 if(plotQC2EtaPOI && qcCommonHistRes2)
2257 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2259 if(plotQC4EtaPOI && qcCommonHistRes4)
2261 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2263 if(plotQC6EtaPOI && qcCommonHistRes6)
2265 //(qcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2267 if(plotQC8EtaPOI && qcCommonHistRes8)
2269 //(qcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2272 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2274 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2277 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2279 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2282 //2nd pad is for legend:
2283 (diffFlowEtaAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2285 TLegend* legendDiffFlowEtaPOI = new TLegend(0.02,0.25,0.97,0.75);
2286 legendDiffFlowEtaPOI->SetTextFont(72);
2287 legendDiffFlowEtaPOI->SetTextSize(0.06);
2290 TString *entryDiffMCEtaPOI = new TString("MC ....... ");
2291 TString *entryDiffGFC2EtaPOI = new TString("GFC{2} ... ");
2292 TString *entryDiffGFC4EtaPOI = new TString("GFC{4} ... ");
2293 TString *entryDiffGFC6EtaPOI = new TString("GFC{6} ... ");
2294 TString *entryDiffGFC8EtaPOI = new TString("GFC{8} ... ");
2295 TString *entryDiffQC2EtaPOI = new TString("QC{2} .... ");
2296 TString *entryDiffQC4EtaPOI = new TString("QC{4} .... ");
2297 TString *entryDiffQC6EtaPOI = new TString("QC{6} .... ");
2298 TString *entryDiffQC8EtaPOI = new TString("QC{8} .... ");
2299 TString *entryDiffLYZ2EtaPOI = new TString("LYZ ...... ");
2300 TString *entryDiffLYZEPEtaPOI = new TString("LYZEP ... ");
2303 if(mcepCommonHistRes)
2305 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillStyle(meshStyle);
2306 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillColor(meshColor);
2307 entryDiffMCEtaPOI->Append("M = ");
2308 (*entryDiffMCEtaPOI)+=(Long_t)avMultDiffFlowMCPOI;
2309 entryDiffMCEtaPOI->Append(", N = ");
2310 (*entryDiffMCEtaPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2311 legendDiffFlowEtaPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffMCEtaPOI->Data(),"f");
2315 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2317 entryDiffGFC2EtaPOI->Append("M = ");
2318 (*entryDiffGFC2EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2319 entryDiffGFC2EtaPOI->Append(", N = ");
2320 (*entryDiffGFC2EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2321 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffGFC2EtaPOI->Data(),"p");
2323 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2325 entryDiffGFC4EtaPOI->Append("M = ");
2326 (*entryDiffGFC4EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2327 entryDiffGFC4EtaPOI->Append(", N = ");
2328 (*entryDiffGFC4EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2329 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffGFC4EtaPOI->Data(),"p");
2331 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2333 entryDiffGFC6EtaPOI->Append("M = ");
2334 (*entryDiffGFC6EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2335 entryDiffGFC6EtaPOI->Append(", N = ");
2336 (*entryDiffGFC6EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2337 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffGFC6EtaPOI->Data(),"p");
2339 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2341 entryDiffGFC8EtaPOI->Append("M = ");
2342 (*entryDiffGFC8EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2343 entryDiffGFC8EtaPOI->Append(", N = ");
2344 (*entryDiffGFC8EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2345 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffGFC8EtaPOI->Data(),"p");
2349 if(plotQC2EtaPOI && qcCommonHistRes2)
2351 entryDiffQC2EtaPOI->Append("M = ");
2352 (*entryDiffQC2EtaPOI)+=(Long_t)avMultDiffFlowQC2POI;
2353 entryDiffQC2EtaPOI->Append(", N = ");
2354 (*entryDiffQC2EtaPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2355 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffQC2EtaPOI->Data(),"p");
2357 if(plotQC4EtaPOI && qcCommonHistRes4)
2359 entryDiffQC4EtaPOI->Append("M = ");
2360 (*entryDiffQC4EtaPOI)+=(Long_t)avMultDiffFlowQC4POI;
2361 entryDiffQC4EtaPOI->Append(", N = ");
2362 (*entryDiffQC4EtaPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2363 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffQC4EtaPOI->Data(),"p");
2365 if(plotQC6EtaPOI && qcCommonHistRes6)
2367 entryDiffQC6EtaPOI->Append("M = ");
2368 (*entryDiffQC6EtaPOI)+=(Long_t)avMultDiffFlowQC6POI;
2369 entryDiffQC6EtaPOI->Append(", N = ");
2370 (*entryDiffQC6EtaPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2371 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffQC6EtaPOI->Data(),"p");
2373 if(plotQC8EtaPOI && qcCommonHistRes8)
2375 entryDiffQC8EtaPOI->Append("M = ");
2376 (*entryDiffQC8EtaPOI)+=(Long_t)avMultDiffFlowQC8POI;
2377 entryDiffQC8EtaPOI->Append(", N = ");
2378 (*entryDiffQC8EtaPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2379 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffQC8EtaPOI->Data(),"p");
2383 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2385 entryDiffLYZ2EtaPOI->Append("M = ");
2386 (*entryDiffLYZ2EtaPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2387 entryDiffLYZ2EtaPOI->Append(", N = ");
2388 (*entryDiffLYZ2EtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2389 legendDiffFlowEtaPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2EtaPOI->Data(),"p");
2393 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2395 entryDiffLYZEPEtaPOI->Append("M = ");
2396 (*entryDiffLYZEPEtaPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2397 entryDiffLYZEPEtaPOI->Append(", N = ");
2398 (*entryDiffLYZEPEtaPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2399 legendDiffFlowEtaPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZEPEtaPOI->Data(),"p");
2402 //drawing finally the legend in the 2nd pad:
2403 if(legendDiffFlowEtaPOI)
2405 legendDiffFlowEtaPOI->SetMargin(0.15);
2406 legendDiffFlowEtaPOI->Draw();
2408 }//end of if(plotDiffFlowEtaPOI)
2409 //----------------------------------------------------------------------------------
2412 //=====================================================================================