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