]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/FLOW/macros/compareFlowResults.C
Remove CreateGraphs() and AliTRDpidRefMaker(const Char_t*,cons tChar_t*)
[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
688877b8 21 Bool_t plotIntFlowRP = kTRUE; // integrated flow RP
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
688877b8 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 //----------------------------------------------------------------------------------
688877b8 2323
2324
2325
2326
2327
2328
2329
2330
2331
2332
2333
2334
2335
2336
2337
2338
2339
2340
2341
2342
2343
2344
2345
2346
2347
2348
2349
2350
2351
2352
2353
2354
2355
2356
2357 //----------------------------------------------------------------------------------
2358 // final drawing for plot |(v{method}-v{MC})/v{MC}| as a function of pt for RPs
2359 if(plotDiffFlowPtRelativeToMCRP)
2360 {
2361 TCanvas* diffFlowPtRelativeToMCRP = new TCanvas("Differential Flow (Pt) of RPs relative to MC","Differential Flow (Pt) of RPs relative to MC",1000,600);
2362
2363 diffFlowPtRelativeToMCRP->Divide(2,1);
2364
2365 //1st pad is for plot:
2366 (diffFlowPtRelativeToMCRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2367
2368 if(styleHistPt)
2369 {
2370 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2371 styleHistPt->Draw();
2372 }
2373
2374 TH1D *spDiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2375 TH1D *gfc2DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2376 TH1D *gfc4DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2377 TH1D *gfc6DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2378 TH1D *gfc8DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2379 TH1D *qc2DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2380 TH1D *qc4DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2381 TH1D *qc6DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2382 TH1D *qc8DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2383 TH1D *lyz2DiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2384 TH1D *lyzepDiffFlowPtRelativeToMCRP = new TH1D("","",iNbinsPt,dPtMin,dPtMax);
2385
2386 if(mcepCommonHistRes->GetHistDiffFlowPtRP())
2387 {
2388 for(Int_t p=1;p<iNbinsPt+1;p++)
2389 {
2390 Double_t dvnMC = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
2391
2392 // SP:
2393 Double_t dvnSP = 0.;
2394 if(spCommonHistRes && spCommonHistRes->GetHistDiffFlowPtRP())
2395 {
2396 dvnSP = (spCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
2397 }
2398 if(dvnMC!=0. && dvnSP!=0.)
2399 {
cf90787f 2400 spDiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnSP-dvnMC)/dvnMC);
688877b8 2401 }
2402
2403 // GFC{2}:
2404 Double_t dvnGFC2 = 0.;
2405 if(gfcCommonHistRes2 && gfcCommonHistRes2->GetHistDiffFlowPtRP())
2406 {
2407 dvnGFC2 = (gfcCommonHistRes2->GetHistDiffFlowPtRP())->GetBinContent(p);
2408 }
2409 if(dvnMC!=0. && dvnGFC2!=0.)
2410 {
cf90787f 2411 gfc2DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC2-dvnMC)/dvnMC);
688877b8 2412 }
2413
2414 // GFC{4}:
2415 Double_t dvnGFC4 = 0.;
2416 if(gfcCommonHistRes4 && gfcCommonHistRes4->GetHistDiffFlowPtRP())
2417 {
2418 dvnGFC4 = (gfcCommonHistRes4->GetHistDiffFlowPtRP())->GetBinContent(p);
2419 }
2420 if(dvnMC!=0. && dvnGFC4!=0.)
2421 {
cf90787f 2422 gfc4DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC4-dvnMC)/dvnMC);
688877b8 2423 }
2424
2425 // GFC{6}:
2426 Double_t dvnGFC6 = 0.;
2427 if(gfcCommonHistRes6 && gfcCommonHistRes6->GetHistDiffFlowPtRP())
2428 {
2429 dvnGFC6 = (gfcCommonHistRes6->GetHistDiffFlowPtRP())->GetBinContent(p);
2430 }
2431 if(dvnMC!=0. && dvnGFC6!=0.)
2432 {
cf90787f 2433 gfc6DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC6-dvnMC)/dvnMC);
688877b8 2434 }
2435
2436 // GFC{8}:
2437 Double_t dvnGFC8 = 0.;
2438 if(gfcCommonHistRes8 && gfcCommonHistRes8->GetHistDiffFlowPtRP())
2439 {
2440 dvnGFC8 = (gfcCommonHistRes8->GetHistDiffFlowPtRP())->GetBinContent(p);
2441 }
2442 if(dvnMC!=0. && dvnGFC8!=0.)
2443 {
cf90787f 2444 gfc8DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnGFC8-dvnMC)/dvnMC);
688877b8 2445 }
2446
2447 // QC{2}:
2448 Double_t dvnQC2 = 0.;
2449 if(qcCommonHistRes2 && qcCommonHistRes2->GetHistDiffFlowPtRP())
2450 {
2451 dvnQC2 = (qcCommonHistRes2->GetHistDiffFlowPtRP())->GetBinContent(p);
2452 }
2453 if(dvnMC!=0. && dvnQC2!=0.)
2454 {
cf90787f 2455 qc2DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC2-dvnMC)/dvnMC);
688877b8 2456 }
2457
2458 // QC{4}:
2459 Double_t dvnQC4 = 0.;
2460 if(qcCommonHistRes4 && qcCommonHistRes4->GetHistDiffFlowPtRP())
2461 {
2462 dvnQC4 = (qcCommonHistRes4->GetHistDiffFlowPtRP())->GetBinContent(p);
2463 }
2464 if(dvnMC!=0. && dvnQC4!=0.)
2465 {
cf90787f 2466 qc4DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC4-dvnMC)/dvnMC);
688877b8 2467 }
2468
2469 // QC{6}:
2470 Double_t dvnQC6 = 0.;
2471 if(qcCommonHistRes6 && qcCommonHistRes6->GetHistDiffFlowPtRP())
2472 {
2473 dvnQC6 = (qcCommonHistRes6->GetHistDiffFlowPtRP())->GetBinContent(p);
2474 }
2475 if(dvnMC!=0. && dvnQC6!=0.)
2476 {
cf90787f 2477 qc6DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC6-dvnMC)/dvnMC);
688877b8 2478 }
2479
2480 // QC{8}:
2481 Double_t dvnQC8 = 0.;
2482 if(qcCommonHistRes8 && qcCommonHistRes8->GetHistDiffFlowPtRP())
2483 {
2484 dvnQC8 = (qcCommonHistRes8->GetHistDiffFlowPtRP())->GetBinContent(p);
2485 }
2486 if(dvnMC!=0. && dvnQC8!=0.)
2487 {
cf90787f 2488 qc8DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnQC8-dvnMC)/dvnMC);
688877b8 2489 }
2490
2491 // LYZ2:
2492 Double_t dvnLYZ2 = 0.;
2493 if(lyz2CommonHistRes && lyz2CommonHistRes->GetHistDiffFlowPtRP())
2494 {
2495 dvnLYZ2 = (lyz2CommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
2496 }
2497 if(dvnMC!=0. && dvnLYZ2!=0.)
2498 {
cf90787f 2499 lyz2DiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnLYZ2-dvnMC)/dvnMC);
688877b8 2500 }
2501
2502 // LYZEP:
2503 Double_t dvnLYZEP = 0.;
2504 if(lyzepCommonHistRes && lyzepCommonHistRes->GetHistDiffFlowPtRP())
2505 {
2506 dvnLYZEP = (lyzepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(p);
2507 }
2508 if(dvnMC!=0. && dvnLYZEP!=0.)
2509 {
cf90787f 2510 lyzepDiffFlowPtRelativeToMCRP->SetBinContent(p,(dvnLYZEP-dvnMC)/dvnMC);
688877b8 2511 }
2512
2513 } // end of for(Int_t p=1;p<iNbinsPt+1;p++)
2514 } // end of if(mcepCommonHistRes->GetHistDiffFlowPtRP())
2515
2516
2517 // final drawings:
2518 spDiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorSP);
2519 spDiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleSP);
2520 if(plotSPRelativeToMCRP && spCommonHistRes) spDiffFlowPtRelativeToMCRP->Draw("PSAME");
2521
2522 gfc2DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC2);
2523 gfc2DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC2);
2524 if(plotGFC2RelativeToMCRP && gfcCommonHistRes2) gfc2DiffFlowPtRelativeToMCRP->Draw("PSAME");
2525
2526 gfc4DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC4);
2527 gfc4DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC4);
2528 if(plotGFC4RelativeToMCRP && gfcCommonHistRes4) gfc4DiffFlowPtRelativeToMCRP->Draw("PSAME");
2529
2530 gfc6DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC6);
2531 gfc6DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC6);
2532 if(plotGFC6RelativeToMCRP && gfcCommonHistRes6) gfc6DiffFlowPtRelativeToMCRP->Draw("PSAME");
2533
2534 gfc8DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorGFC8);
2535 gfc8DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleGFC8);
2536 if(plotGFC8RelativeToMCRP && gfcCommonHistRes8) gfc8DiffFlowPtRelativeToMCRP->Draw("PSAME");
2537
2538 qc2DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC2);
2539 qc2DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC2);
2540 if(plotQC2RelativeToMCRP && qcCommonHistRes2) qc2DiffFlowPtRelativeToMCRP->Draw("PSAME");
2541
2542 qc4DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC4);
2543 qc4DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC4);
2544 if(plotQC4RelativeToMCRP && qcCommonHistRes4) qc4DiffFlowPtRelativeToMCRP->Draw("PSAME");
2545
2546 qc6DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC6);
2547 qc6DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC6);
2548 if(plotQC6RelativeToMCRP && qcCommonHistRes6) qc6DiffFlowPtRelativeToMCRP->Draw("PSAME");
2549
2550 qc8DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorQC8);
2551 qc8DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleQC8);
2552 if(plotQC8RelativeToMCRP && qcCommonHistRes8) qc8DiffFlowPtRelativeToMCRP->Draw("PSAME");
2553
2554 lyz2DiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorLYZ2);
2555 lyz2DiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleLYZ2);
2556 if(plotLYZ2RelativeToMCRP && lyz2CommonHistRes) lyz2DiffFlowPtRelativeToMCRP->Draw("PSAME");
2557
2558 lyzepDiffFlowPtRelativeToMCRP->SetMarkerColor(markerColorLYZEP);
2559 lyzepDiffFlowPtRelativeToMCRP->SetMarkerStyle(markerStyleLYZEP);
2560 if(plotLYZEPRelativeToMCRP && lyzepCommonHistRes) lyzepDiffFlowPtRelativeToMCRP->Draw("PSAME");
2561
2562 //2nd pad is for legend:
2563 (diffFlowPtRelativeToMCRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2564
2565 TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.12,0.97,0.70);
2566 legendDiffFlowPtRP->SetTextFont(72);
2567 legendDiffFlowPtRP->SetTextSize(0.06);
2568
2569 //legend's entries:Pt
2570 TString *entryDiffMCPtRP = new TString("MC ....... ");
2571 TString *entryDiffSPPtRP = new TString("SP ....... ");
2572 TString *entryDiffGFC2PtRP = new TString("GFC{2} ... ");
2573 TString *entryDiffGFC4PtRP = new TString("GFC{4} ... ");
2574 TString *entryDiffGFC6PtRP = new TString("GFC{6} ... ");
2575 TString *entryDiffGFC8PtRP = new TString("GFC{8} ... ");
2576 TString *entryDiffQC2PtRP = new TString("QC{2} .... ");
2577 TString *entryDiffQC4PtRP = new TString("QC{4} .... ");
2578 TString *entryDiffQC6PtRP = new TString("QC{6} .... ");
2579 TString *entryDiffQC8PtRP = new TString("QC{8} .... ");
2580 TString *entryDiffLYZ2PtRP = new TString("LYZ ...... ");
2581 TString *entryDiffLYZEPPtRP = new TString("LYZEP ... ");
2582
2583 //MC
2584 if(mcepCommonHistRes)
2585 {
2586 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyleDiffFlowPtRP);
2587 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColorDiffFlowPtRP);
2588 entryDiffMCPtRP->Append("M = ");
2589 (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
2590 entryDiffMCPtRP->Append(", N = ");
2591 (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP;
2592 //legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
2593 }
2594
2595 //SP
2596 if(spCommonHistRes)
2597 {
2598 entryDiffSPPtRP->Append("M = ");
2599 (*entryDiffSPPtRP)+=(Long_t)avMultDiffFlowSPRP;
2600 entryDiffSPPtRP->Append(", N = ");
2601 (*entryDiffSPPtRP)+=(Long_t)nEvtsDiffFlowSPRP;
2602 if(plotSPRelativeToMCRP) legendDiffFlowPtRP->AddEntry(spCommonHistRes->GetHistDiffFlowPtRP(),entryDiffSPPtRP->Data(),"p");
2603 }
2604
2605 //GFC
2606 if(plotGFC2PtRP && gfcCommonHistRes2)
2607 {
2608 entryDiffGFC2PtRP->Append("M = ");
2609 (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2610 entryDiffGFC2PtRP->Append(", N = ");
2611 (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2612 if(plotGFC2RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
2613 }
2614 if(plotGFC4PtRP && gfcCommonHistRes4)
2615 {
2616 entryDiffGFC4PtRP->Append("M = ");
2617 (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2618 entryDiffGFC4PtRP->Append(", N = ");
2619 (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2620 if(plotGFC4RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
2621 }
2622 if(plotGFC6PtRP && gfcCommonHistRes6)
2623 {
2624 entryDiffGFC6PtRP->Append("M = ");
2625 (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2626 entryDiffGFC6PtRP->Append(", N = ");
2627 (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2628 if(plotGFC6RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
2629 }
2630 if(plotGFC8PtRP && gfcCommonHistRes8)
2631 {
2632 entryDiffGFC8PtRP->Append("M = ");
2633 (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
2634 entryDiffGFC8PtRP->Append(", N = ");
2635 (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2636 if(plotGFC8RelativeToMCRP) legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
2637 }
2638
2639 //QC
2640 if(plotQC2PtRP && qcCommonHistRes2)
2641 {
2642 entryDiffQC2PtRP->Append("M = ");
2643 (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
2644 entryDiffQC2PtRP->Append(", N = ");
2645 (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP;
2646 if(plotQC2RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
2647 }
2648 if(plotQC4PtRP && qcCommonHistRes4)
2649 {
2650 entryDiffQC4PtRP->Append("M = ");
2651 (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
2652 entryDiffQC4PtRP->Append(", N = ");
2653 (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP;
2654 if(plotQC4RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
2655 }
2656 if(plotQC6PtRP && qcCommonHistRes6)
2657 {
2658 entryDiffQC6PtRP->Append("M = ");
2659 (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
2660 entryDiffQC6PtRP->Append(", N = ");
2661 (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP;
2662 if(plotQC6RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
2663 }
2664 if(plotQC8PtRP && qcCommonHistRes8)
2665 {
2666 entryDiffQC8PtRP->Append("M = ");
2667 (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
2668 entryDiffQC8PtRP->Append(", N = ");
2669 (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP;
2670 if(plotQC8RelativeToMCRP) legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
2671 }
2672
2673 //LYZ2
2674 if(plotLYZ2PtRP && lyz2CommonHistRes)
2675 {
2676 entryDiffLYZ2PtRP->Append("M = ");
2677 (*entryDiffLYZ2PtRP)+=(Long_t)avMultDiffFlowLYZ2RP;
2678 entryDiffLYZ2PtRP->Append(", N = ");
2679 (*entryDiffLYZ2PtRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
2680 if(plotLYZ2RelativeToMCRP) legendDiffFlowPtRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PtRP->Data(),"p");
2681 }
2682
2683 //LYZEP
2684 if(plotLYZEPPtRP && lyzepCommonHistRes)
2685 {
2686 entryDiffLYZEPPtRP->Append("M = ");
2687 (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
2688 entryDiffLYZEPPtRP->Append(", N = ");
2689 (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
2690 if(plotLYZEPRelativeToMCRP) legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
2691 }
2692
2693 //drawing finally the legend in the 2nd pad:
2694 if(textDefault) textDefault->Draw();
2695
2696 if(legendDiffFlowPtRP)
2697 {
2698 legendDiffFlowPtRP->SetMargin(0.15);
2699 legendDiffFlowPtRP->Draw();
2700 }
2701 }
2702 //----------------------------------------------------------------------------------
1fca9c90 2703
2704 //----------------------------------------------------------------------------------
2705 //final drawing for differential flow (Pt, POI):
e83922f2 2706 if(plotDiffFlowPtPOI)
2707 {
2708 TCanvas* diffFlowPtAllCanvasPOI = new TCanvas("Differential Flow (Pt) of POI","Differential Flow (Pt) of POI ",1000,600);
2709
2710 diffFlowPtAllCanvasPOI->Divide(2,1);
2711
2712 //1st pad is for plot:
2713 (diffFlowPtAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2714
2715 if(styleHistPt)
2716 {
2717 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2718 styleHistPt->Draw();
2719 }
2720 if(pMeshDiffFlowPtPOI)
2721 {
2722 pMeshDiffFlowPtPOI->Draw("LFSAME");
2723 }
1fca9c90 2724
e83922f2 2725 //MC
2726 if(plotMCPtPOI && mcepCommonHistRes)
905bed86 2727 {
e83922f2 2728 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2729 }
905bed86 2730 //SP
2731 if(plotSPPtPOI && spCommonHistRes)
2732 {
2733 (spCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2734 }
e83922f2 2735 //GFC
2736 if(plotGFC2PtPOI && gfcCommonHistRes2)
2737 {
2738 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2739 }
2740 if(plotGFC4PtPOI && gfcCommonHistRes4)
2741 {
2742 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2743 }
2744 if(plotGFC6PtPOI && gfcCommonHistRes6)
2745 {
2746 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2747 }
2748 if(plotGFC8PtPOI && gfcCommonHistRes8)
2749 {
2750 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2751 }
2752 //QC
2753 if(plotQC2PtPOI && qcCommonHistRes2)
2754 {
2755 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2756 }
2757 if(plotQC4PtPOI && qcCommonHistRes4)
2758 {
2759 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2760 }
2761 if(plotQC6PtPOI && qcCommonHistRes6)
3963f25c 2762 { kTRUE;
7d02d77f 2763 //(qcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
e83922f2 2764 }
2765 if(plotQC8PtPOI && qcCommonHistRes8)
2766 {
7d02d77f 2767 //(qcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
e83922f2 2768 }
2769 //LYZ2
2770 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2771 {
2772 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2773 }
2774 //LYZEP
2775 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2776 {
2777 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2778 }
1fca9c90 2779
e83922f2 2780 //2nd pad is for legend:
2781 (diffFlowPtAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2782
dec3fab6 2783 TLegend* legendDiffFlowPtPOI = new TLegend(0.02,0.12,0.97,0.70);
e83922f2 2784 legendDiffFlowPtPOI->SetTextFont(72);
2785 legendDiffFlowPtPOI->SetTextSize(0.06);
2786
2787 //legend's entries:
2788 TString *entryDiffMCPtPOI = new TString("MC ....... ");
905bed86 2789 TString *entryDiffSPPtPOI = new TString("SP ....... ");
e83922f2 2790 TString *entryDiffGFC2PtPOI = new TString("GFC{2} ... ");
2791 TString *entryDiffGFC4PtPOI = new TString("GFC{4} ... ");
2792 TString *entryDiffGFC6PtPOI = new TString("GFC{6} ... ");
2793 TString *entryDiffGFC8PtPOI = new TString("GFC{8} ... ");
2794 TString *entryDiffQC2PtPOI = new TString("QC{2} .... ");
2795 TString *entryDiffQC4PtPOI = new TString("QC{4} .... ");
2796 TString *entryDiffQC6PtPOI = new TString("QC{6} .... ");
2797 TString *entryDiffQC8PtPOI = new TString("QC{8} .... ");
2798 TString *entryDiffLYZ2PtPOI = new TString("LYZ ...... ");
2799 TString *entryDiffLYZEPPtPOI = new TString("LYZEP ... ");
2800
2801 //MC
2802 if(mcepCommonHistRes)
2803 {
dec3fab6 2804 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillStyle(meshStyleDiffFlowPtPOI);
2805 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillColor(meshColorDiffFlowPtPOI);
e83922f2 2806 entryDiffMCPtPOI->Append("M = ");
2807 (*entryDiffMCPtPOI)+=(Long_t)avMultDiffFlowMCPOI;
2808 entryDiffMCPtPOI->Append(", N = ");
2809 (*entryDiffMCPtPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2810 legendDiffFlowPtPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffMCPtPOI->Data(),"f");
2811 }
905bed86 2812
2813 //SP
2814 if(spCommonHistRes)
2815 {
905bed86 2816 entryDiffSPPtPOI->Append("M = ");
2817 (*entryDiffSPPtPOI)+=(Long_t)avMultDiffFlowSPPOI;
2818 entryDiffSPPtPOI->Append(", N = ");
2819 (*entryDiffSPPtPOI)+=(Long_t)nEvtsDiffFlowSPPOI;
2820 legendDiffFlowPtPOI->AddEntry(spCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffSPPtPOI->Data(),"p");
2821 }
1fca9c90 2822
e83922f2 2823 //GFC
2824 if(plotGFC2PtPOI && gfcCommonHistRes2)
2825 {
2826 entryDiffGFC2PtPOI->Append("M = ");
2827 (*entryDiffGFC2PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2828 entryDiffGFC2PtPOI->Append(", N = ");
2829 (*entryDiffGFC2PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2830 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffGFC2PtPOI->Data(),"p");
2831 }
2832 if(plotGFC4PtPOI && gfcCommonHistRes4)
2833 {
2834 entryDiffGFC4PtPOI->Append("M = ");
2835 (*entryDiffGFC4PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2836 entryDiffGFC4PtPOI->Append(", N = ");
2837 (*entryDiffGFC4PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2838 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffGFC4PtPOI->Data(),"p");
2839 }
2840 if(plotGFC6PtPOI && gfcCommonHistRes6)
2841 {
2842 entryDiffGFC6PtPOI->Append("M = ");
2843 (*entryDiffGFC6PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2844 entryDiffGFC6PtPOI->Append(", N = ");
2845 (*entryDiffGFC6PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2846 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffGFC6PtPOI->Data(),"p");
2847 }
2848 if(plotGFC8PtPOI && gfcCommonHistRes8)
2849 {
2850 entryDiffGFC8PtPOI->Append("M = ");
2851 (*entryDiffGFC8PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2852 entryDiffGFC8PtPOI->Append(", N = ");
2853 (*entryDiffGFC8PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2854 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffGFC8PtPOI->Data(),"p");
2855 }
2856
2857 //QC
2858 if(plotQC2PtPOI && qcCommonHistRes2)
2859 {
2860 entryDiffQC2PtPOI->Append("M = ");
2861 (*entryDiffQC2PtPOI)+=(Long_t)avMultDiffFlowQC2POI;
2862 entryDiffQC2PtPOI->Append(", N = ");
2863 (*entryDiffQC2PtPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2864 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffQC2PtPOI->Data(),"p");
2865 }
2866 if(plotQC4PtPOI && qcCommonHistRes4)
2867 {
2868 entryDiffQC4PtPOI->Append("M = ");
2869 (*entryDiffQC4PtPOI)+=(Long_t)avMultDiffFlowQC4POI;
2870 entryDiffQC4PtPOI->Append(", N = ");
2871 (*entryDiffQC4PtPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2872 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffQC4PtPOI->Data(),"p");
2873 }
2874 if(plotQC6PtPOI && qcCommonHistRes6)
2875 {
2876 entryDiffQC6PtPOI->Append("M = ");
2877 (*entryDiffQC6PtPOI)+=(Long_t)avMultDiffFlowQC6POI;
2878 entryDiffQC6PtPOI->Append(", N = ");
2879 (*entryDiffQC6PtPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2880 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffQC6PtPOI->Data(),"p");
2881 }
2882 if(plotQC8PtPOI && qcCommonHistRes8)
2883 {
2884 entryDiffQC8PtPOI->Append("M = ");
2885 (*entryDiffQC8PtPOI)+=(Long_t)avMultDiffFlowQC8POI;
2886 entryDiffQC8PtPOI->Append(", N = ");
2887 (*entryDiffQC8PtPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2888 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffQC8PtPOI->Data(),"p");
2889 }
1fca9c90 2890
e83922f2 2891 //LYZ2
2892 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2893 {
2894 entryDiffLYZ2PtPOI->Append("M = ");
2895 (*entryDiffLYZ2PtPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2896 entryDiffLYZ2PtPOI->Append(", N = ");
2897 (*entryDiffLYZ2PtPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2898 legendDiffFlowPtPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2PtPOI->Data(),"p");
2899 }
2900
2901 //LYZEP
2902 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2903 {
2904 entryDiffLYZEPPtPOI->Append("M = ");
2905 (*entryDiffLYZEPPtPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2906 entryDiffLYZEPPtPOI->Append(", N = ");
2907 (*entryDiffLYZEPPtPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2908 legendDiffFlowPtPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZEPPtPOI->Data(),"p");
2909 }
1fca9c90 2910
dec3fab6 2911 //drawing finally the legend in the 2nd pad:
2912 if(textDefault) textDefault->Draw();
2913
e83922f2 2914 if(legendDiffFlowPtPOI)
2915 {
2916 legendDiffFlowPtPOI->SetMargin(0.15);
2917 legendDiffFlowPtPOI->Draw();
2918 }
2919 }//end of if(plotDiffFlowPtPOI)
1fca9c90 2920 //----------------------------------------------------------------------------------
688877b8 2921
1fca9c90 2922
2923 //----------------------------------------------------------------------------------
2924 //final drawing for differential flow (Eta, POI):
e83922f2 2925 if(plotDiffFlowEtaPOI)
2926 {
2927 TCanvas* diffFlowEtaAllCanvasPOI = new TCanvas("Differential Flow (Eta) of POI","Differential Flow (Eta) of POI ",1000,600);
2928
2929 diffFlowEtaAllCanvasPOI->Divide(2,1);
2930
2931 //1st pad is for plot:
2932 (diffFlowEtaAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1fca9c90 2933
e83922f2 2934 if(styleHistEta)
2935 {
2936 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
2937 styleHistEta->Draw();
2938 }
2939 if(pMeshDiffFlowEtaPOI)
2940 {
2941 pMeshDiffFlowEtaPOI->Draw("LFSAME");
2942 }
1fca9c90 2943
e83922f2 2944 //MC
2945 if(plotMCEtaPOI && mcepCommonHistRes)
2946 {
2947 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2948 }
905bed86 2949 //SP
2950 if(plotSPEtaPOI && spCommonHistRes)
2951 {
2952 (spCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2953 }
e83922f2 2954 //GFC
2955 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2956 {
2957 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2958 }
2959 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2960 {
2961 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2962 }
2963 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2964 {
2965 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2966 }
2967 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2968 {
2969 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2970 }
2971 //QC
2972 if(plotQC2EtaPOI && qcCommonHistRes2)
2973 {
2974 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2975 }
2976 if(plotQC4EtaPOI && qcCommonHistRes4)
2977 {
2978 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2979 }
2980 if(plotQC6EtaPOI && qcCommonHistRes6)
2981 {
7d02d77f 2982 //(qcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
e83922f2 2983 }
2984 if(plotQC8EtaPOI && qcCommonHistRes8)
2985 {
7d02d77f 2986 //(qcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
e83922f2 2987 }
2988 //LYZ2
2989 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2990 {
2991 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2992 }
2993 //LYZEP
2994 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2995 {
2996 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2997 }
1fca9c90 2998
e83922f2 2999 //2nd pad is for legend:
3000 (diffFlowEtaAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
3001
dec3fab6 3002 TLegend* legendDiffFlowEtaPOI = new TLegend(0.02,0.12,0.97,0.70);
e83922f2 3003 legendDiffFlowEtaPOI->SetTextFont(72);
3004 legendDiffFlowEtaPOI->SetTextSize(0.06);
3005
3006 //legend's entries:
3007 TString *entryDiffMCEtaPOI = new TString("MC ....... ");
905bed86 3008 TString *entryDiffSPEtaPOI = new TString("SP ....... ");
e83922f2 3009 TString *entryDiffGFC2EtaPOI = new TString("GFC{2} ... ");
3010 TString *entryDiffGFC4EtaPOI = new TString("GFC{4} ... ");
3011 TString *entryDiffGFC6EtaPOI = new TString("GFC{6} ... ");
3012 TString *entryDiffGFC8EtaPOI = new TString("GFC{8} ... ");
3013 TString *entryDiffQC2EtaPOI = new TString("QC{2} .... ");
3014 TString *entryDiffQC4EtaPOI = new TString("QC{4} .... ");
3015 TString *entryDiffQC6EtaPOI = new TString("QC{6} .... ");
3016 TString *entryDiffQC8EtaPOI = new TString("QC{8} .... ");
3017 TString *entryDiffLYZ2EtaPOI = new TString("LYZ ...... ");
3018 TString *entryDiffLYZEPEtaPOI = new TString("LYZEP ... ");
3019
3020 //MC
3021 if(mcepCommonHistRes)
3022 {
dec3fab6 3023 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillStyle(meshStyleDiffFlowEtaPOI);
3024 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillColor(meshColorDiffFlowEtaPOI);
e83922f2 3025 entryDiffMCEtaPOI->Append("M = ");
3026 (*entryDiffMCEtaPOI)+=(Long_t)avMultDiffFlowMCPOI;
3027 entryDiffMCEtaPOI->Append(", N = ");
3028 (*entryDiffMCEtaPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
3029 legendDiffFlowEtaPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffMCEtaPOI->Data(),"f");
3030 }
905bed86 3031
3032 //SP
3033 if(spCommonHistRes)
3034 {
905bed86 3035 entryDiffSPEtaPOI->Append("M = ");
3036 (*entryDiffSPEtaPOI)+=(Long_t)avMultDiffFlowSPPOI;
3037 entryDiffSPEtaPOI->Append(", N = ");
3038 (*entryDiffSPEtaPOI)+=(Long_t)nEvtsDiffFlowSPPOI;
3039 legendDiffFlowEtaPOI->AddEntry(spCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffSPEtaPOI->Data(),"p");
3040 }
1fca9c90 3041
e83922f2 3042 //GFC
3043 if(plotGFC2EtaPOI && gfcCommonHistRes2)
3044 {
3045 entryDiffGFC2EtaPOI->Append("M = ");
3046 (*entryDiffGFC2EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3047 entryDiffGFC2EtaPOI->Append(", N = ");
3048 (*entryDiffGFC2EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3049 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffGFC2EtaPOI->Data(),"p");
3050 }
3051 if(plotGFC4EtaPOI && gfcCommonHistRes4)
3052 {
3053 entryDiffGFC4EtaPOI->Append("M = ");
3054 (*entryDiffGFC4EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3055 entryDiffGFC4EtaPOI->Append(", N = ");
3056 (*entryDiffGFC4EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3057 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffGFC4EtaPOI->Data(),"p");
3058 }
3059 if(plotGFC6EtaPOI && gfcCommonHistRes6)
3060 {
3061 entryDiffGFC6EtaPOI->Append("M = ");
3062 (*entryDiffGFC6EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3063 entryDiffGFC6EtaPOI->Append(", N = ");
3064 (*entryDiffGFC6EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3065 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffGFC6EtaPOI->Data(),"p");
3066 }
3067 if(plotGFC8EtaPOI && gfcCommonHistRes8)
3068 {
3069 entryDiffGFC8EtaPOI->Append("M = ");
3070 (*entryDiffGFC8EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
3071 entryDiffGFC8EtaPOI->Append(", N = ");
3072 (*entryDiffGFC8EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
3073 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffGFC8EtaPOI->Data(),"p");
3074 }
3075
3076 //QC
3077 if(plotQC2EtaPOI && qcCommonHistRes2)
3078 {
3079 entryDiffQC2EtaPOI->Append("M = ");
3080 (*entryDiffQC2EtaPOI)+=(Long_t)avMultDiffFlowQC2POI;
3081 entryDiffQC2EtaPOI->Append(", N = ");
3082 (*entryDiffQC2EtaPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
3083 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffQC2EtaPOI->Data(),"p");
3084 }
3085 if(plotQC4EtaPOI && qcCommonHistRes4)
3086 {
3087 entryDiffQC4EtaPOI->Append("M = ");
3088 (*entryDiffQC4EtaPOI)+=(Long_t)avMultDiffFlowQC4POI;
3089 entryDiffQC4EtaPOI->Append(", N = ");
3090 (*entryDiffQC4EtaPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
3091 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffQC4EtaPOI->Data(),"p");
3092 }
3093 if(plotQC6EtaPOI && qcCommonHistRes6)
3094 {
3095 entryDiffQC6EtaPOI->Append("M = ");
3096 (*entryDiffQC6EtaPOI)+=(Long_t)avMultDiffFlowQC6POI;
3097 entryDiffQC6EtaPOI->Append(", N = ");
3098 (*entryDiffQC6EtaPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
3099 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffQC6EtaPOI->Data(),"p");
3100 }
3101 if(plotQC8EtaPOI && qcCommonHistRes8)
3102 {
3103 entryDiffQC8EtaPOI->Append("M = ");
3104 (*entryDiffQC8EtaPOI)+=(Long_t)avMultDiffFlowQC8POI;
3105 entryDiffQC8EtaPOI->Append(", N = ");
3106 (*entryDiffQC8EtaPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
3107 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffQC8EtaPOI->Data(),"p");
3108 }
1fca9c90 3109
e83922f2 3110 //LYZ2
3111 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
3112 {
3113 entryDiffLYZ2EtaPOI->Append("M = ");
3114 (*entryDiffLYZ2EtaPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
3115 entryDiffLYZ2EtaPOI->Append(", N = ");
3116 (*entryDiffLYZ2EtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
3117 legendDiffFlowEtaPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2EtaPOI->Data(),"p");
3118 }
3119
3120 //LYZEP
3121 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
3122 {
3123 entryDiffLYZEPEtaPOI->Append("M = ");
3124 (*entryDiffLYZEPEtaPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
3125 entryDiffLYZEPEtaPOI->Append(", N = ");
3126 (*entryDiffLYZEPEtaPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
3127 legendDiffFlowEtaPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZEPEtaPOI->Data(),"p");
3128 }
1fca9c90 3129
dec3fab6 3130 //drawing finally the legend in the 2nd pad:
3131 if(textDefault) textDefault->Draw();
3132
e83922f2 3133 if(legendDiffFlowEtaPOI)
3134 {
3135 legendDiffFlowEtaPOI->SetMargin(0.15);
3136 legendDiffFlowEtaPOI->Draw();
3137 }
3138 }//end of if(plotDiffFlowEtaPOI)
1fca9c90 3139 //----------------------------------------------------------------------------------
3140
3141
a88e5ac2 3142 //=====================================================================================
3143
70288839 3144}
b25cc698 3145
8d5cd720 3146void LoadPlotLibraries(const libModes mode) {
b25cc698 3147
3148 //--------------------------------------
3149 // Load the needed libraries most of them already loaded by aliroot
3150 //--------------------------------------
3151 gSystem->Load("libTree.so");
3152 gSystem->Load("libGeom.so");
3153 gSystem->Load("libVMC.so");
3154 gSystem->Load("libXMLIO.so");
3155 gSystem->Load("libPhysics.so");
3156
3157 //----------------------------------------------------------
3158 // >>>>>>>>>>> Local mode <<<<<<<<<<<<<<
3159 //----------------------------------------------------------
3160 if (mode==mLocal) {
3161 //--------------------------------------------------------
3162 // If you want to use already compiled libraries
3163 // in the aliroot distribution
3164 //--------------------------------------------------------
3165
3166 //==================================================================================
3167 //load needed libraries:
3168 gSystem->AddIncludePath("-I$ROOTSYS/include");
3169 gSystem->Load("libTree.so");
3170
3171 // for AliRoot
3172 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
3173 gSystem->Load("libANALYSIS.so");
3174 gSystem->Load("libPWG2flowCommon.so");
3175 cerr<<"libPWG2flowCommon.so loaded ..."<<endl;
3176
3177 }
3178
3179 else if (mode==mLocalSource) {
3180
3181 // In root inline compile
d90df6c3 3182
3183 // Constants
3184 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonConstants.cxx+");
3185 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZConstants.cxx+");
3186 gROOT->LoadMacro("AliFlowCommon/AliFlowCumuConstants.cxx+");
3187
3188 // Flow event
3189 gROOT->LoadMacro("AliFlowCommon/AliFlowVector.cxx+");
3190 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimple.cxx+");
3191 gROOT->LoadMacro("AliFlowCommon/AliFlowEventSimple.cxx+");
3192
3193 // Cuts
3194 gROOT->LoadMacro("AliFlowCommon/AliFlowTrackSimpleCuts.cxx+");
b25cc698 3195
3196 // Output histosgrams
3197 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHist.cxx+");
3198 gROOT->LoadMacro("AliFlowCommon/AliFlowCommonHistResults.cxx+");
3199 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist1.cxx+");
3200 gROOT->LoadMacro("AliFlowCommon/AliFlowLYZHist2.cxx+");
3201
3202 cout << "finished loading macros!" << endl;
3203
3204 }
3205
3206}
3207
3208