]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/macros/compareFlowResults.C
Sergey: bug fix with storing cluster id's
[u/mrichter/AliRoot.git] / PWG2 / FLOW / macros / compareFlowResults.C
CommitLineData
8c5ec46a 1//type of analysis can be: ESD, AOD, MC, ESDMC0, ESDMC1
2//const TString type = "ESD";
b25cc698 3
4enum libModes {mLocal,mLocalSource};
5//mLocal: Analyze data on your computer using aliroot
6//mLocalSource: Analyze data on your computer using root + source files
7
8//void compareFlowResults(TString type="",Int_t mode=mLocalSource)
d91e7275 9void compareFlowResults(TString type="ESD",Int_t mode=mLocal)
da24213b 10{
b25cc698 11
12 // load needed libraries:
8d5cd720 13 LoadPlotLibraries(mode);
b25cc698 14
d91e7275 15 Bool_t plotLegendIntFlow = kTRUE; // plot legend with average multiplicity and number of events for each method in all plots for integrated flow
b25cc698 16
da24213b 17 //==================================================================================
18 // set here which plots will be shown by default
19 //==================================================================================
688877b8 20 Bool_t plotIntFlow = kTRUE; // integrated flow (no-name) // to be improved
077816b6 21 Bool_t plotIntFlowRelativeToMC = kTRUE; // plot |v{MC}-v{method}/v{MC}| for integrated flow (no-name) // to be improved
da24213b 22 // RP = particles used to determine the reaction plane
077816b6 23 Bool_t plotIntFlowRP = kTRUE; // integrated flow RP
24 Bool_t plotIntFlowRelativeToMCRP = kTRUE; // plot |v{MC}-v{method}/v{MC}| for integrated flow (RP) // to be improved
688877b8 25 Bool_t plotDiffFlowPtRP = kTRUE; // differential flow (Pt,RP)
947cc449 26 Bool_t plotDiffFlowEtaRP = kTRUE; // differential flow (Eta,RP)
27 Bool_t plotDiffFlowPtRelativeToMCRP = kTRUE; // plot |v{MC}-v{method}/v{MC}| as a function of pt for RPs
da24213b 28 // POI = particle of interest
077816b6 29 Bool_t plotIntFlowPOI = kTRUE; // integrated flow POI
30 Bool_t plotIntFlowRelativeToMCPOI = kTRUE; // plot |v{MC}-v{method}/v{MC}| for integrated flow (POI) // to be improved
31 Bool_t plotDiffFlowPtPOI = kTRUE; // differential flow (Pt,POI)
32 Bool_t plotDiffFlowEtaPOI = kTRUE; // differential flow (Eta,POI)
da24213b 33 //==================================================================================
34
b25cc698 35
da24213b 36 //==================================================================================
37 // set here which methods will be plotted by default for differential flow (Pt,RP):
947cc449 38 Bool_t plotMCPtRP = kFALSE;
39 Bool_t plotSPPtRP = kTRUE;
40 Bool_t plotGFC2PtRP = kTRUE;
41 Bool_t plotGFC4PtRP = kTRUE;
42 Bool_t plotGFC6PtRP = kTRUE;
43 Bool_t plotGFC8PtRP = kTRUE;
44 Bool_t plotQC2PtRP = kTRUE;
45 Bool_t plotQC4PtRP = kTRUE;
46 Bool_t plotQC6PtRP = kFALSE; // not calculated yet
47 Bool_t plotQC8PtRP = kFALSE; // not calculated yet
48 Bool_t plotLYZ2SUMPtRP = kTRUE;
49 Bool_t plotLYZ2PRODPtRP = kTRUE;
50 Bool_t plotLYZEPPtRP = kTRUE;
da24213b 51
52 // set here which methods will be plotted by default for differential flow (Eta,RP):
947cc449 53 Bool_t plotMCEtaRP = kFALSE;
54 Bool_t plotSPEtaRP = kTRUE;
55 Bool_t plotGFC2EtaRP = kTRUE;
56 Bool_t plotGFC4EtaRP = kTRUE;
57 Bool_t plotGFC6EtaRP = kTRUE;
58 Bool_t plotGFC8EtaRP = kTRUE;
59 Bool_t plotQC2EtaRP = kTRUE;
60 Bool_t plotQC4EtaRP = kTRUE;
61 Bool_t plotQC6EtaRP = kFALSE; // not calculated yet
62 Bool_t plotQC8EtaRP = kFALSE; // not calculated yet
63 Bool_t plotLYZ2SUMEtaRP = kTRUE;
64 Bool_t plotLYZ2PRODEtaRP = kTRUE;
65 Bool_t plotLYZEPEtaRP = kTRUE;
da24213b 66
688877b8 67 // set here which methods will be plotted by default for |v{MC}-v{method}/v{MC}| as a function of pt for RPs
947cc449 68 Bool_t plotSPRelativeToMCRP = kTRUE;
69 Bool_t plotGFC2RelativeToMCRP = kTRUE;
70 Bool_t plotGFC4RelativeToMCRP = kTRUE;
71 Bool_t plotGFC6RelativeToMCRP = kTRUE;
72 Bool_t plotGFC8RelativeToMCRP = kTRUE;
73 Bool_t plotQC2RelativeToMCRP = kTRUE;
74 Bool_t plotQC4RelativeToMCRP = kTRUE;
75 Bool_t plotQC6RelativeToMCRP = kFALSE; // not calculated yet
76 Bool_t plotQC8RelativeToMCRP = kFALSE; // not calculated yet
77 Bool_t plotLYZ2SUMRelativeToMCRP = kTRUE;
78 Bool_t plotLYZ2PRODRelativeToMCRP = kTRUE;
79 Bool_t plotLYZEPRelativeToMCRP = kTRUE;
688877b8 80
da24213b 81 // set here which methods will be plotted by default for differential flow (Pt,POI):
947cc449 82 Bool_t plotMCPtPOI = kFALSE;
83 Bool_t plotSPPtPOI = kTRUE;
84 Bool_t plotGFC2PtPOI = kTRUE;
85 Bool_t plotGFC4PtPOI = kTRUE;
86 Bool_t plotGFC6PtPOI = kTRUE;
87 Bool_t plotGFC8PtPOI = kTRUE;
88 Bool_t plotQC2PtPOI = kTRUE;
89 Bool_t plotQC4PtPOI = kTRUE;
90 Bool_t plotQC6PtPOI = kFALSE; // not calculated yet
91 Bool_t plotQC8PtPOI = kFALSE; // not calculated yet
92 Bool_t plotLYZ2SUMPtPOI = kTRUE;
93 Bool_t plotLYZ2PRODPtPOI = kTRUE;
94 Bool_t plotLYZEPPtPOI = kTRUE;
da24213b 95
96 // set here which methods will be plotted by default for differential flow (Eta,POI):
947cc449 97 Bool_t plotMCEtaPOI = kFALSE;
98 Bool_t plotSPEtaPOI = kTRUE;
99 Bool_t plotGFC2EtaPOI = kTRUE;
100 Bool_t plotGFC4EtaPOI = kTRUE;
101 Bool_t plotGFC6EtaPOI = kTRUE;
102 Bool_t plotGFC8EtaPOI = kTRUE;
103 Bool_t plotQC2EtaPOI = kTRUE;
104 Bool_t plotQC4EtaPOI = kTRUE;
105 Bool_t plotQC6EtaPOI = kFALSE; // not calculated yet
106 Bool_t plotQC8EtaPOI = kFALSE; // not calculated yet
107 Bool_t plotLYZ2SUMEtaPOI = kTRUE;
108 Bool_t plotLYZ2PRODEtaPOI = kTRUE;
109 Bool_t plotLYZEPEtaPOI = kTRUE;
da24213b 110 //==================================================================================
111
112
113 //==================================================================================
905bed86 114 // cosmetics: marker style (see TMarker) and color (see TAttFill) for each method:
da24213b 115 // MC:
905bed86 116 Int_t markerStyleMC = 20; // full circle
da24213b 117 Int_t markerColorMC = kRed;
905bed86 118 // SP:
119 Int_t markerStyleSP = 3; // star
120 Int_t markerColorSP = kViolet-6;
da24213b 121 // GFC{2}
905bed86 122 Int_t markerStyleGFC2 = 21; // full square
da24213b 123 Int_t markerColorGFC2 = kAzure-7;
124 // GFC{4}
905bed86 125 Int_t markerStyleGFC4 = 20; // full circle
da24213b 126 Int_t markerColorGFC4 = kAzure+3;
127 // GFC{6}
688877b8 128 Int_t markerStyleGFC6 = 25; // open square
da24213b 129 Int_t markerColorGFC6 = kAzure-7;
130 // GFC{8}
688877b8 131 Int_t markerStyleGFC8 = 24; // open circle
da24213b 132 Int_t markerColorGFC8 = kAzure+3;
133 // QC{2}
905bed86 134 Int_t markerStyleQC2 = 21; // full square
da24213b 135 Int_t markerColorQC2 = kOrange-7;
136 // QC{4}
905bed86 137 Int_t markerStyleQC4 = 20; // full circle
da24213b 138 Int_t markerColorQC4 = kOrange+3;
139 // QC{6}
688877b8 140 Int_t markerStyleQC6 = 25; // open square
da24213b 141 Int_t markerColorQC6 = kOrange-7;
142 // QC{8}
688877b8 143 Int_t markerStyleQC8 = 24; // open circle
da24213b 144 Int_t markerColorQC8 = kOrange+3;
947cc449 145 // LYZ2SUM
146 Int_t markerStyleLYZ2SUM = 22; // full triangle
147 Int_t markerColorLYZ2SUM = kYellow+3;
148 // LYZ2PROD
149 Int_t markerStyleLYZ2PROD = 22; // full triangle
150 Int_t markerColorLYZ2PROD = kGreen+3;
da24213b 151 // LYZEP
905bed86 152 Int_t markerStyleLYZEP = 26; // open triangle
da24213b 153 Int_t markerColorLYZEP = kYellow+3;
154 //==================================================================================
155
dec3fab6 156
157 //==================================================================================
158 // set here which result goes in which bin in the plot for integrated flow (no-name)
159 // MC:
160 Int_t binMC = 1;
161 // SP:
162 Int_t binSP = 2;
163 // GFC{2}
164 Int_t binGFC2 = 3;
165 // GFC{4}
166 Int_t binGFC4 = 5;
167 // GFC{6}
168 Int_t binGFC6 = 7;
169 // GFC{8}
170 Int_t binGFC8 = 9;
171 // QC{2}
172 Int_t binQC2 = 4;
173 // QC{4}
174 Int_t binQC4 = 6;
175 // QC{6}
176 Int_t binQC6 = 8;
177 // QC{8}
178 Int_t binQC8 = 10;
179 // FQD
180 Int_t binFQD = 11;
947cc449 181 // LYZ1SUM
182 Int_t binLYZ1SUM = 12;
183 // LYZ1PROD
184 Int_t binLYZ1PROD = 13;
dec3fab6 185 // LYZEP
947cc449 186 Int_t binLYZEP = 14;
dec3fab6 187 //==================================================================================
188
189
190 //==================================================================================
191 // set here which result goes in which bin in the plot for integrated flow (RP)
192 // MC:
193 Int_t binMCRP = 1;
194 // SP:
195 Int_t binSPRP = 2;
196 // GFC{2}
197 Int_t binGFC2RP = 3;
198 // GFC{4}
199 Int_t binGFC4RP = 5;
200 // GFC{6}
201 Int_t binGFC6RP = 7;
202 // GFC{8}
203 Int_t binGFC8RP = 9;
204 // QC{2}
205 Int_t binQC2RP = 4;
206 // QC{4}
207 Int_t binQC4RP = 6;
208 // QC{6}
209 Int_t binQC6RP = 8;
210 // QC{8}
211 Int_t binQC8RP = 10;
212 // FQD
213 Int_t binFQDRP = 11;
947cc449 214 // LYZ2SUM
215 Int_t binLYZ2SUMRP = 12;
216 // LYZ2PROD
217 Int_t binLYZ2PRODRP = 13;
dec3fab6 218 // LYZEP
947cc449 219 Int_t binLYZEPRP = 14;
dec3fab6 220 //==================================================================================
221
222
223 //==================================================================================
224 // set here which result goes in which bin in the plot for integrated flow (POI)
225 // MC:
226 Int_t binMCPOI = 1;
227 // SP:
228 Int_t binSPPOI = 2;
229 // GFC{2}
230 Int_t binGFC2POI = 3;
231 // GFC{4}
232 Int_t binGFC4POI = 5;
233 // GFC{6}
234 Int_t binGFC6POI = 7;
235 // GFC{8}
236 Int_t binGFC8POI = 9;
237 // QC{2}
238 Int_t binQC2POI = 4;
239 // QC{4}
240 Int_t binQC4POI = 6;
241 // QC{6}
242 Int_t binQC6POI = 8;
243 // QC{8}
244 Int_t binQC8POI = 10;
245 // FQD
246 Int_t binFQDPOI = 11;
947cc449 247 // LYZ2SUM
248 Int_t binLYZ2SUMPOI = 12;
249 // LYZ2PROD
250 Int_t binLYZ2PRODPOI = 13;
dec3fab6 251 // LYZEP
947cc449 252 Int_t binLYZEPPOI = 14;
dec3fab6 253 //==================================================================================
b25cc698 254
255
8c5ec46a 256 //==================================================================================
257 // accessing output files
258 //==================================================================================
8c5ec46a 259 //open the output files:
260 TString inputFileNameMCEP = "outputMCEPanalysis";
261 TFile* fileMCEP = NULL;
262 fileMCEP = TFile::Open(((inputFileNameMCEP.Append(type)).Append(".root")).Data(), "READ");
263
905bed86 264 TString inputFileNameSP = "outputSPanalysis";
265 TFile* fileSP = NULL;
266 fileSP = TFile::Open(((inputFileNameSP.Append(type)).Append(".root")).Data(), "READ");
267
947cc449 268 TString inputFileNameLYZ1SUM = "outputLYZ1SUManalysis";
269 TFile* fileLYZ1SUM = NULL;
270 fileLYZ1SUM = TFile::Open(((inputFileNameLYZ1SUM.Append(type)).Append(".root")).Data(), "READ");
8c5ec46a 271
947cc449 272 TString inputFileNameLYZ2SUM = "outputLYZ2SUManalysis";
273 TFile* fileLYZ2SUM = NULL;
274 fileLYZ2SUM = TFile::Open(((inputFileNameLYZ2SUM.Append(type)).Append(".root")).Data(), "READ");
275
276 TString inputFileNameLYZ1PROD = "outputLYZ1PRODanalysis";
277 TFile* fileLYZ1PROD = NULL;
278 fileLYZ1PROD = TFile::Open(((inputFileNameLYZ1PROD.Append(type)).Append(".root")).Data(), "READ");
279
280 TString inputFileNameLYZ2PROD = "outputLYZ2PRODanalysis";
281 TFile* fileLYZ2PROD = NULL;
282 fileLYZ2PROD = TFile::Open(((inputFileNameLYZ2PROD.Append(type)).Append(".root")).Data(), "READ");
8c5ec46a 283
284 TString inputFileNameLYZEP = "outputLYZEPanalysis";
285 TFile* fileLYZEP = NULL;
286 fileLYZEP = TFile::Open(((inputFileNameLYZEP.Append(type)).Append(".root")).Data(), "READ");
287
288 TString inputFileNameFQD = "outputFQDanalysis";
289 TFile* fileFQD = NULL;
290 fileFQD = TFile::Open(((inputFileNameFQD.Append(type)).Append(".root")).Data(), "READ");
291
292 TString inputFileNameGFC = "outputGFCanalysis";
293 TFile* fileGFC = NULL;
294 fileGFC = TFile::Open(((inputFileNameGFC.Append(type)).Append(".root")).Data(), "READ");
295
296 TString inputFileNameQC = "outputQCanalysis";
297 TFile* fileQC = NULL;
298 fileQC = TFile::Open(((inputFileNameQC.Append(type)).Append(".root")).Data(), "READ");
299 //==================================================================================
1fca9c90 300
a88e5ac2 301
a88e5ac2 302
9d3cbee7 303
8c5ec46a 304 //==================================================================================
305 // cosmetics
306 //==================================================================================
307 //removing the title and stat. box from all histograms:
308 gStyle->SetOptTitle(0);
309 gStyle->SetOptStat(0);
310
dec3fab6 311 // plot for 'no-name' integrated flow:
312 // choosing the style and color of mesh for MC error bands
8c5ec46a 313 Int_t meshStyle = 1001;
dec3fab6 314 Int_t meshColor = kGray;
8c5ec46a 315
dec3fab6 316 // marker style and color
8c5ec46a 317 Int_t markerStyle = 21;
dec3fab6 318 Int_t markerColor = kBlack;
319
320 // plot for RP's integrated flow:
321 // choosing the style and color of mesh for MC error bands
322 Int_t meshStyleRP = 1001;
323 Int_t meshColorRP = kRed-10;
324
325 // marker style and color
326 Int_t markerStyleRP = 21;
327 Int_t markerColorRP = kRed-3;
328
329 // plot for POI's integrated flow:
330 // choosing the style and color of mesh for MC error bands
331 Int_t meshStylePOI = 1001;
332 Int_t meshColorPOI = kBlue-10;
333
334 // marker style and color
335 Int_t markerStylePOI = 21;
336 Int_t markerColorPOI = kBlue-3;
337
338 // choosing the style and color of mesh for MC error bands in the plots for diff. flow
339 // plot for differential flow (Pt,RP):
340 Int_t meshStyleDiffFlowPtRP = 1001;
341 Int_t meshColorDiffFlowPtRP = kRed-10;
342
343 // plot for differential flow (Eta,RP):
344 Int_t meshStyleDiffFlowEtaRP = 1001;
345 Int_t meshColorDiffFlowEtaRP = kRed-10;
346
347 // plot for differential flow (Pt,POI):
348 Int_t meshStyleDiffFlowPtPOI = 1001;
349 Int_t meshColorDiffFlowPtPOI = kRed-10;
350
351 // plot for differential flow (Eta,POI):
352 Int_t meshStyleDiffFlowEtaPOI = 1001;
353 Int_t meshColorDiffFlowEtaPOI = kRed-10;
8c5ec46a 354 //==================================================================================
355
356
357
358
359 //==================================================================================
dec3fab6 360 // INTEGRATED FLOW (no-name, RP and POI)
8c5ec46a 361 //==================================================================================
dec3fab6 362 // the number of different methods:
947cc449 363 const Int_t nMethods=14;
8c5ec46a 364
dec3fab6 365 // booking the histogram for the integrated flow results from all methods:
8c5ec46a 366 TH1D* intFlowAll = new TH1D("intFlowAll","Integrated Flow",nMethods,0,nMethods);
95de4bf0 367 if(!plotLegendIntFlow) intFlowAll->SetLabelSize(0.044,"X");
dec3fab6 368 // intFlowAll->SetLabelSize(0.036,"Y");
8c5ec46a 369 intFlowAll->SetMarkerStyle(markerStyle);
370 intFlowAll->SetMarkerColor(markerColor);
dec3fab6 371 (intFlowAll->GetXaxis())->SetBinLabel(binMC,"v_{2}{MC}");
372 (intFlowAll->GetXaxis())->SetBinLabel(binSP,"v_{2}{SP}");
373 (intFlowAll->GetXaxis())->SetBinLabel(binGFC2,"v_{2}{2,GFC}");
374 (intFlowAll->GetXaxis())->SetBinLabel(binQC2,"v_{2}{2,QC}");
375 (intFlowAll->GetXaxis())->SetBinLabel(binGFC4,"v_{2}{4,GFC}");
376 (intFlowAll->GetXaxis())->SetBinLabel(binQC4,"v_{2}{4,QC}");
377 (intFlowAll->GetXaxis())->SetBinLabel(binGFC6,"v_{2}{6,GFC}");
378 (intFlowAll->GetXaxis())->SetBinLabel(binQC6,"v_{2}{6,QC}");
379 (intFlowAll->GetXaxis())->SetBinLabel(binGFC8,"v_{2}{8,GFC}");
380 (intFlowAll->GetXaxis())->SetBinLabel(binQC8,"v_{2}{8,QC}");
381 (intFlowAll->GetXaxis())->SetBinLabel(binFQD,"v_{2}{FQD}");
947cc449 382 (intFlowAll->GetXaxis())->SetBinLabel(binLYZ1SUM,"v_{2}{LYZ,sum}");
383 (intFlowAll->GetXaxis())->SetBinLabel(binLYZ1PROD,"v_{2}{LYZ,prod}");
dec3fab6 384 (intFlowAll->GetXaxis())->SetBinLabel(binLYZEP,"v_{2}{LYZEP}");
385
386 // booking the graph to store flow values and errors from all methods:
387 Double_t x[nMethods] = {0.};
388 for(Int_t i=0;i<nMethods;i++)
389 {
390 x[i]=i+0.5;
391 }
8c5ec46a 392 Double_t xError[nMethods] = {0.};
3963f25c 393 Double_t flowValue[nMethods] = {0.};
394 Double_t flowError[nMethods] = {0.};
8c5ec46a 395 Double_t flowValueRP[nMethods] = {0.};
396 Double_t flowErrorRP[nMethods] = {0.};
397 Double_t flowValuePOI[nMethods] = {0.};
398 Double_t flowErrorPOI[nMethods] = {0.};
399
dec3fab6 400 // accessing the results for integrated flow for each method:
401 // MCEP = Monte Carlo Event Plane
8c5ec46a 402 TList *pListMCEP = NULL;
403 AliFlowCommonHist *mcepCommonHist = NULL;
404 AliFlowCommonHistResults *mcepCommonHistRes = NULL;
405 if(fileMCEP) {
406 fileMCEP->GetObject("cobjMCEP",pListMCEP);
407 if(pListMCEP) {
dec3fab6 408 mcepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListMCEP->FindObject("AliFlowCommonHistMCEP"));
8c5ec46a 409 mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
410 if(mcepCommonHistRes) {
dec3fab6 411 flowValue[binMC-1] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
412 flowError[binMC-1] = (mcepCommonHistRes->GetHistIntFlow())->GetBinError(1);
413 flowValueRP[binMCRP-1] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
414 flowErrorRP[binMCRP-1] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
415 flowValuePOI[binMCPOI-1] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
416 flowErrorPOI[binMCPOI-1] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 417 }
418 }
a88e5ac2 419 }
8c5ec46a 420
dec3fab6 421 // SP = Scalar Product
905bed86 422 TList *pListSP = NULL;
423 AliFlowCommonHist *spCommonHist = NULL;
424 AliFlowCommonHistResults *spCommonHistRes = NULL;
425 if(fileSP) {
426 fileSP->GetObject("cobjSP",pListSP);
427 if(pListSP) {
dec3fab6 428 spCommonHist = dynamic_cast<AliFlowCommonHist*> (pListSP->FindObject("AliFlowCommonHistSP"));
905bed86 429 spCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListSP->FindObject("AliFlowCommonHistResultsSP"));
430 if(spCommonHistRes) {
dec3fab6 431 flowValue[binSP-1] = (spCommonHistRes->GetHistIntFlow())->GetBinContent(1);
432 flowError[binSP-1] = (spCommonHistRes->GetHistIntFlow())->GetBinError(1);
433 flowValueRP[binSPRP-1] = (spCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
434 flowErrorRP[binSPRP-1] = (spCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
435 flowValuePOI[binSPPOI-1] = (spCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
436 flowErrorPOI[binSPPOI-1] = (spCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
905bed86 437 }
438 }
439 }
440
947cc449 441 // LYZ1SUM = Lee-Yang Zeros (1st run, sum) is used to get only 'no-name' integrated flow
442 TList *pListLYZ1SUM = NULL;
443 AliFlowCommonHist *lyz1sumCommonHist = NULL;
444 AliFlowCommonHistResults *lyz1sumCommonHistRes = NULL;
445 if(fileLYZ1SUM) {
446 fileLYZ1SUM->GetObject("cobjLYZ1SUM",pListLYZ1SUM);
447 if(pListLYZ1SUM) {
c49a8c1c 448 lyz1sumCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ1SUM->FindObject("AliFlowCommonHistLYZ1SUM"));
449 lyz1sumCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ1SUM->FindObject("AliFlowCommonHistResultsLYZ1SUM"));
947cc449 450 if(lyz1sumCommonHistRes) {
451 flowValue[binLYZ1SUM-1] = (lyz1sumCommonHistRes->GetHistIntFlow())->GetBinContent(1);
452 flowError[binLYZ1SUM-1] = (lyz1sumCommonHistRes->GetHistIntFlow())->GetBinError(1);
8c5ec46a 453 }
454 }
a88e5ac2 455 }
8c5ec46a 456
947cc449 457 // LYZ2SUM = Lee-Yang Zeros (2nd run, sum) is used to get RP's and POI's integrated flow
458 TList *pListLYZ2SUM = NULL;
459 AliFlowCommonHist *lyz2sumCommonHist = NULL;
460 AliFlowCommonHistResults *lyz2sumCommonHistRes = NULL;
461 if(fileLYZ2SUM) {
462 fileLYZ2SUM->GetObject("cobjLYZ2SUM",pListLYZ2SUM);
463 if(pListLYZ2SUM) {
c49a8c1c 464 lyz2sumCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ2SUM->FindObject("AliFlowCommonHistLYZ2SUM"));
465 lyz2sumCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ2SUM->FindObject("AliFlowCommonHistResultsLYZ2SUM"));
947cc449 466 if(lyz2sumCommonHistRes) {
467 flowValueRP[binLYZ2SUMRP-1] = (lyz2sumCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
468 flowErrorRP[binLYZ2SUMRP-1] = (lyz2sumCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
469 flowValuePOI[binLYZ2SUMPOI-1] = (lyz2sumCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
470 flowErrorPOI[binLYZ2SUMPOI-1] = (lyz2sumCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
471 }
472 }
473 }
474
475 // LYZ1PROD = Lee-Yang Zeros (1st run, product) is used to get only 'no-name' integrated flow
476 TList *pListLYZ1PROD = NULL;
477 AliFlowCommonHist *lyz1prodCommonHist = NULL;
478 AliFlowCommonHistResults *lyz1prodCommonHistRes = NULL;
479 if(fileLYZ1PROD) {
480 fileLYZ1PROD->GetObject("cobjLYZ1PROD",pListLYZ1PROD);
481 if(pListLYZ1PROD) {
c49a8c1c 482 lyz1prodCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ1PROD->FindObject("AliFlowCommonHistLYZ1PROD"));
483 lyz1prodCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ1PROD->FindObject("AliFlowCommonHistResultsLYZ1PROD"));
947cc449 484 if(lyz1prodCommonHistRes) {
485 flowValue[binLYZ1PROD-1] = (lyz1prodCommonHistRes->GetHistIntFlow())->GetBinContent(1);
486 flowError[binLYZ1PROD-1] = (lyz1prodCommonHistRes->GetHistIntFlow())->GetBinError(1);
487 }
488 }
489 }
490
491 // LYZ2PROD = Lee-Yang Zeros (2nd run, product) is used to get RP's and POI's integrated flow
492 TList *pListLYZ2PROD = NULL;
493 AliFlowCommonHist *lyz2prodCommonHist = NULL;
494 AliFlowCommonHistResults *lyz2prodCommonHistRes = NULL;
495 if(fileLYZ2PROD) {
496 fileLYZ2PROD->GetObject("cobjLYZ2PROD",pListLYZ2PROD);
497 if(pListLYZ2PROD) {
c49a8c1c 498 lyz2prodCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ2PROD->FindObject("AliFlowCommonHistLYZ2PROD"));
499 lyz2prodCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ2PROD->FindObject("AliFlowCommonHistResultsLYZ2PROD"));
947cc449 500 if(lyz2prodCommonHistRes) {
501 flowValueRP[binLYZ2PRODRP-1] = (lyz2prodCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
502 flowErrorRP[binLYZ2PRODRP-1] = (lyz2prodCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
503 flowValuePOI[binLYZ2PRODPOI-1] = (lyz2prodCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
504 flowErrorPOI[binLYZ2PRODPOI-1] = (lyz2prodCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
80e93fef 505 }
8c5ec46a 506 }
9d3cbee7 507 }
8c5ec46a 508
dec3fab6 509 // LYZEP = Lee-Yang Zeros Event Plane
8c5ec46a 510 TList *pListLYZEP = NULL;
511 AliFlowCommonHist *lyzepCommonHist = NULL;
512 AliFlowCommonHistResults *lyzepCommonHistRes = NULL;
513 if(fileLYZEP) {
514 fileLYZEP->GetObject("cobjLYZEP",pListLYZEP);
515 if(pListLYZEP) {
516 lyzepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZEP->FindObject("AliFlowCommonHistLYZEP"));
517 lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZEP->FindObject("AliFlowCommonHistResultsLYZEP"));
518 if(lyzepCommonHistRes) {
dec3fab6 519 flowValue[binLYZEP-1] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);
520 flowError[binLYZEP-1] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinError(1);
521 flowValueRP[binLYZEPRP-1] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
522 flowErrorRP[binLYZEPRP-1] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
523 flowValuePOI[binLYZEPPOI-1] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
524 flowErrorPOI[binLYZEPPOI-1] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 525 }
526 }
9d3cbee7 527 }
9d3cbee7 528
dec3fab6 529 // FQD = Fitting q-distribution
8c5ec46a 530 TList *pListFQD = NULL;
531 AliFlowCommonHist *fqdCommonHist = NULL;
532 AliFlowCommonHistResults *fqdCommonHistRes = NULL;
533 if(fileFQD) {
534 fileFQD->GetObject("cobjFQD",pListFQD);
535 if(pListFQD) {
536 fqdCommonHist = dynamic_cast<AliFlowCommonHist*> (pListFQD->FindObject("AliFlowCommonHistFQD"));
537 fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListFQD->FindObject("AliFlowCommonHistResultsFQD"));
538 if(fqdCommonHistRes) {
dec3fab6 539 flowValue[binFQD-1] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);
540 flowError[binFQD-1] = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);
947cc449 541 //flowValueRP[binFQDRP-1] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
542 //flowErrorRP[binFQDRP-1] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
543 //flowValuePOI[binFQDPOI-1] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
544 //flowErrorPOI[binFQDPOI-1] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 545 }
546 }
9d3cbee7 547 }
a88e5ac2 548
dec3fab6 549 // GFC = Generating Function Cumulants
8c5ec46a 550 TList *pListGFC = NULL;
551 AliFlowCommonHist *gfcCommonHist = NULL;
552 AliFlowCommonHistResults *gfcCommonHistRes2 = NULL;
553 AliFlowCommonHistResults *gfcCommonHistRes4 = NULL;
554 AliFlowCommonHistResults *gfcCommonHistRes6 = NULL;
555 AliFlowCommonHistResults *gfcCommonHistRes8 = NULL;
556 if(fileGFC) {
557 fileGFC->GetObject("cobjGFC",pListGFC);
558 if(pListGFC) {
559 gfcCommonHist = dynamic_cast<AliFlowCommonHist*> (pListGFC->FindObject("AliFlowCommonHistGFC"));
560 gfcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
561 if(gfcCommonHistRes2) {
dec3fab6 562 flowValue[binGFC2-1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);
563 flowError[binGFC2-1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinError(1);
564 flowValueRP[binGFC2RP-1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
565 flowErrorRP[binGFC2RP-1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
566 flowValuePOI[binGFC2POI-1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
567 flowErrorPOI[binGFC2POI-1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 568 }
569 gfcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
570 if(gfcCommonHistRes4) {
dec3fab6 571 flowValue[binGFC4-1] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);
572 flowError[binGFC4-1] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinError(1);
573 flowValueRP[binGFC4RP-1] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
574 flowErrorRP[binGFC4RP-1] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
575 flowValuePOI[binGFC4POI-1] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
576 flowErrorPOI[binGFC4POI-1] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 577 }
578 gfcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
579 if(gfcCommonHistRes6) {
dec3fab6 580 flowValue[binGFC6-1] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);
581 flowError[binGFC6-1] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinError(1);
582 flowValueRP[binGFC6RP-1] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
583 flowErrorRP[binGFC6RP-1] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
584 flowValuePOI[binGFC6POI-1] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
585 flowErrorPOI[binGFC6POI-1] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 586 }
587 gfcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
588 if(gfcCommonHistRes8) {
dec3fab6 589 flowValue[binGFC8-1] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);
590 flowError[binGFC8-1] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinError(1);
591 flowValueRP[binGFC8RP-1] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
592 flowErrorRP[binGFC8RP-1] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
593 flowValuePOI[binGFC8POI-1] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
594 flowErrorPOI[binGFC8POI-1] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 595 }
596 }
9d3cbee7 597 }
1fca9c90 598
8c5ec46a 599 //QC = Q-cumulants
600 TList *pListQC = NULL;
601 AliFlowCommonHist *qcCommonHist2 = NULL;
602 AliFlowCommonHist *qcCommonHist4 = NULL;
603 AliFlowCommonHist *qcCommonHist6 = NULL;
604 AliFlowCommonHist *qcCommonHist8 = NULL;
605 AliFlowCommonHistResults *qcCommonHistRes2 = NULL;
606 AliFlowCommonHistResults *qcCommonHistRes4 = NULL;
607 AliFlowCommonHistResults *qcCommonHistRes6 = NULL;
608 AliFlowCommonHistResults *qcCommonHistRes8 = NULL;
609
610 if(fileQC) {
611 fileQC->GetObject("cobjQC",pListQC);
612 if(pListQC) {
613 qcCommonHist2 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist2ndOrderQC"));
614 qcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
615 if(qcCommonHistRes2) {
dec3fab6 616 flowValue[binQC2-1] = (qcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);
cad7c05a 617 flowError[binQC2-1] = (qcCommonHistRes2->GetHistIntFlow())->GetBinError(1);
dec3fab6 618 flowValueRP[binQC2RP-1] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
549112ad 619 flowErrorRP[binQC2RP-1] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
dec3fab6 620 flowValuePOI[binQC2POI-1] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
549112ad 621 flowErrorPOI[binQC2POI-1] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 622 }
623 qcCommonHist4 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist4thOrderQC"));
624 qcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
625 if(qcCommonHistRes4) {
dec3fab6 626 flowValue[binQC4-1] = (qcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);
f90b7aa7 627 flowError[binQC4-1] = (qcCommonHistRes4->GetHistIntFlow())->GetBinError(1);
dec3fab6 628 flowValueRP[binQC4RP-1] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
1a0712a7 629 flowErrorRP[binQC4RP-1] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
dec3fab6 630 flowValuePOI[binQC4POI-1] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
1a0712a7 631 flowErrorPOI[binQC4POI-1] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 632 }
633 qcCommonHist6 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist6thOrderQC"));
634 qcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
635 if(qcCommonHistRes6) {
dec3fab6 636 flowValue[binQC6-1] = (qcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);
f90b7aa7 637 flowError[binQC6-1] = (qcCommonHistRes6->GetHistIntFlow())->GetBinError(1);
dec3fab6 638 flowValueRP[binQC6RP-1] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
639 //flowErrorRP[binQC6RP-1] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
640 flowValuePOI[binQC6POI-1] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
641 //flowErrorPOI[binQC6POI-1] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 642 }
643 qcCommonHist8 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist8thOrderQC"));
644 qcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
645 if(qcCommonHistRes8) {
dec3fab6 646 flowValue[binQC8-1] = (qcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);
63911185 647 flowError[binQC8-1] = (qcCommonHistRes8->GetHistIntFlow())->GetBinError(1);
dec3fab6 648 flowValueRP[binQC8RP-1] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
649 //flowErrorRP[binQC8RP-1] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
650 flowValuePOI[binQC8POI-1] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
651 //flowErrorPOI[binQC8POI-1] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
8c5ec46a 652 }
653 }
654 }
655
dec3fab6 656 // ranges on y-axis for 'no-name' plot:
657 Double_t dMax=flowValue[binMC-1]+flowError[binMC-1];
658 Double_t dMin=flowValue[binMC-1]-flowError[binMC-1];
8c5ec46a 659
660 for(Int_t i=1;i<nMethods;i++) {
661 if(!(flowValue[i]==0. && flowError[i]==0.)) {
662 if(dMax<flowValue[i]+flowError[i]) dMax=flowValue[i]+flowError[i];
663 if(dMin>flowValue[i]-flowError[i]) dMin=flowValue[i]-flowError[i];
664 }
665 }
a88e5ac2 666
dec3fab6 667 // ranges on y-axis for RP plot:
668 Double_t dMaxRP=flowValueRP[binMCRP-1]+flowErrorRP[binMCRP-1];
669 Double_t dMinRP=flowValueRP[binMCRP-1]-flowErrorRP[binMCRP-1];
8c5ec46a 670
671 for(Int_t i=1;i<nMethods;i++) {
672 if(!(flowValueRP[i]==0. && flowErrorRP[i]==0.)) {
673 if(dMaxRP<flowValueRP[i]+flowErrorRP[i]) dMaxRP=flowValueRP[i]+flowErrorRP[i];
674 if(dMinRP>flowValueRP[i]-flowErrorRP[i]) dMinRP=flowValueRP[i]-flowErrorRP[i];
675 }
676 }
1fca9c90 677
dec3fab6 678 // ranges on y-axis for POI plot:
679 Double_t dMaxPOI=flowValuePOI[binMCPOI-1]+flowErrorPOI[binMCPOI-1];
680 Double_t dMinPOI=flowValuePOI[binMCPOI-1]-flowErrorPOI[binMCPOI-1];
a88e5ac2 681
8c5ec46a 682 for(Int_t i=1;i<nMethods;i++) {
683 if(!(flowValuePOI[i]==0. && flowErrorPOI[i]==0.)) {
684 if(dMaxPOI<flowValuePOI[i]+flowErrorPOI[i]) dMaxPOI=flowValuePOI[i]+flowErrorPOI[i];
685 if(dMinPOI>flowValuePOI[i]-flowErrorPOI[i]) dMinPOI=flowValuePOI[i]-flowErrorPOI[i];
686 }
687 }
688
dec3fab6 689 // no-name:
8c5ec46a 690 TGraph* flowResults = new TGraphErrors(nMethods, x, flowValue, xError, flowError);
8c5ec46a 691 flowResults->SetMarkerStyle(markerStyle);
692 flowResults->SetMarkerColor(markerColor);
1fca9c90 693
dec3fab6 694 // RP:
3963f25c 695 TGraph* flowResultsRP = new TGraphErrors(nMethods, x, flowValueRP, xError, flowErrorRP);
dec3fab6 696 flowResultsRP->SetMarkerStyle(markerStyleRP);
697 flowResultsRP->SetMarkerColor(markerColorRP);
8c5ec46a 698
dec3fab6 699 // POI:
8c5ec46a 700 TGraph* flowResultsPOI = new TGraphErrors(nMethods, x, flowValuePOI, xError, flowErrorPOI);
dec3fab6 701 flowResultsPOI->SetMarkerStyle(markerStylePOI);
702 flowResultsPOI->SetMarkerColor(markerColorPOI);
077816b6 703
704 // for plot |v{MC}-v{method}/v{MC}|
705 // no-name, RP and POI
706 Double_t flowRelativeToMC[nMethods] = {0.};
707 Double_t flowRelativeToMCError[nMethods] = {0.};
708 Double_t flowRelativeToMCRP[nMethods] = {0.};
709 Double_t flowRelativeToMCErrorRP[nMethods] = {0.};
710 Double_t flowRelativeToMCPOI[nMethods] = {0.};
711 Double_t flowRelativeToMCErrorPOI[nMethods] = {0.};
712 flowRelativeToMC[0] = 0.; // MC relative to itself (to be improved)
713 flowRelativeToMCRP[0] = 0.; // MC relative to itself (to be improved)
714 flowRelativeToMCPOI[0] = 0.; // MC relative to itself (to be improved)
715 for(Int_t i=1;i<nMethods;i++)
716 {
717 if(flowValue[0] != 0)
718 {
719 if(flowValue[i] != 0) flowRelativeToMC[i] = (flowValue[i]-flowValue[0])/(flowValue[0]);
720 if(flowError[i] != 0) flowRelativeToMCError[i] = flowError[i]/flowValue[0];
721 }
722 if(flowValueRP[0] != 0)
723 {
724 if(flowValueRP[i] != 0) flowRelativeToMCRP[i] = (flowValueRP[i]-flowValueRP[0])/(flowValueRP[0]);
725 if(flowErrorRP[i] != 0) flowRelativeToMCErrorRP[i] = flowErrorRP[i]/flowValueRP[0];
726 }
727 if(flowValuePOI[0] != 0)
728 {
729 if(flowValuePOI[i] != 0) flowRelativeToMCPOI[i] = (flowValuePOI[i]-flowValuePOI[0])/(flowValuePOI[0]);
730 if(flowErrorPOI[i] != 0) flowRelativeToMCErrorPOI[i] = flowErrorPOI[i]/flowValuePOI[0];
731 }
732 } // for(Int_t i=1;i<nMethods;i++)
733
734 // integrated flow (no-name) relative to MC:
735 TGraph* flowResultsRelativeToMC = new TGraphErrors(nMethods, x, flowRelativeToMC, xError, flowRelativeToMCError);
736 flowResultsRelativeToMC->SetMarkerStyle(markerStyle);
737 flowResultsRelativeToMC->SetMarkerColor(markerColor);
738
739 // integrated flow (RP) relative to MC:
740 TGraph* flowResultsRelativeToMCRP = new TGraphErrors(nMethods, x, flowRelativeToMCRP, xError, flowRelativeToMCErrorRP);
741 flowResultsRelativeToMCRP->SetMarkerStyle(markerStyleRP);
742 flowResultsRelativeToMCRP->SetMarkerColor(markerColorRP);
743
744 // integrated flow (POI) relative to MC:
745 TGraph* flowResultsRelativeToMCPOI = new TGraphErrors(nMethods, x, flowRelativeToMCPOI, xError, flowRelativeToMCErrorPOI);
746 flowResultsRelativeToMCPOI->SetMarkerStyle(markerStylePOI);
747 flowResultsRelativeToMCPOI->SetMarkerColor(markerColorPOI);
8c5ec46a 748 //-----------------------------------------------------------------------------------
749
750 //----------------------------------------------------------------------------------
dec3fab6 751 // cosmetics: mesh for MC error bands (integrated flow)
3963f25c 752 TGraph* pMesh = NULL;
8c5ec46a 753 TGraph* pMeshRP = NULL;
754 TGraph* pMeshPOI = NULL;
755
756 if(intFlowAll && mcepCommonHistRes) {
8c5ec46a 757 Int_t nPts = nMethods;
dec3fab6 758 Double_t valueMC = flowValue[binMC-1];
759 Double_t errorMC = flowError[binMC-1];
760 Double_t valueMCRP = flowValueRP[binMCRP-1];
761 Double_t errorMCRP = flowErrorRP[binMCRP-1];
762 Double_t valueMCPOI = flowValuePOI[binMCPOI-1];
763 Double_t errorMCPOI = flowErrorPOI[binMCPOI-1];
8c5ec46a 764
3963f25c 765 pMesh = new TGraph(nPts);
8c5ec46a 766 pMeshRP = new TGraph(nPts);
767 pMeshPOI = new TGraph(nPts);
768
dec3fab6 769 // no-name:
8c5ec46a 770 pMesh->SetPoint(1,0,valueMC+errorMC);
771 pMesh->SetPoint(2,nPts+1,valueMC+errorMC);
772 pMesh->SetPoint(3,nPts+1,valueMC-errorMC);
773 pMesh->SetPoint(4,0,valueMC-errorMC);
3963f25c 774 pMesh->SetPoint(5,0,valueMC+errorMC);
8c5ec46a 775 pMesh->SetFillStyle(meshStyle);
776 pMesh->SetFillColor(meshColor);
3963f25c 777
dec3fab6 778 // RP:
8c5ec46a 779 pMeshRP->SetPoint(1,0,valueMCRP+errorMCRP);
780 pMeshRP->SetPoint(2,nPts+1,valueMCRP+errorMCRP);
781 pMeshRP->SetPoint(3,nPts+1,valueMCRP-errorMCRP);
782 pMeshRP->SetPoint(4,0,valueMCRP-errorMCRP);
3963f25c 783 pMeshRP->SetPoint(5,0,valueMCRP+errorMCRP);
dec3fab6 784 pMeshRP->SetFillStyle(meshStyleRP);
785 pMeshRP->SetFillColor(meshColorRP);
8c5ec46a 786
dec3fab6 787 // POI:
8c5ec46a 788 pMeshPOI->SetPoint(1,0,valueMCPOI+errorMCPOI);
789 pMeshPOI->SetPoint(2,nPts+1,valueMCPOI+errorMCPOI);
790 pMeshPOI->SetPoint(3,nPts+1,valueMCPOI-errorMCPOI);
791 pMeshPOI->SetPoint(4,0,valueMCPOI-errorMCPOI);
3963f25c 792 pMeshPOI->SetPoint(5,0,valueMCPOI+errorMCPOI);
dec3fab6 793 pMeshPOI->SetFillStyle(meshStylePOI);
794 pMeshPOI->SetFillColor(meshColorPOI);
8c5ec46a 795 }
796 //----------------------------------------------------------------------------------
1fca9c90 797
1fca9c90 798
8c5ec46a 799 //----------------------------------------------------------------------------------
800 //cosmetics: text (integrated flow)
801 //default text:
802 TPaveText *textDefault = new TPaveText(0.05,0.77,0.95,0.90,"NDC");
803 textDefault->SetTextFont(72);
804 textDefault->SetTextSize(0.08);
8c5ec46a 805
806 TString *entryDefaultAvM = new TString("Average Multiplicity");
807 TString *entryDefaultAnd = new TString("and");
808 TString *entryDefaultNumOfEvts = new TString("Number of Events:");
809
810 textDefault->AddText(entryDefaultAvM->Data());
811 textDefault->AddText(entryDefaultAnd->Data());
812 textDefault->AddText(entryDefaultNumOfEvts->Data());
813
dec3fab6 814 // results (no-name):
3963f25c 815 TPaveText *textResults = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
816 textResults->SetTextFont(72);
817 textResults->SetTextSize(0.06);
8c5ec46a 818
dec3fab6 819 // results (RP):
8c5ec46a 820 TPaveText *textResultsRP = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
821 textResultsRP->SetTextFont(72);
822 textResultsRP->SetTextSize(0.06);
823
dec3fab6 824 // results (POI):
8c5ec46a 825 TPaveText *textResultsPOI = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
826 textResultsPOI->SetTextFont(72);
827 textResultsPOI->SetTextSize(0.06);
828
dec3fab6 829 // no-name:
947cc449 830 TString *entryMC = new TString("MC ........ ");
831 TString *entrySP = new TString("SP ........ ");
832 TString *entryGFC = new TString("GFC ....... ");
833 TString *entryQC2 = new TString("QC{2} ..... ");
834 TString *entryQC4 = new TString("QC{4} ..... ");
835 TString *entryQC6 = new TString("QC{6} ..... ");
836 TString *entryQC8 = new TString("QC{8} ..... ");
837 TString *entryFQD = new TString("FQD ....... ");
838 TString *entryLYZ1SUM = new TString("LYZ{sum} .. ");
839 TString *entryLYZ1PROD = new TString("LYZ{prod} . ");
840 TString *entryLYZEP = new TString("LYZEP ..... ");
8c5ec46a 841
dec3fab6 842 // RP:
947cc449 843 TString *entryMCRP = new TString("MC ........ ");
844 TString *entrySPRP = new TString("SP ........ ");
845 TString *entryGFCRP = new TString("GFC ....... ");
846 TString *entryQC2RP = new TString("QC{2} ..... ");
847 TString *entryQC4RP = new TString("QC{4} ..... ");
848 TString *entryQC6RP = new TString("QC{6} ..... ");
849 TString *entryQC8RP = new TString("QC{8} ..... ");
850 TString *entryFQDRP = new TString("FQD ....... ");
851 TString *entryLYZ1SUMRP = new TString("LYZ{sum} .. ");
852 TString *entryLYZ1PRODRP = new TString("LYZ{prod} . ");
853 TString *entryLYZEPRP = new TString("LYZEP ..... ");
854
dec3fab6 855 // POI:
947cc449 856 TString *entryMCPOI = new TString("MC ........ ");
857 TString *entrySPPOI = new TString("SP ........ ");
858 TString *entryGFCPOI = new TString("GFC ....... ");
859 TString *entryQC2POI = new TString("QC{2} ..... ");
860 TString *entryQC4POI = new TString("QC{4} ..... ");
861 TString *entryQC6POI = new TString("QC{6} ..... ");
862 TString *entryQC8POI = new TString("QC{8} ..... ");
863 TString *entryFQDPOI = new TString("FQD ....... ");
864 TString *entryLYZ1SUMPOI = new TString("LYZ{sum} .. ");
865 TString *entryLYZ1PRODPOI = new TString("LYZ{prod} . ");
866 TString *entryLYZEPPOI = new TString("LYZEP ..... ");
8c5ec46a 867
dec3fab6 868 // no-name:
8c5ec46a 869 Double_t avMultMC=0.;
870 Long_t nEvtsMC=0;
905bed86 871 Double_t avMultSP=0.;
872 Long_t nEvtsSP=0;
8c5ec46a 873 Double_t avMultGFC=0.;
874 Long_t nEvtsGFC=0;
8c5ec46a 875 Double_t avMultQC2=0., avMultQC4=0., avMultQC6=0., avMultQC8=0.;
876 Long_t nEvtsQC2=0, nEvtsQC4=0, nEvtsQC6=0, nEvtsQC8=0;
8c5ec46a 877 Double_t avMultFQD=0.;
878 Long_t nEvtsFQD=0;
947cc449 879 Double_t avMultLYZ1SUM=0.;
880 Long_t nEvtsLYZ1SUM=0;
881 Double_t avMultLYZ1PROD=0.;
882 Long_t nEvtsLYZ1PROD=0;
8c5ec46a 883 Double_t avMultLYZEP=0.;
884 Long_t nEvtsLYZEP=0;
8c5ec46a 885
dec3fab6 886 // RP:
8c5ec46a 887 Double_t avMultMCRP=0.;
888 Long_t nEvtsMCRP=0;
905bed86 889 Double_t avMultSPRP=0.;
890 Long_t nEvtsSPRP=0;
8c5ec46a 891 Double_t avMultGFCRP=0.;
892 Long_t nEvtsGFCRP=0;
8c5ec46a 893 Double_t avMultQC2RP=0., avMultQC4RP=0., avMultQC6RP=0., avMultQC8RP=0.;
894 Long_t nEvtsQC2RP=0, nEvtsQC4RP=0, nEvtsQC6RP=0, nEvtsQC8RP=0;
8c5ec46a 895 Double_t avMultFQDRP=0.;
896 Long_t nEvtsFQDRP=0;
947cc449 897 Double_t avMultLYZ1SUMRP=0.;
898 Long_t nEvtsLYZ1SUMRP=0;
899 Double_t avMultLYZ1PRODRP=0.;
900 Long_t nEvtsLYZ1PRODRP=0;
8c5ec46a 901 Double_t avMultLYZEPRP=0.;
902 Long_t nEvtsLYZEPRP=0;
903
dec3fab6 904 // POI:
8c5ec46a 905 Double_t avMultMCPOI=0.;
906 Long_t nEvtsMCPOI=0;
905bed86 907 Double_t avMultSPPOI=0.;
908 Long_t nEvtsSPPOI=0;
8c5ec46a 909 Double_t avMultGFCPOI=0.;
910 Long_t nEvtsGFCPOI=0;
8c5ec46a 911 Double_t avMultQC2POI=0., avMultQC4POI=0., avMultQC6POI=0., avMultQC8POI=0.;
912 Long_t nEvtsQC2POI=0, nEvtsQC4POI=0, nEvtsQC6POI=0, nEvtsQC8POI=0;
8c5ec46a 913 Double_t avMultFQDPOI=0.;
914 Long_t nEvtsFQDPOI=0;
947cc449 915 Double_t avMultLYZ1SUMPOI=0.;
916 Long_t nEvtsLYZ1SUMPOI=0;
917 Double_t avMultLYZ1PRODPOI=0.;
918 Long_t nEvtsLYZ1PRODPOI=0;
8c5ec46a 919 Double_t avMultLYZEPPOI=0.;
920 Long_t nEvtsLYZEPPOI=0;
921
dec3fab6 922 // MC:
8c5ec46a 923 if(mcepCommonHist) {
6a1a854d 924 avMultMC = (mcepCommonHist->GetHistMultRP())->GetMean();
925 nEvtsMC = (mcepCommonHist->GetHistMultRP())->GetEntries();
926 avMultMCRP = (mcepCommonHist->GetHistMultRP())->GetMean();
927 nEvtsMCRP = (mcepCommonHist->GetHistMultRP())->GetEntries();
928 avMultMCPOI = (mcepCommonHist->GetHistMultPOI())->GetMean();
929 nEvtsMCPOI = (mcepCommonHist->GetHistMultPOI())->GetEntries();
8c5ec46a 930 }
3963f25c 931
8c5ec46a 932 if(entryMC) {
933 entryMC->Append("M = ");
934 (*entryMC)+=(Long_t)avMultMC;
935 entryMC->Append(", N = ");
936 (*entryMC)+=(Long_t)nEvtsMC;
937 }
3963f25c 938
8c5ec46a 939 if(entryMCRP) {
940 entryMCRP->Append("M = ");
941 (*entryMCRP)+=(Long_t)avMultMCRP;
942 entryMCRP->Append(", N = ");
943 (*entryMCRP)+=(Long_t)nEvtsMCRP;
944 }
3963f25c 945
946 if(entryMCPOI) {
8c5ec46a 947 entryMCPOI->Append("M = ");
948 (*entryMCPOI)+=(Long_t)avMultMCPOI;
949 entryMCPOI->Append(", N = ");
950 (*entryMCPOI)+=(Long_t)nEvtsMCPOI;
3963f25c 951 }
1fca9c90 952
dec3fab6 953 // SP:
905bed86 954 if(spCommonHist) {
6a1a854d 955 avMultSP = (spCommonHist->GetHistMultRP())->GetMean();
956 nEvtsSP = (spCommonHist->GetHistMultRP())->GetEntries();
957 avMultSPRP = (spCommonHist->GetHistMultRP())->GetMean();
958 nEvtsSPRP = (spCommonHist->GetHistMultRP())->GetEntries();
959 avMultSPPOI = (spCommonHist->GetHistMultPOI())->GetMean();
960 nEvtsSPPOI = (spCommonHist->GetHistMultPOI())->GetEntries();
905bed86 961 }
962
963 if(entrySP) {
964 entrySP->Append("M = ");
965 (*entrySP)+=(Long_t)avMultSP;
966 entrySP->Append(", N = ");
967 (*entrySP)+=(Long_t)nEvtsSP;
968 }
969
970 if(entrySPRP) {
971 entrySPRP->Append("M = ");
972 (*entrySPRP)+=(Long_t)avMultSPRP;
973 entrySPRP->Append(", N = ");
974 (*entrySPRP)+=(Long_t)nEvtsSPRP;
975 }
976
977 if(entrySPPOI) {
978 entrySPPOI->Append("M = ");
979 (*entrySPPOI)+=(Long_t)avMultSPPOI;
980 entrySPPOI->Append(", N = ");
981 (*entrySPPOI)+=(Long_t)nEvtsSPPOI;
982 }
983
dec3fab6 984 // GFC:
8c5ec46a 985 if(gfcCommonHist) {
6a1a854d 986 avMultGFC = (gfcCommonHist->GetHistMultRP())->GetMean();
987 nEvtsGFC = (gfcCommonHist->GetHistMultRP())->GetEntries();
988 avMultGFCRP = (gfcCommonHist->GetHistMultRP())->GetMean();
989 nEvtsGFCRP = (gfcCommonHist->GetHistMultRP())->GetEntries();
990 avMultGFCPOI = (gfcCommonHist->GetHistMultPOI())->GetMean();
991 nEvtsGFCPOI = (gfcCommonHist->GetHistMultPOI())->GetEntries();
a88e5ac2 992 }
3963f25c 993
8c5ec46a 994 if(entryGFC) {
995 entryGFC->Append("M = ");
996 (*entryGFC)+=(Long_t)avMultGFC;
997 entryGFC->Append(", N = ");
998 (*entryGFC)+=(Long_t)nEvtsGFC;
a88e5ac2 999 }
3963f25c 1000
8c5ec46a 1001 if(entryGFCRP) {
1002 entryGFCRP->Append("M = ");
1003 (*entryGFCRP)+=(Long_t)avMultGFCRP;
1004 entryGFCRP->Append(", N = ");
1005 (*entryGFCRP)+=(Long_t)nEvtsGFCRP;
1fca9c90 1006 }
8c5ec46a 1007 if(entryGFCPOI) {
1008 entryGFCPOI->Append("M = ");
1009 (*entryGFCPOI)+=(Long_t)avMultGFCPOI;
1010 entryGFCPOI->Append(", N = ");
1011 (*entryGFCPOI)+=(Long_t)nEvtsGFCPOI;
1fca9c90 1012 }
a88e5ac2 1013
dec3fab6 1014 // QC:
8c5ec46a 1015 if(qcCommonHist2) {
6a1a854d 1016 avMultQC2 = (qcCommonHist2->GetHistMultRP())->GetMean();
1017 nEvtsQC2 = (qcCommonHist2->GetHistMultRP())->GetEntries();
1018 avMultQC2RP = (qcCommonHist2->GetHistMultRP())->GetMean();
1019 nEvtsQC2RP = (qcCommonHist2->GetHistMultRP())->GetEntries();
1020 avMultQC2POI = (qcCommonHist2->GetHistMultPOI())->GetMean();
1021 nEvtsQC2POI = (qcCommonHist2->GetHistMultPOI())->GetEntries();
1fca9c90 1022 }
3963f25c 1023
a88e5ac2 1024 if(entryQC2)
1025 {
70288839 1026 entryQC2->Append("M = ");
1027 (*entryQC2)+=(Long_t)avMultQC2;
1028 entryQC2->Append(", N = ");
1029 (*entryQC2)+=(Long_t)nEvtsQC2;
70288839 1030 }
3963f25c 1031
1fca9c90 1032 if(entryQC2RP)
1033 {
1034 entryQC2RP->Append("M = ");
1035 (*entryQC2RP)+=(Long_t)avMultQC2RP;
1036 entryQC2RP->Append(", N = ");
1037 (*entryQC2RP)+=(Long_t)nEvtsQC2RP;
1038 }
3963f25c 1039
1fca9c90 1040 if(entryQC2POI)
1041 {
1042 entryQC2POI->Append("M = ");
1043 (*entryQC2POI)+=(Long_t)avMultQC2POI;
1044 entryQC2POI->Append(", N = ");
1045 (*entryQC2POI)+=(Long_t)nEvtsQC2POI;
1046 }
1047
70288839 1048 if(qcCommonHist4)
1049 {
6a1a854d 1050 avMultQC4 = (qcCommonHist4->GetHistMultRP())->GetMean();
1051 nEvtsQC4 = (qcCommonHist4->GetHistMultRP())->GetEntries();
1052 avMultQC4RP = (qcCommonHist4->GetHistMultRP())->GetMean();
1053 nEvtsQC4RP = (qcCommonHist4->GetHistMultRP())->GetEntries();
1054 avMultQC4POI = (qcCommonHist4->GetHistMultPOI())->GetMean();
1055 nEvtsQC4POI = (qcCommonHist4->GetHistMultPOI())->GetEntries();
a88e5ac2 1056 }
3963f25c 1057
a88e5ac2 1058 if(entryQC4)
1059 {
70288839 1060 entryQC4->Append("M = ");
1061 (*entryQC4)+=(Long_t)avMultQC4;
1062 entryQC4->Append(", N = ");
1063 (*entryQC4)+=(Long_t)nEvtsQC4;
70288839 1064 }
3963f25c 1065
1fca9c90 1066 if(entryQC4RP)
1067 {
1068 entryQC4RP->Append("M = ");
1069 (*entryQC4RP)+=(Long_t)avMultQC4RP;
1070 entryQC4RP->Append(", N = ");
1071 (*entryQC4RP)+=(Long_t)nEvtsQC4RP;
1072 }
3963f25c 1073
1fca9c90 1074 if(entryQC4POI)
1075 {
1076 entryQC4POI->Append("M = ");
1077 (*entryQC4POI)+=(Long_t)avMultQC4POI;
1078 entryQC4POI->Append(", N = ");
1079 (*entryQC4POI)+=(Long_t)nEvtsQC4POI;
1080 }
1081
a88e5ac2 1082 if(qcCommonHist6)
1083 {
6a1a854d 1084 avMultQC6 = (qcCommonHist6->GetHistMultRP())->GetMean();
1085 nEvtsQC6 = (qcCommonHist6->GetHistMultRP())->GetEntries();
1086 avMultQC6RP = (qcCommonHist6->GetHistMultRP())->GetMean();
1087 nEvtsQC6RP = (qcCommonHist6->GetHistMultRP())->GetEntries();
1088 avMultQC6POI = (qcCommonHist6->GetHistMultPOI())->GetMean();
1089 nEvtsQC6POI = (qcCommonHist6->GetHistMultPOI())->GetEntries();
a88e5ac2 1090 }
3963f25c 1091
a88e5ac2 1092 if(entryQC6)
1093 {
1094 entryQC6->Append("M = ");
1095 (*entryQC6)+=(Long_t)avMultQC6;
1096 entryQC6->Append(", N = ");
1097 (*entryQC6)+=(Long_t)nEvtsQC6;
1098 }
3963f25c 1099
1fca9c90 1100 if(entryQC6RP)
1101 {
1102 entryQC6RP->Append("M = ");
1103 (*entryQC6RP)+=(Long_t)avMultQC6RP;
1104 entryQC6RP->Append(", N = ");
1105 (*entryQC6RP)+=(Long_t)nEvtsQC6RP;
1106 }
3963f25c 1107
1fca9c90 1108 if(entryQC6POI)
1109 {
1110 entryQC6POI->Append("M = ");
1111 (*entryQC6POI)+=(Long_t)avMultQC6POI;
1112 entryQC6POI->Append(", N = ");
1113 (*entryQC6POI)+=(Long_t)nEvtsQC6POI;
1114 }
1115
a88e5ac2 1116 if(qcCommonHist8)
1117 {
6a1a854d 1118 avMultQC8 = (qcCommonHist8->GetHistMultRP())->GetMean();
1119 nEvtsQC8 = (qcCommonHist8->GetHistMultRP())->GetEntries();
1120 avMultQC8RP = (qcCommonHist8->GetHistMultRP())->GetMean();
1121 nEvtsQC8RP = (qcCommonHist8->GetHistMultRP())->GetEntries();
1122 avMultQC8POI = (qcCommonHist8->GetHistMultPOI())->GetMean();
1123 nEvtsQC8POI = (qcCommonHist8->GetHistMultPOI())->GetEntries();
a88e5ac2 1124 }
3963f25c 1125
a88e5ac2 1126 if(entryQC8)
1127 {
1128 entryQC8->Append("M = ");
1129 (*entryQC8)+=(Long_t)avMultQC8;
1130 entryQC8->Append(", N = ");
1131 (*entryQC8)+=(Long_t)nEvtsQC8;
1132 }
3963f25c 1133
1fca9c90 1134 if(entryQC8RP)
1135 {
1136 entryQC8RP->Append("M = ");
1137 (*entryQC8RP)+=(Long_t)avMultQC8RP;
1138 entryQC8RP->Append(", N = ");
1139 (*entryQC8RP)+=(Long_t)nEvtsQC8RP;
1140 }
3963f25c 1141
1fca9c90 1142 if(entryQC8POI)
1143 {
1144 entryQC8POI->Append("M = ");
1145 (*entryQC8POI)+=(Long_t)avMultQC8POI;
1146 entryQC8POI->Append(", N = ");
1147 (*entryQC8POI)+=(Long_t)nEvtsQC8POI;
1148 }
1149
dec3fab6 1150 // FQD:
a88e5ac2 1151 if(fqdCommonHist)
1152 {
6a1a854d 1153 avMultFQD = (fqdCommonHist->GetHistMultRP())->GetMean();
1154 nEvtsFQD = (fqdCommonHist->GetHistMultRP())->GetEntries();
1155 avMultFQDRP = (fqdCommonHist->GetHistMultRP())->GetMean();
1156 nEvtsFQDRP = (fqdCommonHist->GetHistMultRP())->GetEntries();
1157 avMultFQDPOI = (fqdCommonHist->GetHistMultPOI())->GetMean();
1158 nEvtsFQDPOI = (fqdCommonHist->GetHistMultPOI())->GetEntries();
a88e5ac2 1159 }
3963f25c 1160
a88e5ac2 1161 if(entryFQD)
1162 {
1163 entryFQD->Append("M = ");
1164 (*entryFQD)+=(Long_t)avMultFQD;
1165 entryFQD->Append(", N = ");
1166 (*entryFQD)+=(Long_t)nEvtsFQD;
1167 }
3963f25c 1168
1fca9c90 1169 if(entryFQDRP)
1170 {
1171 entryFQDRP->Append("M = ");
1172 (*entryFQDRP)+=(Long_t)avMultFQDRP;
1173 entryFQDRP->Append(", N = ");
1174 (*entryFQDRP)+=(Long_t)nEvtsFQDRP;
1175 }
3963f25c 1176
1fca9c90 1177 if(entryFQDPOI)
1178 {
1179 entryFQDPOI->Append("M = ");
1180 (*entryFQDPOI)+=(Long_t)avMultFQDPOI;
1181 entryFQDPOI->Append(", N = ");
1182 (*entryFQDPOI)+=(Long_t)nEvtsFQDPOI;
1183 }
1184
947cc449 1185 // LYZ1SUM:
1186 if(lyz1sumCommonHist)
1187 {
1188 avMultLYZ1SUM = (lyz1sumCommonHist->GetHistMultRP())->GetMean();
1189 nEvtsLYZ1SUM = (lyz1sumCommonHist->GetHistMultRP())->GetEntries();
1190 avMultLYZ1SUMRP = (lyz1sumCommonHist->GetHistMultRP())->GetMean();
1191 nEvtsLYZ1SUMRP = (lyz1sumCommonHist->GetHistMultRP())->GetEntries();
1192 avMultLYZ1SUMPOI = (lyz1sumCommonHist->GetHistMultPOI())->GetMean();
1193 nEvtsLYZ1SUMPOI = (lyz1sumCommonHist->GetHistMultPOI())->GetEntries();
1194 }
1195
1196 if(entryLYZ1SUM)
a88e5ac2 1197 {
947cc449 1198 entryLYZ1SUM->Append("M = ");
1199 (*entryLYZ1SUM)+=(Long_t)avMultLYZ1SUM;
1200 entryLYZ1SUM->Append(", N = ");
1201 (*entryLYZ1SUM)+=(Long_t)nEvtsLYZ1SUM;
a88e5ac2 1202 }
3963f25c 1203
947cc449 1204 if(entryLYZ1SUMRP)
a88e5ac2 1205 {
947cc449 1206 entryLYZ1SUMRP->Append("M = ");
1207 (*entryLYZ1SUMRP)+=(Long_t)avMultLYZ1SUMRP;
1208 entryLYZ1SUMRP->Append(", N = ");
1209 (*entryLYZ1SUMRP)+=(Long_t)nEvtsLYZ1SUMRP;
a88e5ac2 1210 }
3963f25c 1211
947cc449 1212 if(entryLYZ1SUMPOI)
1213 {
1214 entryLYZ1SUMPOI->Append("M = ");
1215 (*entryLYZ1SUMPOI)+=(Long_t)avMultLYZ1SUMPOI;
1216 entryLYZ1SUMPOI->Append(", N = ");
1217 (*entryLYZ1SUMPOI)+=(Long_t)nEvtsLYZ1SUMPOI;
1218 }
1219
1220 // LYZ1PROD:
1221 if(lyz1prodCommonHist)
1222 {
1223 avMultLYZ1PROD = (lyz1prodCommonHist->GetHistMultRP())->GetMean();
1224 nEvtsLYZ1PROD = (lyz1prodCommonHist->GetHistMultRP())->GetEntries();
1225 avMultLYZ1PRODRP = (lyz1prodCommonHist->GetHistMultRP())->GetMean();
1226 nEvtsLYZ1PRODRP = (lyz1prodCommonHist->GetHistMultRP())->GetEntries();
1227 avMultLYZ1PRODPOI = (lyz1prodCommonHist->GetHistMultPOI())->GetMean();
1228 nEvtsLYZ1PRODPOI = (lyz1prodCommonHist->GetHistMultPOI())->GetEntries();
1229 }
1230
1231 if(entryLYZ1PROD)
1fca9c90 1232 {
947cc449 1233 entryLYZ1PROD->Append("M = ");
1234 (*entryLYZ1PROD)+=(Long_t)avMultLYZ1PROD;
1235 entryLYZ1PROD->Append(", N = ");
1236 (*entryLYZ1PROD)+=(Long_t)nEvtsLYZ1PROD;
1fca9c90 1237 }
3963f25c 1238
947cc449 1239 if(entryLYZ1PRODRP)
1fca9c90 1240 {
947cc449 1241 entryLYZ1PRODRP->Append("M = ");
1242 (*entryLYZ1PRODRP)+=(Long_t)avMultLYZ1PRODRP;
1243 entryLYZ1PRODRP->Append(", N = ");
1244 (*entryLYZ1PRODRP)+=(Long_t)nEvtsLYZ1PRODRP;
1fca9c90 1245 }
70288839 1246
947cc449 1247 if(entryLYZ1PRODPOI)
1248 {
1249 entryLYZ1PRODPOI->Append("M = ");
1250 (*entryLYZ1PRODPOI)+=(Long_t)avMultLYZ1PRODPOI;
1251 entryLYZ1PRODPOI->Append(", N = ");
1252 (*entryLYZ1PRODPOI)+=(Long_t)nEvtsLYZ1PRODPOI;
1253 }
1254
dec3fab6 1255 // LYZEP:
a88e5ac2 1256 if(lyzepCommonHist)
70288839 1257 {
6a1a854d 1258 avMultLYZEP = (lyzepCommonHist->GetHistMultRP())->GetMean();
1259 nEvtsLYZEP = (lyzepCommonHist->GetHistMultRP())->GetEntries();
1260 avMultLYZEPRP = (lyzepCommonHist->GetHistMultRP())->GetMean();
1261 nEvtsLYZEPRP = (lyzepCommonHist->GetHistMultRP())->GetEntries();
1262 avMultLYZEPPOI = (lyzepCommonHist->GetHistMultPOI())->GetMean();
1263 nEvtsLYZEPPOI = (lyzepCommonHist->GetHistMultPOI())->GetEntries();
70288839 1264 }
3963f25c 1265
947cc449 1266
a88e5ac2 1267 if(entryLYZEP)
70288839 1268 {
a88e5ac2 1269 entryLYZEP->Append("M = ");
1270 (*entryLYZEP)+=(Long_t)avMultLYZEP;
1271 entryLYZEP->Append(", N = ");
1272 (*entryLYZEP)+=(Long_t)nEvtsLYZEP;
70288839 1273 }
3963f25c 1274
1fca9c90 1275 if(entryLYZEPRP)
1276 {
1277 entryLYZEPRP->Append("M = ");
1278 (*entryLYZEPRP)+=(Long_t)avMultLYZEPRP;
1279 entryLYZEPRP->Append(", N = ");
1280 (*entryLYZEPRP)+=(Long_t)nEvtsLYZEPRP;
1281 }
3963f25c 1282
1fca9c90 1283 if(entryLYZEPPOI)
1284 {
1285 entryLYZEPPOI->Append("M = ");
1286 (*entryLYZEPPOI)+=(Long_t)avMultLYZEPPOI;
1287 entryLYZEPPOI->Append(", N = ");
1288 (*entryLYZEPPOI)+=(Long_t)nEvtsLYZEPPOI;
1289 }
1290
dec3fab6 1291 // no-name:
a88e5ac2 1292 if(textResults)
70288839 1293 {
a88e5ac2 1294 textResults->AddText(entryMC->Data());
905bed86 1295 textResults->AddText(entrySP->Data());
a88e5ac2 1296 textResults->AddText(entryGFC->Data());
1297 textResults->AddText(entryQC2->Data());
1298 textResults->AddText(entryQC4->Data());
1299 textResults->AddText(entryQC6->Data());
1300 textResults->AddText(entryQC8->Data());
1301 textResults->AddText(entryFQD->Data());
947cc449 1302 textResults->AddText(entryLYZ1SUM->Data());
1303 textResults->AddText(entryLYZ1PROD->Data());
a88e5ac2 1304 textResults->AddText(entryLYZEP->Data());
70288839 1305 }
3963f25c 1306
dec3fab6 1307 // RP:
1fca9c90 1308 if(textResultsRP)
1309 {
1310 textResultsRP->AddText(entryMCRP->Data());
905bed86 1311 textResultsRP->AddText(entrySPRP->Data());
1fca9c90 1312 textResultsRP->AddText(entryGFCRP->Data());
1313 textResultsRP->AddText(entryQC2RP->Data());
1314 textResultsRP->AddText(entryQC4RP->Data());
1315 textResultsRP->AddText(entryQC6RP->Data());
1316 textResultsRP->AddText(entryQC8RP->Data());
1317 textResultsRP->AddText(entryFQDRP->Data());
947cc449 1318 textResultsRP->AddText(entryLYZ1SUMRP->Data());
1319 textResultsRP->AddText(entryLYZ1PRODRP->Data());
1fca9c90 1320 textResultsRP->AddText(entryLYZEPRP->Data());
1321 }
dec3fab6 1322
1323 // POI:
1fca9c90 1324 if(textResultsPOI)
1325 {
1326 textResultsPOI->AddText(entryMCPOI->Data());
905bed86 1327 textResultsPOI->AddText(entrySPPOI->Data());
1fca9c90 1328 textResultsPOI->AddText(entryGFCPOI->Data());
1329 textResultsPOI->AddText(entryQC2POI->Data());
1330 textResultsPOI->AddText(entryQC4POI->Data());
1331 textResultsPOI->AddText(entryQC6POI->Data());
1332 textResultsPOI->AddText(entryQC8POI->Data());
1333 textResultsPOI->AddText(entryFQDPOI->Data());
947cc449 1334 textResultsPOI->AddText(entryLYZ1SUMPOI->Data());
1335 textResultsPOI->AddText(entryLYZ1PRODPOI->Data());
1fca9c90 1336 textResultsPOI->AddText(entryLYZEPPOI->Data());
1337 }
a88e5ac2 1338 //----------------------------------------------------------------------------------
70288839 1339
3963f25c 1340
70288839 1341 //----------------------------------------------------------------------------------
da24213b 1342 // final drawing for integrated flow (no-name):
1343 if(plotIntFlow)
1344 {
1345 TCanvas* intFlowAllCanvas = new TCanvas("Integrated Flow","Integrated Flow",1000,600);
6f62c2a7 1346
251b57f2 1347 if(plotLegendIntFlow)
1348 {
1349 intFlowAllCanvas->Divide(2,1);
1350 // 1st pad is for plot:
1351 (intFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1352 }
1353
da24213b 1354 if(intFlowAll)
a88e5ac2 1355 {
da24213b 1356 if(dMin>0. && dMax>0.)
1357 {
1358 (intFlowAll->GetYaxis())->SetRangeUser(0.9744*dMin,1.0144*dMax);
1359 } else if(dMin<0. && dMax>0.)
1360 {
1361 if(!(-1.*dMin<4.*dMax))
1362 {
1363 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,1.0144*dMax);
1364 } else {(intFlowAll->GetYaxis())->SetRangeUser(1.1266*dMin,1.0144*dMax);}
1365 } else if(dMin<0. && dMax<0.)
1366 {
1367 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,0.9866*dMax);
1368 }
1369 intFlowAll->Draw("E1");
1370 }
e83922f2 1371
da24213b 1372 if(pMesh) pMesh->Draw("LFSAME");
1373
1374 if(flowResults) flowResults->Draw("PSAME");
a88e5ac2 1375
da24213b 1376 // 2nd pad is for legend:
251b57f2 1377 if(plotLegendIntFlow)
1378 {
1379 (intFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
a88e5ac2 1380
251b57f2 1381 if(textDefault) textDefault->Draw();
dec3fab6 1382
251b57f2 1383 if(textResults) textResults->Draw();
1384 }
1385
da24213b 1386 }// end of if(plotIntFlow)
a88e5ac2 1387 //----------------------------------------------------------------------------------
e83922f2 1388
077816b6 1389
1390 //----------------------------------------------------------------------------------
1391 // final drawing for integrated flow relative to MC (no-name):
1392 if(plotIntFlowRelativeToMC)
1393 {
1394 TCanvas* intFlowAllRelativeToMCCanvas = new TCanvas("Integrated Flow Relative To MC","Integrated Flow Relative To MC",1000,600);
1395
1396 intFlowAllRelativeToMCCanvas->Divide(2,1);
1397
1398 // 1st pad is for plot:
1399 (intFlowAllRelativeToMCCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1400
1401 TH1D *intFlowAllRelativeToMC = new TH1D(*intFlowAll);
c365fe76 1402 (intFlowAllRelativeToMC->GetYaxis())->SetRangeUser(-1,1);
1403 (intFlowAllRelativeToMC->GetYaxis())->SetTitle("(v_{n}\{method\} - v_{n}\{MC\})/v_{n}\{MC\}");
077816b6 1404 intFlowAllRelativeToMC->Draw("E1");
1405
1406 if(flowResultsRelativeToMC) flowResultsRelativeToMC->Draw("PSAME");
1407
1408 // 2nd pad is for legend:
1409 (intFlowAllRelativeToMCCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1410
1411 if(textDefault) textDefault->Draw();
1412
1413 if(textResults) textResults->Draw();
1414
1415 }// end of if(plotIntFlowRelativeToMC)
1416 //----------------------------------------------------------------------------------
1417
1418
1fca9c90 1419 //----------------------------------------------------------------------------------
1420 //final drawing for integrated flow of RP (i.e. of particles used to determine the reaction plane):
e83922f2 1421 if(plotIntFlowRP)
1422 {
1423 TCanvas* intFlowAllCanvasRP = new TCanvas("Integrated Flow RP","Integrated Flow RP",1000,600);
1fca9c90 1424
251b57f2 1425 if(plotLegendIntFlow)
1426 {
1427 intFlowAllCanvasRP->Divide(2,1);
1fca9c90 1428
251b57f2 1429 //1st pad is for plot:
1430 (intFlowAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1431 }
1fca9c90 1432
dec3fab6 1433 TH1D *intFlowAllRP = new TH1D(*intFlowAll);
1434 intFlowAllRP->SetMarkerStyle(markerStyleRP);
1435 intFlowAllRP->SetMarkerColor(markerColorRP);
1436 (intFlowAllRP->GetXaxis())->SetBinLabel(binMCRP,"v_{2}{MC}");
1437 (intFlowAllRP->GetXaxis())->SetBinLabel(binSPRP,"v_{2}{SP}");
1438 (intFlowAllRP->GetXaxis())->SetBinLabel(binGFC2RP,"v_{2}{2,GFC}");
1439 (intFlowAllRP->GetXaxis())->SetBinLabel(binQC2RP,"v_{2}{2,QC}");
1440 (intFlowAllRP->GetXaxis())->SetBinLabel(binGFC4RP,"v_{2}{4,GFC}");
1441 (intFlowAllRP->GetXaxis())->SetBinLabel(binQC4RP,"v_{2}{4,QC}");
1442 (intFlowAllRP->GetXaxis())->SetBinLabel(binGFC6RP,"v_{2}{6,GFC}");
1443 (intFlowAllRP->GetXaxis())->SetBinLabel(binQC6RP,"v_{2}{6,QC}");
1444 (intFlowAllRP->GetXaxis())->SetBinLabel(binGFC8RP,"v_{2}{8,GFC}");
1445 (intFlowAllRP->GetXaxis())->SetBinLabel(binQC8RP,"v_{2}{8,QC}");
1446 (intFlowAllRP->GetXaxis())->SetBinLabel(binFQDRP,"v_{2}{FQD}");
947cc449 1447 (intFlowAllRP->GetXaxis())->SetBinLabel(binLYZ2SUMRP,"v_{2}{LYZ,sum}");
1448 (intFlowAllRP->GetXaxis())->SetBinLabel(binLYZ2PRODRP,"v_{2}{LYZ,prod}");
dec3fab6 1449 (intFlowAllRP->GetXaxis())->SetBinLabel(binLYZEPRP,"v_{2}{LYZEP}");
694e0378 1450
e83922f2 1451 if(intFlowAllRP)
1452 {
1453 if(dMinRP>0. && dMaxRP>0.)
1454 {
1455 (intFlowAllRP->GetYaxis())->SetRangeUser(0.9744*dMinRP,1.0144*dMaxRP);
1456 } else if(dMinRP<0. && dMaxRP>0.)
1457 {
1458 if(!(-1.*dMinRP<4.*dMaxRP))
1459 {
1460 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,1.0144*dMaxRP);
1461 } else {(intFlowAllRP->GetYaxis())->SetRangeUser(1.1266*dMinRP,1.0144*dMaxRP);}
1462 } else if(dMinRP<0. && dMaxRP<0.)
1463 {
1464 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,0.9866*dMaxRP);
1465 }
1466 intFlowAllRP->Draw("E1");
1467 }
694e0378 1468
e83922f2 1469 if(pMeshRP) pMeshRP->Draw("LFSAME");
1470
1471 if(flowResultsRP) flowResultsRP->Draw("PSAME");
1fca9c90 1472
251b57f2 1473 if(plotLegendIntFlow)
1474 {
1475 //2nd pad is for legend:
1476 (intFlowAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
e83922f2 1477
251b57f2 1478 if(textDefault) textDefault->Draw();
1fca9c90 1479
251b57f2 1480 if(textResultsRP) textResultsRP->Draw();
1481 }
1482
e83922f2 1483 }//end of if(plotIntFlowRP}
1fca9c90 1484 //----------------------------------------------------------------------------------
1485
077816b6 1486
1487 //----------------------------------------------------------------------------------
1488 // final drawing for integrated flow relative to MC (RP):
1489 if(plotIntFlowRelativeToMCRP)
1490 {
1491 TCanvas* intFlowAllRelativeToMCRPCanvas = new TCanvas("Integrated Flow (RP) Relative To MC","Integrated Flow (RP) Relative To MC",1000,600);
1492
1493 intFlowAllRelativeToMCRPCanvas->Divide(2,1);
1494
1495 // 1st pad is for plot:
1496 (intFlowAllRelativeToMCRPCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1497
1498 TH1D *intFlowAllRelativeToMCRP = new TH1D(*intFlowAll);
077816b6 1499 (intFlowAllRelativeToMCRP->GetYaxis())->SetRangeUser(-1,1);
c365fe76 1500 (intFlowAllRelativeToMCRP->GetYaxis())->SetTitle("(v_{n}\{method\} - v_{n}\{MC\})/v_{n}\{MC\}");
077816b6 1501 intFlowAllRelativeToMCRP->Draw("E1");
1502
1503 if(flowResultsRelativeToMCRP) flowResultsRelativeToMCRP->Draw("PSAME");
1504
1505 // 2nd pad is for legend:
1506 (intFlowAllRelativeToMCRPCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1507
1508 if(textDefault) textDefault->Draw();
1509
1510 if(textResultsRP) textResultsRP->Draw();
1511
c365fe76 1512 }// end of if(plotIntFlowRelativeToMCRP)
077816b6 1513 //----------------------------------------------------------------------------------
1514
1515
1fca9c90 1516 //----------------------------------------------------------------------------------
1517 //final drawing for integrated flow of POI (i.e. of particles of interest):
e83922f2 1518 if(plotIntFlowPOI)
1519 {
1520 TCanvas* intFlowAllCanvasPOI = new TCanvas("Integrated Flow POI","Integrated Flow POI",1000,600);
dec3fab6 1521
251b57f2 1522 if(plotLegendIntFlow)
1523 {
1524 intFlowAllCanvasPOI->Divide(2,1);
1fca9c90 1525
251b57f2 1526 //1st pad is for plot:
1527 (intFlowAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1528 }
e83922f2 1529
694e0378 1530 TH1D *intFlowAllPOI = new TH1D(*intFlowAll);
dec3fab6 1531 intFlowAllPOI->SetMarkerStyle(markerStylePOI);
1532 intFlowAllPOI->SetMarkerColor(markerColorPOI);
1533 (intFlowAllPOI->GetXaxis())->SetBinLabel(binMCPOI,"v_{2}{MC}");
1534 (intFlowAllPOI->GetXaxis())->SetBinLabel(binSPPOI,"v_{2}{SP}");
1535 (intFlowAllPOI->GetXaxis())->SetBinLabel(binGFC2POI,"v_{2}{2,GFC}");
1536 (intFlowAllPOI->GetXaxis())->SetBinLabel(binQC2POI,"v_{2}{2,QC}");
1537 (intFlowAllPOI->GetXaxis())->SetBinLabel(binGFC4POI,"v_{2}{4,GFC}");
1538 (intFlowAllPOI->GetXaxis())->SetBinLabel(binQC4POI,"v_{2}{4,QC}");
1539 (intFlowAllPOI->GetXaxis())->SetBinLabel(binGFC6POI,"v_{2}{6,GFC}");
1540 (intFlowAllPOI->GetXaxis())->SetBinLabel(binQC6POI,"v_{2}{6,QC}");
1541 (intFlowAllPOI->GetXaxis())->SetBinLabel(binGFC8POI,"v_{2}{8,GFC}");
1542 (intFlowAllPOI->GetXaxis())->SetBinLabel(binQC8POI,"v_{2}{8,QC}");
1543 (intFlowAllPOI->GetXaxis())->SetBinLabel(binFQDPOI,"v_{2}{FQD}");
947cc449 1544 (intFlowAllPOI->GetXaxis())->SetBinLabel(binLYZ2SUMPOI,"v_{2}{LYZ,sum}");
1545 (intFlowAllPOI->GetXaxis())->SetBinLabel(binLYZ2PRODPOI,"v_{2}{LYZ,prod}");
dec3fab6 1546 (intFlowAllPOI->GetXaxis())->SetBinLabel(binLYZEPPOI,"v_{2}{LYZEP}");
694e0378 1547
e83922f2 1548 if(intFlowAllPOI)
1fca9c90 1549 {
e83922f2 1550 if(dMinPOI>0. && dMaxPOI>0.)
1551 {
1552 (intFlowAllPOI->GetYaxis())->SetRangeUser(0.9744*dMinPOI,1.0144*dMaxPOI);
1553 } else if(dMinPOI<0. && dMaxPOI>0.)
1554 {
1555 if(!(-1.*dMinPOI<4.*dMaxPOI))
1556 {
1557 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,1.0144*dMaxPOI);
1558 } else {(intFlowAllPOI->GetYaxis())->SetRangeUser(1.1266*dMinPOI,1.0144*dMaxPOI);}
1559 } else if(dMinPOI<0. && dMaxPOI<0.)
1560 {
1561 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,0.9866*dMaxPOI);
1562 }
1563 intFlowAllPOI->Draw("E1");
1564 }
1fca9c90 1565
e83922f2 1566 if(pMeshPOI) pMeshPOI->Draw("LFSAME");
1567
1568 if(flowResultsPOI) flowResultsPOI->Draw("PSAME");
1fca9c90 1569
251b57f2 1570 if(plotLegendIntFlow)
1571 {
1572 //2nd pad is for legend:
1573 (intFlowAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1574
1575 if(textDefault) textDefault->Draw();
1fca9c90 1576
251b57f2 1577 if(textResultsPOI) textResultsPOI->Draw();
1578 }
1579
e83922f2 1580 }// end of if(plotIntFlowPOI)
077816b6 1581 //----------------------------------------------------------------------------------
1582
1583
1584 //----------------------------------------------------------------------------------
1585 // final drawing for integrated flow relative to MC (POI):
1586 if(plotIntFlowRelativeToMCPOI)
1587 {
1588 TCanvas* intFlowAllRelativeToMCPOICanvas = new TCanvas("Integrated Flow (POI) Relative To MC","Integrated Flow (POI) Relative To MC",1000,600);
1589
1590 intFlowAllRelativeToMCPOICanvas->Divide(2,1);
1591
1592 // 1st pad is for plot:
1593 (intFlowAllRelativeToMCPOICanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1594
1595 TH1D *intFlowAllRelativeToMCPOI = new TH1D(*intFlowAll);
077816b6 1596 (intFlowAllRelativeToMCPOI->GetYaxis())->SetRangeUser(-1,1);
c365fe76 1597 (intFlowAllRelativeToMCPOI->GetYaxis())->SetTitle("(v_{n}\{method\} - v_{n}\{MC\})/v_{n}\{MC\}");
077816b6 1598 intFlowAllRelativeToMCPOI->Draw("E1");
1599
1600 if(flowResultsRelativeToMCPOI) flowResultsRelativeToMCPOI->Draw("PSAME");
1601
1602 // 2nd pad is for legend:
1603 (intFlowAllRelativeToMCPOICanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1604
1605 if(textDefault) textDefault->Draw();
1606
1607 if(textResultsPOI) textResultsPOI->Draw();
1608
c365fe76 1609 }// end of if(plotIntFlowRelativeToMCPOI)
077816b6 1610 //----------------------------------------------------------------------------------
1611
9d3cbee7 1612 //==================================================================================
e83922f2 1613
1614
1615
9d3cbee7 1616
1617 //==================================================================================
1618 // DIFFERENTIAL FLOW
1619 //==================================================================================
bee2efdc 1620 Int_t iNbinsPt = AliFlowCommonConstants::GetMaster()->GetNbinsPt();
1621 Double_t dPtMin = AliFlowCommonConstants::GetMaster()->GetPtMin();
1622 Double_t dPtMax = AliFlowCommonConstants::GetMaster()->GetPtMax();
70288839 1623
bee2efdc 1624 Int_t iNbinsEta = AliFlowCommonConstants::GetMaster()->GetNbinsEta();
1625 Double_t dEtaMin = AliFlowCommonConstants::GetMaster()->GetEtaMin();
1626 Double_t dEtaMax = AliFlowCommonConstants::GetMaster()->GetEtaMax();
1fca9c90 1627
a88e5ac2 1628 //----------------------------------------------------------------------------------
1fca9c90 1629 //cosmetics: the style histogram for differential flow (pt):
1630 TH1D *styleHistPt = new TH1D("styleHistPt","styleHistPt",iNbinsPt,dPtMin,dPtMax);
1631 styleHistPt->SetTitle("Differential Flow");
1632 styleHistPt->SetXTitle("p_{t} [GeV]");
1633 styleHistPt->SetYTitle("v_{n}");
1634
1635 //cosmetics: the style histogram for differential flow (eta):
1636 TH1D *styleHistEta = new TH1D("styleHistEta","styleHistEta",iNbinsEta,dEtaMin,dEtaMax);
1637 styleHistEta->SetTitle("Differential Flow");
1638 styleHistEta->SetXTitle("#eta");
1639 styleHistEta->SetYTitle("v_{n}");
a88e5ac2 1640 //----------------------------------------------------------------------------------
9d3cbee7 1641
1fca9c90 1642
1fca9c90 1643
1fca9c90 1644 //----------------------------------------------------------------------------------
1645 //RP:
1646 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1647 TGraph* pMeshDiffFlowPtRP = NULL;
1648 if(mcepCommonHistRes)
1649 {
7d02d77f 1650 Int_t nBinsDiffFlowPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetNbinsX();
1fca9c90 1651 Double_t binWidthPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinWidth(1);//assuming that all bins have the same width
7d02d77f 1652
1653 //counting the non-empty bins:
1654 Int_t nNonEmptyBinsDiffFlowPtRP=0;
1655 for(Int_t i=1;i<nBinsDiffFlowPtRP+1;i++)
1656 {
1657 if(!(mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i)==0.0))
1658 {
1659 nNonEmptyBinsDiffFlowPtRP++;
1660 }
1661 }
1fca9c90 1662
7d02d77f 1663 pMeshDiffFlowPtRP = new TGraph(2*nNonEmptyBinsDiffFlowPtRP+1);
1fca9c90 1664
7d02d77f 1665 Double_t valueMCPtRP=0.,errorMCPtRP=0.;
1666 Int_t countDiffFlowPtRP=1;
1667 Double_t xFirstDiffFlowPtRP=0.,yUpFirstDiffFlowPtRP=0.;//needed to close up the mesh
1668 for(Int_t i=1;i<nBinsDiffFlowPtRP+1;i++)
1fca9c90 1669 {
7d02d77f 1670 //setting up the upper limit of the mesh:
1fca9c90 1671 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(i);
7d02d77f 1672 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i);
1673 if(!(errorMCPtRP==0.0))
1674 {
1675 pMeshDiffFlowPtRP->SetPoint(countDiffFlowPtRP++,(i-0.5)*binWidthPtRP+dPtMin,valueMCPtRP+errorMCPtRP);
1676 if(xFirstDiffFlowPtRP==0.)
1677 {
1678 xFirstDiffFlowPtRP=(i-0.5)*binWidthPtRP+dPtMin;
1679 yUpFirstDiffFlowPtRP=valueMCPtRP+errorMCPtRP;
1680 }
1681 }
1682 }
1683 for(Int_t i=nBinsDiffFlowPtRP+1;i<2*nBinsDiffFlowPtRP+1;i++)
1684 {
1685 //setting up the lower limit of the mesh:
1686 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(2*nBinsDiffFlowPtRP+1-i);
1687 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(2*nBinsDiffFlowPtRP+1-i);
1688 if(!(errorMCPtRP==0.0))
1689 {
1690 pMeshDiffFlowPtRP->SetPoint(countDiffFlowPtRP++,(2*nBinsDiffFlowPtRP-i+0.5)*binWidthPtRP+dPtMin,valueMCPtRP-errorMCPtRP);
1691 }
1692 }
1693 //closing the mesh area:
1694 pMeshDiffFlowPtRP->SetPoint(2*nNonEmptyBinsDiffFlowPtRP+1,xFirstDiffFlowPtRP,yUpFirstDiffFlowPtRP);
1695
1696 //setting the mesh style and color:
dec3fab6 1697 pMeshDiffFlowPtRP->SetFillStyle(meshStyleDiffFlowPtRP);
1698 pMeshDiffFlowPtRP->SetFillColor(meshColorDiffFlowPtRP);
1fca9c90 1699 }
7d02d77f 1700
1fca9c90 1701 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1702 TGraph* pMeshDiffFlowEtaRP = NULL;
1703 if(mcepCommonHistRes)
1704 {
7d02d77f 1705 Int_t nBinsDiffFlowEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetNbinsX();
1fca9c90 1706 Double_t binWidthEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinWidth(1);//assuming that all bins have the same width
e83922f2 1707
7d02d77f 1708 //counting the non-empty bins:
1709 Int_t nNonEmptyBinsDiffFlowEtaRP=0;
1710 for(Int_t i=1;i<nBinsDiffFlowEtaRP+1;i++)
1fca9c90 1711 {
7d02d77f 1712 if(!(mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i)==0.0))
1713 {
1714 nNonEmptyBinsDiffFlowEtaRP++;
1715 }
1fca9c90 1716 }
7d02d77f 1717
1718 pMeshDiffFlowEtaRP = new TGraph(2*nNonEmptyBinsDiffFlowEtaRP+1);
1719
1720 Double_t valueMCEtaRP=0.,errorMCEtaRP=0.;
1721 Int_t countDiffFlowEtaRP=1;
1722 Double_t xFirstDiffFlowEtaRP=0.,yUpFirstDiffFlowEtaRP=0.;//needed to close up the mesh
1723 for(Int_t i=1;i<nBinsDiffFlowEtaRP+1;i++)
1fca9c90 1724 {
7d02d77f 1725 //setting up the upper limit of the mesh:
1726 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(i);
1727 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i);
1728 if(!(errorMCEtaRP==0.0))
1729 {
1730 pMeshDiffFlowEtaRP->SetPoint(countDiffFlowEtaRP++,(i-0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1731 if(xFirstDiffFlowEtaRP==0.)
1732 {
1733 xFirstDiffFlowEtaRP=(i-0.5)*binWidthEtaRP+dEtaMin;
1734 yUpFirstDiffFlowEtaRP=valueMCEtaRP+errorMCEtaRP;
1735 }
1736 }
1737 }
1738 for(Int_t i=nBinsDiffFlowEtaRP+1;i<2*nBinsDiffFlowEtaRP+1;i++)
1739 {
1740 //setting up the lower limit of the mesh:
1741 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(2*nBinsDiffFlowEtaRP+1-i);
1742 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(2*nBinsDiffFlowEtaRP+1-i);
1743 if(!(errorMCEtaRP==0.0))
1744 {
1745 pMeshDiffFlowEtaRP->SetPoint(countDiffFlowEtaRP++,(2*nBinsDiffFlowEtaRP-i+0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP-errorMCEtaRP);
1746 }
1747 }
1748 //closing the mesh area:
1749 pMeshDiffFlowEtaRP->SetPoint(2*nNonEmptyBinsDiffFlowEtaRP+1,xFirstDiffFlowEtaRP,yUpFirstDiffFlowEtaRP);
1750
1751 //setting the mesh style and color:
dec3fab6 1752 pMeshDiffFlowEtaRP->SetFillStyle(meshStyleDiffFlowEtaRP);
1753 pMeshDiffFlowEtaRP->SetFillColor(meshColorDiffFlowEtaRP);
1fca9c90 1754 }
1755 //----------------------------------------------------------------------------------
1756
1757
7d02d77f 1758
1759
1fca9c90 1760 //----------------------------------------------------------------------------------
1761 //POI:
1762 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1763 TGraph* pMeshDiffFlowPtPOI = NULL;
1764 if(mcepCommonHistRes)
1765 {
7d02d77f 1766 Int_t nBinsDiffFlowPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetNbinsX();
1fca9c90 1767 Double_t binWidthPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinWidth(1);//assuming that all bins have the same width
7d02d77f 1768
1769 //counting the non-empty bins:
1770 Int_t nNonEmptyBinsDiffFlowPtPOI=0;
1771 for(Int_t i=1;i<nBinsDiffFlowPtPOI+1;i++)
1772 {
1773 if(!(mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i)==0.0))
1774 {
1775 nNonEmptyBinsDiffFlowPtPOI++;
1776 }
1777 }
1fca9c90 1778
7d02d77f 1779 pMeshDiffFlowPtPOI = new TGraph(2*nNonEmptyBinsDiffFlowPtPOI+1);
1fca9c90 1780
7d02d77f 1781 Double_t valueMCPtPOI=0.,errorMCPtPOI=0.;
1782 Int_t countDiffFlowPtPOI=1;
1783 Double_t xFirstDiffFlowPtPOI=0.,yUpFirstDiffFlowPtPOI=0.;//needed to close up the mesh
1784 for(Int_t i=1;i<nBinsDiffFlowPtPOI+1;i++)
1fca9c90 1785 {
7d02d77f 1786 //setting up the upper limit of the mesh:
1fca9c90 1787 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(i);
7d02d77f 1788 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i);
1789 if(!(errorMCPtPOI==0.0))
1790 {
1791 pMeshDiffFlowPtPOI->SetPoint(countDiffFlowPtPOI++,(i-0.5)*binWidthPtPOI+dPtMin,valueMCPtPOI+errorMCPtPOI);
1792 if(xFirstDiffFlowPtPOI==0.)
1793 {
1794 xFirstDiffFlowPtPOI=(i-0.5)*binWidthPtPOI+dPtMin;
1795 yUpFirstDiffFlowPtPOI=valueMCPtPOI+errorMCPtPOI;
1796 }
1797 }
1798 }
1799 for(Int_t i=nBinsDiffFlowPtPOI+1;i<2*nBinsDiffFlowPtPOI+1;i++)
1800 {
1801 //setting up the lower limit of the mesh:
1802 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(2*nBinsDiffFlowPtPOI+1-i);
1803 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(2*nBinsDiffFlowPtPOI+1-i);
1804 if(!(errorMCPtPOI==0.0))
1805 {
1806 pMeshDiffFlowPtPOI->SetPoint(countDiffFlowPtPOI++,(2*nBinsDiffFlowPtPOI-i+0.5)*binWidthPtPOI+dPtMin,valueMCPtPOI-errorMCPtPOI);
1807 }
1808 }
1809 //closing the mesh area:
1810 pMeshDiffFlowPtPOI->SetPoint(2*nNonEmptyBinsDiffFlowPtPOI+1,xFirstDiffFlowPtPOI,yUpFirstDiffFlowPtPOI);
1811
1812 //setting the mesh style and color:
dec3fab6 1813 pMeshDiffFlowPtPOI->SetFillStyle(meshStyleDiffFlowPtPOI);
1814 pMeshDiffFlowPtPOI->SetFillColor(meshColorDiffFlowPtPOI);
1fca9c90 1815 }
7d02d77f 1816
1fca9c90 1817 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1818 TGraph* pMeshDiffFlowEtaPOI = NULL;
1819 if(mcepCommonHistRes)
1820 {
7d02d77f 1821 Int_t nBinsDiffFlowEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetNbinsX();
1fca9c90 1822 Double_t binWidthEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinWidth(1);//assuming that all bins have the same width
7d02d77f 1823
1824 //counting the non-empty bins:
1825 Int_t nNonEmptyBinsDiffFlowEtaPOI=0;
1826 for(Int_t i=1;i<nBinsDiffFlowEtaPOI+1;i++)
1827 {
1828 if(!(mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i)==0.0))
1829 {
1830 nNonEmptyBinsDiffFlowEtaPOI++;
1831 }
1832 }
1fca9c90 1833
7d02d77f 1834 pMeshDiffFlowEtaPOI = new TGraph(2*nNonEmptyBinsDiffFlowEtaPOI+1);
a88e5ac2 1835
7d02d77f 1836 Double_t valueMCEtaPOI=0.,errorMCEtaPOI=0.;
1837 Int_t countDiffFlowEtaPOI=1;
1838 Double_t xFirstDiffFlowEtaPOI=0.,yUpFirstDiffFlowEtaPOI=0.;//needed to close up the mesh
1839 for(Int_t i=1;i<nBinsDiffFlowEtaPOI+1;i++)
1fca9c90 1840 {
7d02d77f 1841 //setting up the upper limit of the mesh:
1fca9c90 1842 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(i);
7d02d77f 1843 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i);
1844 if(!(errorMCEtaPOI==0.0))
1845 {
1846 pMeshDiffFlowEtaPOI->SetPoint(countDiffFlowEtaPOI++,(i-0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1847 if(xFirstDiffFlowEtaPOI==0.)
1848 {
1849 xFirstDiffFlowEtaPOI=(i-0.5)*binWidthEtaPOI+dEtaMin;
1850 yUpFirstDiffFlowEtaPOI=valueMCEtaPOI+errorMCEtaPOI;
1851 }
1852 }
1853 }
1854 for(Int_t i=nBinsDiffFlowEtaPOI+1;i<2*nBinsDiffFlowEtaPOI+1;i++)
1855 {
1856 //setting up the lower limit of the mesh:
1857 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(2*nBinsDiffFlowEtaPOI+1-i);
1858 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(2*nBinsDiffFlowEtaPOI+1-i);
1859 if(!(errorMCEtaPOI==0.0))
1860 {
1861 pMeshDiffFlowEtaPOI->SetPoint(countDiffFlowEtaPOI++,(2*nBinsDiffFlowEtaPOI-i+0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI-errorMCEtaPOI);
1862 }
1863 }
1864 //closing the mesh area:
1865 pMeshDiffFlowEtaPOI->SetPoint(2*nNonEmptyBinsDiffFlowEtaPOI+1,xFirstDiffFlowEtaPOI,yUpFirstDiffFlowEtaPOI);
1866
1867 //setting the mesh style and color:
dec3fab6 1868 pMeshDiffFlowEtaPOI->SetFillStyle(meshStyleDiffFlowEtaPOI);
1869 pMeshDiffFlowEtaPOI->SetFillColor(meshColorDiffFlowEtaPOI);
7d02d77f 1870 }
1fca9c90 1871 //----------------------------------------------------------------------------------
1872
70288839 1873 //MCEP = Monte Carlo Event Plane
1fca9c90 1874 Double_t avMultDiffFlowMCRP=0.;
1875 Double_t nEvtsDiffFlowMCRP=0;
1876 Double_t avMultDiffFlowMCPOI=0.;
1877 Double_t nEvtsDiffFlowMCPOI=0;
a88e5ac2 1878 if(fileMCEP)
9d3cbee7 1879 {
70288839 1880 if(mcepCommonHistRes)
1881 {
7d02d77f 1882 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorMC);
1883 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleMC);
1884 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorMC);
1885 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleMC);
1886 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorMC);
1887 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleMC);
1888 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorMC);
1889 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleMC);
a88e5ac2 1890 }
1891 if(mcepCommonHist)
1892 {
6a1a854d 1893 avMultDiffFlowMCRP = (mcepCommonHist->GetHistMultRP())->GetMean();
1894 nEvtsDiffFlowMCRP = (mcepCommonHist->GetHistMultRP())->GetEntries();
1895 avMultDiffFlowMCPOI = (mcepCommonHist->GetHistMultPOI())->GetMean();
1896 nEvtsDiffFlowMCPOI = (mcepCommonHist->GetHistMultPOI())->GetEntries();
70288839 1897 }
1898 }
905bed86 1899
1900 //SP = Scalar Product
1901 Double_t avMultDiffFlowSPRP=0.;
1902 Double_t nEvtsDiffFlowSPRP=0;
1903 Double_t avMultDiffFlowSPPOI=0.;
1904 Double_t nEvtsDiffFlowSPPOI=0;
1905 if(fileSP)
1906 {
1907 if(spCommonHistRes)
1908 {
1909 (spCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorSP);
1910 (spCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleSP);
1911 (spCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorSP);
1912 (spCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleSP);
1913 (spCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorSP);
1914 (spCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleSP);
1915 (spCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorSP);
1916 (spCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleSP);
1917 }
1918 if(spCommonHist)
1919 {
6a1a854d 1920 avMultDiffFlowSPRP = (spCommonHist->GetHistMultRP())->GetMean();
dec3fab6 1921 nEvtsDiffFlowSPRP = (spCommonHist->GetHistMultRP())->GetEntries();
6a1a854d 1922 avMultDiffFlowSPPOI = (spCommonHist->GetHistMultPOI())->GetMean();
dec3fab6 1923 nEvtsDiffFlowSPPOI = (spCommonHist->GetHistMultPOI())->GetEntries();
905bed86 1924 }
1925 }
a88e5ac2 1926
9d3cbee7 1927 //GFC = Generating Function Cumulants
1fca9c90 1928 Double_t avMultDiffFlowGFC=0.;//to be removed
1929 Double_t nEvtsDiffFlowGFC=0.;//to be removed
1930 Double_t avMultDiffFlowGFCRP=0.;
1931 Double_t nEvtsDiffFlowGFCRP=0.;
1932 Double_t avMultDiffFlowGFCPOI=0.;
1933 Double_t nEvtsDiffFlowGFCPOI=0.;
a88e5ac2 1934 if(fileGFC)
9d3cbee7 1935 {
a88e5ac2 1936 if(gfcCommonHistRes2)
9d3cbee7 1937 {
7d02d77f 1938 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC2);
1939 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC2);
1940 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC2);
1941 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC2);
1942 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC2);
1943 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC2);
1944 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC2);
1945 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC2);
9d3cbee7 1946 }
a88e5ac2 1947 if(gfcCommonHistRes4)
9d3cbee7 1948 {
7d02d77f 1949 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC4);
1950 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC4);
1951 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC4);
1952 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC4);
1953 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC4);
1954 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC4);
1955 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC4);
1956 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC4);
1fca9c90 1957 }
1958 if(gfcCommonHistRes6)
1959 {
7d02d77f 1960 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC6);
1961 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC6);
1962 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC6);
1963 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC6);
1964 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC6);
1965 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC6);
1966 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC6);
1967 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC6);
1fca9c90 1968 }
1969 if(gfcCommonHistRes8)
1970 {
7d02d77f 1971 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorGFC8);
1972 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleGFC8);
1973 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorGFC8);
1974 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleGFC8);
1975 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorGFC8);
1976 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleGFC8);
1977 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorGFC8);
1978 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleGFC8);
9d3cbee7 1979 }
a88e5ac2 1980 if(gfcCommonHist)
1981 {
6a1a854d 1982 avMultDiffFlowGFCRP = (gfcCommonHist->GetHistMultRP())->GetMean();
1983 nEvtsDiffFlowGFCRP = (gfcCommonHist->GetHistMultRP())->GetEntries();
1984 avMultDiffFlowGFCPOI = (gfcCommonHist->GetHistMultPOI())->GetMean();
1985 nEvtsDiffFlowGFCPOI = (gfcCommonHist->GetHistMultPOI())->GetEntries();
a88e5ac2 1986 }
9d3cbee7 1987 }
a88e5ac2 1988
9d3cbee7 1989 //QC = Q-cumulants
1fca9c90 1990 Double_t avMultDiffFlowQC2RP=0.;
1991 Double_t nEvtsDiffFlowQC2RP=0.;
1992 Double_t avMultDiffFlowQC2POI=0.;
1993 Double_t nEvtsDiffFlowQC2POI=0.;
1994 Double_t avMultDiffFlowQC4RP=0.;
1995 Double_t nEvtsDiffFlowQC4RP=0.;
1996 Double_t avMultDiffFlowQC4POI=0.;
1997 Double_t nEvtsDiffFlowQC4POI=0.;
e83922f2 1998 Double_t avMultDiffFlowQC6RP=0.;
1999 Double_t nEvtsDiffFlowQC6RP=0.;
2000 Double_t avMultDiffFlowQC6POI=0.;
2001 Double_t nEvtsDiffFlowQC6POI=0.;
2002 Double_t avMultDiffFlowQC8RP=0.;
2003 Double_t nEvtsDiffFlowQC8RP=0.;
2004 Double_t avMultDiffFlowQC8POI=0.;
2005 Double_t nEvtsDiffFlowQC8POI=0.;
1fca9c90 2006
a88e5ac2 2007 if(fileQC)
9d3cbee7 2008 {
a88e5ac2 2009 //QC{2}
70288839 2010 if(qcCommonHistRes2)
9d3cbee7 2011 {
7d02d77f 2012 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC2);
2013 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC2);
2014 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC2);
2015 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC2);
2016 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC2);
2017 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC2);
2018 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC2);
2019 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC2);
9d3cbee7 2020 }
a88e5ac2 2021 if(qcCommonHist2)
2022 {
6a1a854d 2023 avMultDiffFlowQC2RP = (qcCommonHist2->GetHistMultRP())->GetMean();
2024 nEvtsDiffFlowQC2RP = (qcCommonHist2->GetHistMultRP())->GetEntries();
2025 avMultDiffFlowQC2POI = (qcCommonHist2->GetHistMultPOI())->GetMean();
2026 nEvtsDiffFlowQC2POI = (qcCommonHist2->GetHistMultPOI())->GetEntries();
a88e5ac2 2027 }
2028 //QC{4}
70288839 2029 if(qcCommonHistRes4)
9d3cbee7 2030 {
7d02d77f 2031 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC4);
2032 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC4);
2033 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC4);
2034 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC4);
2035 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC4);
2036 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC4);
2037 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC4);
2038 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC4);
a88e5ac2 2039 }
2040 if(qcCommonHist4)
2041 {
6a1a854d 2042 avMultDiffFlowQC4RP = (qcCommonHist4->GetHistMultRP())->GetMean();
2043 nEvtsDiffFlowQC4RP = (qcCommonHist4->GetHistMultRP())->GetEntries();
2044 avMultDiffFlowQC4POI = (qcCommonHist4->GetHistMultPOI())->GetMean();
2045 nEvtsDiffFlowQC4POI = (qcCommonHist4->GetHistMultPOI())->GetEntries();
9d3cbee7 2046 }
e83922f2 2047 //QC{6}
2048 if(qcCommonHistRes6)
2049 {
7d02d77f 2050 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC6);
2051 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC6);
2052 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC6);
2053 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC6);
2054 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC6);
2055 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC6);
2056 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC6);
2057 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC6);
e83922f2 2058 }
2059 if(qcCommonHist6)
2060 {
6a1a854d 2061 avMultDiffFlowQC6RP = (qcCommonHist6->GetHistMultRP())->GetMean();
2062 nEvtsDiffFlowQC6RP = (qcCommonHist6->GetHistMultRP())->GetEntries();
2063 avMultDiffFlowQC6POI = (qcCommonHist6->GetHistMultPOI())->GetMean();
2064 nEvtsDiffFlowQC6POI = (qcCommonHist6->GetHistMultPOI())->GetEntries();
e83922f2 2065 }
2066 //QC{8}
2067 if(qcCommonHistRes8)
2068 {
7d02d77f 2069 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorQC8);
2070 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleQC8);
2071 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorQC8);
2072 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleQC8);
2073 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorQC8);
2074 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleQC8);
2075 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorQC8);
2076 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleQC8);
e83922f2 2077 }
2078 if(qcCommonHist8)
2079 {
6a1a854d 2080 avMultDiffFlowQC8RP = (qcCommonHist8->GetHistMultRP())->GetMean();
2081 nEvtsDiffFlowQC8RP = (qcCommonHist8->GetHistMultRP())->GetEntries();
2082 avMultDiffFlowQC8POI = (qcCommonHist8->GetHistMultPOI())->GetMean();
2083 nEvtsDiffFlowQC8POI = (qcCommonHist8->GetHistMultPOI())->GetEntries();
e83922f2 2084 }
9d3cbee7 2085 }
70288839 2086
947cc449 2087 //LYZ2SUM = Lee-Yang Zeros (2nd run, sum)
2088 Double_t avMultDiffFlowLYZ2SUMRP=0.;
2089 Double_t nEvtsDiffFlowLYZ2SUMRP=0;
2090 Double_t avMultDiffFlowLYZ2SUMPOI=0.;
2091 Double_t nEvtsDiffFlowLYZ2SUMPOI=0;
2092 if(fileLYZ2SUM)
2093 {
2094 if(lyz2sumCommonHistRes)
2095 {
2096 (lyz2sumCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorLYZ2SUM);
2097 (lyz2sumCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleLYZ2SUM);
2098 (lyz2sumCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorLYZ2SUM);
2099 (lyz2sumCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleLYZ2SUM);
2100 (lyz2sumCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorLYZ2SUM);
2101 (lyz2sumCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleLYZ2SUM);
2102 (lyz2sumCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorLYZ2SUM);
2103 (lyz2sumCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleLYZ2SUM);
2104 }
2105 if(lyz2sumCommonHist)
2106 {
2107 avMultDiffFlowLYZ2SUMRP = (lyz2sumCommonHist->GetHistMultRP())->GetMean();
2108 nEvtsDiffFlowLYZ2SUMRP = (lyz2sumCommonHist->GetHistMultRP())->GetEntries();
2109 avMultDiffFlowLYZ2SUMPOI = (lyz2sumCommonHist->GetHistMultPOI())->GetMean();
2110 nEvtsDiffFlowLYZ2SUMPOI = (lyz2sumCommonHist->GetHistMultPOI())->GetEntries();
2111 }
2112 }
2113
2114 //LYZ2PROD = Lee-Yang Zeros (2nd run, product)
2115 Double_t avMultDiffFlowLYZ2PRODRP=0.;
2116 Double_t nEvtsDiffFlowLYZ2PRODRP=0;
2117 Double_t avMultDiffFlowLYZ2PRODPOI=0.;
2118 Double_t nEvtsDiffFlowLYZ2PRODPOI=0;
2119 if(fileLYZ2PROD)
9d3cbee7 2120 {
947cc449 2121 if(lyz2prodCommonHistRes)
2122 {
2123 (lyz2prodCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorLYZ2PROD);
2124 (lyz2prodCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleLYZ2PROD);
2125 (lyz2prodCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorLYZ2PROD);
2126 (lyz2prodCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleLYZ2PROD);
2127 (lyz2prodCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorLYZ2PROD);
2128 (lyz2prodCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleLYZ2PROD);
2129 (lyz2prodCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorLYZ2PROD);
2130 (lyz2prodCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleLYZ2PROD);
a88e5ac2 2131 }
947cc449 2132 if(lyz2prodCommonHist)
9d3cbee7 2133 {
947cc449 2134 avMultDiffFlowLYZ2PRODRP = (lyz2prodCommonHist->GetHistMultRP())->GetMean();
2135 nEvtsDiffFlowLYZ2PRODRP = (lyz2prodCommonHist->GetHistMultRP())->GetEntries();
2136 avMultDiffFlowLYZ2PRODPOI = (lyz2prodCommonHist->GetHistMultPOI())->GetMean();
2137 nEvtsDiffFlowLYZ2PRODPOI = (lyz2prodCommonHist->GetHistMultPOI())->GetEntries();
9d3cbee7 2138 }
2139 }
70288839 2140
e83922f2 2141 //LYZEP = Lee-Yang Zeros Event Plane
e83922f2 2142 Double_t avMultDiffFlowLYZEPRP=0.;
2143 Double_t nEvtsDiffFlowLYZEPRP=0;
2144 Double_t avMultDiffFlowLYZEPPOI=0.;
2145 Double_t nEvtsDiffFlowLYZEPPOI=0;
2146 if(fileLYZEP)
2147 {
2148 if(lyzepCommonHistRes)
2149 {
7d02d77f 2150 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(markerColorLYZEP);
2151 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(markerStyleLYZEP);
2152 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(markerColorLYZEP);
2153 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(markerStyleLYZEP);
2154 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(markerColorLYZEP);
2155 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(markerStyleLYZEP);
2156 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(markerColorLYZEP);
2157 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(markerStyleLYZEP);
e83922f2 2158 }
2159 if(lyzepCommonHist)
2160 {
6a1a854d 2161 avMultDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultRP())->GetMean();
2162 nEvtsDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultRP())->GetEntries();
2163 avMultDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultPOI())->GetMean();
2164 nEvtsDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultPOI())->GetEntries();
e83922f2 2165 }
2166 }
2167
1fca9c90 2168
1fca9c90 2169 //----------------------------------------------------------------------------------
2170 //final drawing for differential flow (Pt, RP):
e83922f2 2171 if(plotDiffFlowPtRP)
2172 {
2173 TCanvas* diffFlowPtAllCanvasRP = new TCanvas("Differential Flow (Pt) of RP","Differential Flow (Pt) of RP ",1000,600);
2174
2175 diffFlowPtAllCanvasRP->Divide(2,1);
1fca9c90 2176
e83922f2 2177 //1st pad is for plot:
2178 (diffFlowPtAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
6f62c2a7 2179
e83922f2 2180 if(styleHistPt)
2181 {
2182 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2183 styleHistPt->Draw();
2184 }
2185 if(pMeshDiffFlowPtRP)
2186 {
2187 pMeshDiffFlowPtRP->Draw("LFSAME");
2188 }
1fca9c90 2189
e83922f2 2190 //MC
2191 if(plotMCPtRP && mcepCommonHistRes)
2192 {
2193 (mcepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2194 }
905bed86 2195 //SP
2196 if(plotSPPtRP && spCommonHistRes)
2197 {
2198 (spCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2199 }
e83922f2 2200 //GFC
7d02d77f 2201 if(plotGFC2PtRP && gfcCommonHistRes2)Pt
e83922f2 2202 {
2203 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2204 }
2205 if(plotGFC4PtRP && gfcCommonHistRes4)
2206 {
2207 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2208 }
2209 if(plotGFC6PtRP && gfcCommonHistRes6)
2210 {
2211 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2212 }
2213 if(plotGFC8PtRP && gfcCommonHistRes8)
2214 {
2215 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2216 }
2217 //QC
2218 if(plotQC2PtRP && qcCommonHistRes2)
2219 {
2220 (qcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2221 }
2222 if(plotQC4PtRP && qcCommonHistRes4)
2223 {
2224 (qcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2225 }
2226 if(plotQC6PtRP && qcCommonHistRes6)
2227 {
7d02d77f 2228 //(qcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
e83922f2 2229 }
2230 if(plotQC8PtRP && qcCommonHistRes8)
2231 {
7d02d77f 2232 //(qcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
e83922f2 2233 }
947cc449 2234 //LYZ2SUM
2235 if(plotLYZ2SUMPtRP && lyz2sumCommonHistRes)
2236 {
2237 (lyz2sumCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2238 }
2239 //LYZ2PROD
2240 if(plotLYZ2PRODPtRP && lyz2prodCommonHistRes)
e83922f2 2241 {
947cc449 2242 (lyz2prodCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
e83922f2 2243 }
2244 //LYZEP
2245 if(plotLYZEPPtRP && lyzepCommonHistRes)
2246 {
2247 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
2248 }
1fca9c90 2249
e83922f2 2250 //2nd pad is for legend:
dec3fab6 2251 (diffFlowPtAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2252
2253 TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.12,0.97,0.70);
e83922f2 2254 legendDiffFlowPtRP->SetTextFont(72);
2255 legendDiffFlowPtRP->SetTextSize(0.06);
2256
7d02d77f 2257 //legend's entries:Pt
947cc449 2258 TString *entryDiffMCPtRP = new TString("MC ........ ");
2259 TString *entryDiffSPPtRP = new TString("SP ........ ");
2260 TString *entryDiffGFC2PtRP = new TString("GFC{2} .... ");
2261 TString *entryDiffGFC4PtRP = new TString("GFC{4} .... ");
2262 TString *entryDiffGFC6PtRP = new TString("GFC{6} .... ");
2263 TString *entryDiffGFC8PtRP = new TString("GFC{8} .... ");
2264 TString *entryDiffQC2PtRP = new TString("QC{2} ..... ");
2265 TString *entryDiffQC4PtRP = new TString("QC{4} ..... ");
2266 TString *entryDiffQC6PtRP = new TString("QC{6} ..... ");
2267 TString *entryDiffQC8PtRP = new TString("QC{8} ..... ");
2268 TString *entryDiffLYZ2SUMPtRP = new TString("LYZ{sum} .. ");
2269 TString *entryDiffLYZ2PRODPtRP = new TString("LYZ{prod} . ");
2270 TString *entryDiffLYZEPPtRP = new TString("LYZEP ..... ");
e83922f2 2271
2272 //MC
2273 if(mcepCommonHistRes)
2274 {
dec3fab6 2275 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyleDiffFlowPtRP);
2276 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColorDiffFlowPtRP);
e83922f2 2277 entryDiffMCPtRP->Append("M = ");
2278 (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
2279 entryDiffMCPtRP->Append(", N = ");
2280 (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP;
2281 legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
2282 }
905bed86 2283
2284 //SP
947cc449 2285 if(plotSPPtRP && spCommonHistRes)
905bed86 2286 {
905bed86 2287 entryDiffSPPtRP->Append("M = ");
2288 (*entryDiffSPPtRP)+=(Long_t)avMultDiffFlowSPRP;
2289 entryDiffSPPtRP->Append(", N = ");
2290 (*entryDiffSPPtRP)+=(Long_t)nEvtsDiffFlowSPRP;
2291 legendDiffFlowPtRP->AddEntry(spCommonHistRes->GetHistDiffFlowPtRP(),entryDiffSPPtRP->Data(),"p");
2292 }
1fca9c90 2293
e83922f2 2294 //GFC
2295 if(plotGFC2PtRP && gfcCommonHistRes2)
2296 {
2297 entryDiffGFC2PtRP->Append("M = ");
2298 (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2299 entryDiffGFC2PtRP->Append(", N = ");
2300 (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2301 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
2302 }
2303 if(plotGFC4PtRP && gfcCommonHistRes4)
2304 {
2305 entryDiffGFC4PtRP->Append("M = ");
2306 (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2307 entryDiffGFC4PtRP->Append(", N = ");
2308 (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2309 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
2310 }
2311 if(plotGFC6PtRP && gfcCommonHistRes6)
2312 {
2313 entryDiffGFC6PtRP->Append("M = ");
2314 (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2315 entryDiffGFC6PtRP->Append(", N = ");
2316 (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2317 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
2318 }
2319 if(plotGFC8PtRP && gfcCommonHistRes8)
2320 {
2321 entryDiffGFC8PtRP->Append("M = ");
2322 (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2323 entryDiffGFC8PtRP->Append(", N = ");
2324 (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2325 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
2326 }
2327
2328 //QC
2329 if(plotQC2PtRP && qcCommonHistRes2)
2330 {
2331 entryDiffQC2PtRP->Append("M = ");
2332 (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
2333 entryDiffQC2PtRP->Append(", N = ");
2334 (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP;
2335 legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
2336 }
2337 if(plotQC4PtRP && qcCommonHistRes4)
2338 {
2339 entryDiffQC4PtRP->Append("M = ");
2340 (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
2341 entryDiffQC4PtRP->Append(", N = ");
2342 (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP;
2343 legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
2344 }
2345 if(plotQC6PtRP && qcCommonHistRes6)
2346 {
2347 entryDiffQC6PtRP->Append("M = ");
2348 (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
2349 entryDiffQC6PtRP->Append(", N = ");
2350 (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP;
2351 legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
2352 }
2353 if(plotQC8PtRP && qcCommonHistRes8)
2354 {
2355 entryDiffQC8PtRP->Append("M = ");
2356 (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
2357 entryDiffQC8PtRP->Append(", N = ");
2358 (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP;
2359 legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
2360 }
2361
947cc449 2362 //LYZ2SUM
2363 if(plotLYZ2SUMPtRP && lyz2sumCommonHistRes)
2364 {
2365 entryDiffLYZ2SUMPtRP->Append("M = ");
2366 (*entryDiffLYZ2SUMPtRP)+=(Long_t)avMultDiffFlowLYZ2SUMRP;
2367 entryDiffLYZ2SUMPtRP->Append(", N = ");
2368 (*entryDiffLYZ2SUMPtRP)+=(Long_t)nEvtsDiffFlowLYZ2SUMRP;
2369 legendDiffFlowPtRP->AddEntry(lyz2sumCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2SUMPtRP->Data(),"p");
2370 }
2371
2372 //LYZ2PROD
2373 if(plotLYZ2PRODPtRP && lyz2prodCommonHistRes)
e83922f2 2374 {
947cc449 2375 entryDiffLYZ2PRODPtRP->Append("M = ");
2376 (*entryDiffLYZ2PRODPtRP)+=(Long_t)avMultDiffFlowLYZ2PRODRP;
2377 entryDiffLYZ2PRODPtRP->Append(", N = ");
2378 (*entryDiffLYZ2PRODPtRP)+=(Long_t)nEvtsDiffFlowLYZ2PRODRP;
2379 legendDiffFlowPtRP->AddEntry(lyz2prodCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PRODPtRP->Data(),"p");
e83922f2 2380 }
2381
2382 //LYZEP
2383 if(plotLYZEPPtRP && lyzepCommonHistRes)
2384 {
2385 entryDiffLYZEPPtRP->Append("M = ");
2386 (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
2387 entryDiffLYZEPPtRP->Append(", N = ");
2388 (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
2389 legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
2390 }
1fca9c90 2391
dec3fab6 2392 //drawing finally the legend in the 2nd pad:
2393 if(textDefault) textDefault->Draw();
2394
e83922f2 2395 if(legendDiffFlowPtRP)
2396 {
2397 legendDiffFlowPtRP->SetMargin(0.15);
2398 legendDiffFlowPtRP->Draw();
2399 }
2400 }// end of if(plotDiffFlowPtRP)
1fca9c90 2401 //----------------------------------------------------------------------------------
2402
1fca9c90 2403 //----------------------------------------------------------------------------------
2404 //final drawing for differential flow (Eta, RP):
e83922f2 2405 if(plotDiffFlowEtaRP)
2406 {
2407 TCanvas* diffFlowEtaAllCanvasRP = new TCanvas("Differential Flow (Eta) of RP","Differential Flow (Eta) of RP ",1000,600);
2408
2409 diffFlowEtaAllCanvasRP->Divide(2,1);
2410
2411 //1st pad is for plot:
2412 (diffFlowEtaAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2413
2414 if(styleHistEta)
2415 {
2416 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
2417 styleHistEta->Draw();
2418 }
2419 if(pMeshDiffFlowEtaRP)
2420 {
2421 pMeshDiffFlowEtaRP->Draw("LFSAME");
2422 }
1fca9c90 2423
e83922f2 2424 //MC
2425 if(plotMCEtaRP && mcepCommonHistRes)
2426 {
2427 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2428 }
905bed86 2429 //SP
2430 if(plotSPEtaRP && spCommonHistRes)
2431 {
2432 (spCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2433 }
e83922f2 2434 //GFC
2435 if(plotGFC2EtaRP && gfcCommonHistRes2)
2436 {
2437 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2438 }
2439 if(plotGFC4EtaRP && gfcCommonHistRes4)
2440 {
2441 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2442 }
2443 if(plotGFC6EtaRP && gfcCommonHistRes6)
2444 {
2445 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2446 }
2447 if(plotGFC8EtaRP && gfcCommonHistRes8)
2448 {
2449 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2450 }
2451 //QC
2452 if(plotQC2EtaRP && qcCommonHistRes2)
2453 {
2454 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2455 }
2456 if(plotQC4EtaRP && qcCommonHistRes4)
2457 {
2458 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2459 }
2460 if(plotQC6EtaRP && qcCommonHistRes6)
2461 {
7d02d77f 2462 //(qcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
e83922f2 2463 }
2464 if(plotQC8EtaRP && qcCommonHistRes8)
2465 {
7d02d77f 2466 //(qcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
e83922f2 2467 }
947cc449 2468 //LYZ2SUM
2469 if(plotLYZ2SUMEtaRP && lyz2sumCommonHistRes)
e83922f2 2470 {
947cc449 2471 (lyz2sumCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2472 }
2473 //LYZ2PROD
2474 if(plotLYZ2PRODEtaRP && lyz2prodCommonHistRes)
2475 {
2476 (lyz2prodCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
e83922f2 2477 }
2478 //LYZEP
2479 if(plotLYZEPEtaRP && lyzepCommonHistRes)
2480 {
2481 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
2482 }
1fca9c90 2483
e83922f2 2484 //2nd pad is for legend:
2485 (diffFlowEtaAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2486
dec3fab6 2487 TLegend* legendDiffFlowEtaRP = new TLegend(0.02,0.12,0.97,0.70);
e83922f2 2488 legendDiffFlowEtaRP->SetTextFont(72);
2489 legendDiffFlowEtaRP->SetTextSize(0.06);
2490
2491 //legend's entries:
947cc449 2492 TString *entryDiffMCEtaRP = new TString("MC ........ ");
2493 TString *entryDiffSPEtaRP = new TString("SP ........ ");
2494 TString *entryDiffGFC2EtaRP = new TString("GFC{2} .... ");
2495 TString *entryDiffGFC4EtaRP = new TString("GFC{4} .... ");
2496 TString *entryDiffGFC6EtaRP = new TString("GFC{6} .... ");
2497 TString *entryDiffGFC8EtaRP = new TString("GFC{8} .... ");
2498 TString *entryDiffQC2EtaRP = new TString("QC{2} ..... ");
2499 TString *entryDiffQC4EtaRP = new TString("QC{4} ..... ");
2500 TString *entryDiffQC6EtaRP = new TString("QC{6} ..... ");
2501 TString *entryDiffQC8EtaRP = new TString("QC{8} ..... ");
2502 TString *entryDiffLYZ2SUMEtaRP = new TString("LYZ{sum} .. ");
2503 TString *entryDiffLYZ2PRODEtaRP = new TString("LYZ{prod} . ");
2504 TString *entryDiffLYZEPEtaRP = new TString("LYZEP ..... ");
e83922f2 2505
2506 //MC
2507 if(mcepCommonHistRes)
2508 {
dec3fab6 2509 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillStyle(meshStyleDiffFlowEtaRP);
2510 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillColor(meshColorDiffFlowEtaRP);
e83922f2 2511 entryDiffMCEtaRP->Append("M = ");
2512 (*entryDiffMCEtaRP)+=(Long_t)avMultDiffFlowMCRP;
2513 entryDiffMCEtaRP->Append(", N = ");
2514 (*entryDiffMCEtaRP)+=(Long_t)nEvtsDiffFlowMCRP;
2515 legendDiffFlowEtaRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffMCEtaRP->Data(),"f");
2516 }
905bed86 2517
2518 //SP
947cc449 2519 if(plotSPEtaRP && spCommonHistRes)
905bed86 2520 {
905bed86 2521 entryDiffSPEtaRP->Append("M = ");
2522 (*entryDiffSPEtaRP)+=(Long_t)avMultDiffFlowSPRP;
2523 entryDiffSPEtaRP->Append(", N = ");
2524 (*entryDiffSPEtaRP)+=(Long_t)nEvtsDiffFlowSPRP;
2525 legendDiffFlowEtaRP->AddEntry(spCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffSPEtaRP->Data(),"p");
2526 }
1fca9c90 2527
e83922f2 2528 //GFC
2529 if(plotGFC2EtaRP && gfcCommonHistRes2)
2530 {
2531 entryDiffGFC2EtaRP->Append("M = ");
2532 (*entryDiffGFC2EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2533 entryDiffGFC2EtaRP->Append(", N = ");
2534 (*entryDiffGFC2EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2535 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffGFC2EtaRP->Data(),"p");
2536 }
2537 if(plotGFC4EtaRP && gfcCommonHistRes4)
2538 {
2539 entryDiffGFC4EtaRP->Append("M = ");
2540 (*entryDiffGFC4EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2541 entryDiffGFC4EtaRP->Append(", N = ");
2542 (*entryDiffGFC4EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2543 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffGFC4EtaRP->Data(),"p");
2544 }
2545 if(plotGFC6EtaRP && gfcCommonHistRes6)
2546 {
2547 entryDiffGFC6EtaRP->Append("M = ");
2548 (*entryDiffGFC6EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2549 entryDiffGFC6EtaRP->Append(", N = ");
2550 (*entryDiffGFC6EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2551 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffGFC6EtaRP->Data(),"p");
2552 }
2553 if(plotGFC8EtaRP && gfcCommonHistRes8)
2554 {
2555 entryDiffGFC8EtaRP->Append("M = ");
2556 (*entryDiffGFC8EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2557 entryDiffGFC8EtaRP->Append(", N = ");
2558 (*entryDiffGFC8EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2559 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffGFC8EtaRP->Data(),"p");
2560 }
2561
2562 //QC
2563 if(plotQC2EtaRP && qcCommonHistRes2)
2564 {
2565 entryDiffQC2EtaRP->Append("M = ");
2566 (*entryDiffQC2EtaRP)+=(Long_t)avMultDiffFlowQC2RP;
2567 entryDiffQC2EtaRP->Append(", N = ");
2568 (*entryDiffQC2EtaRP)+=(Long_t)nEvtsDiffFlowQC2RP;
2569 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffQC2EtaRP->Data(),"p");
2570 }
2571 if(plotQC4EtaRP && qcCommonHistRes4)
2572 {
2573 entryDiffQC4EtaRP->Append("M = ");
2574 (*entryDiffQC4EtaRP)+=(Long_t)avMultDiffFlowQC4RP;
2575 entryDiffQC4EtaRP->Append(", N = ");
2576 (*entryDiffQC4EtaRP)+=(Long_t)nEvtsDiffFlowQC4RP;
2577 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffQC4EtaRP->Data(),"p");
2578 }
2579 if(plotQC6EtaRP && qcCommonHistRes6)
2580 {
2581 entryDiffQC6EtaRP->Append("M = ");
2582 (*entryDiffQC6EtaRP)+=(Long_t)avMultDiffFlowQC6RP;
2583 entryDiffQC6EtaRP->Append(", N = ");
2584 (*entryDiffQC6EtaRP)+=(Long_t)nEvtsDiffFlowQC6RP;
2585 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffQC6EtaRP->Data(),"p");
2586 }
2587 if(plotQC8EtaRP && qcCommonHistRes8)
2588 {
2589 entryDiffQC8EtaRP->Append("M = ");
2590 (*entryDiffQC8EtaRP)+=(Long_t)avMultDiffFlowQC8RP;
2591 entryDiffQC8EtaRP->Append(", N = ");
2592 (*entryDiffQC8EtaRP)+=(Long_t)nEvtsDiffFlowQC8RP;
2593 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffQC8EtaRP->Data(),"p");
2594 }
1fca9c90 2595
947cc449 2596 //LYZ2SUM
2597 if(plotLYZ2SUMEtaRP && lyz2sumCommonHistRes)
2598 {
2599 entryDiffLYZ2SUMEtaRP->Append("M = ");
2600 (*entryDiffLYZ2SUMEtaRP)+=(Long_t)avMultDiffFlowLYZ2SUMRP;
2601 entryDiffLYZ2SUMEtaRP->Append(", N = ");
2602 (*entryDiffLYZ2SUMEtaRP)+=(Long_t)nEvtsDiffFlowLYZ2SUMRP;
2603 legendDiffFlowEtaRP->AddEntry(lyz2sumCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZ2SUMEtaRP->Data(),"p");
2604 }
2605
2606 //LYZ2PROD
2607 if(plotLYZ2PRODEtaRP && lyz2prodCommonHistRes)
e83922f2 2608 {
947cc449 2609 entryDiffLYZ2PRODEtaRP->Append("M = ");
2610 (*entryDiffLYZ2PRODEtaRP)+=(Long_t)avMultDiffFlowLYZ2PRODRP;
2611 entryDiffLYZ2PRODEtaRP->Append(", N = ");
2612 (*entryDiffLYZ2PRODEtaRP)+=(Long_t)nEvtsDiffFlowLYZ2PRODRP;
2613 legendDiffFlowEtaRP->AddEntry(lyz2prodCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZ2PRODEtaRP->Data(),"p");
e83922f2 2614 }
2615
2616 //LYZEP
2617 if(plotLYZEPEtaRP && lyzepCommonHistRes)
2618 {
2619 entryDiffLYZEPEtaRP->Append("M = ");
2620 (*entryDiffLYZEPEtaRP)+=(Long_t)avMultDiffFlowLYZEPRP;
2621 entryDiffLYZEPEtaRP->Append(", N = ");
2622 (*entryDiffLYZEPEtaRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
2623 legendDiffFlowEtaRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZEPEtaRP->Data(),"p");
2624 }
1fca9c90 2625
dec3fab6 2626 //drawing finally the legend in the 2nd pad:
2627 if(textDefault) textDefault->Draw();
2628
e83922f2 2629 if(legendDiffFlowEtaRP)
2630 {
2631 legendDiffFlowEtaRP->SetMargin(0.15);
2632 legendDiffFlowEtaRP->Draw();
2633 }
2634 }// end of if(plotDiffFlowEtaRP)
1fca9c90 2635 //----------------------------------------------------------------------------------
c365fe76 2636
688877b8 2637 //----------------------------------------------------------------------------------
2638 // final drawing for plot |(v{method}-v{MC})/v{MC}| as a function of pt for RPs
2639 if(plotDiffFlowPtRelativeToMCRP)
2640 {
251b57f2 2641 TCanvas* diffFlowPtRelativeToMCRP = new TCanvas("Differential Flow (Pt) of RPs relative to MC","Differential Flow (Pt) of RPs relative to MC",1000,600);
688877b8 2642
2643 diffFlowPtRelativeToMCRP->Divide(2,1);
2644
2645 //1st pad is for plot:
2646 (diffFlowPtRelativeToMCRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2647
2648 if(styleHistPt)
2649 {
7fb984f6 2650 TH1D *styleHistPtReleativeToMC = new TH1D(*styleHistPt);
2651 (styleHistPtReleativeToMC->GetYaxis())->SetRangeUser(-4.0,4.0);
2652 (styleHistPtReleativeToMC->GetYaxis())->SetTitle("(v_{n}\{method\} - v_{n}\{MC\})/v_{n}\{MC\}");
2653 styleHistPtReleativeToMC->Draw();
688877b8 2654 }
7fb984f6 2655
688877b8 2656 TH1D *spDiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2657 TH1D *gfc2DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2658 TH1D *gfc4DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2659 TH1D *gfc6DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2660 TH1D *gfc8DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2661 TH1D *qc2DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2662 TH1D *qc4DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2663 TH1D *qc6DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2664 TH1D *qc8DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
947cc449 2665 TH1D *lyz2sumDiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2666 TH1D *lyz2prodDiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
688877b8 2667 TH1D *lyzepDiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2668
c49a8c1c 2669 if(mcepCommonHistRes && mcepCommonHistRes->GetHistDiffFlowPtRP())
688877b8 2670 {
2671 for(Int_t p=1;p<iNbinsPt+1;p++)
2672 {
2673 Double_t dvnMC = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
2674
2675 // SP:
2676 Double_t dvnSP = 0.;
7fb984f6 2677 Double_t dvnErrorSP = 0.;
688877b8 2678 if(spCommonHistRes && spCommonHistRes->GetHistDiffFlowPtRP())
2679 {
2680 dvnSP = (spCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2681 dvnErrorSP = (spCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2682 }
2683 if(dvnMC!=0. && dvnSP!=0.)
2684 {
cf90787f 2685 spDiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnSP-dvnMC)/dvnMC);
b27d2a65 2686 spDiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorSP/dvnMC);
688877b8 2687 }
2688
2689 // GFC{2}:
2690 Double_t dvnGFC2 = 0.;
7fb984f6 2691 Double_t dvnErrorGFC2 = 0.;
688877b8 2692 if(gfcCommonHistRes2 && gfcCommonHistRes2->GetHistDiffFlowPtRP())
2693 {
2694 dvnGFC2 = (gfcCommonHistRes2->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2695 dvnErrorGFC2 = (gfcCommonHistRes2->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2696 }
2697 if(dvnMC!=0. && dvnGFC2!=0.)
2698 {
cf90787f 2699 gfc2DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC2-dvnMC)/dvnMC);
b27d2a65 2700 gfc2DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorGFC2/dvnMC);
688877b8 2701 }
2702
2703 // GFC{4}:
2704 Double_t dvnGFC4 = 0.;
7fb984f6 2705 Double_t dvnErrorGFC4 = 0.;
688877b8 2706 if(gfcCommonHistRes4 && gfcCommonHistRes4->GetHistDiffFlowPtRP())
2707 {
2708 dvnGFC4 = (gfcCommonHistRes4->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2709 dvnErrorGFC4 = (gfcCommonHistRes4->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2710 }
2711 if(dvnMC!=0. && dvnGFC4!=0.)
2712 {
cf90787f 2713 gfc4DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC4-dvnMC)/dvnMC);
b27d2a65 2714 gfc4DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorGFC4/dvnMC);
688877b8 2715 }
2716
2717 // GFC{6}:
2718 Double_t dvnGFC6 = 0.;
7fb984f6 2719 Double_t dvnErrorGFC6 = 0.;
688877b8 2720 if(gfcCommonHistRes6 && gfcCommonHistRes6->GetHistDiffFlowPtRP())
2721 {
2722 dvnGFC6 = (gfcCommonHistRes6->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2723 dvnErrorGFC6 = (gfcCommonHistRes6->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2724 }
2725 if(dvnMC!=0. && dvnGFC6!=0.)
2726 {
cf90787f 2727 gfc6DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC6-dvnMC)/dvnMC);
b27d2a65 2728 gfc6DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorGFC6/dvnMC);
688877b8 2729 }
2730
2731 // GFC{8}:
2732 Double_t dvnGFC8 = 0.;
7fb984f6 2733 Double_t dvnErrorGFC8 = 0.;
688877b8 2734 if(gfcCommonHistRes8 && gfcCommonHistRes8->GetHistDiffFlowPtRP())
2735 {
2736 dvnGFC8 = (gfcCommonHistRes8->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2737 dvnErrorGFC8 = (gfcCommonHistRes8->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2738 }
2739 if(dvnMC!=0. && dvnGFC8!=0.)
2740 {
cf90787f 2741 gfc8DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC8-dvnMC)/dvnMC);
b27d2a65 2742 gfc8DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorGFC8/dvnMC);
688877b8 2743 }
2744
2745 // QC{2}:
2746 Double_t dvnQC2 = 0.;
7fb984f6 2747 Double_t dvnErrorQC2 = 0.;
688877b8 2748 if(qcCommonHistRes2 && qcCommonHistRes2->GetHistDiffFlowPtRP())
2749 {
2750 dvnQC2 = (qcCommonHistRes2->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2751 dvnErrorQC2 = (qcCommonHistRes2->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2752 }
2753 if(dvnMC!=0. && dvnQC2!=0.)
2754 {
cf90787f 2755 qc2DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC2-dvnMC)/dvnMC);
b27d2a65 2756 qc2DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorQC2/dvnMC);
688877b8 2757 }
2758
2759 // QC{4}:
2760 Double_t dvnQC4 = 0.;
7fb984f6 2761 Double_t dvnErrorQC4 = 0.;
688877b8 2762 if(qcCommonHistRes4 && qcCommonHistRes4->GetHistDiffFlowPtRP())
2763 {
2764 dvnQC4 = (qcCommonHistRes4->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2765 dvnErrorQC4 = (qcCommonHistRes4->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2766 }
2767 if(dvnMC!=0. && dvnQC4!=0.)
2768 {
cf90787f 2769 qc4DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC4-dvnMC)/dvnMC);
b27d2a65 2770 qc4DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorQC4/dvnMC);
688877b8 2771 }
2772
2773 // QC{6}:
2774 Double_t dvnQC6 = 0.;
7fb984f6 2775 Double_t dvnErrorQC6 = 0.;
688877b8 2776 if(qcCommonHistRes6 && qcCommonHistRes6->GetHistDiffFlowPtRP())
2777 {
2778 dvnQC6 = (qcCommonHistRes6->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2779 dvnErrorQC6 = (qcCommonHistRes6->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2780 }
2781 if(dvnMC!=0. && dvnQC6!=0.)
2782 {
cf90787f 2783 qc6DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC6-dvnMC)/dvnMC);
b27d2a65 2784 qc6DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorQC6/dvnMC);
688877b8 2785 }
2786
2787 // QC{8}:
2788 Double_t dvnQC8 = 0.;
7fb984f6 2789 Double_t dvnErrorQC8 = 0.;
688877b8 2790 if(qcCommonHistRes8 && qcCommonHistRes8->GetHistDiffFlowPtRP())
2791 {
2792 dvnQC8 = (qcCommonHistRes8->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2793 dvnErrorQC8 = (qcCommonHistRes8->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2794 }
2795 if(dvnMC!=0. && dvnQC8!=0.)
2796 {
cf90787f 2797 qc8DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC8-dvnMC)/dvnMC);
b27d2a65 2798 qc8DiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorQC8/dvnMC);
688877b8 2799 }
2800
947cc449 2801 // LYZ2SUM:
2802 Double_t dvnLYZ2SUM = 0.;
2803 Double_t dvnErrorLYZ2SUM = 0.;
2804 if(lyz2sumCommonHistRes && lyz2sumCommonHistRes->GetHistDiffFlowPtRP())
2805 {
2806 dvnLYZ2SUM = (lyz2sumCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
2807 dvnErrorLYZ2SUM = (lyz2sumCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(p);
2808 }
2809 if(dvnMC!=0. && dvnLYZ2SUM!=0.)
688877b8 2810 {
947cc449 2811 lyz2sumDiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnLYZ2SUM-dvnMC)/dvnMC);
2812 lyz2sumDiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorLYZ2SUM/dvnMC);
688877b8 2813 }
947cc449 2814
2815 // LYZ2PROD:
2816 Double_t dvnLYZ2PROD = 0.;
2817 Double_t dvnErrorLYZ2PROD = 0.;
2818 if(lyz2prodCommonHistRes && lyz2prodCommonHistRes->GetHistDiffFlowPtRP())
688877b8 2819 {
947cc449 2820 dvnLYZ2PROD = (lyz2prodCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
2821 dvnErrorLYZ2PROD = (lyz2prodCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(p);
2822 }
2823 if(dvnMC!=0. && dvnLYZ2PROD!=0.)
2824 {
2825 lyz2prodDiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnLYZ2PROD-dvnMC)/dvnMC);
2826 lyz2prodDiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorLYZ2PROD/dvnMC);
688877b8 2827 }
2828
2829 // LYZEP:
2830 Double_t dvnLYZEP = 0.;
7fb984f6 2831 Double_t dvnErrorLYZEP = 0.;
688877b8 2832 if(lyzepCommonHistRes && lyzepCommonHistRes->GetHistDiffFlowPtRP())
2833 {
2834 dvnLYZEP = (lyzepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
7fb984f6 2835 dvnErrorLYZEP = (lyzepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(p);
688877b8 2836 }
2837 if(dvnMC!=0. && dvnLYZEP!=0.)
2838 {
cf90787f 2839 lyzepDiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnLYZEP-dvnMC)/dvnMC);
b27d2a65 2840 lyzepDiffFlowPtRelativeToMCRP->SetBinError(p,dvnErrorLYZEP/dvnMC);
688877b8 2841 }
2842
2843 } // end of for(Int_t p=1;p<iNbinsPt+1;p++)
2844 } // end of if(mcepCommonHistRes->GetHistDiffFlowPtRP())
2845
2846
2847 // final drawings:
2848 spDiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorSP);
2849 spDiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleSP);
7fb984f6 2850 if(plotSPRelativeToMCRP && spCommonHistRes) spDiffFlowPtRelativeToMCRP->Draw("E1PSAME");
688877b8 2851
2852 gfc2DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC2);
2853 gfc2DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC2);
7fb984f6 2854 if(plotGFC2RelativeToMCRP && gfcCommonHistRes2) gfc2DiffFlowPtRelativeToMCRP->Draw("E1PSAME");
688877b8 2855
2856 gfc4DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC4);
2857 gfc4DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC4);
7fb984f6 2858 if(plotGFC4RelativeToMCRP && gfcCommonHistRes4) gfc4DiffFlowPtRelativeToMCRP->Draw("E1PSAME");
688877b8 2859
2860 gfc6DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC6);
2861 gfc6DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC6);
7fb984f6 2862 if(plotGFC6RelativeToMCRP && gfcCommonHistRes6) gfc6DiffFlowPtRelativeToMCRP->Draw("E1PSAME");
688877b8 2863
2864 gfc8DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC8);
2865 gfc8DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC8);
7fb984f6 2866 if(plotGFC8RelativeToMCRP && gfcCommonHistRes8) gfc8DiffFlowPtRelativeToMCRP->Draw("E1PSAME");
688877b8 2867
2868 qc2DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC2);
2869 qc2DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC2);
2870 if(plotQC2RelativeToMCRP && qcCommonHistRes2) qc2DiffFlowPtRelativeToMCRP->Draw("PSAME");
2871
2872 qc4DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC4);
2873 qc4DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC4);
2874 if(plotQC4RelativeToMCRP && qcCommonHistRes4) qc4DiffFlowPtRelativeToMCRP->Draw("PSAME");
2875
2876 qc6DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC6);
2877 qc6DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC6);
2878 if(plotQC6RelativeToMCRP && qcCommonHistRes6) qc6DiffFlowPtRelativeToMCRP->Draw("PSAME");
2879
2880 qc8DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC8);
2881 qc8DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC8);
2882 if(plotQC8RelativeToMCRP && qcCommonHistRes8) qc8DiffFlowPtRelativeToMCRP->Draw("PSAME");
2883
947cc449 2884 lyz2sumDiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorLYZ2SUM);
2885 lyz2sumDiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleLYZ2SUM);
2886 if(plotLYZ2SUMRelativeToMCRP && lyz2sumCommonHistRes) lyz2sumDiffFlowPtRelativeToMCRP->Draw("E1PSAME");
2887
2888 lyz2prodDiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorLYZ2SUM);
2889 lyz2prodDiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleLYZ2SUM);
2890 if(plotLYZ2SUMRelativeToMCRP && lyz2prodCommonHistRes) lyz2prodDiffFlowPtRelativeToMCRP->Draw("E1PSAME");
688877b8 2891
2892 lyzepDiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorLYZEP);
2893 lyzepDiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleLYZEP);
7fb984f6 2894 if(plotLYZEPRelativeToMCRP && lyzepCommonHistRes) lyzepDiffFlowPtRelativeToMCRP->Draw("E1PSAME");
688877b8 2895
2896 //2nd pad is for legend:
2897 (diffFlowPtRelativeToMCRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2898
2899 TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.12,0.97,0.70);
2900 legendDiffFlowPtRP->SetTextFont(72);
2901 legendDiffFlowPtRP->SetTextSize(0.06);
2902
947cc449 2903 //legend's entries:Pt
2904 TString *entryDiffMCPtRP = new TString("MC ........ ");
2905 TString *entryDiffSPPtRP = new TString("SP ........ ");
2906 TString *entryDiffGFC2PtRP = new TString("GFC{2} .... ");
2907 TString *entryDiffGFC4PtRP = new TString("GFC{4} .... ");
2908 TString *entryDiffGFC6PtRP = new TString("GFC{6} .... ");
2909 TString *entryDiffGFC8PtRP = new TString("GFC{8} .... ");
2910 TString *entryDiffQC2PtRP = new TString("QC{2} ..... ");
2911 TString *entryDiffQC4PtRP = new TString("QC{4} ..... ");
2912 TString *entryDiffQC6PtRP = new TString("QC{6} ..... ");
2913 TString *entryDiffQC8PtRP = new TString("QC{8} ..... ");
2914 TString *entryDiffLYZ2SUMPtRP = new TString("LYZ{sum} .. ");
2915 TString *entryDiffLYZ2PRODPtRP = new TString("LYZ{prod} . ");
2916 TString *entryDiffLYZEPPtRP = new TString("LYZEP ..... ");
688877b8 2917
2918 //MC
2919 if(mcepCommonHistRes)
2920 {
2921 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyleDiffFlowPtRP);
2922 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColorDiffFlowPtRP);
2923 entryDiffMCPtRP->Append("M = ");
2924 (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
2925 entryDiffMCPtRP->Append(", N = ");
2926 (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP;
2927 //legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
2928 }
2929
2930 //SP
947cc449 2931 if(plotSPPtRP && spCommonHistRes)
688877b8 2932 {
2933 entryDiffSPPtRP->Append("M = ");
2934 (*entryDiffSPPtRP)+=(Long_t)avMultDiffFlowSPRP;
2935 entryDiffSPPtRP->Append(", N = ");
2936 (*entryDiffSPPtRP)+=(Long_t)nEvtsDiffFlowSPRP;
2937 if(plotSPRelativeToMCRP) legendDiffFlowPtRP->AddEntry(spCommonHistRes->GetHistDiffFlowPtRP(),entryDiffSPPtRP->Data(),"p");
2938 }
2939
2940 //GFC
2941 if(plotGFC2PtRP && gfcCommonHistRes2)
2942 {
2943 entryDiffGFC2PtRP->Append("M = ");
2944 (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2945 entryDiffGFC2PtRP->Append(", N = ");
2946 (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2947 if(plotGFC2RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
2948 }
2949 if(plotGFC4PtRP && gfcCommonHistRes4)
2950 {
2951 entryDiffGFC4PtRP->Append("M = ");
2952 (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2953 entryDiffGFC4PtRP->Append(", N = ");
2954 (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2955 if(plotGFC4RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
2956 }
2957 if(plotGFC6PtRP && gfcCommonHistRes6)
2958 {
2959 entryDiffGFC6PtRP->Append("M = ");
2960 (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2961 entryDiffGFC6PtRP->Append(", N = ");
2962 (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2963 if(plotGFC6RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
2964 }
2965 if(plotGFC8PtRP && gfcCommonHistRes8)
2966 {
2967 entryDiffGFC8PtRP->Append("M = ");
2968 (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2969 entryDiffGFC8PtRP->Append(", N = ");
2970 (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2971 if(plotGFC8RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
2972 }
2973
2974 //QC
2975 if(plotQC2PtRP && qcCommonHistRes2)
2976 {
2977 entryDiffQC2PtRP->Append("M = ");
2978 (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
2979 entryDiffQC2PtRP->Append(", N = ");
2980 (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP;
2981 if(plotQC2RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
2982 }
2983 if(plotQC4PtRP && qcCommonHistRes4)
2984 {
2985 entryDiffQC4PtRP->Append("M = ");
2986 (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
2987 entryDiffQC4PtRP->Append(", N = ");
2988 (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP;
2989 if(plotQC4RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
2990 }
2991 if(plotQC6PtRP && qcCommonHistRes6)
2992 {
2993 entryDiffQC6PtRP->Append("M = ");
2994 (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
2995 entryDiffQC6PtRP->Append(", N = ");
2996 (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP;
2997 if(plotQC6RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
2998 }
2999 if(plotQC8PtRP && qcCommonHistRes8)
3000 {
3001 entryDiffQC8PtRP->Append("M = ");
3002 (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
3003 entryDiffQC8PtRP->Append(", N = ");
3004 (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP;
3005 if(plotQC8RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
3006 }
3007
947cc449 3008 //LYZ2SUM
3009 if(plotLYZ2SUMPtRP && lyz2sumCommonHistRes)
688877b8 3010 {
947cc449 3011 entryDiffLYZ2SUMPtRP->Append("M = ");
3012 (*entryDiffLYZ2SUMPtRP)+=(Long_t)avMultDiffFlowLYZ2SUMRP;
3013 entryDiffLYZ2SUMPtRP->Append(", N = ");
3014 (*entryDiffLYZ2SUMPtRP)+=(Long_t)nEvtsDiffFlowLYZ2SUMRP;
3015 if(plotLYZ2SUMRelativeToMCRP) legendDiffFlowPtRP->AddEntry(lyz2sumCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2SUMPtRP->Data(),"p");
3016 }
3017
3018 //LYZ2PROD
3019 if(plotLYZ2PRODPtRP && lyz2prodCommonHistRes)
3020 {
3021 entryDiffLYZ2PRODPtRP->Append("M = ");
3022 (*entryDiffLYZ2PRODPtRP)+=(Long_t)avMultDiffFlowLYZ2PRODRP;
3023 entryDiffLYZ2PRODPtRP->Append(", N = ");
3024 (*entryDiffLYZ2PRODPtRP)+=(Long_t)nEvtsDiffFlowLYZ2PRODRP;
3025 if(plotLYZ2PRODRelativeToMCRP) legendDiffFlowPtRP->AddEntry(lyz2prodCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PRODPtRP->Data(),"p");
688877b8 3026 }
3027
3028 //LYZEP
3029 if(plotLYZEPPtRP && lyzepCommonHistRes)
3030 {
3031 entryDiffLYZEPPtRP->Append("M = ");
3032 (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
3033 entryDiffLYZEPPtRP->Append(", N = ");
3034 (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
3035 if(plotLYZEPRelativeToMCRP) legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
3036 }
3037
3038 //drawing finally the legend in the 2nd pad:
3039 if(textDefault) textDefault->Draw();
3040
3041 if(legendDiffFlowPtRP)
3042 {
3043 legendDiffFlowPtRP->SetMargin(0.15);
3044 legendDiffFlowPtRP->Draw();
3045 }
3046 }
3047 //----------------------------------------------------------------------------------
c365fe76 3048
1fca9c90 3049 //----------------------------------------------------------------------------------
3050 //final drawing for differential flow (Pt, POI):
e83922f2 3051 if(plotDiffFlowPtPOI)
3052 {
3053 TCanvas* diffFlowPtAllCanvasPOI = new TCanvas("Differential Flow (Pt) of POI","Differential Flow (Pt) of POI ",1000,600);
3054
3055 diffFlowPtAllCanvasPOI->Divide(2,1);
3056
3057 //1st pad is for plot:
3058 (diffFlowPtAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
3059
3060 if(styleHistPt)
3061 {
3062 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
3063 styleHistPt->Draw();
3064 }
3065 if(pMeshDiffFlowPtPOI)
3066 {
3067 pMeshDiffFlowPtPOI->Draw("LFSAME");
3068 }
1fca9c90 3069
e83922f2 3070 //MC
3071 if(plotMCPtPOI && mcepCommonHistRes)
905bed86 3072 {
e83922f2 3073 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3074 }
905bed86 3075 //SP
3076 if(plotSPPtPOI && spCommonHistRes)
3077 {
3078 (spCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3079 }
e83922f2 3080 //GFC
3081 if(plotGFC2PtPOI && gfcCommonHistRes2)
3082 {
3083 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3084 }
3085 if(plotGFC4PtPOI && gfcCommonHistRes4)
3086 {
3087 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3088 }
3089 if(plotGFC6PtPOI && gfcCommonHistRes6)
3090 {
3091 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3092 }
3093 if(plotGFC8PtPOI && gfcCommonHistRes8)
3094 {
3095 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3096 }
3097 //QC
3098 if(plotQC2PtPOI && qcCommonHistRes2)
3099 {
3100 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3101 }
3102 if(plotQC4PtPOI && qcCommonHistRes4)
3103 {
3104 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3105 }
3106 if(plotQC6PtPOI && qcCommonHistRes6)
947cc449 3107 {
7d02d77f 3108 //(qcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
e83922f2 3109 }
3110 if(plotQC8PtPOI && qcCommonHistRes8)
3111 {
7d02d77f 3112 //(qcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
e83922f2 3113 }
947cc449 3114 //LYZ2SUM
3115 if(plotLYZ2SUMPtPOI && lyz2sumCommonHistRes)
3116 {
3117 (lyz2sumCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3118 }
3119 //LYZ2PROD
3120 if(plotLYZ2PRODPtPOI && lyz2prodCommonHistRes)
e83922f2 3121 {
947cc449 3122 (lyz2prodCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
e83922f2 3123 }
3124 //LYZEP
3125 if(plotLYZEPPtPOI && lyzepCommonHistRes)
3126 {
3127 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
3128 }
1fca9c90 3129
e83922f2 3130 //2nd pad is for legend:
3131 (diffFlowPtAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
3132
dec3fab6 3133 TLegend* legendDiffFlowPtPOI = new TLegend(0.02,0.12,0.97,0.70);
e83922f2 3134 legendDiffFlowPtPOI->SetTextFont(72);
3135 legendDiffFlowPtPOI->SetTextSize(0.06);
3136
3137 //legend's entries:
947cc449 3138 TString *entryDiffMCPtPOI = new TString("MC ........ ");
3139 TString *entryDiffSPPtPOI = new TString("SP ........ ");
3140 TString *entryDiffGFC2PtPOI = new TString("GFC{2} .... ");
3141 TString *entryDiffGFC4PtPOI = new TString("GFC{4} .... ");
3142 TString *entryDiffGFC6PtPOI = new TString("GFC{6} .... ");
3143 TString *entryDiffGFC8PtPOI = new TString("GFC{8} .... ");
3144 TString *entryDiffQC2PtPOI = new TString("QC{2} ..... ");
3145 TString *entryDiffQC4PtPOI = new TString("QC{4} ..... ");
3146 TString *entryDiffQC6PtPOI = new TString("QC{6} ..... ");
3147 TString *entryDiffQC8PtPOI = new TString("QC{8} ..... ");
3148 TString *entryDiffLYZ2SUMPtPOI = new TString("LYZ{sum} .. ");
3149 TString *entryDiffLYZ2PRODPtPOI = new TString("LYZ{prod} . ");
3150 TString *entryDiffLYZEPPtPOI = new TString("LYZEP ..... ");
e83922f2 3151
3152 //MC
3153 if(mcepCommonHistRes)
3154 {
dec3fab6 3155 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillStyle(meshStyleDiffFlowPtPOI);
3156 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillColor(meshColorDiffFlowPtPOI);
e83922f2 3157 entryDiffMCPtPOI->Append("M = ");
3158 (*entryDiffMCPtPOI)+=(Long_t)avMultDiffFlowMCPOI;
3159 entryDiffMCPtPOI->Append(", N = ");
3160 (*entryDiffMCPtPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
3161 legendDiffFlowPtPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffMCPtPOI->Data(),"f");
3162 }
905bed86 3163
3164 //SP
947cc449 3165 if(plotSPPtPOI && spCommonHistRes)
905bed86 3166 {
905bed86 3167 entryDiffSPPtPOI->Append("M = ");
3168 (*entryDiffSPPtPOI)+=(Long_t)avMultDiffFlowSPPOI;
3169 entryDiffSPPtPOI->Append(", N = ");
3170 (*entryDiffSPPtPOI)+=(Long_t)nEvtsDiffFlowSPPOI;
3171 legendDiffFlowPtPOI->AddEntry(spCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffSPPtPOI->Data(),"p");
3172 }
1fca9c90 3173
e83922f2 3174 //GFC
3175 if(plotGFC2PtPOI && gfcCommonHistRes2)
3176 {
3177 entryDiffGFC2PtPOI->Append("M = ");
3178 (*entryDiffGFC2PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3179 entryDiffGFC2PtPOI->Append(", N = ");
3180 (*entryDiffGFC2PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3181 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffGFC2PtPOI->Data(),"p");
3182 }
3183 if(plotGFC4PtPOI && gfcCommonHistRes4)
3184 {
3185 entryDiffGFC4PtPOI->Append("M = ");
3186 (*entryDiffGFC4PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3187 entryDiffGFC4PtPOI->Append(", N = ");
3188 (*entryDiffGFC4PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3189 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffGFC4PtPOI->Data(),"p");
3190 }
3191 if(plotGFC6PtPOI && gfcCommonHistRes6)
3192 {
3193 entryDiffGFC6PtPOI->Append("M = ");
3194 (*entryDiffGFC6PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3195 entryDiffGFC6PtPOI->Append(", N = ");
3196 (*entryDiffGFC6PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3197 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffGFC6PtPOI->Data(),"p");
3198 }
3199 if(plotGFC8PtPOI && gfcCommonHistRes8)
3200 {
3201 entryDiffGFC8PtPOI->Append("M = ");
3202 (*entryDiffGFC8PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3203 entryDiffGFC8PtPOI->Append(", N = ");
3204 (*entryDiffGFC8PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3205 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffGFC8PtPOI->Data(),"p");
3206 }
3207
3208 //QC
3209 if(plotQC2PtPOI && qcCommonHistRes2)
3210 {
3211 entryDiffQC2PtPOI->Append("M = ");
3212 (*entryDiffQC2PtPOI)+=(Long_t)avMultDiffFlowQC2POI;
3213 entryDiffQC2PtPOI->Append(", N = ");
3214 (*entryDiffQC2PtPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
3215 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffQC2PtPOI->Data(),"p");
3216 }
3217 if(plotQC4PtPOI && qcCommonHistRes4)
3218 {
3219 entryDiffQC4PtPOI->Append("M = ");
3220 (*entryDiffQC4PtPOI)+=(Long_t)avMultDiffFlowQC4POI;
3221 entryDiffQC4PtPOI->Append(", N = ");
3222 (*entryDiffQC4PtPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
3223 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffQC4PtPOI->Data(),"p");
3224 }
3225 if(plotQC6PtPOI && qcCommonHistRes6)
3226 {
3227 entryDiffQC6PtPOI->Append("M = ");
3228 (*entryDiffQC6PtPOI)+=(Long_t)avMultDiffFlowQC6POI;
3229 entryDiffQC6PtPOI->Append(", N = ");
3230 (*entryDiffQC6PtPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
3231 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffQC6PtPOI->Data(),"p");
3232 }
3233 if(plotQC8PtPOI && qcCommonHistRes8)
3234 {
3235 entryDiffQC8PtPOI->Append("M = ");
3236 (*entryDiffQC8PtPOI)+=(Long_t)avMultDiffFlowQC8POI;
3237 entryDiffQC8PtPOI->Append(", N = ");
3238 (*entryDiffQC8PtPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
3239 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffQC8PtPOI->Data(),"p");
3240 }
1fca9c90 3241
947cc449 3242 //LYZ2SUM
3243 if(plotLYZ2SUMPtPOI && lyz2sumCommonHistRes)
3244 {
3245 entryDiffLYZ2SUMPtPOI->Append("M = ");
3246 (*entryDiffLYZ2SUMPtPOI)+=(Long_t)avMultDiffFlowLYZ2SUMPOI;
3247 entryDiffLYZ2SUMPtPOI->Append(", N = ");
3248 (*entryDiffLYZ2SUMPtPOI)+=(Long_t)nEvtsDiffFlowLYZ2SUMPOI;
3249 legendDiffFlowPtPOI->AddEntry(lyz2sumCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2SUMPtPOI->Data(),"p");
3250 }
3251
3252 //LYZ2PROD
3253 if(plotLYZ2PRODPtPOI && lyz2prodCommonHistRes)
e83922f2 3254 {
947cc449 3255 entryDiffLYZ2PRODPtPOI->Append("M = ");
3256 (*entryDiffLYZ2PRODPtPOI)+=(Long_t)avMultDiffFlowLYZ2PRODPOI;
3257 entryDiffLYZ2PRODPtPOI->Append(", N = ");
3258 (*entryDiffLYZ2PRODPtPOI)+=(Long_t)nEvtsDiffFlowLYZ2PRODPOI;
3259 legendDiffFlowPtPOI->AddEntry(lyz2prodCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2PRODPtPOI->Data(),"p");
e83922f2 3260 }
3261
3262 //LYZEP
3263 if(plotLYZEPPtPOI && lyzepCommonHistRes)
3264 {
3265 entryDiffLYZEPPtPOI->Append("M = ");
3266 (*entryDiffLYZEPPtPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
3267 entryDiffLYZEPPtPOI->Append(", N = ");
3268 (*entryDiffLYZEPPtPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
3269 legendDiffFlowPtPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZEPPtPOI->Data(),"p");
3270 }
1fca9c90 3271
dec3fab6 3272 //drawing finally the legend in the 2nd pad:
3273 if(textDefault) textDefault->Draw();
3274
e83922f2 3275 if(legendDiffFlowPtPOI)
3276 {
3277 legendDiffFlowPtPOI->SetMargin(0.15);
3278 legendDiffFlowPtPOI->Draw();
3279 }
3280 }//end of if(plotDiffFlowPtPOI)
1fca9c90 3281 //----------------------------------------------------------------------------------
688877b8 3282
1fca9c90 3283
3284 //----------------------------------------------------------------------------------
3285 //final drawing for differential flow (Eta, POI):
e83922f2 3286 if(plotDiffFlowEtaPOI)
3287 {
3288 TCanvas* diffFlowEtaAllCanvasPOI = new TCanvas("Differential Flow (Eta) of POI","Differential Flow (Eta) of POI ",1000,600);
3289
3290 diffFlowEtaAllCanvasPOI->Divide(2,1);
3291
3292 //1st pad is for plot:
3293 (diffFlowEtaAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1fca9c90 3294
e83922f2 3295 if(styleHistEta)
3296 {
3297 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
3298 styleHistEta->Draw();
3299 }
3300 if(pMeshDiffFlowEtaPOI)
3301 {
3302 pMeshDiffFlowEtaPOI->Draw("LFSAME");
3303 }
1fca9c90 3304
e83922f2 3305 //MC
3306 if(plotMCEtaPOI && mcepCommonHistRes)
3307 {
3308 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3309 }
905bed86 3310 //SP
3311 if(plotSPEtaPOI && spCommonHistRes)
3312 {
3313 (spCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3314 }
e83922f2 3315 //GFC
3316 if(plotGFC2EtaPOI && gfcCommonHistRes2)
3317 {
3318 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3319 }
3320 if(plotGFC4EtaPOI && gfcCommonHistRes4)
3321 {
3322 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3323 }
3324 if(plotGFC6EtaPOI && gfcCommonHistRes6)
3325 {
3326 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3327 }
3328 if(plotGFC8EtaPOI && gfcCommonHistRes8)
3329 {
3330 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3331 }
3332 //QC
3333 if(plotQC2EtaPOI && qcCommonHistRes2)
3334 {
3335 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3336 }
3337 if(plotQC4EtaPOI && qcCommonHistRes4)
3338 {
3339 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3340 }
3341 if(plotQC6EtaPOI && qcCommonHistRes6)
3342 {
7d02d77f 3343 //(qcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
e83922f2 3344 }
3345 if(plotQC8EtaPOI && qcCommonHistRes8)
3346 {
7d02d77f 3347 //(qcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
e83922f2 3348 }
947cc449 3349 //LYZ2SUM
3350 if(plotLYZ2SUMEtaPOI && lyz2sumCommonHistRes)
e83922f2 3351 {
947cc449 3352 (lyz2sumCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3353 }
3354 //LYZ2PROD
3355 if(plotLYZ2PRODEtaPOI && lyz2prodCommonHistRes)
3356 {
3357 (lyz2prodCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
e83922f2 3358 }
3359 //LYZEP
3360 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
3361 {
3362 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
3363 }
1fca9c90 3364
e83922f2 3365 //2nd pad is for legend:
3366 (diffFlowEtaAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
3367
dec3fab6 3368 TLegend* legendDiffFlowEtaPOI = new TLegend(0.02,0.12,0.97,0.70);
e83922f2 3369 legendDiffFlowEtaPOI->SetTextFont(72);
3370 legendDiffFlowEtaPOI->SetTextSize(0.06);
3371
3372 //legend's entries:
947cc449 3373 TString *entryDiffMCEtaPOI = new TString("MC ........ ");
3374 TString *entryDiffSPEtaPOI = new TString("SP ........ ");
3375 TString *entryDiffGFC2EtaPOI = new TString("GFC{2} .... ");
3376 TString *entryDiffGFC4EtaPOI = new TString("GFC{4} .... ");
3377 TString *entryDiffGFC6EtaPOI = new TString("GFC{6} .... ");
3378 TString *entryDiffGFC8EtaPOI = new TString("GFC{8} .... ");
3379 TString *entryDiffQC2EtaPOI = new TString("QC{2} ..... ");
3380 TString *entryDiffQC4EtaPOI = new TString("QC{4} ..... ");
3381 TString *entryDiffQC6EtaPOI = new TString("QC{6} ..... ");
3382 TString *entryDiffQC8EtaPOI = new TString("QC{8} ..... ");
3383 TString *entryDiffLYZ2SUMEtaPOI = new TString("LYZ{sum} .. ");
3384 TString *entryDiffLYZ2PRODEtaPOI = new TString("LYZ{prod} . ");
3385 TString *entryDiffLYZEPEtaPOI = new TString("LYZEP ..... ");
e83922f2 3386
3387 //MC
3388 if(mcepCommonHistRes)
3389 {
dec3fab6 3390 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillStyle(meshStyleDiffFlowEtaPOI);
3391 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillColor(meshColorDiffFlowEtaPOI);
e83922f2 3392 entryDiffMCEtaPOI->Append("M = ");
3393 (*entryDiffMCEtaPOI)+=(Long_t)avMultDiffFlowMCPOI;
3394 entryDiffMCEtaPOI->Append(", N = ");
3395 (*entryDiffMCEtaPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
3396 legendDiffFlowEtaPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffMCEtaPOI->Data(),"f");
3397 }
905bed86 3398
3399 //SP
947cc449 3400 if(plotSPEtaPOI && spCommonHistRes)
905bed86 3401 {
905bed86 3402 entryDiffSPEtaPOI->Append("M = ");
3403 (*entryDiffSPEtaPOI)+=(Long_t)avMultDiffFlowSPPOI;
3404 entryDiffSPEtaPOI->Append(", N = ");
3405 (*entryDiffSPEtaPOI)+=(Long_t)nEvtsDiffFlowSPPOI;
3406 legendDiffFlowEtaPOI->AddEntry(spCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffSPEtaPOI->Data(),"p");
3407 }
1fca9c90 3408
e83922f2 3409 //GFC
3410 if(plotGFC2EtaPOI && gfcCommonHistRes2)
3411 {
3412 entryDiffGFC2EtaPOI->Append("M = ");
3413 (*entryDiffGFC2EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3414 entryDiffGFC2EtaPOI->Append(", N = ");
3415 (*entryDiffGFC2EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3416 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffGFC2EtaPOI->Data(),"p");
3417 }
3418 if(plotGFC4EtaPOI && gfcCommonHistRes4)
3419 {
3420 entryDiffGFC4EtaPOI->Append("M = ");
3421 (*entryDiffGFC4EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3422 entryDiffGFC4EtaPOI->Append(", N = ");
3423 (*entryDiffGFC4EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3424 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffGFC4EtaPOI->Data(),"p");
3425 }
3426 if(plotGFC6EtaPOI && gfcCommonHistRes6)
3427 {
3428 entryDiffGFC6EtaPOI->Append("M = ");
3429 (*entryDiffGFC6EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3430 entryDiffGFC6EtaPOI->Append(", N = ");
3431 (*entryDiffGFC6EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3432 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffGFC6EtaPOI->Data(),"p");
3433 }
3434 if(plotGFC8EtaPOI && gfcCommonHistRes8)
3435 {
3436 entryDiffGFC8EtaPOI->Append("M = ");
3437 (*entryDiffGFC8EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3438 entryDiffGFC8EtaPOI->Append(", N = ");
3439 (*entryDiffGFC8EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3440 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffGFC8EtaPOI->Data(),"p");
3441 }
3442
3443 //QC
3444 if(plotQC2EtaPOI && qcCommonHistRes2)
3445 {
3446 entryDiffQC2EtaPOI->Append("M = ");
3447 (*entryDiffQC2EtaPOI)+=(Long_t)avMultDiffFlowQC2POI;
3448 entryDiffQC2EtaPOI->Append(", N = ");
3449 (*entryDiffQC2EtaPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
3450 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffQC2EtaPOI->Data(),"p");
3451 }
3452 if(plotQC4EtaPOI && qcCommonHistRes4)
3453 {
3454 entryDiffQC4EtaPOI->Append("M = ");
3455 (*entryDiffQC4EtaPOI)+=(Long_t)avMultDiffFlowQC4POI;
3456 entryDiffQC4EtaPOI->Append(", N = ");
3457 (*entryDiffQC4EtaPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
3458 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffQC4EtaPOI->Data(),"p");
3459 }
3460 if(plotQC6EtaPOI && qcCommonHistRes6)
3461 {
3462 entryDiffQC6EtaPOI->Append("M = ");
3463 (*entryDiffQC6EtaPOI)+=(Long_t)avMultDiffFlowQC6POI;
3464 entryDiffQC6EtaPOI->Append(", N = ");
3465 (*entryDiffQC6EtaPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
3466 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffQC6EtaPOI->Data(),"p");
3467 }
3468 if(plotQC8EtaPOI && qcCommonHistRes8)
3469 {
3470 entryDiffQC8EtaPOI->Append("M = ");
3471 (*entryDiffQC8EtaPOI)+=(Long_t)avMultDiffFlowQC8POI;
3472 entryDiffQC8EtaPOI->Append(", N = ");
3473 (*entryDiffQC8EtaPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
3474 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffQC8EtaPOI->Data(),"p");
3475 }
1fca9c90 3476
947cc449 3477 //LYZ2SUM
3478 if(plotLYZ2SUMEtaPOI && lyz2sumCommonHistRes)
3479 {
3480 entryDiffLYZ2SUMEtaPOI->Append("M = ");
3481 (*entryDiffLYZ2SUMEtaPOI)+=(Long_t)avMultDiffFlowLYZ2SUMPOI;
3482 entryDiffLYZ2SUMEtaPOI->Append(", N = ");
3483 (*entryDiffLYZ2SUMEtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2SUMPOI;
3484 legendDiffFlowEtaPOI->AddEntry(lyz2sumCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2SUMEtaPOI->Data(),"p");
3485 }
3486
3487 //LYZ2PROD
3488 if(plotLYZ2PRODEtaPOI && lyz2prodCommonHistRes)
e83922f2 3489 {
947cc449 3490 entryDiffLYZ2PRODEtaPOI->Append("M = ");
3491 (*entryDiffLYZ2PRODEtaPOI)+=(Long_t)avMultDiffFlowLYZ2PRODPOI;
3492 entryDiffLYZ2PRODEtaPOI->Append(", N = ");
3493 (*entryDiffLYZ2PRODEtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2PRODPOI;
3494 legendDiffFlowEtaPOI->AddEntry(lyz2prodCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2PRODEtaPOI->Data(),"p");
e83922f2 3495 }
3496
3497 //LYZEP
3498 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
3499 {
3500 entryDiffLYZEPEtaPOI->Append("M = ");
3501 (*entryDiffLYZEPEtaPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
3502 entryDiffLYZEPEtaPOI->Append(", N = ");
3503 (*entryDiffLYZEPEtaPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
3504 legendDiffFlowEtaPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZEPEtaPOI->Data(),"p");
3505 }
1fca9c90 3506
dec3fab6 3507 //drawing finally the legend in the 2nd pad:
3508 if(textDefault) textDefault->Draw();
3509
e83922f2 3510 if(legendDiffFlowEtaPOI)
3511 {
3512 legendDiffFlowEtaPOI->SetMargin(0.15);
3513 legendDiffFlowEtaPOI->Draw();
3514 }
3515 }//end of if(plotDiffFlowEtaPOI)
1fca9c90 3516 //----------------------------------------------------------------------------------
3517
3518
a88e5ac2 3519 //=====================================================================================
947cc449 3520
3521
70288839 3522}
b25cc698 3523
8d5cd720 3524void LoadPlotLibraries(const libModes mode) {
b25cc698 3525
3526 //--------------------------------------
3527 // Load the needed libraries most of them already loaded by aliroot
3528 //--------------------------------------
5d040cf3 3529 gSystem->Load("libTree");
3530 gSystem->Load("libGeom");
3531 gSystem->Load("libVMC");
3532 gSystem->Load("libXMLIO");
3533 gSystem->Load("libPhysics");
b25cc698 3534
3535 //----------------------------------------------------------
3536 // >>>>>>>>>>> Local mode <<<<<<<<<<<<<<
3537 //----------------------------------------------------------
3538 if (mode==mLocal) {
3539 //--------------------------------------------------------
3540 // If you want to use already compiled libraries
3541 // in the aliroot distribution
3542 //--------------------------------------------------------
3543
3544 //==================================================================================
3545 //load needed libraries:
3546 gSystem->AddIncludePath("-I$ROOTSYS/include");
5d040cf3 3547 gSystem->Load("libTree");
b25cc698 3548
3549 // for AliRoot
3550 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
5d040cf3 3551 gSystem->Load("libANALYSIS");
3552 gSystem->Load("libPWG2flowCommon");
3553 cerr<<"libPWG2flowCommon loaded ..."<<endl;
b25cc698 3554
3555 }
3556
3557 else if (mode==mLocalSource) {
3558
3559 // In root inline compile
d90df6c3 3560
3561 // Constants
3562 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonConstants.cxx+");
3563 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZConstants.cxx+");
3564 gROOT->LoadMacro("AliFlowCommon/AliFlowCumuConstants.cxx+");
3565
3566 // Flow event
3567 gROOT->LoadMacro("AliFlowCommon/AliFlowVector.cxx+");
3568 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimple.cxx+");
3569 gROOT->LoadMacro("AliFlowCommon/AliFlowEventSimple.cxx+");
3570
3571 // Cuts
3572 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimpleCuts.cxx+");
b25cc698 3573
3574 // Output histosgrams
3575 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHist.cxx+");
3576 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHistResults.cxx+");
3577 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist1.cxx+");
3578 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist2.cxx+");
3579
3580 cout << "finished loading macros!" << endl;
3581
3582 }
3583
3584}
3585
3586