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"));
182 //LYZEP = Lee-Yang Zeros Event Plane
183 TList *pListLYZEP = NULL;
184 AliFlowCommonHist *lyzepCommonHist = NULL;
185 AliFlowCommonHistResults *lyzepCommonHistRes = NULL;
187 fileLYZEP->GetObject("cobjLYZEP",pListLYZEP);
189 lyzepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZEP->FindObject("AliFlowCommonHistLYZEP"));
190 lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZEP->FindObject("AliFlowCommonHistResultsLYZEP"));
191 if(lyzepCommonHistRes) {
192 flowValue[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
193 //flowError[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinError(1);
194 flowValueRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
195 //flowErrorRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
196 flowValuePOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
197 //flowErrorPOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
202 //FQD = Fitting q-distribution
203 TList *pListFQD = NULL;
204 AliFlowCommonHist *fqdCommonHist = NULL;
205 AliFlowCommonHistResults *fqdCommonHistRes = NULL;
207 fileFQD->GetObject("cobjFQD",pListFQD);
209 fqdCommonHist = dynamic_cast<AliFlowCommonHist*> (pListFQD->FindObject("AliFlowCommonHistFQD"));
210 fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListFQD->FindObject("AliFlowCommonHistResultsFQD"));
211 if(fqdCommonHistRes) {
212 flowValue[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);
213 flowError[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);
214 flowValueRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
215 flowErrorRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
216 flowValuePOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
217 flowErrorPOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
222 //GFC = Generating Function Cumulants
223 TList *pListGFC = NULL;
224 AliFlowCommonHist *gfcCommonHist = NULL;
225 AliFlowCommonHistResults *gfcCommonHistRes2 = NULL;
226 AliFlowCommonHistResults *gfcCommonHistRes4 = NULL;
227 AliFlowCommonHistResults *gfcCommonHistRes6 = NULL;
228 AliFlowCommonHistResults *gfcCommonHistRes8 = NULL;
230 fileGFC->GetObject("cobjGFC",pListGFC);
232 gfcCommonHist = dynamic_cast<AliFlowCommonHist*> (pListGFC->FindObject("AliFlowCommonHistGFC"));
233 gfcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
234 if(gfcCommonHistRes2) {
235 flowValue[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);
236 flowError[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinError(1);
237 flowValueRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
238 flowErrorRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
239 flowValuePOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
240 flowErrorPOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
242 gfcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
243 if(gfcCommonHistRes4) {
244 flowValue[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);
245 flowError[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinError(1);
246 flowValueRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
247 flowErrorRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
248 flowValuePOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
249 flowErrorPOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
251 gfcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
252 if(gfcCommonHistRes6) {
253 flowValue[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);
254 flowError[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinError(1);
255 flowValueRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
256 flowErrorRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
257 flowValuePOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
258 flowErrorPOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
260 gfcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
261 if(gfcCommonHistRes8) {
262 flowValue[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);
263 flowError[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinError(1);
264 flowValueRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
265 flowErrorRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
266 flowValuePOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
267 flowErrorPOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
273 TList *pListQC = NULL;
274 AliFlowCommonHist *qcCommonHist2 = NULL;
275 AliFlowCommonHist *qcCommonHist4 = NULL;
276 AliFlowCommonHist *qcCommonHist6 = NULL;
277 AliFlowCommonHist *qcCommonHist8 = NULL;
278 AliFlowCommonHistResults *qcCommonHistRes2 = NULL;
279 AliFlowCommonHistResults *qcCommonHistRes4 = NULL;
280 AliFlowCommonHistResults *qcCommonHistRes6 = NULL;
281 AliFlowCommonHistResults *qcCommonHistRes8 = NULL;
284 fileQC->GetObject("cobjQC",pListQC);
286 qcCommonHist2 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist2ndOrderQC"));
287 qcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
288 if(qcCommonHistRes2) {
289 flowValue[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);
290 //flowError[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinError(1);
291 flowValueRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
292 //flowErrorRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
293 flowValuePOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
294 //flowErrorPOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
296 qcCommonHist4 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist4thOrderQC"));
297 qcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
298 if(qcCommonHistRes4) {
299 flowValue[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);
300 //flowError[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinError(1);
301 flowValueRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
302 //flowErrorRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
303 flowValuePOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
304 //flowErrorPOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
306 qcCommonHist6 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist6thOrderQC"));
307 qcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
308 if(qcCommonHistRes6) {
309 flowValue[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);
310 //flowError[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinError(1);
311 flowValueRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
312 //flowErrorRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
313 flowValuePOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
314 //flowErrorPOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
316 qcCommonHist8 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist8thOrderQC"));
317 qcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
318 if(qcCommonHistRes8) {
319 flowValue[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);
320 //flowError[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinError(1);
321 flowValueRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
322 //flowErrorRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
323 flowValuePOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
324 //flowErrorPOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
330 Double_t dMax=flowValue[0]+flowError[0];
331 Double_t dMin=flowValue[0]-flowError[0];
333 for(Int_t i=1;i<nMethods;i++) {
334 if(!(flowValue[i]==0. && flowError[i]==0.)) {
335 if(dMax<flowValue[i]+flowError[i]) dMax=flowValue[i]+flowError[i];
336 if(dMin>flowValue[i]-flowError[i]) dMin=flowValue[i]-flowError[i];
341 Double_t dMaxRP=flowValueRP[0]+flowErrorRP[0];
342 Double_t dMinRP=flowValueRP[0]-flowErrorRP[0];
344 for(Int_t i=1;i<nMethods;i++) {
345 if(!(flowValueRP[i]==0. && flowErrorRP[i]==0.)) {
346 if(dMaxRP<flowValueRP[i]+flowErrorRP[i]) dMaxRP=flowValueRP[i]+flowErrorRP[i];
347 if(dMinRP>flowValueRP[i]-flowErrorRP[i]) dMinRP=flowValueRP[i]-flowErrorRP[i];
352 Double_t dMaxPOI=flowValuePOI[0]+flowErrorPOI[0];
353 Double_t dMinPOI=flowValuePOI[0]-flowErrorPOI[0];
355 for(Int_t i=1;i<nMethods;i++) {
356 if(!(flowValuePOI[i]==0. && flowErrorPOI[i]==0.)) {
357 if(dMaxPOI<flowValuePOI[i]+flowErrorPOI[i]) dMaxPOI=flowValuePOI[i]+flowErrorPOI[i];
358 if(dMinPOI>flowValuePOI[i]-flowErrorPOI[i]) dMinPOI=flowValuePOI[i]-flowErrorPOI[i];
363 TGraph* flowResults = new TGraphErrors(nMethods, x, flowValue, xError, flowError);
364 flowResults->SetMarkerStyle(markerStyle);
365 flowResults->SetMarkerColor(markerColor);
368 TGraph* flowResultsRP = new TGraphErrors(nMethods, x, flowValueRP, xError, flowErrorRP);
369 flowResultsRP->SetMarkerStyle(markerStyle);
370 flowResultsRP->SetMarkerColor(markerColor);
373 TGraph* flowResultsPOI = new TGraphErrors(nMethods, x, flowValuePOI, xError, flowErrorPOI);
374 flowResultsPOI->SetMarkerStyle(markerStyle);
375 flowResultsPOI->SetMarkerColor(markerColor);
377 //-----------------------------------------------------------------------------------
379 //----------------------------------------------------------------------------------
380 //cosmetics: mesh for MC error bands (integrated flow)
381 TGraph* pMesh = NULL;
382 TGraph* pMeshRP = NULL;
383 TGraph* pMeshPOI = NULL;
385 if(intFlowAll && mcepCommonHistRes) {
386 Int_t nPts = nMethods;
387 Double_t valueMC = flowValue[0];
388 Double_t errorMC = flowError[0];
389 Double_t valueMCRP = flowValueRP[0];
390 Double_t errorMCRP = flowErrorRP[0];
391 Double_t valueMCPOI = flowValuePOI[0];
392 Double_t errorMCPOI = flowErrorPOI[0];
394 pMesh = new TGraph(nPts);
395 pMeshRP = new TGraph(nPts);
396 pMeshPOI = new TGraph(nPts);
399 pMesh->SetPoint(1,0,valueMC+errorMC);
400 pMesh->SetPoint(2,nPts+1,valueMC+errorMC);
401 pMesh->SetPoint(3,nPts+1,valueMC-errorMC);
402 pMesh->SetPoint(4,0,valueMC-errorMC);
403 pMesh->SetPoint(5,0,valueMC+errorMC);
404 pMesh->SetFillStyle(meshStyle);
405 pMesh->SetFillColor(meshColor);
408 pMeshRP->SetPoint(1,0,valueMCRP+errorMCRP);
409 pMeshRP->SetPoint(2,nPts+1,valueMCRP+errorMCRP);
410 pMeshRP->SetPoint(3,nPts+1,valueMCRP-errorMCRP);
411 pMeshRP->SetPoint(4,0,valueMCRP-errorMCRP);
412 pMeshRP->SetPoint(5,0,valueMCRP+errorMCRP);
413 pMeshRP->SetFillStyle(meshStyle);
414 pMeshRP->SetFillColor(meshColor);
417 pMeshPOI->SetPoint(1,0,valueMCPOI+errorMCPOI);
418 pMeshPOI->SetPoint(2,nPts+1,valueMCPOI+errorMCPOI);
419 pMeshPOI->SetPoint(3,nPts+1,valueMCPOI-errorMCPOI);
420 pMeshPOI->SetPoint(4,0,valueMCPOI-errorMCPOI);
421 pMeshPOI->SetPoint(5,0,valueMCPOI+errorMCPOI);
422 pMeshPOI->SetFillStyle(meshStyle);
423 pMeshPOI->SetFillColor(meshColor);
425 //----------------------------------------------------------------------------------
428 //----------------------------------------------------------------------------------
429 //cosmetics: text (integrated flow)
431 TPaveText *textDefault = new TPaveText(0.05,0.77,0.95,0.90,"NDC");
432 textDefault->SetTextFont(72);
433 textDefault->SetTextSize(0.08);
435 TString *entryDefaultAvM = new TString("Average Multiplicity");
436 TString *entryDefaultAnd = new TString("and");
437 TString *entryDefaultNumOfEvts = new TString("Number of Events:");
439 textDefault->AddText(entryDefaultAvM->Data());
440 textDefault->AddText(entryDefaultAnd->Data());
441 textDefault->AddText(entryDefaultNumOfEvts->Data());
444 TPaveText *textResults = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
445 textResults->SetTextFont(72);
446 textResults->SetTextSize(0.06);
449 TPaveText *textResultsRP = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
450 textResultsRP->SetTextFont(72);
451 textResultsRP->SetTextSize(0.06);
454 TPaveText *textResultsPOI = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
455 textResultsPOI->SetTextFont(72);
456 textResultsPOI->SetTextSize(0.06);
459 TString *entryMC = new TString("MC ...... ");
460 TString *entryGFC = new TString("GFC ..... ");
461 TString *entryQC2 = new TString("QC{2} ... ");
462 TString *entryQC4 = new TString("QC{4} ... ");
463 TString *entryQC6 = new TString("QC{6} ... ");
464 TString *entryQC8 = new TString("QC{8} ... ");
465 TString *entryFQD = new TString("FQD ..... ");
466 TString *entryLYZ1 = new TString("LYZ ..... ");
467 TString *entryLYZEP = new TString("LYZEP ... ");
470 TString *entryMCRP = new TString("MC ...... ");
471 TString *entryGFCRP = new TString("GFC ..... ");
472 TString *entryQC2RP = new TString("QC{2} ... ");
473 TString *entryQC4RP = new TString("QC{4} ... ");
474 TString *entryQC6RP = new TString("QC{6} ... ");
475 TString *entryQC8RP = new TString("QC{8} ... ");
476 TString *entryFQDRP = new TString("FQD ..... ");
477 TString *entryLYZ1RP = new TString("LYZ ..... ");
478 TString *entryLYZEPRP = new TString("LYZEP ... ");
481 TString *entryMCPOI = new TString("MC ...... ");
482 TString *entryGFCPOI = new TString("GFC ..... ");
483 TString *entryQC2POI = new TString("QC{2} ... ");
484 TString *entryQC4POI = new TString("QC{4} ... ");
485 TString *entryQC6POI = new TString("QC{6} ... ");
486 TString *entryQC8POI = new TString("QC{8} ... ");
487 TString *entryFQDPOI = new TString("FQD ..... ");
488 TString *entryLYZ1POI = new TString("LYZ ..... ");
489 TString *entryLYZEPPOI = new TString("LYZEP ... ");
492 Double_t avMultMC=0.;
494 Double_t avMultGFC=0.;
496 Double_t avMultQC2=0., avMultQC4=0., avMultQC6=0., avMultQC8=0.;
497 Long_t nEvtsQC2=0, nEvtsQC4=0, nEvtsQC6=0, nEvtsQC8=0;
498 Double_t avMultFQD=0.;
500 Double_t avMultLYZ1=0.;
502 Double_t avMultLYZEP=0.;
506 Double_t avMultMCRP=0.;
508 Double_t avMultGFCRP=0.;
510 Double_t avMultQC2RP=0., avMultQC4RP=0., avMultQC6RP=0., avMultQC8RP=0.;
511 Long_t nEvtsQC2RP=0, nEvtsQC4RP=0, nEvtsQC6RP=0, nEvtsQC8RP=0;
512 Double_t avMultFQDRP=0.;
514 Double_t avMultLYZ1RP=0.;
515 Long_t nEvtsLYZ1RP=0;
516 Double_t avMultLYZEPRP=0.;
517 Long_t nEvtsLYZEPRP=0;
520 Double_t avMultMCPOI=0.;
522 Double_t avMultGFCPOI=0.;
523 Long_t nEvtsGFCPOI=0;
524 Double_t avMultQC2POI=0., avMultQC4POI=0., avMultQC6POI=0., avMultQC8POI=0.;
525 Long_t nEvtsQC2POI=0, nEvtsQC4POI=0, nEvtsQC6POI=0, nEvtsQC8POI=0;
526 Double_t avMultFQDPOI=0.;
527 Long_t nEvtsFQDPOI=0;
528 Double_t avMultLYZ1POI=0.;
529 Long_t nEvtsLYZ1POI=0;
530 Double_t avMultLYZEPPOI=0.;
531 Long_t nEvtsLYZEPPOI=0;
535 avMultMC = (mcepCommonHist->GetHistMultInt())->GetMean();
536 nEvtsMC = (mcepCommonHist->GetHistMultInt())->GetEntries();
537 avMultMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
538 nEvtsMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
539 avMultMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
540 nEvtsMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
544 entryMC->Append("M = ");
545 (*entryMC)+=(Long_t)avMultMC;
546 entryMC->Append(", N = ");
547 (*entryMC)+=(Long_t)nEvtsMC;
551 entryMCRP->Append("M = ");
552 (*entryMCRP)+=(Long_t)avMultMCRP;
553 entryMCRP->Append(", N = ");
554 (*entryMCRP)+=(Long_t)nEvtsMCRP;
558 entryMCPOI->Append("M = ");
559 (*entryMCPOI)+=(Long_t)avMultMCPOI;
560 entryMCPOI->Append(", N = ");
561 (*entryMCPOI)+=(Long_t)nEvtsMCPOI;
566 avMultGFC = (gfcCommonHist->GetHistMultInt())->GetMean();
567 nEvtsGFC = (gfcCommonHist->GetHistMultInt())->GetEntries();
568 avMultGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
569 nEvtsGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
570 avMultGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
571 nEvtsGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
575 entryGFC->Append("M = ");
576 (*entryGFC)+=(Long_t)avMultGFC;
577 entryGFC->Append(", N = ");
578 (*entryGFC)+=(Long_t)nEvtsGFC;
582 entryGFCRP->Append("M = ");
583 (*entryGFCRP)+=(Long_t)avMultGFCRP;
584 entryGFCRP->Append(", N = ");
585 (*entryGFCRP)+=(Long_t)nEvtsGFCRP;
588 entryGFCPOI->Append("M = ");
589 (*entryGFCPOI)+=(Long_t)avMultGFCPOI;
590 entryGFCPOI->Append(", N = ");
591 (*entryGFCPOI)+=(Long_t)nEvtsGFCPOI;
596 avMultQC2 = (qcCommonHist2->GetHistMultInt())->GetMean();
597 nEvtsQC2 = (qcCommonHist2->GetHistMultInt())->GetEntries();
598 avMultQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
599 nEvtsQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
600 avMultQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
601 nEvtsQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
606 entryQC2->Append("M = ");
607 (*entryQC2)+=(Long_t)avMultQC2;
608 entryQC2->Append(", N = ");
609 (*entryQC2)+=(Long_t)nEvtsQC2;
614 entryQC2RP->Append("M = ");
615 (*entryQC2RP)+=(Long_t)avMultQC2RP;
616 entryQC2RP->Append(", N = ");
617 (*entryQC2RP)+=(Long_t)nEvtsQC2RP;
622 entryQC2POI->Append("M = ");
623 (*entryQC2POI)+=(Long_t)avMultQC2POI;
624 entryQC2POI->Append(", N = ");
625 (*entryQC2POI)+=(Long_t)nEvtsQC2POI;
630 avMultQC4 = (qcCommonHist4->GetHistMultInt())->GetMean();
631 nEvtsQC4 = (qcCommonHist4->GetHistMultInt())->GetEntries();
632 avMultQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
633 nEvtsQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
634 avMultQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
635 nEvtsQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
640 entryQC4->Append("M = ");
641 (*entryQC4)+=(Long_t)avMultQC4;
642 entryQC4->Append(", N = ");
643 (*entryQC4)+=(Long_t)nEvtsQC4;
648 entryQC4RP->Append("M = ");
649 (*entryQC4RP)+=(Long_t)avMultQC4RP;
650 entryQC4RP->Append(", N = ");
651 (*entryQC4RP)+=(Long_t)nEvtsQC4RP;
656 entryQC4POI->Append("M = ");
657 (*entryQC4POI)+=(Long_t)avMultQC4POI;
658 entryQC4POI->Append(", N = ");
659 (*entryQC4POI)+=(Long_t)nEvtsQC4POI;
664 avMultQC6 = (qcCommonHist6->GetHistMultInt())->GetMean();
665 nEvtsQC6 = (qcCommonHist6->GetHistMultInt())->GetEntries();
666 avMultQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
667 nEvtsQC6RP = (qcCommonHist6->GetHistMultInt())->GetEntries();
668 avMultQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
669 nEvtsQC6POI = (qcCommonHist6->GetHistMultDiff())->GetEntries();
674 entryQC6->Append("M = ");
675 (*entryQC6)+=(Long_t)avMultQC6;
676 entryQC6->Append(", N = ");
677 (*entryQC6)+=(Long_t)nEvtsQC6;
682 entryQC6RP->Append("M = ");
683 (*entryQC6RP)+=(Long_t)avMultQC6RP;
684 entryQC6RP->Append(", N = ");
685 (*entryQC6RP)+=(Long_t)nEvtsQC6RP;
690 entryQC6POI->Append("M = ");
691 (*entryQC6POI)+=(Long_t)avMultQC6POI;
692 entryQC6POI->Append(", N = ");
693 (*entryQC6POI)+=(Long_t)nEvtsQC6POI;
698 avMultQC8 = (qcCommonHist8->GetHistMultInt())->GetMean();
699 nEvtsQC8 = (qcCommonHist8->GetHistMultInt())->GetEntries();
700 avMultQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
701 nEvtsQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
702 avMultQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
703 nEvtsQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
708 entryQC8->Append("M = ");
709 (*entryQC8)+=(Long_t)avMultQC8;
710 entryQC8->Append(", N = ");
711 (*entryQC8)+=(Long_t)nEvtsQC8;
716 entryQC8RP->Append("M = ");
717 (*entryQC8RP)+=(Long_t)avMultQC8RP;
718 entryQC8RP->Append(", N = ");
719 (*entryQC8RP)+=(Long_t)nEvtsQC8RP;
724 entryQC8POI->Append("M = ");
725 (*entryQC8POI)+=(Long_t)avMultQC8POI;
726 entryQC8POI->Append(", N = ");
727 (*entryQC8POI)+=(Long_t)nEvtsQC8POI;
733 avMultFQD = (fqdCommonHist->GetHistMultInt())->GetMean();
734 nEvtsFQD = (fqdCommonHist->GetHistMultInt())->GetEntries();
735 avMultFQDRP = (fqdCommonHist->GetHistMultInt())->GetMean();
736 nEvtsFQDRP = (fqdCommonHist->GetHistMultInt())->GetEntries();
737 avMultFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetMean();
738 nEvtsFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetEntries();
743 entryFQD->Append("M = ");
744 (*entryFQD)+=(Long_t)avMultFQD;
745 entryFQD->Append(", N = ");
746 (*entryFQD)+=(Long_t)nEvtsFQD;
751 entryFQDRP->Append("M = ");
752 (*entryFQDRP)+=(Long_t)avMultFQDRP;
753 entryFQDRP->Append(", N = ");
754 (*entryFQDRP)+=(Long_t)nEvtsFQDRP;
759 entryFQDPOI->Append("M = ");
760 (*entryFQDPOI)+=(Long_t)avMultFQDPOI;
761 entryFQDPOI->Append(", N = ");
762 (*entryFQDPOI)+=(Long_t)nEvtsFQDPOI;
768 avMultLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetMean();
769 nEvtsLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetEntries();
770 avMultLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetMean();
771 nEvtsLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetEntries();
772 avMultLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetMean();
773 nEvtsLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetEntries();
778 entryLYZ1->Append("M = ");
779 (*entryLYZ1)+=(Long_t)avMultLYZ1;
780 entryLYZ1->Append(", N = ");
781 (*entryLYZ1)+=(Long_t)nEvtsLYZ1;
786 entryLYZ1RP->Append("M = ");
787 (*entryLYZ1RP)+=(Long_t)avMultLYZ1RP;
788 entryLYZ1RP->Append(", N = ");
789 (*entryLYZ1RP)+=(Long_t)nEvtsLYZ1RP;
794 entryLYZ1POI->Append("M = ");
795 (*entryLYZ1POI)+=(Long_t)avMultLYZ1POI;
796 entryLYZ1POI->Append(", N = ");
797 (*entryLYZ1POI)+=(Long_t)nEvtsLYZ1POI;
803 avMultLYZEP = (lyzepCommonHist->GetHistMultInt())->GetMean();
804 nEvtsLYZEP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
805 avMultLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
806 nEvtsLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
807 avMultLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
808 nEvtsLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
813 entryLYZEP->Append("M = ");
814 (*entryLYZEP)+=(Long_t)avMultLYZEP;
815 entryLYZEP->Append(", N = ");
816 (*entryLYZEP)+=(Long_t)nEvtsLYZEP;
821 entryLYZEPRP->Append("M = ");
822 (*entryLYZEPRP)+=(Long_t)avMultLYZEPRP;
823 entryLYZEPRP->Append(", N = ");
824 (*entryLYZEPRP)+=(Long_t)nEvtsLYZEPRP;
829 entryLYZEPPOI->Append("M = ");
830 (*entryLYZEPPOI)+=(Long_t)avMultLYZEPPOI;
831 entryLYZEPPOI->Append(", N = ");
832 (*entryLYZEPPOI)+=(Long_t)nEvtsLYZEPPOI;
838 textResults->AddText(entryMC->Data());
839 textResults->AddText(entryGFC->Data());
840 textResults->AddText(entryQC2->Data());
841 textResults->AddText(entryQC4->Data());
842 textResults->AddText(entryQC6->Data());
843 textResults->AddText(entryQC8->Data());
844 textResults->AddText(entryFQD->Data());
845 textResults->AddText(entryLYZ1->Data());
846 textResults->AddText(entryLYZEP->Data());
852 textResultsRP->AddText(entryMCRP->Data());
853 textResultsRP->AddText(entryGFCRP->Data());
854 textResultsRP->AddText(entryQC2RP->Data());
855 textResultsRP->AddText(entryQC4RP->Data());
856 textResultsRP->AddText(entryQC6RP->Data());
857 textResultsRP->AddText(entryQC8RP->Data());
858 textResultsRP->AddText(entryFQDRP->Data());
859 textResultsRP->AddText(entryLYZ1RP->Data());
860 textResultsRP->AddText(entryLYZEPRP->Data());
865 textResultsPOI->AddText(entryMCPOI->Data());
866 textResultsPOI->AddText(entryGFCPOI->Data());
867 textResultsPOI->AddText(entryQC2POI->Data());
868 textResultsPOI->AddText(entryQC4POI->Data());
869 textResultsPOI->AddText(entryQC6POI->Data());
870 textResultsPOI->AddText(entryQC8POI->Data());
871 textResultsPOI->AddText(entryFQDPOI->Data());
872 textResultsPOI->AddText(entryLYZ1POI->Data());
873 textResultsPOI->AddText(entryLYZEPPOI->Data());
875 //----------------------------------------------------------------------------------
880 //----------------------------------------------------------------------------------
881 //final drawing for integrated flow (no-name):
882 TCanvas* intFlowAllCanvas = new TCanvas("Integrated Flow","Integrated Flow",1000,600);
884 intFlowAllCanvas->Divide(2,1);
886 //1st pad is for plot:
887 (intFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
891 if(dMin>0. && dMax>0.)
893 (intFlowAll->GetYaxis())->SetRangeUser(0.9744*dMin,1.0144*dMax);
894 } else if(dMin<0. && dMax>0.)
896 if(!(-1.*dMin<4.*dMax))
898 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,1.0144*dMax);
899 } else {(intFlowAll->GetYaxis())->SetRangeUser(1.1266*dMin,1.0144*dMax);}
900 } else if(dMin<0. && dMax<0.)
902 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,0.9866*dMax);
904 intFlowAll->Draw("E1");
907 if(pMesh) pMesh->Draw("LFSAME");
909 if(flowResults) flowResults->Draw("PSAME");
911 //2nd pad is for legend:
912 (intFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
919 //----------------------------------------------------------------------------------
924 //----------------------------------------------------------------------------------
925 //final drawing for integrated flow of RP (i.e. of particles used to determine the reaction plane):
928 TCanvas* intFlowAllCanvasRP = new TCanvas("Integrated Flow RP","Integrated Flow RP",1000,600);
930 intFlowAllCanvasRP->Divide(2,1);
932 //1st pad is for plot:
933 (intFlowAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
935 TH1D *intFlowAllRP = new TH1D(*intFlowAll);
939 if(dMinRP>0. && dMaxRP>0.)
941 (intFlowAllRP->GetYaxis())->SetRangeUser(0.9744*dMinRP,1.0144*dMaxRP);
942 } else if(dMinRP<0. && dMaxRP>0.)
944 if(!(-1.*dMinRP<4.*dMaxRP))
946 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,1.0144*dMaxRP);
947 } else {(intFlowAllRP->GetYaxis())->SetRangeUser(1.1266*dMinRP,1.0144*dMaxRP);}
948 } else if(dMinRP<0. && dMaxRP<0.)
950 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,0.9866*dMaxRP);
952 intFlowAllRP->Draw("E1");
955 if(pMeshRP) pMeshRP->Draw("LFSAME");
957 if(flowResultsRP) flowResultsRP->Draw("PSAME");
959 //2nd pad is for legend:
960 (intFlowAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
962 if(textDefault) textDefault->Draw();
964 if(textResultsRP) textResultsRP->Draw();
965 }//end of if(plotIntFlowRP}
966 //----------------------------------------------------------------------------------
971 //----------------------------------------------------------------------------------
972 //final drawing for integrated flow of POI (i.e. of particles of interest):
975 TCanvas* intFlowAllCanvasPOI = new TCanvas("Integrated Flow POI","Integrated Flow POI",1000,600);
977 intFlowAllCanvasPOI->Divide(2,1);
979 //1st pad is for plot:
980 (intFlowAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
982 TH1D *intFlowAllPOI = new TH1D(*intFlowAll);
986 if(dMinPOI>0. && dMaxPOI>0.)
988 (intFlowAllPOI->GetYaxis())->SetRangeUser(0.9744*dMinPOI,1.0144*dMaxPOI);
989 } else if(dMinPOI<0. && dMaxPOI>0.)
991 if(!(-1.*dMinPOI<4.*dMaxPOI))
993 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,1.0144*dMaxPOI);
994 } else {(intFlowAllPOI->GetYaxis())->SetRangeUser(1.1266*dMinPOI,1.0144*dMaxPOI);}
995 } else if(dMinPOI<0. && dMaxPOI<0.)
997 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,0.9866*dMaxPOI);
999 intFlowAllPOI->Draw("E1");
1002 if(pMeshPOI) pMeshPOI->Draw("LFSAME");
1004 if(flowResultsPOI) flowResultsPOI->Draw("PSAME");
1006 //2nd pad is for legend:
1007 (intFlowAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1009 if(textDefault) textDefault->Draw();
1011 if(textResultsPOI) textResultsPOI->Draw();
1012 }// end of if(plotIntFlowPOI)
1013 //----------------------------------------------------------------------------------
1015 //==================================================================================
1020 //==================================================================================
1021 // DIFFERENTIAL FLOW
1022 //==================================================================================
1023 Int_t iNbinsPt = AliFlowCommonConstants::GetNbinsPt();
1024 Double_t dPtMin = AliFlowCommonConstants::GetPtMin();
1025 Double_t dPtMax = AliFlowCommonConstants::GetPtMax();
1027 Int_t iNbinsEta = AliFlowCommonConstants::GetNbinsEta();
1028 Double_t dEtaMin = AliFlowCommonConstants::GetEtaMin();
1029 Double_t dEtaMax = AliFlowCommonConstants::GetEtaMax();
1031 //----------------------------------------------------------------------------------
1032 //cosmetics: the style histogram for differential flow (pt):
1033 TH1D *styleHistPt = new TH1D("styleHistPt","styleHistPt",iNbinsPt,dPtMin,dPtMax);
1034 styleHistPt->SetTitle("Differential Flow");
1035 styleHistPt->SetXTitle("p_{t} [GeV]");
1036 styleHistPt->SetYTitle("v_{n}");
1038 //cosmetics: the style histogram for differential flow (eta):
1039 TH1D *styleHistEta = new TH1D("styleHistEta","styleHistEta",iNbinsEta,dEtaMin,dEtaMax);
1040 styleHistEta->SetTitle("Differential Flow");
1041 styleHistEta->SetXTitle("#eta");
1042 styleHistEta->SetYTitle("v_{n}");
1044 //cosmetics: marker style and color for each method:
1046 Int_t markerStyleMC = 20;//full circle
1047 Int_t markerColorMC = kRed;
1049 Int_t markerStyleGFC2 = 21;//full square
1050 Int_t markerColorGFC2 = kAzure-7;
1052 Int_t markerStyleGFC4 = 20;//full circle
1053 Int_t markerColorGFC4 = kAzure+3;
1055 Int_t markerStyleGFC6 = 25;//open circle
1056 Int_t markerColorGFC6 = kAzure-7;
1058 Int_t markerStyleGFC8 = 24;//open square
1059 Int_t markerColorGFC8 = kAzure+3;
1061 Int_t markerStyleQC2 = 21;//full square
1062 Int_t markerColorQC2 = kOrange-7;
1064 Int_t markerStyleQC4 = 20;//full circle
1065 Int_t markerColorQC4 = kOrange+3;
1067 Int_t markerStyleQC6 = 25;//open circle
1068 Int_t markerColorQC6 = kOrange-7;
1070 Int_t markerStyleQC8 = 24;//open square
1071 Int_t markerColorQC8 = kOrange+3;
1073 Int_t markerStyleLYZ2 = 22;//full triangle
1074 Int_t markerColorLYZ2 = kYellow+3;
1076 Int_t markerStyleLYZEP = 26;//open triangle
1077 Int_t markerColorLYZEP = kYellow+3;
1078 //----------------------------------------------------------------------------------
1082 //----------------------------------------------------------------------------------
1084 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1085 TGraph* pMeshDiffFlowPtRP = NULL;
1086 if(mcepCommonHistRes)
1088 Int_t nBinsDiffFlowPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetNbinsX();
1089 Double_t binWidthPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinWidth(1);//assuming that all bins have the same width
1091 //counting the non-empty bins:
1092 Int_t nNonEmptyBinsDiffFlowPtRP=0;
1093 for(Int_t i=1;i<nBinsDiffFlowPtRP+1;i++)
1095 if(!(mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i)==0.0))
1097 nNonEmptyBinsDiffFlowPtRP++;
1101 pMeshDiffFlowPtRP = new TGraph(2*nNonEmptyBinsDiffFlowPtRP+1);
1103 Double_t valueMCPtRP=0.,errorMCPtRP=0.;
1104 Int_t countDiffFlowPtRP=1;
1105 Double_t xFirstDiffFlowPtRP=0.,yUpFirstDiffFlowPtRP=0.;//needed to close up the mesh
1106 for(Int_t i=1;i<nBinsDiffFlowPtRP+1;i++)
1108 //setting up the upper limit of the mesh:
1109 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(i);
1110 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i);
1111 if(!(errorMCPtRP==0.0))
1113 pMeshDiffFlowPtRP->SetPoint(countDiffFlowPtRP++,(i-0.5)*binWidthPtRP+dPtMin,valueMCPtRP+errorMCPtRP);
1114 if(xFirstDiffFlowPtRP==0.)
1116 xFirstDiffFlowPtRP=(i-0.5)*binWidthPtRP+dPtMin;
1117 yUpFirstDiffFlowPtRP=valueMCPtRP+errorMCPtRP;
1121 for(Int_t i=nBinsDiffFlowPtRP+1;i<2*nBinsDiffFlowPtRP+1;i++)
1123 //setting up the lower limit of the mesh:
1124 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(2*nBinsDiffFlowPtRP+1-i);
1125 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(2*nBinsDiffFlowPtRP+1-i);
1126 if(!(errorMCPtRP==0.0))
1128 pMeshDiffFlowPtRP->SetPoint(countDiffFlowPtRP++,(2*nBinsDiffFlowPtRP-i+0.5)*binWidthPtRP+dPtMin,valueMCPtRP-errorMCPtRP);
1131 //closing the mesh area:
1132 pMeshDiffFlowPtRP->SetPoint(2*nNonEmptyBinsDiffFlowPtRP+1,xFirstDiffFlowPtRP,yUpFirstDiffFlowPtRP);
1134 //setting the mesh style and color:
1135 pMeshDiffFlowPtRP->SetFillStyle(meshStyle);
1136 pMeshDiffFlowPtRP->SetFillColor(meshColor);
1139 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1140 TGraph* pMeshDiffFlowEtaRP = NULL;
1141 if(mcepCommonHistRes)
1143 Int_t nBinsDiffFlowEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetNbinsX();
1144 Double_t binWidthEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinWidth(1);//assuming that all bins have the same width
1146 //counting the non-empty bins:
1147 Int_t nNonEmptyBinsDiffFlowEtaRP=0;
1148 for(Int_t i=1;i<nBinsDiffFlowEtaRP+1;i++)
1150 if(!(mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i)==0.0))
1152 nNonEmptyBinsDiffFlowEtaRP++;
1156 pMeshDiffFlowEtaRP = new TGraph(2*nNonEmptyBinsDiffFlowEtaRP+1);
1158 Double_t valueMCEtaRP=0.,errorMCEtaRP=0.;
1159 Int_t countDiffFlowEtaRP=1;
1160 Double_t xFirstDiffFlowEtaRP=0.,yUpFirstDiffFlowEtaRP=0.;//needed to close up the mesh
1161 for(Int_t i=1;i<nBinsDiffFlowEtaRP+1;i++)
1163 //setting up the upper limit of the mesh:
1164 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(i);
1165 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i);
1166 if(!(errorMCEtaRP==0.0))
1168 pMeshDiffFlowEtaRP->SetPoint(countDiffFlowEtaRP++,(i-0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1169 if(xFirstDiffFlowEtaRP==0.)
1171 xFirstDiffFlowEtaRP=(i-0.5)*binWidthEtaRP+dEtaMin;
1172 yUpFirstDiffFlowEtaRP=valueMCEtaRP+errorMCEtaRP;
1176 for(Int_t i=nBinsDiffFlowEtaRP+1;i<2*nBinsDiffFlowEtaRP+1;i++)
1178 //setting up the lower limit of the mesh:
1179 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(2*nBinsDiffFlowEtaRP+1-i);
1180 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(2*nBinsDiffFlowEtaRP+1-i);
1181 if(!(errorMCEtaRP==0.0))
1183 pMeshDiffFlowEtaRP->SetPoint(countDiffFlowEtaRP++,(2*nBinsDiffFlowEtaRP-i+0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP-errorMCEtaRP);
1186 //closing the mesh area:
1187 pMeshDiffFlowEtaRP->SetPoint(2*nNonEmptyBinsDiffFlowEtaRP+1,xFirstDiffFlowEtaRP,yUpFirstDiffFlowEtaRP);
1189 //setting the mesh style and color:
1190 pMeshDiffFlowEtaRP->SetFillStyle(meshStyle);
1191 pMeshDiffFlowEtaRP->SetFillColor(meshColor);
1193 //----------------------------------------------------------------------------------
1198 //----------------------------------------------------------------------------------
1200 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1201 TGraph* pMeshDiffFlowPtPOI = NULL;
1202 if(mcepCommonHistRes)
1204 Int_t nBinsDiffFlowPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetNbinsX();
1205 Double_t binWidthPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinWidth(1);//assuming that all bins have the same width
1207 //counting the non-empty bins:
1208 Int_t nNonEmptyBinsDiffFlowPtPOI=0;
1209 for(Int_t i=1;i<nBinsDiffFlowPtPOI+1;i++)
1211 if(!(mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i)==0.0))
1213 nNonEmptyBinsDiffFlowPtPOI++;
1217 pMeshDiffFlowPtPOI = new TGraph(2*nNonEmptyBinsDiffFlowPtPOI+1);
1219 Double_t valueMCPtPOI=0.,errorMCPtPOI=0.;
1220 Int_t countDiffFlowPtPOI=1;
1221 Double_t xFirstDiffFlowPtPOI=0.,yUpFirstDiffFlowPtPOI=0.;//needed to close up the mesh
1222 for(Int_t i=1;i<nBinsDiffFlowPtPOI+1;i++)
1224 //setting up the upper limit of the mesh:
1225 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(i);
1226 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i);
1227 if(!(errorMCPtPOI==0.0))
1229 pMeshDiffFlowPtPOI->SetPoint(countDiffFlowPtPOI++,(i-0.5)*binWidthPtPOI+dPtMin,valueMCPtPOI+errorMCPtPOI);
1230 if(xFirstDiffFlowPtPOI==0.)
1232 xFirstDiffFlowPtPOI=(i-0.5)*binWidthPtPOI+dPtMin;
1233 yUpFirstDiffFlowPtPOI=valueMCPtPOI+errorMCPtPOI;
1237 for(Int_t i=nBinsDiffFlowPtPOI+1;i<2*nBinsDiffFlowPtPOI+1;i++)
1239 //setting up the lower limit of the mesh:
1240 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(2*nBinsDiffFlowPtPOI+1-i);
1241 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(2*nBinsDiffFlowPtPOI+1-i);
1242 if(!(errorMCPtPOI==0.0))
1244 pMeshDiffFlowPtPOI->SetPoint(countDiffFlowPtPOI++,(2*nBinsDiffFlowPtPOI-i+0.5)*binWidthPtPOI+dPtMin,valueMCPtPOI-errorMCPtPOI);
1247 //closing the mesh area:
1248 pMeshDiffFlowPtPOI->SetPoint(2*nNonEmptyBinsDiffFlowPtPOI+1,xFirstDiffFlowPtPOI,yUpFirstDiffFlowPtPOI);
1250 //setting the mesh style and color:
1251 pMeshDiffFlowPtPOI->SetFillStyle(meshStyle);
1252 pMeshDiffFlowPtPOI->SetFillColor(meshColor);
1255 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1256 TGraph* pMeshDiffFlowEtaPOI = NULL;
1257 if(mcepCommonHistRes)
1259 Int_t nBinsDiffFlowEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetNbinsX();
1260 Double_t binWidthEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinWidth(1);//assuming that all bins have the same width
1262 //counting the non-empty bins:
1263 Int_t nNonEmptyBinsDiffFlowEtaPOI=0;
1264 for(Int_t i=1;i<nBinsDiffFlowEtaPOI+1;i++)
1266 if(!(mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i)==0.0))
1268 nNonEmptyBinsDiffFlowEtaPOI++;
1272 pMeshDiffFlowEtaPOI = new TGraph(2*nNonEmptyBinsDiffFlowEtaPOI+1);
1274 Double_t valueMCEtaPOI=0.,errorMCEtaPOI=0.;
1275 Int_t countDiffFlowEtaPOI=1;
1276 Double_t xFirstDiffFlowEtaPOI=0.,yUpFirstDiffFlowEtaPOI=0.;//needed to close up the mesh
1277 for(Int_t i=1;i<nBinsDiffFlowEtaPOI+1;i++)
1279 //setting up the upper limit of the mesh:
1280 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(i);
1281 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i);
1282 if(!(errorMCEtaPOI==0.0))
1284 pMeshDiffFlowEtaPOI->SetPoint(countDiffFlowEtaPOI++,(i-0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1285 if(xFirstDiffFlowEtaPOI==0.)
1287 xFirstDiffFlowEtaPOI=(i-0.5)*binWidthEtaPOI+dEtaMin;
1288 yUpFirstDiffFlowEtaPOI=valueMCEtaPOI+errorMCEtaPOI;
1292 for(Int_t i=nBinsDiffFlowEtaPOI+1;i<2*nBinsDiffFlowEtaPOI+1;i++)
1294 //setting up the lower limit of the mesh:
1295 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(2*nBinsDiffFlowEtaPOI+1-i);
1296 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(2*nBinsDiffFlowEtaPOI+1-i);
1297 if(!(errorMCEtaPOI==0.0))
1299 pMeshDiffFlowEtaPOI->SetPoint(countDiffFlowEtaPOI++,(2*nBinsDiffFlowEtaPOI-i+0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI-errorMCEtaPOI);
1302 //closing the mesh area:
1303 pMeshDiffFlowEtaPOI->SetPoint(2*nNonEmptyBinsDiffFlowEtaPOI+1,xFirstDiffFlowEtaPOI,yUpFirstDiffFlowEtaPOI);
1305 //setting the mesh style and color:
1306 pMeshDiffFlowEtaPOI->SetFillStyle(meshStyle);
1307 pMeshDiffFlowEtaPOI->SetFillColor(meshColor);
1309 //----------------------------------------------------------------------------------
1311 //MCEP = Monte Carlo Event Plane
1312 Double_t avMultDiffFlowMCRP=0.;
1313 Double_t nEvtsDiffFlowMCRP=0;
1314 Double_t avMultDiffFlowMCPOI=0.;
1315 Double_t nEvtsDiffFlowMCPOI=0;
1318 if(mcepCommonHistRes)
1320 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorMC);
1321 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleMC);
1322 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorMC);
1323 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleMC);
1324 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorMC);
1325 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleMC);
1326 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorMC);
1327 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleMC);
1331 avMultDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
1332 nEvtsDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
1333 avMultDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
1334 nEvtsDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
1338 //GFC = Generating Function Cumulants
1339 Double_t avMultDiffFlowGFC=0.;//to be removed
1340 Double_t nEvtsDiffFlowGFC=0.;//to be removed
1341 Double_t avMultDiffFlowGFCRP=0.;
1342 Double_t nEvtsDiffFlowGFCRP=0.;
1343 Double_t avMultDiffFlowGFCPOI=0.;
1344 Double_t nEvtsDiffFlowGFCPOI=0.;
1347 if(gfcCommonHistRes2)
1349 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC2);
1350 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC2);
1351 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC2);
1352 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC2);
1353 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC2);
1354 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC2);
1355 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC2);
1356 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC2);
1358 if(gfcCommonHistRes4)
1360 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC4);
1361 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC4);
1362 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC4);
1363 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC4);
1364 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC4);
1365 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC4);
1366 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC4);
1367 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC4);
1369 if(gfcCommonHistRes6)
1371 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC6);
1372 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC6);
1373 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC6);
1374 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC6);
1375 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC6);
1376 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC6);
1377 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC6);
1378 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC6);
1380 if(gfcCommonHistRes8)
1382 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC8);
1383 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC8);
1384 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC8);
1385 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC8);
1386 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC8);
1387 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC8);
1388 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC8);
1389 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC8);
1393 avMultDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
1394 nEvtsDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
1395 avMultDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
1396 nEvtsDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
1401 Double_t avMultDiffFlowQC2RP=0.;
1402 Double_t nEvtsDiffFlowQC2RP=0.;
1403 Double_t avMultDiffFlowQC2POI=0.;
1404 Double_t nEvtsDiffFlowQC2POI=0.;
1405 Double_t avMultDiffFlowQC4RP=0.;
1406 Double_t nEvtsDiffFlowQC4RP=0.;
1407 Double_t avMultDiffFlowQC4POI=0.;
1408 Double_t nEvtsDiffFlowQC4POI=0.;
1409 Double_t avMultDiffFlowQC6RP=0.;
1410 Double_t nEvtsDiffFlowQC6RP=0.;
1411 Double_t avMultDiffFlowQC6POI=0.;
1412 Double_t nEvtsDiffFlowQC6POI=0.;
1413 Double_t avMultDiffFlowQC8RP=0.;
1414 Double_t nEvtsDiffFlowQC8RP=0.;
1415 Double_t avMultDiffFlowQC8POI=0.;
1416 Double_t nEvtsDiffFlowQC8POI=0.;
1421 if(qcCommonHistRes2)
1423 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC2);
1424 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC2);
1425 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC2);
1426 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC2);
1427 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC2);
1428 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC2);
1429 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC2);
1430 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC2);
1434 avMultDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
1435 nEvtsDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
1436 avMultDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
1437 nEvtsDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
1440 if(qcCommonHistRes4)
1442 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC4);
1443 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC4);
1444 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC4);
1445 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC4);
1446 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC4);
1447 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC4);
1448 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC4);
1449 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC4);
1453 avMultDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
1454 nEvtsDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
1455 avMultDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
1456 nEvtsDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
1459 if(qcCommonHistRes6)
1461 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC6);
1462 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC6);
1463 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC6);
1464 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC6);
1465 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC6);
1466 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC6);
1467 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC6);
1468 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC6);
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->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC8);
1481 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC8);
1482 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC8);
1483 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC8);
1484 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC8);
1485 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC8);
1486 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC8);
1487 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC8);
1491 avMultDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
1492 nEvtsDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
1493 avMultDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
1494 nEvtsDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
1498 //LYZ2 = Lee-Yang Zeros (2nd run)
1499 Double_t avMultDiffFlowLYZ2RP=0.;
1500 Double_t nEvtsDiffFlowLYZ2RP=0;
1501 Double_t avMultDiffFlowLYZ2POI=0.;
1502 Double_t nEvtsDiffFlowLYZ2POI=0;
1505 if(lyz2CommonHistRes)
1507 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorLYZ2);
1508 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleLYZ2);
1509 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorLYZ2);
1510 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleLYZ2);
1511 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorLYZ2);
1512 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleLYZ2);
1513 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorLYZ2);
1514 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleLYZ2);
1518 avMultDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetMean();
1519 nEvtsDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetEntries();
1520 avMultDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetMean();
1521 nEvtsDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetEntries();
1525 //LYZEP = Lee-Yang Zeros Event Plane
1526 Double_t avMultDiffFlowLYZEPRP=0.;
1527 Double_t nEvtsDiffFlowLYZEPRP=0;
1528 Double_t avMultDiffFlowLYZEPPOI=0.;
1529 Double_t nEvtsDiffFlowLYZEPPOI=0;
1532 if(lyzepCommonHistRes)
1534 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorLYZEP);
1535 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleLYZEP);
1536 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorLYZEP);
1537 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleLYZEP);
1538 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorLYZEP);
1539 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleLYZEP);
1540 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorLYZEP);
1541 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleLYZEP);
1545 avMultDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
1546 nEvtsDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
1547 avMultDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
1548 nEvtsDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
1553 //----------------------------------------------------------------------------------
1554 //final drawing for differential flow (Pt, RP):
1555 //set here the results of which methods will be plotted by default:
1556 Bool_t plotMCPtRP = kFALSE;
1557 Bool_t plotGFC2PtRP = kTRUE;
1558 Bool_t plotGFC4PtRP = kTRUE;
1559 Bool_t plotGFC6PtRP = kTRUE;
1560 Bool_t plotGFC8PtRP = kTRUE;
1561 Bool_t plotQC2PtRP = kTRUE;
1562 Bool_t plotQC4PtRP = kTRUE;
1563 Bool_t plotQC6PtRP = kTRUE;
1564 Bool_t plotQC8PtRP = kTRUE;
1565 Bool_t plotLYZ2PtRP = kTRUE;
1566 Bool_t plotLYZEPPtRP = kTRUE;
1567 if(plotDiffFlowPtRP)
1569 TCanvas* diffFlowPtAllCanvasRP = new TCanvas("Differential Flow (Pt) of RP","Differential Flow (Pt) of RP ",1000,600);
1571 diffFlowPtAllCanvasRP->Divide(2,1);
1573 //1st pad is for plot:
1574 (diffFlowPtAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1578 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
1579 styleHistPt->Draw();
1581 if(pMeshDiffFlowPtRP)
1583 pMeshDiffFlowPtRP->Draw("LFSAME");
1587 if(plotMCPtRP && mcepCommonHistRes)
1589 (mcepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1592 if(plotGFC2PtRP && gfcCommonHistRes2)Pt
1594 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1596 if(plotGFC4PtRP && gfcCommonHistRes4)
1598 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1600 if(plotGFC6PtRP && gfcCommonHistRes6)
1602 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1604 if(plotGFC8PtRP && gfcCommonHistRes8)
1606 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1609 if(plotQC2PtRP && qcCommonHistRes2)
1611 (qcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1613 if(plotQC4PtRP && qcCommonHistRes4)
1615 (qcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1617 if(plotQC6PtRP && qcCommonHistRes6)
1619 //(qcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1621 if(plotQC8PtRP && qcCommonHistRes8)
1623 //(qcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1626 if(plotLYZ2PtRP && lyz2CommonHistRes)
1628 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1631 if(plotLYZEPPtRP && lyzepCommonHistRes)
1633 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1636 //2nd pad is for legend:
1637 (diffFlowPtAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1639 TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.25,0.97,0.75);
1640 legendDiffFlowPtRP->SetTextFont(72);
1641 legendDiffFlowPtRP->SetTextSize(0.06);
1643 //legend's entries:Pt
1644 TString *entryDiffMCPtRP = new TString("MC ....... ");
1645 TString *entryDiffGFC2PtRP = new TString("GFC{2} ... ");
1646 TString *entryDiffGFC4PtRP = new TString("GFC{4} ... ");
1647 TString *entryDiffGFC6PtRP = new TString("GFC{6} ... ");
1648 TString *entryDiffGFC8PtRP = new TString("GFC{8} ... ");
1649 TString *entryDiffQC2PtRP = new TString("QC{2} .... ");
1650 TString *entryDiffQC4PtRP = new TString("QC{4} .... ");
1651 TString *entryDiffQC6PtRP = new TString("QC{6} .... ");
1652 TString *entryDiffQC8PtRP = new TString("QC{8} .... ");
1653 TString *entryDiffLYZ2PtRP = new TString("LYZ ...... ");
1654 TString *entryDiffLYZEPPtRP = new TString("LYZEP ... ");
1657 if(mcepCommonHistRes)
1659 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyle);
1660 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColor);
1661 entryDiffMCPtRP->Append("M = ");
1662 (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
1663 entryDiffMCPtRP->Append(", N = ");
1664 (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP;
1665 legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
1669 if(plotGFC2PtRP && gfcCommonHistRes2)
1671 entryDiffGFC2PtRP->Append("M = ");
1672 (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1673 entryDiffGFC2PtRP->Append(", N = ");
1674 (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1675 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
1677 if(plotGFC4PtRP && gfcCommonHistRes4)
1679 entryDiffGFC4PtRP->Append("M = ");
1680 (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1681 entryDiffGFC4PtRP->Append(", N = ");
1682 (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1683 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
1685 if(plotGFC6PtRP && gfcCommonHistRes6)
1687 entryDiffGFC6PtRP->Append("M = ");
1688 (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1689 entryDiffGFC6PtRP->Append(", N = ");
1690 (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1691 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
1693 if(plotGFC8PtRP && gfcCommonHistRes8)
1695 entryDiffGFC8PtRP->Append("M = ");
1696 (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1697 entryDiffGFC8PtRP->Append(", N = ");
1698 (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1699 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
1703 if(plotQC2PtRP && qcCommonHistRes2)
1705 entryDiffQC2PtRP->Append("M = ");
1706 (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
1707 entryDiffQC2PtRP->Append(", N = ");
1708 (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP;
1709 legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
1711 if(plotQC4PtRP && qcCommonHistRes4)
1713 entryDiffQC4PtRP->Append("M = ");
1714 (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
1715 entryDiffQC4PtRP->Append(", N = ");
1716 (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP;
1717 legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
1719 if(plotQC6PtRP && qcCommonHistRes6)
1721 entryDiffQC6PtRP->Append("M = ");
1722 (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
1723 entryDiffQC6PtRP->Append(", N = ");
1724 (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP;
1725 legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
1727 if(plotQC8PtRP && qcCommonHistRes8)
1729 entryDiffQC8PtRP->Append("M = ");
1730 (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
1731 entryDiffQC8PtRP->Append(", N = ");
1732 (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP;
1733 legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
1737 if(plotLYZ2PtRP && lyz2CommonHistRes)
1739 entryDiffLYZ2PtRP->Append("M = ");
1740 (*entryDiffLYZ2PtRP)+=(Long_t)avMultDiffFlowLYZ2RP;
1741 entryDiffLYZ2PtRP->Append(", N = ");
1742 (*entryDiffLYZ2PtRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
1743 legendDiffFlowPtRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PtRP->Data(),"p");
1747 if(plotLYZEPPtRP && lyzepCommonHistRes)
1749 entryDiffLYZEPPtRP->Append("M = ");
1750 (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
1751 entryDiffLYZEPPtRP->Append(", N = ");
1752 (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
1753 legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
1756 //drawing finally the legend in the 2nd pad:
1757 if(legendDiffFlowPtRP)
1759 legendDiffFlowPtRP->SetMargin(0.15);
1760 legendDiffFlowPtRP->Draw();
1762 }// end of if(plotDiffFlowPtRP)
1763 //----------------------------------------------------------------------------------
1766 //----------------------------------------------------------------------------------
1767 //final drawing for differential flow (Eta, RP):
1768 //set here the results of which methods will be plotted by default:
1769 Bool_t plotMCEtaRP = kFALSE;
1770 Bool_t plotGFC2EtaRP = kTRUE;
1771 Bool_t plotGFC4EtaRP = kTRUE;
1772 Bool_t plotGFC6EtaRP = kTRUE;
1773 Bool_t plotGFC8EtaRP = kTRUE;
1774 Bool_t plotQC2EtaRP = kTRUE;
1775 Bool_t plotQC4EtaRP = kTRUE;
1776 Bool_t plotQC6EtaRP = kTRUE;
1777 Bool_t plotQC8EtaRP = kTRUE;
1778 Bool_t plotLYZ2EtaRP = kTRUE;
1779 Bool_t plotLYZEPEtaRP = kTRUE;
1780 if(plotDiffFlowEtaRP)
1782 TCanvas* diffFlowEtaAllCanvasRP = new TCanvas("Differential Flow (Eta) of RP","Differential Flow (Eta) of RP ",1000,600);
1784 diffFlowEtaAllCanvasRP->Divide(2,1);
1786 //1st pad is for plot:
1787 (diffFlowEtaAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1791 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
1792 styleHistEta->Draw();
1794 if(pMeshDiffFlowEtaRP)
1796 pMeshDiffFlowEtaRP->Draw("LFSAME");
1800 if(plotMCEtaRP && mcepCommonHistRes)
1802 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1805 if(plotGFC2EtaRP && gfcCommonHistRes2)
1807 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1809 if(plotGFC4EtaRP && gfcCommonHistRes4)
1811 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1813 if(plotGFC6EtaRP && gfcCommonHistRes6)
1815 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1817 if(plotGFC8EtaRP && gfcCommonHistRes8)
1819 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1822 if(plotQC2EtaRP && qcCommonHistRes2)
1824 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1826 if(plotQC4EtaRP && qcCommonHistRes4)
1828 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1830 if(plotQC6EtaRP && qcCommonHistRes6)
1832 //(qcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1834 if(plotQC8EtaRP && qcCommonHistRes8)
1836 //(qcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1839 if(plotLYZ2EtaRP && lyz2CommonHistRes)
1841 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1844 if(plotLYZEPEtaRP && lyzepCommonHistRes)
1846 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1849 //2nd pad is for legend:
1850 (diffFlowEtaAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1852 TLegend* legendDiffFlowEtaRP = new TLegend(0.02,0.25,0.97,0.75);
1853 legendDiffFlowEtaRP->SetTextFont(72);
1854 legendDiffFlowEtaRP->SetTextSize(0.06);
1857 TString *entryDiffMCEtaRP = new TString("MC ....... ");
1858 TString *entryDiffGFC2EtaRP = new TString("GFC{2} ... ");
1859 TString *entryDiffGFC4EtaRP = new TString("GFC{4} ... ");
1860 TString *entryDiffGFC6EtaRP = new TString("GFC{6} ... ");
1861 TString *entryDiffGFC8EtaRP = new TString("GFC{8} ... ");
1862 TString *entryDiffQC2EtaRP = new TString("QC{2} .... ");
1863 TString *entryDiffQC4EtaRP = new TString("QC{4} .... ");
1864 TString *entryDiffQC6EtaRP = new TString("QC{6} .... ");
1865 TString *entryDiffQC8EtaRP = new TString("QC{8} .... ");
1866 TString *entryDiffLYZ2EtaRP = new TString("LYZ ...... ");
1867 TString *entryDiffLYZEPEtaRP = new TString("LYZEP ... ");
1870 if(mcepCommonHistRes)
1872 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillStyle(meshStyle);
1873 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillColor(meshColor);
1874 entryDiffMCEtaRP->Append("M = ");
1875 (*entryDiffMCEtaRP)+=(Long_t)avMultDiffFlowMCRP;
1876 entryDiffMCEtaRP->Append(", N = ");
1877 (*entryDiffMCEtaRP)+=(Long_t)nEvtsDiffFlowMCRP;
1878 legendDiffFlowEtaRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffMCEtaRP->Data(),"f");
1882 if(plotGFC2EtaRP && gfcCommonHistRes2)
1884 entryDiffGFC2EtaRP->Append("M = ");
1885 (*entryDiffGFC2EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1886 entryDiffGFC2EtaRP->Append(", N = ");
1887 (*entryDiffGFC2EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1888 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffGFC2EtaRP->Data(),"p");
1890 if(plotGFC4EtaRP && gfcCommonHistRes4)
1892 entryDiffGFC4EtaRP->Append("M = ");
1893 (*entryDiffGFC4EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1894 entryDiffGFC4EtaRP->Append(", N = ");
1895 (*entryDiffGFC4EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1896 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffGFC4EtaRP->Data(),"p");
1898 if(plotGFC6EtaRP && gfcCommonHistRes6)
1900 entryDiffGFC6EtaRP->Append("M = ");
1901 (*entryDiffGFC6EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1902 entryDiffGFC6EtaRP->Append(", N = ");
1903 (*entryDiffGFC6EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1904 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffGFC6EtaRP->Data(),"p");
1906 if(plotGFC8EtaRP && gfcCommonHistRes8)
1908 entryDiffGFC8EtaRP->Append("M = ");
1909 (*entryDiffGFC8EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
1910 entryDiffGFC8EtaRP->Append(", N = ");
1911 (*entryDiffGFC8EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1912 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffGFC8EtaRP->Data(),"p");
1916 if(plotQC2EtaRP && qcCommonHistRes2)
1918 entryDiffQC2EtaRP->Append("M = ");
1919 (*entryDiffQC2EtaRP)+=(Long_t)avMultDiffFlowQC2RP;
1920 entryDiffQC2EtaRP->Append(", N = ");
1921 (*entryDiffQC2EtaRP)+=(Long_t)nEvtsDiffFlowQC2RP;
1922 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffQC2EtaRP->Data(),"p");
1924 if(plotQC4EtaRP && qcCommonHistRes4)
1926 entryDiffQC4EtaRP->Append("M = ");
1927 (*entryDiffQC4EtaRP)+=(Long_t)avMultDiffFlowQC4RP;
1928 entryDiffQC4EtaRP->Append(", N = ");
1929 (*entryDiffQC4EtaRP)+=(Long_t)nEvtsDiffFlowQC4RP;
1930 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffQC4EtaRP->Data(),"p");
1932 if(plotQC6EtaRP && qcCommonHistRes6)
1934 entryDiffQC6EtaRP->Append("M = ");
1935 (*entryDiffQC6EtaRP)+=(Long_t)avMultDiffFlowQC6RP;
1936 entryDiffQC6EtaRP->Append(", N = ");
1937 (*entryDiffQC6EtaRP)+=(Long_t)nEvtsDiffFlowQC6RP;
1938 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffQC6EtaRP->Data(),"p");
1940 if(plotQC8EtaRP && qcCommonHistRes8)
1942 entryDiffQC8EtaRP->Append("M = ");
1943 (*entryDiffQC8EtaRP)+=(Long_t)avMultDiffFlowQC8RP;
1944 entryDiffQC8EtaRP->Append(", N = ");
1945 (*entryDiffQC8EtaRP)+=(Long_t)nEvtsDiffFlowQC8RP;
1946 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffQC8EtaRP->Data(),"p");
1950 if(plotLYZ2EtaRP && lyz2CommonHistRes)
1952 entryDiffLYZ2EtaRP->Append("M = ");
1953 (*entryDiffLYZ2EtaRP)+=(Long_t)avMultDiffFlowLYZ2RP;
1954 entryDiffLYZ2EtaRP->Append(", N = ");
1955 (*entryDiffLYZ2EtaRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
1956 legendDiffFlowEtaRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZ2EtaRP->Data(),"p");
1960 if(plotLYZEPEtaRP && lyzepCommonHistRes)
1962 entryDiffLYZEPEtaRP->Append("M = ");
1963 (*entryDiffLYZEPEtaRP)+=(Long_t)avMultDiffFlowLYZEPRP;
1964 entryDiffLYZEPEtaRP->Append(", N = ");
1965 (*entryDiffLYZEPEtaRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
1966 legendDiffFlowEtaRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZEPEtaRP->Data(),"p");
1969 //drawing finally the legend in the 2nd pad:
1970 if(legendDiffFlowEtaRP)
1972 legendDiffFlowEtaRP->SetMargin(0.15);
1973 legendDiffFlowEtaRP->Draw();
1975 }// end of if(plotDiffFlowEtaRP)
1976 //----------------------------------------------------------------------------------
1978 //----------------------------------------------------------------------------------
1979 //final drawing for differential flow (Pt, POI):
1980 //set here the results of which methods will be plotted by default:
1981 Bool_t plotMCPtPOI = kFALSE;
1982 Bool_t plotGFC2PtPOI = kTRUE;
1983 Bool_t plotGFC4PtPOI = kTRUE;
1984 Bool_t plotGFC6PtPOI = kTRUE;
1985 Bool_t plotGFC8PtPOI = kTRUE;
1986 Bool_t plotQC2PtPOI = kTRUE;
1987 Bool_t plotQC4PtPOI = kTRUE;
1988 Bool_t plotQC6PtPOI = kTRUE;
1989 Bool_t plotQC8PtPOI = kTRUE;
1990 Bool_t plotLYZ2PtPOI = kTRUE;
1991 Bool_t plotLYZEPPtPOI = kTRUE;
1992 if(plotDiffFlowPtPOI)
1994 TCanvas* diffFlowPtAllCanvasPOI = new TCanvas("Differential Flow (Pt) of POI","Differential Flow (Pt) of POI ",1000,600);
1996 diffFlowPtAllCanvasPOI->Divide(2,1);
1998 //1st pad is for plot:
1999 (diffFlowPtAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2003 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2004 styleHistPt->Draw();
2006 if(pMeshDiffFlowPtPOI)
2008 pMeshDiffFlowPtPOI->Draw("LFSAME");
2012 if(plotMCPtPOI && mcepCommonHistRes)
2014 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2017 if(plotGFC2PtPOI && gfcCommonHistRes2)
2019 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2021 if(plotGFC4PtPOI && gfcCommonHistRes4)
2023 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2025 if(plotGFC6PtPOI && gfcCommonHistRes6)
2027 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2029 if(plotGFC8PtPOI && gfcCommonHistRes8)
2031 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2034 if(plotQC2PtPOI && qcCommonHistRes2)
2036 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2038 if(plotQC4PtPOI && qcCommonHistRes4)
2040 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2042 if(plotQC6PtPOI && qcCommonHistRes6)
2044 //(qcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2046 if(plotQC8PtPOI && qcCommonHistRes8)
2048 //(qcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2051 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2053 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2056 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2058 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2061 //2nd pad is for legend:
2062 (diffFlowPtAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2064 TLegend* legendDiffFlowPtPOI = new TLegend(0.02,0.25,0.97,0.75);
2065 legendDiffFlowPtPOI->SetTextFont(72);
2066 legendDiffFlowPtPOI->SetTextSize(0.06);
2069 TString *entryDiffMCPtPOI = new TString("MC ....... ");
2070 TString *entryDiffGFC2PtPOI = new TString("GFC{2} ... ");
2071 TString *entryDiffGFC4PtPOI = new TString("GFC{4} ... ");
2072 TString *entryDiffGFC6PtPOI = new TString("GFC{6} ... ");
2073 TString *entryDiffGFC8PtPOI = new TString("GFC{8} ... ");
2074 TString *entryDiffQC2PtPOI = new TString("QC{2} .... ");
2075 TString *entryDiffQC4PtPOI = new TString("QC{4} .... ");
2076 TString *entryDiffQC6PtPOI = new TString("QC{6} .... ");
2077 TString *entryDiffQC8PtPOI = new TString("QC{8} .... ");
2078 TString *entryDiffLYZ2PtPOI = new TString("LYZ ...... ");
2079 TString *entryDiffLYZEPPtPOI = new TString("LYZEP ... ");
2082 if(mcepCommonHistRes)
2084 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillStyle(meshStyle);
2085 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillColor(meshColor);
2086 entryDiffMCPtPOI->Append("M = ");
2087 (*entryDiffMCPtPOI)+=(Long_t)avMultDiffFlowMCPOI;
2088 entryDiffMCPtPOI->Append(", N = ");
2089 (*entryDiffMCPtPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2090 legendDiffFlowPtPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffMCPtPOI->Data(),"f");
2094 if(plotGFC2PtPOI && gfcCommonHistRes2)
2096 entryDiffGFC2PtPOI->Append("M = ");
2097 (*entryDiffGFC2PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2098 entryDiffGFC2PtPOI->Append(", N = ");
2099 (*entryDiffGFC2PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2100 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffGFC2PtPOI->Data(),"p");
2102 if(plotGFC4PtPOI && gfcCommonHistRes4)
2104 entryDiffGFC4PtPOI->Append("M = ");
2105 (*entryDiffGFC4PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2106 entryDiffGFC4PtPOI->Append(", N = ");
2107 (*entryDiffGFC4PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2108 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffGFC4PtPOI->Data(),"p");
2110 if(plotGFC6PtPOI && gfcCommonHistRes6)
2112 entryDiffGFC6PtPOI->Append("M = ");
2113 (*entryDiffGFC6PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2114 entryDiffGFC6PtPOI->Append(", N = ");
2115 (*entryDiffGFC6PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2116 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffGFC6PtPOI->Data(),"p");
2118 if(plotGFC8PtPOI && gfcCommonHistRes8)
2120 entryDiffGFC8PtPOI->Append("M = ");
2121 (*entryDiffGFC8PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2122 entryDiffGFC8PtPOI->Append(", N = ");
2123 (*entryDiffGFC8PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2124 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffGFC8PtPOI->Data(),"p");
2128 if(plotQC2PtPOI && qcCommonHistRes2)
2130 entryDiffQC2PtPOI->Append("M = ");
2131 (*entryDiffQC2PtPOI)+=(Long_t)avMultDiffFlowQC2POI;
2132 entryDiffQC2PtPOI->Append(", N = ");
2133 (*entryDiffQC2PtPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2134 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffQC2PtPOI->Data(),"p");
2136 if(plotQC4PtPOI && qcCommonHistRes4)
2138 entryDiffQC4PtPOI->Append("M = ");
2139 (*entryDiffQC4PtPOI)+=(Long_t)avMultDiffFlowQC4POI;
2140 entryDiffQC4PtPOI->Append(", N = ");
2141 (*entryDiffQC4PtPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2142 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffQC4PtPOI->Data(),"p");
2144 if(plotQC6PtPOI && qcCommonHistRes6)
2146 entryDiffQC6PtPOI->Append("M = ");
2147 (*entryDiffQC6PtPOI)+=(Long_t)avMultDiffFlowQC6POI;
2148 entryDiffQC6PtPOI->Append(", N = ");
2149 (*entryDiffQC6PtPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2150 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffQC6PtPOI->Data(),"p");
2152 if(plotQC8PtPOI && qcCommonHistRes8)
2154 entryDiffQC8PtPOI->Append("M = ");
2155 (*entryDiffQC8PtPOI)+=(Long_t)avMultDiffFlowQC8POI;
2156 entryDiffQC8PtPOI->Append(", N = ");
2157 (*entryDiffQC8PtPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2158 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffQC8PtPOI->Data(),"p");
2162 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2164 entryDiffLYZ2PtPOI->Append("M = ");
2165 (*entryDiffLYZ2PtPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2166 entryDiffLYZ2PtPOI->Append(", N = ");
2167 (*entryDiffLYZ2PtPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2168 legendDiffFlowPtPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2PtPOI->Data(),"p");
2172 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2174 entryDiffLYZEPPtPOI->Append("M = ");
2175 (*entryDiffLYZEPPtPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2176 entryDiffLYZEPPtPOI->Append(", N = ");
2177 (*entryDiffLYZEPPtPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2178 legendDiffFlowPtPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZEPPtPOI->Data(),"p");
2181 //drawing finally the legend in the 2nd pad:
2182 if(legendDiffFlowPtPOI)
2184 legendDiffFlowPtPOI->SetMargin(0.15);
2185 legendDiffFlowPtPOI->Draw();
2187 }//end of if(plotDiffFlowPtPOI)
2188 //----------------------------------------------------------------------------------
2191 //----------------------------------------------------------------------------------
2192 //final drawing for differential flow (Eta, POI):
2193 //set here the results of which methods will be plotted by default:
2194 Bool_t plotMCEtaPOI = kFALSE;
2195 Bool_t plotGFC2EtaPOI = kTRUE;
2196 Bool_t plotGFC4EtaPOI = kTRUE;
2197 Bool_t plotGFC6EtaPOI = kTRUE;
2198 Bool_t plotGFC8EtaPOI = kTRUE;
2199 Bool_t plotQC2EtaPOI = kTRUE;
2200 Bool_t plotQC4EtaPOI = kTRUE;
2201 Bool_t plotQC6EtaPOI = kTRUE;
2202 Bool_t plotQC8EtaPOI = kTRUE;
2203 Bool_t plotLYZ2EtaPOI = kTRUE;
2204 Bool_t plotLYZEPEtaPOI = kTRUE;
2205 if(plotDiffFlowEtaPOI)
2207 TCanvas* diffFlowEtaAllCanvasPOI = new TCanvas("Differential Flow (Eta) of POI","Differential Flow (Eta) of POI ",1000,600);
2209 diffFlowEtaAllCanvasPOI->Divide(2,1);
2211 //1st pad is for plot:
2212 (diffFlowEtaAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2216 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
2217 styleHistEta->Draw();
2219 if(pMeshDiffFlowEtaPOI)
2221 pMeshDiffFlowEtaPOI->Draw("LFSAME");
2225 if(plotMCEtaPOI && mcepCommonHistRes)
2227 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2230 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2232 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2234 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2236 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2238 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2240 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2242 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2244 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2247 if(plotQC2EtaPOI && qcCommonHistRes2)
2249 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2251 if(plotQC4EtaPOI && qcCommonHistRes4)
2253 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2255 if(plotQC6EtaPOI && qcCommonHistRes6)
2257 //(qcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2259 if(plotQC8EtaPOI && qcCommonHistRes8)
2261 //(qcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2264 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2266 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2269 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2271 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2274 //2nd pad is for legend:
2275 (diffFlowEtaAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2277 TLegend* legendDiffFlowEtaPOI = new TLegend(0.02,0.25,0.97,0.75);
2278 legendDiffFlowEtaPOI->SetTextFont(72);
2279 legendDiffFlowEtaPOI->SetTextSize(0.06);
2282 TString *entryDiffMCEtaPOI = new TString("MC ....... ");
2283 TString *entryDiffGFC2EtaPOI = new TString("GFC{2} ... ");
2284 TString *entryDiffGFC4EtaPOI = new TString("GFC{4} ... ");
2285 TString *entryDiffGFC6EtaPOI = new TString("GFC{6} ... ");
2286 TString *entryDiffGFC8EtaPOI = new TString("GFC{8} ... ");
2287 TString *entryDiffQC2EtaPOI = new TString("QC{2} .... ");
2288 TString *entryDiffQC4EtaPOI = new TString("QC{4} .... ");
2289 TString *entryDiffQC6EtaPOI = new TString("QC{6} .... ");
2290 TString *entryDiffQC8EtaPOI = new TString("QC{8} .... ");
2291 TString *entryDiffLYZ2EtaPOI = new TString("LYZ ...... ");
2292 TString *entryDiffLYZEPEtaPOI = new TString("LYZEP ... ");
2295 if(mcepCommonHistRes)
2297 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillStyle(meshStyle);
2298 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillColor(meshColor);
2299 entryDiffMCEtaPOI->Append("M = ");
2300 (*entryDiffMCEtaPOI)+=(Long_t)avMultDiffFlowMCPOI;
2301 entryDiffMCEtaPOI->Append(", N = ");
2302 (*entryDiffMCEtaPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2303 legendDiffFlowEtaPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffMCEtaPOI->Data(),"f");
2307 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2309 entryDiffGFC2EtaPOI->Append("M = ");
2310 (*entryDiffGFC2EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2311 entryDiffGFC2EtaPOI->Append(", N = ");
2312 (*entryDiffGFC2EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2313 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffGFC2EtaPOI->Data(),"p");
2315 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2317 entryDiffGFC4EtaPOI->Append("M = ");
2318 (*entryDiffGFC4EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2319 entryDiffGFC4EtaPOI->Append(", N = ");
2320 (*entryDiffGFC4EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2321 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffGFC4EtaPOI->Data(),"p");
2323 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2325 entryDiffGFC6EtaPOI->Append("M = ");
2326 (*entryDiffGFC6EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2327 entryDiffGFC6EtaPOI->Append(", N = ");
2328 (*entryDiffGFC6EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2329 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffGFC6EtaPOI->Data(),"p");
2331 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2333 entryDiffGFC8EtaPOI->Append("M = ");
2334 (*entryDiffGFC8EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2335 entryDiffGFC8EtaPOI->Append(", N = ");
2336 (*entryDiffGFC8EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2337 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffGFC8EtaPOI->Data(),"p");
2341 if(plotQC2EtaPOI && qcCommonHistRes2)
2343 entryDiffQC2EtaPOI->Append("M = ");
2344 (*entryDiffQC2EtaPOI)+=(Long_t)avMultDiffFlowQC2POI;
2345 entryDiffQC2EtaPOI->Append(", N = ");
2346 (*entryDiffQC2EtaPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2347 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffQC2EtaPOI->Data(),"p");
2349 if(plotQC4EtaPOI && qcCommonHistRes4)
2351 entryDiffQC4EtaPOI->Append("M = ");
2352 (*entryDiffQC4EtaPOI)+=(Long_t)avMultDiffFlowQC4POI;
2353 entryDiffQC4EtaPOI->Append(", N = ");
2354 (*entryDiffQC4EtaPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2355 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffQC4EtaPOI->Data(),"p");
2357 if(plotQC6EtaPOI && qcCommonHistRes6)
2359 entryDiffQC6EtaPOI->Append("M = ");
2360 (*entryDiffQC6EtaPOI)+=(Long_t)avMultDiffFlowQC6POI;
2361 entryDiffQC6EtaPOI->Append(", N = ");
2362 (*entryDiffQC6EtaPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2363 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffQC6EtaPOI->Data(),"p");
2365 if(plotQC8EtaPOI && qcCommonHistRes8)
2367 entryDiffQC8EtaPOI->Append("M = ");
2368 (*entryDiffQC8EtaPOI)+=(Long_t)avMultDiffFlowQC8POI;
2369 entryDiffQC8EtaPOI->Append(", N = ");
2370 (*entryDiffQC8EtaPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2371 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffQC8EtaPOI->Data(),"p");
2375 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2377 entryDiffLYZ2EtaPOI->Append("M = ");
2378 (*entryDiffLYZ2EtaPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2379 entryDiffLYZ2EtaPOI->Append(", N = ");
2380 (*entryDiffLYZ2EtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2381 legendDiffFlowEtaPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2EtaPOI->Data(),"p");
2385 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2387 entryDiffLYZEPEtaPOI->Append("M = ");
2388 (*entryDiffLYZEPEtaPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2389 entryDiffLYZEPEtaPOI->Append(", N = ");
2390 (*entryDiffLYZEPEtaPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2391 legendDiffFlowEtaPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZEPEtaPOI->Data(),"p");
2394 //drawing finally the legend in the 2nd pad:
2395 if(legendDiffFlowEtaPOI)
2397 legendDiffFlowEtaPOI->SetMargin(0.15);
2398 legendDiffFlowEtaPOI->Draw();
2400 }//end of if(plotDiffFlowEtaPOI)
2401 //----------------------------------------------------------------------------------
2404 //=====================================================================================