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