1 //type of analysis can be: ESD, AOD, MC, ESDMC0, ESDMC1
2 //const TString type = "ESD";
3 void CompareFlowResults(TString type="")
5 gSystem->AddIncludePath("-I$ALICE_ROOT/include");
6 gSystem->AddIncludePath("-I$ROOTSYS/include");
8 //load needed libraries:
9 gSystem->Load("libTree.so");
10 gSystem->Load("libANALYSIS.so");
11 gSystem->Load("libPWG2flow.so");
12 cerr<<"libPWG2flow.so loaded ..."<<endl;
18 //==================================================================================
19 // set here which plots will be shown by default
20 //==================================================================================
21 //RP = particles used to determine the reaction plane
22 Bool_t plotIntFlowRP = kFALSE; //integrated flow RP
23 Bool_t plotDiffFlowPtRP = kFALSE; //differential flow (Pt,RP)
24 Bool_t plotDiffFlowEtaRP = kFALSE; //differential flow (Eta,RP)
25 //POI = particle of interest
26 Bool_t plotIntFlowPOI = kFALSE; //integrated flow POI
27 Bool_t plotDiffFlowPtPOI = kTRUE; //differential flow (Pt,POI)
28 Bool_t plotDiffFlowEtaPOI = kTRUE; //differential flow (Eta,POI)
29 //==================================================================================
34 //==================================================================================
35 // accessing output files
36 //==================================================================================
38 //open the output files:
39 TString inputFileNameMCEP = "outputMCEPanalysis";
40 TFile* fileMCEP = NULL;
41 fileMCEP = TFile::Open(((inputFileNameMCEP.Append(type)).Append(".root")).Data(), "READ");
43 TString inputFileNameLYZ1 = "outputLYZ1analysis";
44 TFile* fileLYZ1 = NULL;
45 fileLYZ1 = TFile::Open(((inputFileNameLYZ1.Append(type)).Append(".root")).Data(), "READ");
47 TString inputFileNameLYZ2 = "outputLYZ2analysis";
48 TFile* fileLYZ2 = NULL;
49 fileLYZ2 = TFile::Open(((inputFileNameLYZ2.Append(type)).Append(".root")).Data(), "READ");
51 TString inputFileNameLYZEP = "outputLYZEPanalysis";
52 TFile* fileLYZEP = NULL;
53 fileLYZEP = TFile::Open(((inputFileNameLYZEP.Append(type)).Append(".root")).Data(), "READ");
55 TString inputFileNameFQD = "outputFQDanalysis";
56 TFile* fileFQD = NULL;
57 fileFQD = TFile::Open(((inputFileNameFQD.Append(type)).Append(".root")).Data(), "READ");
59 TString inputFileNameGFC = "outputGFCanalysis";
60 TFile* fileGFC = NULL;
61 fileGFC = TFile::Open(((inputFileNameGFC.Append(type)).Append(".root")).Data(), "READ");
63 TString inputFileNameQC = "outputQCanalysis";
65 fileQC = TFile::Open(((inputFileNameQC.Append(type)).Append(".root")).Data(), "READ");
66 //==================================================================================
71 //==================================================================================
73 //==================================================================================
74 //removing the title and stat. box from all histograms:
75 gStyle->SetOptTitle(0);
76 gStyle->SetOptStat(0);
78 //choosing the style and color of mesh for MC error bands:
79 Int_t meshStyle = 1001;
80 Int_t meshColor = kRed-10;
82 //marker style and color (int. flow)
83 Int_t markerStyle = 21;
84 Int_t markerColor = kRed-3;
85 //==================================================================================
90 //==================================================================================
92 //==================================================================================
93 //the number of different methods:
94 const Int_t nMethods=12;
96 //booking the histogram for the integrated flow results from all methods:
97 TH1D* intFlowAll = new TH1D("intFlowAll","Integrated Flow",nMethods,0,nMethods);
98 //intFlowAll->SetLabelSize(0.036,"X");
99 //intFlowAll->SetLabelSize(0.036,"Y");
100 intFlowAll->SetMarkerStyle(markerStyle);
101 intFlowAll->SetMarkerColor(markerColor);
102 (intFlowAll->GetXaxis())->SetBinLabel(1,"v_{2}{MC}");
103 (intFlowAll->GetXaxis())->SetBinLabel(2,"v_{2}{2,GFC}");
104 (intFlowAll->GetXaxis())->SetBinLabel(3,"v_{2}{2,QC}");
105 (intFlowAll->GetXaxis())->SetBinLabel(4,"v_{2}{4,GFC}");
106 (intFlowAll->GetXaxis())->SetBinLabel(5,"v_{2}{4,QC}");
107 (intFlowAll->GetXaxis())->SetBinLabel(6,"v_{2}{6,GFC}");
108 (intFlowAll->GetXaxis())->SetBinLabel(7,"v_{2}{6,QC}");
109 (intFlowAll->GetXaxis())->SetBinLabel(8,"v_{2}{8,GFC}");
110 (intFlowAll->GetXaxis())->SetBinLabel(9,"v_{2}{8,QC}");
111 (intFlowAll->GetXaxis())->SetBinLabel(10,"v_{2}{FQD}");
112 (intFlowAll->GetXaxis())->SetBinLabel(11,"v_{2}{LYZ}");
113 (intFlowAll->GetXaxis())->SetBinLabel(12,"v_{2}{LYZEP}");
115 //booking the graph to store flow values and errors from all methods:
116 Double_t x[nMethods] = {0.5, 1.5, 2.5, 3.5, 4.5, 5.5, 6.5, 7.5, 8.5, 9.5, 10.5, 11.5};
117 Double_t xError[nMethods] = {0.};
118 Double_t flowValue[nMethods] = {0.};//to be removed
119 Double_t flowError[nMethods] = {0.};//to be removed
120 Double_t flowValueRP[nMethods] = {0.};
121 Double_t flowErrorRP[nMethods] = {0.};
122 Double_t flowValuePOI[nMethods] = {0.};
123 Double_t flowErrorPOI[nMethods] = {0.};
125 //accessing the results for each method:
126 //MCEP = Monte Carlo Event Plane
127 TList *pListMCEP = NULL;
128 AliFlowCommonHist *mcepCommonHist = NULL;
129 AliFlowCommonHistResults *mcepCommonHistRes = NULL;
131 fileMCEP->GetObject("cobjMCEP",pListMCEP);
133 mcepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListMCEP->FindObject("AliFlowCommonHistMCEP"));
134 mcepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListMCEP->FindObject("AliFlowCommonHistResultsMCEP"));
135 if(mcepCommonHistRes) {
136 flowValue[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
137 flowError[0] = (mcepCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
138 flowValueRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
139 flowErrorRP[0] = (mcepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
140 flowValuePOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
141 flowErrorPOI[0] = (mcepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
146 //LYZ1 = Lee-Yang Zeros (1st run)
147 TList *pListLYZ1 = NULL;
148 AliFlowCommonHist *lyz1CommonHist = NULL;
149 AliFlowCommonHistResults *lyz1CommonHistRes = NULL;
151 fileLYZ1->GetObject("cobjLYZ1",pListLYZ1);
153 lyz1CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ1->FindObject("AliFlowCommonHistLYZ1"));
154 lyz1CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ1->FindObject("AliFlowCommonHistResultsLYZ1"));
155 if(lyz1CommonHistRes) {
156 flowValue[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
157 flowError[10] = (lyz1CommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
158 flowValueRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
159 flowErrorRP[10] = (lyz1CommonHistRes->GetHistIntFlowRP())->GetBinError(1);
160 flowValuePOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
161 flowErrorPOI[10] = (lyz1CommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
166 //LYZ2 = Lee-Yang Zeros (2nd run) (needed only for differential flow)
167 TList *pListLYZ2 = NULL;
168 AliFlowCommonHist *lyz2CommonHist = NULL;
169 AliFlowCommonHistResults *lyz2CommonHistRes = NULL;
171 fileLYZ2->GetObject("cobjLYZ2",pListLYZ2);
173 lyz2CommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZ2->FindObject("AliFlowCommonHistLYZ2"));
174 lyz2CommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZ2->FindObject("AliFlowCommonHistResultsLYZ2"));
178 //LYZEP = Lee-Yang Zeros Event Plane
179 TList *pListLYZEP = NULL;
180 AliFlowCommonHist *lyzepCommonHist = NULL;
181 AliFlowCommonHistResults *lyzepCommonHistRes = NULL;
183 fileLYZEP->GetObject("cobjLYZEP",pListLYZEP);
185 lyzepCommonHist = dynamic_cast<AliFlowCommonHist*> (pListLYZEP->FindObject("AliFlowCommonHistLYZEP"));
186 lyzepCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListLYZEP->FindObject("AliFlowCommonHistResultsLYZEP"));
187 if(lyzepCommonHistRes) {
188 flowValue[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
189 //flowError[11] = (lyzepCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
190 flowValueRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
191 //flowErrorRP[11] = (lyzepCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
192 flowValuePOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
193 //flowErrorPOI[11] = (lyzepCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
198 //FQD = Fitting q-distribution
199 TList *pListFQD = NULL;
200 AliFlowCommonHist *fqdCommonHist = NULL;
201 AliFlowCommonHistResults *fqdCommonHistRes = NULL;
203 fileFQD->GetObject("cobjFQD",pListFQD);
205 fqdCommonHist = dynamic_cast<AliFlowCommonHist*> (pListFQD->FindObject("AliFlowCommonHistFQD"));
206 fqdCommonHistRes = dynamic_cast<AliFlowCommonHistResults*> (pListFQD->FindObject("AliFlowCommonHistResultsFQD"));
207 if(fqdCommonHistRes) {
208 flowValue[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinContent(1);//to be removed
209 flowError[9] = (fqdCommonHistRes->GetHistIntFlow())->GetBinError(1);//to be removed
210 flowValueRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinContent(1);
211 flowErrorRP[9] = (fqdCommonHistRes->GetHistIntFlowRP())->GetBinError(1);
212 flowValuePOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinContent(1);
213 flowErrorPOI[9] = (fqdCommonHistRes->GetHistIntFlowPOI())->GetBinError(1);
218 //GFC = Generating Function Cumulants
219 TList *pListGFC = NULL;
220 AliFlowCommonHist *gfcCommonHist = NULL;
221 AliFlowCommonHistResults *gfcCommonHistRes2 = NULL;
222 AliFlowCommonHistResults *gfcCommonHistRes4 = NULL;
223 AliFlowCommonHistResults *gfcCommonHistRes6 = NULL;
224 AliFlowCommonHistResults *gfcCommonHistRes8 = NULL;
226 fileGFC->GetObject("cobjGFC",pListGFC);
228 gfcCommonHist = dynamic_cast<AliFlowCommonHist*> (pListGFC->FindObject("AliFlowCommonHistGFC"));
229 gfcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults2ndOrderGFC"));
230 if(gfcCommonHistRes2) {
231 flowValue[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);//to be removed
232 flowError[1] = (gfcCommonHistRes2->GetHistIntFlow())->GetBinError(1);//to be removed
233 flowValueRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
234 flowErrorRP[1] = (gfcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
235 flowValuePOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
236 flowErrorPOI[1] = (gfcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
238 gfcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults4thOrderGFC"));
239 if(gfcCommonHistRes4) {
240 flowValue[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);//to be removed
241 flowError[3] = (gfcCommonHistRes4->GetHistIntFlow())->GetBinError(1);//to be removed
242 flowValueRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
243 flowErrorRP[3] = (gfcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
244 flowValuePOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
245 flowErrorPOI[3] = (gfcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
247 gfcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults6thOrderGFC"));
248 if(gfcCommonHistRes6) {
249 flowValue[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);//to be removed
250 flowError[5] = (gfcCommonHistRes6->GetHistIntFlow())->GetBinError(1);//to be removed
251 flowValueRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
252 flowErrorRP[5] = (gfcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
253 flowValuePOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
254 flowErrorPOI[5] = (gfcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
256 gfcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListGFC->FindObject("AliFlowCommonHistResults8thOrderGFC"));
257 if(gfcCommonHistRes8) {
258 flowValue[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);//to be removed
259 flowError[7] = (gfcCommonHistRes8->GetHistIntFlow())->GetBinError(1);//to be removed
260 flowValueRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
261 flowErrorRP[7] = (gfcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
262 flowValuePOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
263 flowErrorPOI[7] = (gfcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
269 TList *pListQC = NULL;
270 AliFlowCommonHist *qcCommonHist2 = NULL;
271 AliFlowCommonHist *qcCommonHist4 = NULL;
272 AliFlowCommonHist *qcCommonHist6 = NULL;
273 AliFlowCommonHist *qcCommonHist8 = NULL;
274 AliFlowCommonHistResults *qcCommonHistRes2 = NULL;
275 AliFlowCommonHistResults *qcCommonHistRes4 = NULL;
276 AliFlowCommonHistResults *qcCommonHistRes6 = NULL;
277 AliFlowCommonHistResults *qcCommonHistRes8 = NULL;
280 fileQC->GetObject("cobjQC",pListQC);
282 qcCommonHist2 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist2ndOrderQC"));
283 qcCommonHistRes2 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults2ndOrderQC"));
284 if(qcCommonHistRes2) {
285 flowValue[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinContent(1);//to be removed
286 //flowError[2] = (qcCommonHistRes2->GetHistIntFlow())->GetBinError(1);//to be removed
287 flowValueRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinContent(1);
288 //flowErrorRP[2] = (qcCommonHistRes2->GetHistIntFlowRP())->GetBinError(1);
289 flowValuePOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinContent(1);
290 //flowErrorPOI[2] = (qcCommonHistRes2->GetHistIntFlowPOI())->GetBinError(1);
292 qcCommonHist4 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist4thOrderQC"));
293 qcCommonHistRes4 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults4thOrderQC"));
294 if(qcCommonHistRes4) {
295 flowValue[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinContent(1);//to be removed
296 //flowError[4] = (qcCommonHistRes4->GetHistIntFlow())->GetBinError(1);//to be removed
297 flowValueRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinContent(1);
298 //flowErrorRP[4] = (qcCommonHistRes4->GetHistIntFlowRP())->GetBinError(1);
299 flowValuePOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinContent(1);
300 //flowErrorPOI[4] = (qcCommonHistRes4->GetHistIntFlowPOI())->GetBinError(1);
302 qcCommonHist6 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist6thOrderQC"));
303 qcCommonHistRes6 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults6thOrderQC"));
304 if(qcCommonHistRes6) {
305 flowValue[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinContent(1);//to be removed
306 //flowError[6] = (qcCommonHistRes6->GetHistIntFlow())->GetBinError(1);//to be removed
307 flowValueRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinContent(1);
308 //flowErrorRP[6] = (qcCommonHistRes6->GetHistIntFlowRP())->GetBinError(1);
309 flowValuePOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinContent(1);
310 //flowErrorPOI[6] = (qcCommonHistRes6->GetHistIntFlowPOI())->GetBinError(1);
312 qcCommonHist8 = dynamic_cast<AliFlowCommonHist*> (pListQC->FindObject("AliFlowCommonHist8thOrderQC"));
313 qcCommonHistRes8 = dynamic_cast<AliFlowCommonHistResults*> (pListQC->FindObject("AliFlowCommonHistResults8thOrderQC"));
314 if(qcCommonHistRes8) {
315 flowValue[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinContent(1);//to be removed
316 //flowError[8] = (qcCommonHistRes8->GetHistIntFlow())->GetBinError(1);//to be removed
317 flowValueRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinContent(1);
318 //flowErrorRP[8] = (qcCommonHistRes8->GetHistIntFlowRP())->GetBinError(1);
319 flowValuePOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinContent(1);
320 //flowErrorPOI[8] = (qcCommonHistRes8->GetHistIntFlowPOI())->GetBinError(1);
325 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
326 // !!!! to be removed !!!!
327 Double_t dMax=flowValue[0]+flowError[0];
328 Double_t dMin=flowValue[0]-flowError[0];
330 for(Int_t i=1;i<nMethods;i++) {
331 if(!(flowValue[i]==0. && flowError[i]==0.)) {
332 if(dMax<flowValue[i]+flowError[i]) dMax=flowValue[i]+flowError[i];
333 if(dMin>flowValue[i]-flowError[i]) dMin=flowValue[i]-flowError[i];
336 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
339 Double_t dMaxRP=flowValueRP[0]+flowErrorRP[0];
340 Double_t dMinRP=flowValueRP[0]-flowErrorRP[0];
342 for(Int_t i=1;i<nMethods;i++) {
343 if(!(flowValueRP[i]==0. && flowErrorRP[i]==0.)) {
344 if(dMaxRP<flowValueRP[i]+flowErrorRP[i]) dMaxRP=flowValueRP[i]+flowErrorRP[i];
345 if(dMinRP>flowValueRP[i]-flowErrorRP[i]) dMinRP=flowValueRP[i]-flowErrorRP[i];
350 Double_t dMaxPOI=flowValuePOI[0]+flowErrorPOI[0];
351 Double_t dMinPOI=flowValuePOI[0]-flowErrorPOI[0];
353 for(Int_t i=1;i<nMethods;i++) {
354 if(!(flowValuePOI[i]==0. && flowErrorPOI[i]==0.)) {
355 if(dMaxPOI<flowValuePOI[i]+flowErrorPOI[i]) dMaxPOI=flowValuePOI[i]+flowErrorPOI[i];
356 if(dMinPOI>flowValuePOI[i]-flowErrorPOI[i]) dMinPOI=flowValuePOI[i]-flowErrorPOI[i];
360 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
361 // !!!! to be removed !!!!
362 TGraph* flowResults = new TGraphErrors(nMethods, x, flowValue, xError, flowError);
364 flowResults->SetMarkerStyle(markerStyle);
365 flowResults->SetMarkerColor(markerColor);
366 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
369 TGraph* flowResultsRP = new TGraphErrors(nMethods, x, flowValueRP, xError, flowErrorRP);
371 flowResultsRP->SetMarkerStyle(markerStyle);
372 flowResultsRP->SetMarkerColor(markerColor);
375 TGraph* flowResultsPOI = new TGraphErrors(nMethods, x, flowValuePOI, xError, flowErrorPOI);
377 flowResultsPOI->SetMarkerStyle(markerStyle);
378 flowResultsPOI->SetMarkerColor(markerColor);
380 //-----------------------------------------------------------------------------------
382 //----------------------------------------------------------------------------------
383 //cosmetics: mesh for MC error bands (integrated flow)
384 TGraph* pMesh = NULL;//to be removed
385 TGraph* pMeshRP = NULL;
386 TGraph* pMeshPOI = NULL;
388 if(intFlowAll && mcepCommonHistRes) {
389 //Double_t valueMC = intFlowAll->GetBinContent(1);
390 //Double_t errorMC = intFlowAll->GetBinError(1);
391 //Int_t nPts = intFlowAll->GetNbinsX();
393 Int_t nPts = nMethods;
394 Double_t valueMC = flowValue[0];//to be removed
395 Double_t errorMC = flowError[0];//to be removed
396 Double_t valueMCRP = flowValueRP[0];
397 Double_t errorMCRP = flowErrorRP[0];
398 Double_t valueMCPOI = flowValuePOI[0];
399 Double_t errorMCPOI = flowErrorPOI[0];
401 pMesh = new TGraph(nPts);//to be removed
402 pMeshRP = new TGraph(nPts);
403 pMeshPOI = new TGraph(nPts);
405 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
406 // !!!! to be removed !!!!
407 pMesh->SetPoint(1,0,valueMC+errorMC);
408 pMesh->SetPoint(2,nPts+1,valueMC+errorMC);
409 pMesh->SetPoint(3,nPts+1,valueMC-errorMC);
410 pMesh->SetPoint(4,0,valueMC-errorMC);
411 pMesh->SetPoint(5,0,valueMC+errorMC);
413 pMesh->SetFillStyle(meshStyle);
414 pMesh->SetFillColor(meshColor);
415 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
418 pMeshRP->SetPoint(1,0,valueMCRP+errorMCRP);
419 pMeshRP->SetPoint(2,nPts+1,valueMCRP+errorMCRP);
420 pMeshRP->SetPoint(3,nPts+1,valueMCRP-errorMCRP);
421 pMeshRP->SetPoint(4,0,valueMCRP-errorMCRP);
422 pMeshRP->SetPoint(5,0,valueMCRP+errorMCRP);
424 pMeshRP->SetFillStyle(meshStyle);
425 pMeshRP->SetFillColor(meshColor);
428 pMeshPOI->SetPoint(1,0,valueMCPOI+errorMCPOI);
429 pMeshPOI->SetPoint(2,nPts+1,valueMCPOI+errorMCPOI);
430 pMeshPOI->SetPoint(3,nPts+1,valueMCPOI-errorMCPOI);
431 pMeshPOI->SetPoint(4,0,valueMCPOI-errorMCPOI);
432 pMeshPOI->SetPoint(5,0,valueMCPOI+errorMCPOI);
434 pMeshPOI->SetFillStyle(meshStyle);
435 pMeshPOI->SetFillColor(meshColor);
437 //----------------------------------------------------------------------------------
440 //----------------------------------------------------------------------------------
441 //cosmetics: text (integrated flow)
443 TPaveText *textDefault = new TPaveText(0.05,0.77,0.95,0.90,"NDC");
444 textDefault->SetTextFont(72);
445 textDefault->SetTextSize(0.08);
446 //textDefault->SetLineColor(kFALSE);
447 //textDefault->SetShadowColor(kFALSE);
449 TString *entryDefaultAvM = new TString("Average Multiplicity");
450 TString *entryDefaultAnd = new TString("and");
451 TString *entryDefaultNumOfEvts = new TString("Number of Events:");
453 textDefault->AddText(entryDefaultAvM->Data());
454 textDefault->AddText(entryDefaultAnd->Data());
455 textDefault->AddText(entryDefaultNumOfEvts->Data());
458 TPaveText *textResults = new TPaveText(0.05,0.12,0.95,0.70,"NDC");//to be removed
459 textResults->SetTextFont(72);//to be removed
460 textResults->SetTextSize(0.06);//to be removed
461 //textResults->SetLineColor(kFALSE);
462 //textResults->SetShadowColor(kFALSE);
465 TPaveText *textResultsRP = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
466 textResultsRP->SetTextFont(72);
467 textResultsRP->SetTextSize(0.06);
470 TPaveText *textResultsPOI = new TPaveText(0.05,0.12,0.95,0.70,"NDC");
471 textResultsPOI->SetTextFont(72);
472 textResultsPOI->SetTextSize(0.06);
474 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
475 // !!!! to be removed !!!!!!
476 TString *entryMC = new TString("MC ...... ");
477 TString *entryGFC = new TString("GFC ..... ");
478 TString *entryQC2 = new TString("QC{2} ... ");
479 TString *entryQC4 = new TString("QC{4} ... ");
480 TString *entryQC6 = new TString("QC{6} ... ");
481 TString *entryQC8 = new TString("QC{8} ... ");
482 TString *entryFQD = new TString("FQD ..... ");
483 TString *entryLYZ1 = new TString("LYZ ..... ");
484 TString *entryLYZEP = new TString("LYZEP ... ");
485 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
488 TString *entryMCRP = new TString("MC ...... ");
489 TString *entryGFCRP = new TString("GFC ..... ");
490 TString *entryQC2RP = new TString("QC{2} ... ");
491 TString *entryQC4RP = new TString("QC{4} ... ");
492 TString *entryQC6RP = new TString("QC{6} ... ");
493 TString *entryQC8RP = new TString("QC{8} ... ");
494 TString *entryFQDRP = new TString("FQD ..... ");
495 TString *entryLYZ1RP = new TString("LYZ ..... ");
496 TString *entryLYZEPRP = new TString("LYZEP ... ");
499 TString *entryMCPOI = new TString("MC ...... ");
500 TString *entryGFCPOI = new TString("GFC ..... ");
501 TString *entryQC2POI = new TString("QC{2} ... ");
502 TString *entryQC4POI = new TString("QC{4} ... ");
503 TString *entryQC6POI = new TString("QC{6} ... ");
504 TString *entryQC8POI = new TString("QC{8} ... ");
505 TString *entryFQDPOI = new TString("FQD ..... ");
506 TString *entryLYZ1POI = new TString("LYZ ..... ");
507 TString *entryLYZEPPOI = new TString("LYZEP ... ");
509 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
510 // !!!! to be removed !!!!
511 Double_t avMultMC=0.;
514 Double_t avMultGFC=0.;
517 Double_t avMultQC2=0., avMultQC4=0., avMultQC6=0., avMultQC8=0.;
518 Long_t nEvtsQC2=0, nEvtsQC4=0, nEvtsQC6=0, nEvtsQC8=0;
520 Double_t avMultFQD=0.;
523 Double_t avMultLYZ1=0.;
526 Double_t avMultLYZEP=0.;
528 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
531 Double_t avMultMCRP=0.;
534 Double_t avMultGFCRP=0.;
537 Double_t avMultQC2RP=0., avMultQC4RP=0., avMultQC6RP=0., avMultQC8RP=0.;
538 Long_t nEvtsQC2RP=0, nEvtsQC4RP=0, nEvtsQC6RP=0, nEvtsQC8RP=0;
540 Double_t avMultFQDRP=0.;
543 Double_t avMultLYZ1RP=0.;
544 Long_t nEvtsLYZ1RP=0;
546 Double_t avMultLYZEPRP=0.;
547 Long_t nEvtsLYZEPRP=0;
550 Double_t avMultMCPOI=0.;
553 Double_t avMultGFCPOI=0.;
554 Long_t nEvtsGFCPOI=0;
556 Double_t avMultQC2POI=0., avMultQC4POI=0., avMultQC6POI=0., avMultQC8POI=0.;
557 Long_t nEvtsQC2POI=0, nEvtsQC4POI=0, nEvtsQC6POI=0, nEvtsQC8POI=0;
559 Double_t avMultFQDPOI=0.;
560 Long_t nEvtsFQDPOI=0;
562 Double_t avMultLYZ1POI=0.;
563 Long_t nEvtsLYZ1POI=0;
565 Double_t avMultLYZEPPOI=0.;
566 Long_t nEvtsLYZEPPOI=0;
570 avMultMC = (mcepCommonHist->GetHistMultInt())->GetMean();//to be removed
571 nEvtsMC = (mcepCommonHist->GetHistMultInt())->GetEntries();//to be removed
572 avMultMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
573 nEvtsMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
574 avMultMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
575 nEvtsMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
577 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
578 // !!!! to be removed !!!!
580 entryMC->Append("M = ");
581 (*entryMC)+=(Long_t)avMultMC;
582 entryMC->Append(", N = ");
583 (*entryMC)+=(Long_t)nEvtsMC;
585 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
587 entryMCRP->Append("M = ");
588 (*entryMCRP)+=(Long_t)avMultMCRP;
589 entryMCRP->Append(", N = ");
590 (*entryMCRP)+=(Long_t)nEvtsMCRP;
593 entryMCPOI->Append("M = ");
594 (*entryMCPOI)+=(Long_t)avMultMCPOI;
595 entryMCPOI->Append(", N = ");
596 (*entryMCPOI)+=(Long_t)nEvtsMCPOI;
601 avMultGFC = (gfcCommonHist->GetHistMultInt())->GetMean();//to be removed
602 nEvtsGFC = (gfcCommonHist->GetHistMultInt())->GetEntries();//to be removed
603 avMultGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
604 nEvtsGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
605 avMultGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
606 nEvtsGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
608 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
609 // !!!! to be removed !!!!
611 entryGFC->Append("M = ");
612 (*entryGFC)+=(Long_t)avMultGFC;
613 entryGFC->Append(", N = ");
614 (*entryGFC)+=(Long_t)nEvtsGFC;
616 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
618 entryGFCRP->Append("M = ");
619 (*entryGFCRP)+=(Long_t)avMultGFCRP;
620 entryGFCRP->Append(", N = ");
621 (*entryGFCRP)+=(Long_t)nEvtsGFCRP;
624 entryGFCPOI->Append("M = ");
625 (*entryGFCPOI)+=(Long_t)avMultGFCPOI;
626 entryGFCPOI->Append(", N = ");
627 (*entryGFCPOI)+=(Long_t)nEvtsGFCPOI;
632 avMultQC2 = (qcCommonHist2->GetHistMultInt())->GetMean();//to be removed
633 nEvtsQC2 = (qcCommonHist2->GetHistMultInt())->GetEntries();//to be removed
634 avMultQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
635 nEvtsQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
636 avMultQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
637 nEvtsQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
639 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
640 // !!!! to be removed !!!!
643 entryQC2->Append("M = ");
644 (*entryQC2)+=(Long_t)avMultQC2;
645 entryQC2->Append(", N = ");
646 (*entryQC2)+=(Long_t)nEvtsQC2;
648 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
651 entryQC2RP->Append("M = ");
652 (*entryQC2RP)+=(Long_t)avMultQC2RP;
653 entryQC2RP->Append(", N = ");
654 (*entryQC2RP)+=(Long_t)nEvtsQC2RP;
658 entryQC2POI->Append("M = ");
659 (*entryQC2POI)+=(Long_t)avMultQC2POI;
660 entryQC2POI->Append(", N = ");
661 (*entryQC2POI)+=(Long_t)nEvtsQC2POI;
666 avMultQC4 = (qcCommonHist4->GetHistMultInt())->GetMean();//to be removed
667 nEvtsQC4 = (qcCommonHist4->GetHistMultInt())->GetEntries();//to be removed
668 avMultQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
669 nEvtsQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
670 avMultQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
671 nEvtsQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
673 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
674 // !!!! to be removed !!!!
677 entryQC4->Append("M = ");
678 (*entryQC4)+=(Long_t)avMultQC4;
679 entryQC4->Append(", N = ");
680 (*entryQC4)+=(Long_t)nEvtsQC4;
682 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
685 entryQC4RP->Append("M = ");
686 (*entryQC4RP)+=(Long_t)avMultQC4RP;
687 entryQC4RP->Append(", N = ");
688 (*entryQC4RP)+=(Long_t)nEvtsQC4RP;
692 entryQC4POI->Append("M = ");
693 (*entryQC4POI)+=(Long_t)avMultQC4POI;
694 entryQC4POI->Append(", N = ");
695 (*entryQC4POI)+=(Long_t)nEvtsQC4POI;
700 avMultQC6 = (qcCommonHist6->GetHistMultInt())->GetMean();//to be removed
701 nEvtsQC6 = (qcCommonHist6->GetHistMultInt())->GetEntries();//to be removed
702 avMultQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
703 nEvtsQC6RP = (qcCommonHist6->GetHistMultInt())->GetEntries();
704 avMultQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
705 nEvtsQC6POI = (qcCommonHist6->GetHistMultDiff())->GetEntries();
707 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
708 // !!!! to be removed !!!!
711 entryQC6->Append("M = ");
712 (*entryQC6)+=(Long_t)avMultQC6;
713 entryQC6->Append(", N = ");
714 (*entryQC6)+=(Long_t)nEvtsQC6;
716 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
719 entryQC6RP->Append("M = ");
720 (*entryQC6RP)+=(Long_t)avMultQC6RP;
721 entryQC6RP->Append(", N = ");
722 (*entryQC6RP)+=(Long_t)nEvtsQC6RP;
726 entryQC6POI->Append("M = ");
727 (*entryQC6POI)+=(Long_t)avMultQC6POI;
728 entryQC6POI->Append(", N = ");
729 (*entryQC6POI)+=(Long_t)nEvtsQC6POI;
734 avMultQC8 = (qcCommonHist8->GetHistMultInt())->GetMean();//to be removed
735 nEvtsQC8 = (qcCommonHist8->GetHistMultInt())->GetEntries();//to be removed
736 avMultQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
737 nEvtsQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
738 avMultQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
739 nEvtsQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
741 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
742 // !!!! to be removed !!!!
745 entryQC8->Append("M = ");
746 (*entryQC8)+=(Long_t)avMultQC8;
747 entryQC8->Append(", N = ");
748 (*entryQC8)+=(Long_t)nEvtsQC8;
750 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
753 entryQC8RP->Append("M = ");
754 (*entryQC8RP)+=(Long_t)avMultQC8RP;
755 entryQC8RP->Append(", N = ");
756 (*entryQC8RP)+=(Long_t)nEvtsQC8RP;
760 entryQC8POI->Append("M = ");
761 (*entryQC8POI)+=(Long_t)avMultQC8POI;
762 entryQC8POI->Append(", N = ");
763 (*entryQC8POI)+=(Long_t)nEvtsQC8POI;
769 avMultFQD = (fqdCommonHist->GetHistMultInt())->GetMean();//to be removed
770 nEvtsFQD = (fqdCommonHist->GetHistMultInt())->GetEntries();//to be removed
771 avMultFQDRP = (fqdCommonHist->GetHistMultInt())->GetMean();
772 nEvtsFQDRP = (fqdCommonHist->GetHistMultInt())->GetEntries();
773 avMultFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetMean();
774 nEvtsFQDPOI = (fqdCommonHist->GetHistMultDiff())->GetEntries();
776 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
777 // !!!! to be removed !!!!
780 entryFQD->Append("M = ");
781 (*entryFQD)+=(Long_t)avMultFQD;
782 entryFQD->Append(", N = ");
783 (*entryFQD)+=(Long_t)nEvtsFQD;
785 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
788 entryFQDRP->Append("M = ");
789 (*entryFQDRP)+=(Long_t)avMultFQDRP;
790 entryFQDRP->Append(", N = ");
791 (*entryFQDRP)+=(Long_t)nEvtsFQDRP;
795 entryFQDPOI->Append("M = ");
796 (*entryFQDPOI)+=(Long_t)avMultFQDPOI;
797 entryFQDPOI->Append(", N = ");
798 (*entryFQDPOI)+=(Long_t)nEvtsFQDPOI;
804 avMultLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetMean();//to be removed
805 nEvtsLYZ1 = (lyz1CommonHist->GetHistMultInt())->GetEntries();//to be removed
806 avMultLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetMean();
807 nEvtsLYZ1RP = (lyz1CommonHist->GetHistMultInt())->GetEntries();
808 avMultLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetMean();
809 nEvtsLYZ1POI = (lyz1CommonHist->GetHistMultDiff())->GetEntries();
811 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
812 // !!!! to be removed !!!!
815 entryLYZ1->Append("M = ");
816 (*entryLYZ1)+=(Long_t)avMultLYZ1;
817 entryLYZ1->Append(", N = ");
818 (*entryLYZ1)+=(Long_t)nEvtsLYZ1;
820 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
823 entryLYZ1RP->Append("M = ");
824 (*entryLYZ1RP)+=(Long_t)avMultLYZ1RP;
825 entryLYZ1RP->Append(", N = ");
826 (*entryLYZ1RP)+=(Long_t)nEvtsLYZ1RP;
830 entryLYZ1POI->Append("M = ");
831 (*entryLYZ1POI)+=(Long_t)avMultLYZ1POI;
832 entryLYZ1POI->Append(", N = ");
833 (*entryLYZ1POI)+=(Long_t)nEvtsLYZ1POI;
839 avMultLYZEP = (lyzepCommonHist->GetHistMultInt())->GetMean();//to be removed
840 nEvtsLYZEP = (lyzepCommonHist->GetHistMultInt())->GetEntries();//to be removed
841 avMultLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
842 nEvtsLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
843 avMultLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
844 nEvtsLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
846 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
847 // !!!! to be removed !!!!
850 entryLYZEP->Append("M = ");
851 (*entryLYZEP)+=(Long_t)avMultLYZEP;
852 entryLYZEP->Append(", N = ");
853 (*entryLYZEP)+=(Long_t)nEvtsLYZEP;
855 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
858 entryLYZEPRP->Append("M = ");
859 (*entryLYZEPRP)+=(Long_t)avMultLYZEPRP;
860 entryLYZEPRP->Append(", N = ");
861 (*entryLYZEPRP)+=(Long_t)nEvtsLYZEPRP;
865 entryLYZEPPOI->Append("M = ");
866 (*entryLYZEPPOI)+=(Long_t)avMultLYZEPPOI;
867 entryLYZEPPOI->Append(", N = ");
868 (*entryLYZEPPOI)+=(Long_t)nEvtsLYZEPPOI;
871 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
872 // !!!! to be removed !!!!
875 textResults->AddText(entryMC->Data());
876 textResults->AddText(entryGFC->Data());
877 textResults->AddText(entryQC2->Data());
878 textResults->AddText(entryQC4->Data());
879 textResults->AddText(entryQC6->Data());
880 textResults->AddText(entryQC8->Data());
881 textResults->AddText(entryFQD->Data());
882 textResults->AddText(entryLYZ1->Data());
883 textResults->AddText(entryLYZEP->Data());
885 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxx
889 textResultsRP->AddText(entryMCRP->Data());
890 textResultsRP->AddText(entryGFCRP->Data());
891 textResultsRP->AddText(entryQC2RP->Data());
892 textResultsRP->AddText(entryQC4RP->Data());
893 textResultsRP->AddText(entryQC6RP->Data());
894 textResultsRP->AddText(entryQC8RP->Data());
895 textResultsRP->AddText(entryFQDRP->Data());
896 textResultsRP->AddText(entryLYZ1RP->Data());
897 textResultsRP->AddText(entryLYZEPRP->Data());
902 textResultsPOI->AddText(entryMCPOI->Data());
903 textResultsPOI->AddText(entryGFCPOI->Data());
904 textResultsPOI->AddText(entryQC2POI->Data());
905 textResultsPOI->AddText(entryQC4POI->Data());
906 textResultsPOI->AddText(entryQC6POI->Data());
907 textResultsPOI->AddText(entryQC8POI->Data());
908 textResultsPOI->AddText(entryFQDPOI->Data());
909 textResultsPOI->AddText(entryLYZ1POI->Data());
910 textResultsPOI->AddText(entryLYZEPPOI->Data());
912 //----------------------------------------------------------------------------------
914 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
915 // !!!! to be removed !!!!
916 //----------------------------------------------------------------------------------
917 //final drawing for integrated flow:
918 TCanvas* intFlowAllCanvas = new TCanvas("Integrated Flow","Integrated Flow",1000,600);
920 intFlowAllCanvas->Divide(2,1);
922 //1st pad is for plot:
923 (intFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
927 if(dMin>0. && dMax>0.)
929 (intFlowAll->GetYaxis())->SetRangeUser(0.9744*dMin,1.0144*dMax);
930 } else if(dMin<0. && dMax>0.)
932 if(!(-1.*dMin<4.*dMax))
934 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,1.0144*dMax);
935 } else {(intFlowAll->GetYaxis())->SetRangeUser(1.1266*dMin,1.0144*dMax);}
936 } else if(dMin<0. && dMax<0.)
938 (intFlowAll->GetYaxis())->SetRangeUser(1.0266*dMin,0.9866*dMax);
940 intFlowAll->Draw("E1");
943 if(pMesh) pMesh->Draw("LFSAME");
945 if(flowResults) flowResults->Draw("PSAME");
947 //2nd pad is for legend:
948 (intFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
956 //----------------------------------------------------------------------------------
957 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
964 //----------------------------------------------------------------------------------
965 //final drawing for integrated flow of RP (i.e. of particles used to determine the reaction plane):
968 TCanvas* intFlowAllCanvasRP = new TCanvas("Integrated Flow RP","Integrated Flow RP",1000,600);
970 intFlowAllCanvasRP->Divide(2,1);
972 //1st pad is for plot:
973 (intFlowAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
975 TH1D intFlowAllRPtemp = *intFlowAll;//to be improved
976 TH1D *intFlowAllRP=&intFlowAllRPtemp;//to be improved
980 if(dMinRP>0. && dMaxRP>0.)
982 (intFlowAllRP->GetYaxis())->SetRangeUser(0.9744*dMinRP,1.0144*dMaxRP);
983 } else if(dMinRP<0. && dMaxRP>0.)
985 if(!(-1.*dMinRP<4.*dMaxRP))
987 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,1.0144*dMaxRP);
988 } else {(intFlowAllRP->GetYaxis())->SetRangeUser(1.1266*dMinRP,1.0144*dMaxRP);}
989 } else if(dMinRP<0. && dMaxRP<0.)
991 (intFlowAllRP->GetYaxis())->SetRangeUser(1.0266*dMinRP,0.9866*dMaxRP);
993 intFlowAllRP->Draw("E1");
996 if(pMeshRP) pMeshRP->Draw("LFSAME");
998 if(flowResultsRP) flowResultsRP->Draw("PSAME");
1000 //2nd pad is for legend:
1001 (intFlowAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1003 if(textDefault) textDefault->Draw();
1005 if(textResultsRP) textResultsRP->Draw();
1006 }//end of if(plotIntFlowRP}
1007 //----------------------------------------------------------------------------------
1009 //----------------------------------------------------------------------------------
1010 //final drawing for integrated flow of POI (i.e. of particles of interest):
1013 TCanvas* intFlowAllCanvasPOI = new TCanvas("Integrated Flow POI","Integrated Flow POI",1000,600);
1015 intFlowAllCanvasPOI->Divide(2,1);
1017 //1st pad is for plot:
1018 (intFlowAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1020 TH1D intFlowAllPOItemp = *intFlowAll;//to be improved
1021 TH1D *intFlowAllPOI=&intFlowAllRPtemp;//to be improved
1024 if(dMinPOI>0. && dMaxPOI>0.)
1026 (intFlowAllPOI->GetYaxis())->SetRangeUser(0.9744*dMinPOI,1.0144*dMaxPOI);
1027 } else if(dMinPOI<0. && dMaxPOI>0.)
1029 if(!(-1.*dMinPOI<4.*dMaxPOI))
1031 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,1.0144*dMaxPOI);
1032 } else {(intFlowAllPOI->GetYaxis())->SetRangeUser(1.1266*dMinPOI,1.0144*dMaxPOI);}
1033 } else if(dMinPOI<0. && dMaxPOI<0.)
1035 (intFlowAllPOI->GetYaxis())->SetRangeUser(1.0266*dMinPOI,0.9866*dMaxPOI);
1037 intFlowAllPOI->Draw("E1");
1040 if(pMeshPOI) pMeshPOI->Draw("LFSAME");
1042 if(flowResultsPOI) flowResultsPOI->Draw("PSAME");
1044 //2nd pad is for legend:
1045 (intFlowAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1047 if(textDefault) textDefault->Draw();
1049 if(textResultsPOI) textResultsPOI->Draw();
1050 }// end of if(plotIntFlowPOI)
1051 //----------------------------------------------------------------------------------
1053 //==================================================================================
1063 //==================================================================================
1064 // DIFFERENTIAL FLOW
1065 //==================================================================================
1066 Int_t iNbinsPt = AliFlowCommonConstants::GetNbinsPt();
1067 Double_t dPtMin = AliFlowCommonConstants::GetPtMin();
1068 Double_t dPtMax = AliFlowCommonConstants::GetPtMax();
1070 Int_t iNbinsEta = AliFlowCommonConstants::GetNbinsEta();
1071 Double_t dEtaMin = AliFlowCommonConstants::GetEtaMin();
1072 Double_t dEtaMax = AliFlowCommonConstants::GetEtaMax();
1074 //----------------------------------------------------------------------------------
1075 //cosmetics: the style histogram for differential flow (pt):
1076 TH1D *styleHistPt = new TH1D("styleHistPt","styleHistPt",iNbinsPt,dPtMin,dPtMax);
1077 styleHistPt->SetTitle("Differential Flow");
1078 styleHistPt->SetXTitle("p_{t} [GeV]");
1079 styleHistPt->SetYTitle("v_{n}");
1081 //cosmetics: the style histogram for differential flow (eta):
1082 TH1D *styleHistEta = new TH1D("styleHistEta","styleHistEta",iNbinsEta,dEtaMin,dEtaMax);
1083 styleHistEta->SetTitle("Differential Flow");
1084 styleHistEta->SetXTitle("#eta");
1085 styleHistEta->SetYTitle("v_{n}");
1086 //----------------------------------------------------------------------------------
1090 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1091 // !!!! to be removed !!!!
1092 //----------------------------------------------------------------------------------
1093 //cosmetics: Monte Carlo error bands for differential flow
1094 TGraph* pMeshDiffFlow = NULL;
1095 if(mcepCommonHistRes)
1097 Int_t nPtsDF = (mcepCommonHistRes->GetHistDiffFlow())->GetNbinsX();
1098 Double_t binWidth = (mcepCommonHistRes->GetHistDiffFlow())->GetBinWidth(1);//assuming that all bins have the same width
1100 pMeshDiffFlow = new TGraph(2*nPtsDF+1);
1102 Double_t valueMC=0., errorMC=0.;
1103 for(Int_t i=1;i<nPtsDF+1;i++)
1105 valueMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinContent(i);
1106 errorMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinError(i);
1107 pMeshDiffFlow->SetPoint(i,(i-0.5)*binWidth,valueMC+errorMC);
1109 for(Int_t i=nPtsDF+1;i<2*nPtsDF+1;i++)
1111 valueMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinContent(2*nPtsDF+1-i);
1112 errorMC = (mcepCommonHistRes->GetHistDiffFlow())->GetBinError(2*nPtsDF+1-i);
1113 pMeshDiffFlow->SetPoint(i,(2*nPtsDF-i+0.5)*binWidth,valueMC-errorMC);
1115 pMeshDiffFlow->SetPoint(2*nPtsDF+1,0.5*binWidth,valueMC+errorMC);
1116 pMeshDiffFlow->SetFillStyle(meshStyle);
1117 pMeshDiffFlow->SetFillColor(meshColor);
1119 //----------------------------------------------------------------------------------
1120 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1122 //----------------------------------------------------------------------------------
1124 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1125 TGraph* pMeshDiffFlowPtRP = NULL;
1126 if(mcepCommonHistRes)
1128 Int_t nPtsDFPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetNbinsX();
1129 Double_t binWidthPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinWidth(1);//assuming that all bins have the same width
1131 pMeshDiffFlowPtRP = new TGraph(2*nPtsDFPtRP+1);
1133 Double_t valueMCPtRP=0., errorMCPtRP=0.;
1134 for(Int_t i=1;i<nPtsDFPtRP+1;i++)
1136 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(i);
1137 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(i);
1138 pMeshDiffFlowPtRP->SetPoint(i,(i-0.5)*binWidthPtRP,valueMCPtRP+errorMCPtRP);
1140 for(Int_t i=nPtsDFPtRP+1;i<2*nPtsDFPtRP+1;i++)
1142 valueMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinContent(2*nPtsDFPtRP+1-i);
1143 errorMCPtRP = (mcepCommonHistRes->GetHistDiffFlowPtRP())->GetBinError(2*nPtsDFPtRP+1-i);
1144 pMeshDiffFlowPtRP->SetPoint(i,(2*nPtsDFPtRP-i+0.5)*binWidthPtRP,valueMCPtRP-errorMCPtRP);
1146 pMeshDiffFlowPtRP->SetPoint(2*nPtsDFPtRP+1,0.5*binWidthPtRP,valueMCPtRP+errorMCPtRP);
1147 pMeshDiffFlowPtRP->SetFillStyle(meshStyle);
1148 pMeshDiffFlowPtRP->SetFillColor(meshColor);
1151 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1152 TGraph* pMeshDiffFlowEtaRP = NULL;
1153 if(mcepCommonHistRes)
1155 Int_t nPtsDFEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetNbinsX();
1156 Double_t binWidthEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinWidth(1);//assuming that all bins have the same width
1158 pMeshDiffFlowEtaRP = new TGraph(2*nPtsDFEtaRP+1);
1160 Double_t valueMCEtaRP=0., errorMCEtaRP=0.;
1161 for(Int_t i=1;i<nPtsDFEtaRP+1;i++)
1163 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(i);
1164 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(i);
1165 pMeshDiffFlowEtaRP->SetPoint(i,(i-0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1167 for(Int_t i=nPtsDFEtaRP+1;i<2*nPtsDFEtaRP+1;i++)
1169 valueMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinContent(2*nPtsDFEtaRP+1-i);
1170 errorMCEtaRP = (mcepCommonHistRes->GetHistDiffFlowEtaRP())->GetBinError(2*nPtsDFEtaRP+1-i);
1171 pMeshDiffFlowEtaRP->SetPoint(i,(2*nPtsDFEtaRP-i+0.5)*binWidthEtaRP+dEtaMin,valueMCEtaRP-errorMCEtaRP);
1173 pMeshDiffFlowEtaRP->SetPoint(2*nPtsDFEtaRP+1,0.5*binWidthEtaRP+dEtaMin,valueMCEtaRP+errorMCEtaRP);
1174 pMeshDiffFlowEtaRP->SetFillStyle(meshStyle);
1175 pMeshDiffFlowEtaRP->SetFillColor(meshColor);
1177 //----------------------------------------------------------------------------------
1180 //----------------------------------------------------------------------------------
1182 //cosmetics: Monte Carlo error bands for differential flow (Pt)
1183 TGraph* pMeshDiffFlowPtPOI = NULL;
1184 if(mcepCommonHistRes)
1186 Int_t nPtsDFPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetNbinsX();
1187 Double_t binWidthPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinWidth(1);//assuming that all bins have the same width
1189 pMeshDiffFlowPtPOI = new TGraph(2*nPtsDFPtPOI+1);
1191 Double_t valueMCPtPOI=0., errorMCPtPOI=0.;
1192 for(Int_t i=1;i<nPtsDFPtPOI+1;i++)
1194 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(i);
1195 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(i);
1196 pMeshDiffFlowPtPOI->SetPoint(i,(i-0.5)*binWidthPtPOI,valueMCPtPOI+errorMCPtPOI);
1198 for(Int_t i=nPtsDFPtPOI+1;i<2*nPtsDFPtPOI+1;i++)
1200 valueMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinContent(2*nPtsDFPtPOI+1-i);
1201 errorMCPtPOI = (mcepCommonHistRes->GetHistDiffFlowPtPOI())->GetBinError(2*nPtsDFPtPOI+1-i);
1202 pMeshDiffFlowPtPOI->SetPoint(i,(2*nPtsDFPtPOI-i+0.5)*binWidthPtPOI,valueMCPtPOI-errorMCPtPOI);
1204 pMeshDiffFlowPtPOI->SetPoint(2*nPtsDFPtPOI+1,0.5*binWidthPtPOI,valueMCPtPOI+errorMCPtPOI);
1205 pMeshDiffFlowPtPOI->SetFillStyle(meshStyle);
1206 pMeshDiffFlowPtPOI->SetFillColor(meshColor);
1209 //cosmetics: Monte Carlo error bands for differential flow (Eta)
1210 TGraph* pMeshDiffFlowEtaPOI = NULL;
1211 if(mcepCommonHistRes)
1213 Int_t nPtsDFEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetNbinsX();
1214 Double_t binWidthEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinWidth(1);//assuming that all bins have the same width
1216 pMeshDiffFlowEtaPOI = new TGraph(2*nPtsDFEtaPOI+1);
1218 Double_t valueMCEtaPOI=0., errorMCEtaPOI=0.;
1219 for(Int_t i=1;i<nPtsDFEtaPOI+1;i++)
1221 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(i);
1222 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(i);
1223 pMeshDiffFlowEtaPOI->SetPoint(i,(i-0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1225 for(Int_t i=nPtsDFEtaPOI+1;i<2*nPtsDFEtaPOI+1;i++)
1227 valueMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinContent(2*nPtsDFEtaPOI+1-i);
1228 errorMCEtaPOI = (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->GetBinError(2*nPtsDFEtaPOI+1-i);
1229 pMeshDiffFlowEtaPOI->SetPoint(i,(2*nPtsDFEtaPOI-i+0.5)*binWidthEtaPOI+dEtaMin,valueMCEtaPOI-errorMCEtaPOI);
1231 pMeshDiffFlowEtaPOI->SetPoint(2*nPtsDFEtaPOI+1,0.5*binWidthEtaPOI+dEtaMin,valueMCEtaPOI+errorMCEtaPOI);
1232 pMeshDiffFlowEtaPOI->SetFillStyle(meshStyle);
1233 pMeshDiffFlowEtaPOI->SetFillColor(meshColor);
1235 //----------------------------------------------------------------------------------
1237 //MCEP = Monte Carlo Event Plane
1238 Double_t avMultDiffFlowMC=0.;//to be removed
1239 Double_t nEvtsDiffFlowMC=0;//to be removed
1240 Double_t avMultDiffFlowMCRP=0.;
1241 Double_t nEvtsDiffFlowMCRP=0;
1242 Double_t avMultDiffFlowMCPOI=0.;
1243 Double_t nEvtsDiffFlowMCPOI=0;
1246 if(mcepCommonHistRes)
1248 (mcepCommonHistRes->GetHistDiffFlow())->SetMarkerColor(2);//to be removed
1249 (mcepCommonHistRes->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1250 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(2);
1251 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1252 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(2);
1253 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1254 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(2);
1255 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1256 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(2);
1257 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1261 avMultDiffFlowMC = (mcepCommonHist->GetHistMultDiff())->GetMean();//to be removed
1262 nEvtsDiffFlowMC = (mcepCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1263 avMultDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetMean();
1264 nEvtsDiffFlowMCRP = (mcepCommonHist->GetHistMultInt())->GetEntries();
1265 avMultDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetMean();
1266 nEvtsDiffFlowMCPOI = (mcepCommonHist->GetHistMultDiff())->GetEntries();
1270 //GFC = Generating Function Cumulants
1271 Double_t avMultDiffFlowGFC=0.;//to be removed
1272 Double_t nEvtsDiffFlowGFC=0.;//to be removed
1273 Double_t avMultDiffFlowGFCRP=0.;
1274 Double_t nEvtsDiffFlowGFCRP=0.;
1275 Double_t avMultDiffFlowGFCPOI=0.;
1276 Double_t nEvtsDiffFlowGFCPOI=0.;
1279 if(gfcCommonHistRes2)
1281 (gfcCommonHistRes2->GetHistDiffFlow())->SetMarkerColor(kViolet+7);//to be removed
1282 (gfcCommonHistRes2->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1283 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet+7);
1284 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1285 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet+7);
1286 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1287 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet+7);
1288 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1289 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet+7);
1290 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1292 if(gfcCommonHistRes4)
1294 (gfcCommonHistRes4->GetHistDiffFlow())->SetMarkerColor(kViolet-3);//to be removed
1295 (gfcCommonHistRes4->GetHistDiffFlow())->SetMarkerStyle(21);//to be removed
1296 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet-3);
1297 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(21);
1298 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet-3);
1299 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(21);
1300 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet-3);
1301 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(21);
1302 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet-3);
1303 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(21);
1305 if(gfcCommonHistRes6)
1307 (gfcCommonHistRes6->GetHistDiffFlow())->SetMarkerColor(kViolet+7);//to be removed
1308 (gfcCommonHistRes6->GetHistDiffFlow())->SetMarkerStyle(24);//to be removed
1309 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet+7);
1310 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(24);
1311 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet+7);
1312 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(24);
1313 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet+7);
1314 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(24);
1315 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet+7);
1316 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(24);
1318 if(gfcCommonHistRes8)
1320 (gfcCommonHistRes8->GetHistDiffFlow())->SetMarkerColor(kViolet-3);//to be removed
1321 (gfcCommonHistRes8->GetHistDiffFlow())->SetMarkerStyle(25);//to be removed
1322 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(kViolet-3);
1323 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(25);
1324 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(kViolet-3);
1325 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(25);
1326 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(kViolet-3);
1327 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(25);
1328 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(kViolet-3);
1329 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(25);
1333 avMultDiffFlowGFC = (gfcCommonHist->GetHistMultDiff())->GetMean();//to be removed
1334 nEvtsDiffFlowGFC = (gfcCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1335 avMultDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetMean();
1336 nEvtsDiffFlowGFCRP = (gfcCommonHist->GetHistMultInt())->GetEntries();
1337 avMultDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetMean();
1338 nEvtsDiffFlowGFCPOI = (gfcCommonHist->GetHistMultDiff())->GetEntries();
1343 Double_t avMultDiffFlowQC2=0., avMultDiffFlowQC4=0.;//to be removed
1344 Double_t nEvtsDiffFlowQC2=0., nEvtsDiffFlowQC4=0.;//to be removed
1345 Double_t avMultDiffFlowQC6=0., avMultDiffFlowQC8=0.;//to be removed
1346 Double_t nEvtsDiffFlowQC6=0., nEvtsDiffFlowQC8=0.;//to be removed
1347 Double_t avMultDiffFlowQC2RP=0.;
1348 Double_t nEvtsDiffFlowQC2RP=0.;
1349 Double_t avMultDiffFlowQC2POI=0.;
1350 Double_t nEvtsDiffFlowQC2POI=0.;
1351 Double_t avMultDiffFlowQC4RP=0.;
1352 Double_t nEvtsDiffFlowQC4RP=0.;
1353 Double_t avMultDiffFlowQC4POI=0.;
1354 Double_t nEvtsDiffFlowQC4POI=0.;
1355 Double_t avMultDiffFlowQC6RP=0.;
1356 Double_t nEvtsDiffFlowQC6RP=0.;
1357 Double_t avMultDiffFlowQC6POI=0.;
1358 Double_t nEvtsDiffFlowQC6POI=0.;
1359 Double_t avMultDiffFlowQC8RP=0.;
1360 Double_t nEvtsDiffFlowQC8RP=0.;
1361 Double_t avMultDiffFlowQC8POI=0.;
1362 Double_t nEvtsDiffFlowQC8POI=0.;
1367 if(qcCommonHistRes2)
1369 (qcCommonHistRes2->GetHistDiffFlow())->SetMarkerColor(kOrange+3);//to be removed
1370 (qcCommonHistRes2->GetHistDiffFlow())->SetMarkerStyle(20);//to be removed
1371 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange+3);
1372 (qcCommonHistRes2->GetHistDiffFlowPtRP())->SetMarkerStyle(20);
1373 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange+3);
1374 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->SetMarkerStyle(20);
1375 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange+3);
1376 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->SetMarkerStyle(20);
1377 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange+3);
1378 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->SetMarkerStyle(20);
1382 avMultDiffFlowQC2 = (qcCommonHist2->GetHistMultDiff())->GetMean();//to be removed
1383 nEvtsDiffFlowQC2 = (qcCommonHist2->GetHistMultDiff())->GetEntries();//to be removed
1384 avMultDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetMean();
1385 nEvtsDiffFlowQC2RP = (qcCommonHist2->GetHistMultInt())->GetEntries();
1386 avMultDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetMean();
1387 nEvtsDiffFlowQC2POI = (qcCommonHist2->GetHistMultDiff())->GetEntries();
1390 if(qcCommonHistRes4)
1392 (qcCommonHistRes4->GetHistDiffFlow())->SetMarkerColor(kOrange-6);//to be removed
1393 (qcCommonHistRes4->GetHistDiffFlow())->SetMarkerStyle(21);//to be removed
1394 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange-6);
1395 (qcCommonHistRes4->GetHistDiffFlowPtRP())->SetMarkerStyle(21);
1396 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange-6);
1397 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->SetMarkerStyle(21);
1398 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange-6);
1399 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->SetMarkerStyle(21);
1400 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange-6);
1401 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->SetMarkerStyle(21);
1405 avMultDiffFlowQC4 = (qcCommonHist4->GetHistMultDiff())->GetMean();//to be removed
1406 nEvtsDiffFlowQC4 = (qcCommonHist4->GetHistMultDiff())->GetEntries();//to be removed
1407 avMultDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetMean();
1408 nEvtsDiffFlowQC4RP = (qcCommonHist4->GetHistMultInt())->GetEntries();
1409 avMultDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetMean();
1410 nEvtsDiffFlowQC4POI = (qcCommonHist4->GetHistMultDiff())->GetEntries();
1413 if(qcCommonHistRes6)
1415 (qcCommonHistRes6->GetHistDiffFlow())->SetMarkerColor(kOrange+3);//to be removed
1416 (qcCommonHistRes6->GetHistDiffFlow())->SetMarkerStyle(24);//to be removed
1417 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange+3);
1418 (qcCommonHistRes6->GetHistDiffFlowPtRP())->SetMarkerStyle(24);
1419 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange+3);
1420 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->SetMarkerStyle(24);
1421 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange+3);
1422 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->SetMarkerStyle(24);
1423 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange+3);
1424 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->SetMarkerStyle(24);
1428 avMultDiffFlowQC6 = (qcCommonHist6->GetHistMultDiff())->GetMean();//to be removed
1429 nEvtsDiffFlowQC6 = (qcCommonHist6->GetHistMultDiff())->GetEntries();//to be removed
1430 avMultDiffFlowQC6RP = (qcCommonHist6->GetHistMultInt())->GetMean();
1431 nEvtsDiffFlowQC6RP = (qcCommonHist6->GetHistMultInt())->GetEntries();
1432 avMultDiffFlowQC6POI = (qcCommonHist6->GetHistMultDiff())->GetMean();
1433 nEvtsDiffFlowQC6POI = (qcCommonHist6->GetHistMultDiff())->GetEntries();
1436 if(qcCommonHistRes8)
1438 (qcCommonHistRes8->GetHistDiffFlow())->SetMarkerColor(kOrange-6);//to be removed
1439 (qcCommonHistRes8->GetHistDiffFlow())->SetMarkerStyle(25);//to be removed
1440 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerColor(kOrange-6);
1441 (qcCommonHistRes8->GetHistDiffFlowPtRP())->SetMarkerStyle(25);
1442 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerColor(kOrange-6);
1443 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->SetMarkerStyle(25);
1444 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerColor(kOrange-6);
1445 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->SetMarkerStyle(25);
1446 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerColor(kOrange-6);
1447 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->SetMarkerStyle(25);
1451 avMultDiffFlowQC8 = (qcCommonHist8->GetHistMultDiff())->GetMean();//to be removed
1452 nEvtsDiffFlowQC8 = (qcCommonHist8->GetHistMultDiff())->GetEntries();//to be removed
1453 avMultDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetMean();
1454 nEvtsDiffFlowQC8RP = (qcCommonHist8->GetHistMultInt())->GetEntries();
1455 avMultDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetMean();
1456 nEvtsDiffFlowQC8POI = (qcCommonHist8->GetHistMultDiff())->GetEntries();
1460 //LYZ2 = Lee-Yang Zeros (2nd run)
1461 Double_t avMultDiffFlowLYZ2=0.;//to be removed
1462 Double_t nEvtsDiffFlowLYZ2=0;//to be removed
1463 Double_t avMultDiffFlowLYZ2RP=0.;
1464 Double_t nEvtsDiffFlowLYZ2RP=0;
1465 Double_t avMultDiffFlowLYZ2POI=0.;
1466 Double_t nEvtsDiffFlowLYZ2POI=0;
1469 if(lyz2CommonHistRes)
1471 (lyz2CommonHistRes->GetHistDiffFlow())->SetMarkerColor(kGreen+3);//to be removed
1472 (lyz2CommonHistRes->GetHistDiffFlow())->SetMarkerStyle(22);//to be removed
1473 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(kGreen+3);
1474 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(22);
1475 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(kGreen+3);
1476 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(22);
1477 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(kGreen+3);
1478 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(22);
1479 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(kGreen+3);
1480 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(22);
1484 avMultDiffFlowLYZ2 = (lyz2CommonHist->GetHistMultDiff())->GetMean();//to be removed
1485 nEvtsDiffFlowLYZ2 = (lyz2CommonHist->GetHistMultDiff())->GetEntries();//to be removed
1486 avMultDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetMean();
1487 nEvtsDiffFlowLYZ2RP = (lyz2CommonHist->GetHistMultInt())->GetEntries();
1488 avMultDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetMean();
1489 nEvtsDiffFlowLYZ2POI = (lyz2CommonHist->GetHistMultDiff())->GetEntries();
1493 //LYZEP = Lee-Yang Zeros Event Plane
1494 Double_t avMultDiffFlowLYZEP=0.;//to be removed
1495 Double_t nEvtsDiffFlowLYZEP=0;//to be removed
1496 Double_t avMultDiffFlowLYZEPRP=0.;
1497 Double_t nEvtsDiffFlowLYZEPRP=0;
1498 Double_t avMultDiffFlowLYZEPPOI=0.;
1499 Double_t nEvtsDiffFlowLYZEPPOI=0;
1502 if(lyzepCommonHistRes)
1504 (lyzepCommonHistRes->GetHistDiffFlow())->Scale(0.01);//to be improved
1505 (lyzepCommonHistRes->GetHistDiffFlow())->SetMarkerColor(kGreen+3);//to be removed
1506 (lyzepCommonHistRes->GetHistDiffFlow())->SetMarkerStyle(26);//to be removed
1507 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerColor(kGreen+3);
1508 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->SetMarkerStyle(26);
1509 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerColor(kGreen+3);
1510 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->SetMarkerStyle(26);
1511 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerColor(kGreen+3);
1512 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->SetMarkerStyle(26);
1513 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerColor(kGreen+3);
1514 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->SetMarkerStyle(26);
1518 avMultDiffFlowLYZEP = (lyzepCommonHist->GetHistMultDiff())->GetMean();//to be removed
1519 nEvtsDiffFlowLYZEP = (lyzepCommonHist->GetHistMultDiff())->GetEntries();//to be removed
1520 avMultDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetMean();
1521 nEvtsDiffFlowLYZEPRP = (lyzepCommonHist->GetHistMultInt())->GetEntries();
1522 avMultDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetMean();
1523 nEvtsDiffFlowLYZEPPOI = (lyzepCommonHist->GetHistMultDiff())->GetEntries();
1527 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1528 // !!!! to be removed !!!!
1529 //----------------------------------------------------------------------------------
1530 //final drawing for differential flow:
1531 TCanvas* diffFlowAllCanvas = new TCanvas("Differential Flow","Differential Flow",1000,600);
1533 diffFlowAllCanvas->Divide(2,1);
1535 //1st pad is for plot:
1536 (diffFlowAllCanvas->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1540 styleHistPt->Draw();
1545 pMeshDiffFlow->Draw("LFSAME");
1548 if(mcepCommonHistRes)
1550 (mcepCommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1553 if(gfcCommonHistRes2)
1555 (gfcCommonHistRes2->GetHistDiffFlow())->Draw("E1PSAME");
1557 if(gfcCommonHistRes4)
1559 (gfcCommonHistRes4->GetHistDiffFlow())->Draw("E1PSAME");
1561 if(gfcCommonHistRes6)
1563 (gfcCommonHistRes6->GetHistDiffFlow())->Draw("E1PSAME");
1565 if(gfcCommonHistRes8)
1567 (gfcCommonHistRes8->GetHistDiffFlow())->Draw("E1PSAME");
1570 if(qcCommonHistRes2)
1572 (qcCommonHistRes2->GetHistDiffFlow())->Draw("E1PSAME");
1574 if(qcCommonHistRes4)
1576 (qcCommonHistRes4->GetHistDiffFlow())->Draw("E1PSAME");
1579 if(lyz2CommonHistRes)
1581 (lyz2CommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1584 if(lyzepCommonHistRes)
1586 (lyzepCommonHistRes->GetHistDiffFlow())->Draw("E1PSAME");
1589 //2nd pad is for legend:
1590 (diffFlowAllCanvas->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1592 TLegend* legendDiffFlow = new TLegend(0.02,0.25,0.97,0.75);
1593 legendDiffFlow->SetTextFont(72);
1594 legendDiffFlow->SetTextSize(0.06);
1597 TString *entryDiffMC = new TString("MC ....... ");
1598 TString *entryDiffGFC2 = new TString("GFC{2} ... ");
1599 TString *entryDiffGFC4 = new TString("GFC{4} ... ");
1600 TString *entryDiffGFC6 = new TString("GFC{6} ... ");
1601 TString *entryDiffGFC8 = new TString("GFC{8} ... ");
1602 TString *entryDiffQC2 = new TString("QC{2} .... ");
1603 TString *entryDiffQC4 = new TString("QC{4} .... ");
1604 TString *entryDiffLYZ2 = new TString("LYZ ...... ");
1605 TString *entryDiffLYZEP = new TString("LYZEP ... ");
1608 if(mcepCommonHistRes)
1610 (mcepCommonHistRes->GetHistDiffFlow())->SetFillStyle(meshStyle);
1611 (mcepCommonHistRes->GetHistDiffFlow())->SetFillColor(meshColor);
1612 entryDiffMC->Append("M = ");
1613 (*entryDiffMC)+=(Long_t)avMultDiffFlowMC;
1614 entryDiffMC->Append(", N = ");
1615 (*entryDiffMC)+=(Long_t)nEvtsDiffFlowMC;
1616 legendDiffFlow->AddEntry(mcepCommonHistRes->GetHistDiffFlow(),entryDiffMC->Data(),"f");
1620 if(gfcCommonHistRes2)
1622 entryDiffGFC2->Append("M = ");
1623 (*entryDiffGFC2)+=(Long_t)avMultDiffFlowGFC;
1624 entryDiffGFC2->Append(", N = ");
1625 (*entryDiffGFC2)+=(Long_t)nEvtsDiffFlowGFC;
1626 legendDiffFlow->AddEntry(gfcCommonHistRes2->GetHistDiffFlow(),entryDiffGFC2->Data(),"p");
1628 if(gfcCommonHistRes4)
1630 entryDiffGFC4->Append("M = ");
1631 (*entryDiffGFC4)+=(Long_t)avMultDiffFlowGFC;
1632 entryDiffGFC4->Append(", N = ");
1633 (*entryDiffGFC4)+=(Long_t)nEvtsDiffFlowGFC;
1634 legendDiffFlow->AddEntry(gfcCommonHistRes4->GetHistDiffFlow(),entryDiffGFC4->Data(),"p");
1636 if(gfcCommonHistRes6)
1638 entryDiffGFC6->Append("M = ");
1639 (*entryDiffGFC6)+=(Long_t)avMultDiffFlowGFC;
1640 entryDiffGFC6->Append(", N = ");
1641 (*entryDiffGFC6)+=(Long_t)nEvtsDiffFlowGFC;
1642 legendDiffFlow->AddEntry(gfcCommonHistRes6->GetHistDiffFlow(),entryDiffGFC6->Data(),"p");
1644 if(gfcCommonHistRes8)
1646 entryDiffGFC8->Append("M = ");
1647 (*entryDiffGFC8)+=(Long_t)avMultDiffFlowGFC;
1648 entryDiffGFC8->Append(", N = ");
1649 (*entryDiffGFC8)+=(Long_t)nEvtsDiffFlowGFC;
1650 legendDiffFlow->AddEntry(gfcCommonHistRes8->GetHistDiffFlow(),entryDiffGFC8->Data(),"p");
1653 if(qcCommonHistRes2)
1655 entryDiffQC2->Append("M = ");
1656 (*entryDiffQC2)+=(Long_t)avMultDiffFlowQC2;
1657 entryDiffQC2->Append(", N = ");
1658 (*entryDiffQC2)+=(Long_t)nEvtsDiffFlowQC2;
1659 legendDiffFlow->AddEntry(qcCommonHistRes2->GetHistDiffFlow(),entryDiffQC2->Data(),"p");
1661 if(qcCommonHistRes4)
1663 entryDiffQC4->Append("M = ");
1664 (*entryDiffQC4)+=(Long_t)avMultDiffFlowQC4;
1665 entryDiffQC4->Append(", N = ");
1666 (*entryDiffQC4)+=(Long_t)nEvtsDiffFlowQC4;
1667 legendDiffFlow->AddEntry(qcCommonHistRes4->GetHistDiffFlow(),entryDiffQC4->Data(),"p");
1671 if(lyz2CommonHistRes)
1673 entryDiffLYZ2->Append("M = ");
1674 (*entryDiffLYZ2)+=(Long_t)avMultDiffFlowLYZ2;
1675 entryDiffLYZ2->Append(", N = ");
1676 (*entryDiffLYZ2)+=(Long_t)nEvtsDiffFlowLYZ2;
1677 legendDiffFlow->AddEntry(lyz2CommonHistRes->GetHistDiffFlow(),entryDiffLYZ2->Data(),"p");
1681 if(lyzepCommonHistRes)
1683 entryDiffLYZEP->Append("M = ");
1684 (*entryDiffLYZEP)+=(Long_t)avMultDiffFlowLYZEP;
1685 entryDiffLYZEP->Append(", N = ");
1686 (*entryDiffLYZEP)+=(Long_t)nEvtsDiffFlowLYZEP;
1687 legendDiffFlow->AddEntry(lyzepCommonHistRes->GetHistDiffFlow(),entryDiffLYZEP->Data(),"p");
1691 //drawing finally the legend in the 2nd pad:
1694 legendDiffFlow->SetMargin(0.15);
1695 legendDiffFlow->Draw();
1697 //----------------------------------------------------------------------------------
1698 //xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
1701 //----------------------------------------------------------------------------------
1702 //final drawing for differential flow (Pt, RP):
1703 //set here the results of which methods will be plotted by default:
1704 Bool_t plotMCPtRP = kFALSE;
1705 Bool_t plotGFC2PtRP = kTRUE;
1706 Bool_t plotGFC4PtRP = kTRUE;
1707 Bool_t plotGFC6PtRP = kTRUE;
1708 Bool_t plotGFC8PtRP = kTRUE;
1709 Bool_t plotQC2PtRP = kTRUE;
1710 Bool_t plotQC4PtRP = kTRUE;
1711 Bool_t plotQC6PtRP = kTRUE;
1712 Bool_t plotQC8PtRP = kTRUE;
1713 Bool_t plotLYZ2PtRP = kTRUE;
1714 Bool_t plotLYZEPPtRP = kTRUE;
1715 if(plotDiffFlowPtRP)
1717 TCanvas* diffFlowPtAllCanvasRP = new TCanvas("Differential Flow (Pt) of RP","Differential Flow (Pt) of RP ",1000,600);
1719 diffFlowPtAllCanvasRP->Divide(2,1);
1721 //1st pad is for plot:
1722 (diffFlowPtAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1726 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
1727 styleHistPt->Draw();
1729 if(pMeshDiffFlowPtRP)
1731 pMeshDiffFlowPtRP->Draw("LFSAME");
1735 if(plotMCPtRP && mcepCommonHistRes)
1737 (mcepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1740 if(plotGFC2PtRP && gfcCommonHistRes2)
1742 (gfcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1744 if(plotGFC4PtRP && gfcCommonHistRes4)
1746 (gfcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1748 if(plotGFC6PtRP && gfcCommonHistRes6)
1750 (gfcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1752 if(plotGFC8PtRP && gfcCommonHistRes8)
1754 (gfcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1757 if(plotQC2PtRP && qcCommonHistRes2)
1759 (qcCommonHistRes2->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1761 if(plotQC4PtRP && qcCommonHistRes4)
1763 (qcCommonHistRes4->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1765 if(plotQC6PtRP && qcCommonHistRes6)
1767 (qcCommonHistRes6->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1769 if(plotQC8PtRP && qcCommonHistRes8)
1771 (qcCommonHistRes8->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1774 if(plotLYZ2PtRP && lyz2CommonHistRes)
1776 (lyz2CommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1779 if(plotLYZEPPtRP && lyzepCommonHistRes)
1781 (lyzepCommonHistRes->GetHistDiffFlowPtRP())->Draw("E1PSAME");
1784 //2nd pad is for legend:
1785 (diffFlowPtAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
1787 TLegend* legendDiffFlowPtRP = new TLegend(0.02,0.25,0.97,0.75);
1788 legendDiffFlowPtRP->SetTextFont(72);
1789 legendDiffFlowPtRP->SetTextSize(0.06);
1792 TString *entryDiffMCPtRP = new TString("MC ....... ");
1793 TString *entryDiffGFC2PtRP = new TString("GFC{2} ... ");
1794 TString *entryDiffGFC4PtRP = new TString("GFC{4} ... ");
1795 TString *entryDiffGFC6PtRP = new TString("GFC{6} ... ");
1796 TString *entryDiffGFC8PtRP = new TString("GFC{8} ... ");
1797 TString *entryDiffQC2PtRP = new TString("QC{2} .... ");
1798 TString *entryDiffQC4PtRP = new TString("QC{4} .... ");
1799 TString *entryDiffQC6PtRP = new TString("QC{6} .... ");
1800 TString *entryDiffQC8PtRP = new TString("QC{8} .... ");
1801 TString *entryDiffLYZ2PtRP = new TString("LYZ ...... ");
1802 TString *entryDiffLYZEPPtRP = new TString("LYZEP ... ");
1805 if(mcepCommonHistRes)
1807 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillStyle(meshStyle);
1808 (mcepCommonHistRes->GetHistDiffFlowPtRP())->SetFillColor(meshColor);
1809 entryDiffMCPtRP->Append("M = ");
1810 (*entryDiffMCPtRP)+=(Long_t)avMultDiffFlowMCRP;
1811 entryDiffMCPtRP->Append(", N = ");
1812 (*entryDiffMCPtRP)+=(Long_t)nEvtsDiffFlowMCRP;
1813 legendDiffFlowPtRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffMCPtRP->Data(),"f");
1817 if(plotGFC2PtRP && gfcCommonHistRes2)
1819 entryDiffGFC2PtRP->Append("M = ");
1820 (*entryDiffGFC2PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1821 entryDiffGFC2PtRP->Append(", N = ");
1822 (*entryDiffGFC2PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1823 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffGFC2PtRP->Data(),"p");
1825 if(plotGFC4PtRP && gfcCommonHistRes4)
1827 entryDiffGFC4PtRP->Append("M = ");
1828 (*entryDiffGFC4PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1829 entryDiffGFC4PtRP->Append(", N = ");
1830 (*entryDiffGFC4PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1831 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffGFC4PtRP->Data(),"p");
1833 if(plotGFC6PtRP && gfcCommonHistRes6)
1835 entryDiffGFC6PtRP->Append("M = ");
1836 (*entryDiffGFC6PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1837 entryDiffGFC6PtRP->Append(", N = ");
1838 (*entryDiffGFC6PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1839 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffGFC6PtRP->Data(),"p");
1841 if(plotGFC8PtRP && gfcCommonHistRes8)
1843 entryDiffGFC8PtRP->Append("M = ");
1844 (*entryDiffGFC8PtRP)+=(Long_t)avMultDiffFlowGFCRP;
1845 entryDiffGFC8PtRP->Append(", N = ");
1846 (*entryDiffGFC8PtRP)+=(Long_t)nEvtsDiffFlowGFCRP;
1847 legendDiffFlowPtRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffGFC8PtRP->Data(),"p");
1851 if(plotQC2PtRP && qcCommonHistRes2)
1853 entryDiffQC2PtRP->Append("M = ");
1854 (*entryDiffQC2PtRP)+=(Long_t)avMultDiffFlowQC2RP;
1855 entryDiffQC2PtRP->Append(", N = ");
1856 (*entryDiffQC2PtRP)+=(Long_t)nEvtsDiffFlowQC2RP;
1857 legendDiffFlowPtRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtRP(),entryDiffQC2PtRP->Data(),"p");
1859 if(plotQC4PtRP && qcCommonHistRes4)
1861 entryDiffQC4PtRP->Append("M = ");
1862 (*entryDiffQC4PtRP)+=(Long_t)avMultDiffFlowQC4RP;
1863 entryDiffQC4PtRP->Append(", N = ");
1864 (*entryDiffQC4PtRP)+=(Long_t)nEvtsDiffFlowQC4RP;
1865 legendDiffFlowPtRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtRP(),entryDiffQC4PtRP->Data(),"p");
1867 if(plotQC6PtRP && qcCommonHistRes6)
1869 entryDiffQC6PtRP->Append("M = ");
1870 (*entryDiffQC6PtRP)+=(Long_t)avMultDiffFlowQC6RP;
1871 entryDiffQC6PtRP->Append(", N = ");
1872 (*entryDiffQC6PtRP)+=(Long_t)nEvtsDiffFlowQC6RP;
1873 legendDiffFlowPtRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtRP(),entryDiffQC6PtRP->Data(),"p");
1875 if(plotQC8PtRP && qcCommonHistRes8)
1877 entryDiffQC8PtRP->Append("M = ");
1878 (*entryDiffQC8PtRP)+=(Long_t)avMultDiffFlowQC8RP;
1879 entryDiffQC8PtRP->Append(", N = ");
1880 (*entryDiffQC8PtRP)+=(Long_t)nEvtsDiffFlowQC8RP;
1881 legendDiffFlowPtRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtRP(),entryDiffQC8PtRP->Data(),"p");
1885 if(plotLYZ2PtRP && lyz2CommonHistRes)
1887 entryDiffLYZ2PtRP->Append("M = ");
1888 (*entryDiffLYZ2PtRP)+=(Long_t)avMultDiffFlowLYZ2RP;
1889 entryDiffLYZ2PtRP->Append(", N = ");
1890 (*entryDiffLYZ2PtRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
1891 legendDiffFlowPtRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZ2PtRP->Data(),"p");
1895 if(plotLYZEPPtRP && lyzepCommonHistRes)
1897 entryDiffLYZEPPtRP->Append("M = ");
1898 (*entryDiffLYZEPPtRP)+=(Long_t)avMultDiffFlowLYZEPRP;
1899 entryDiffLYZEPPtRP->Append(", N = ");
1900 (*entryDiffLYZEPPtRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
1901 legendDiffFlowPtRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtRP(),entryDiffLYZEPPtRP->Data(),"p");
1904 //drawing finally the legend in the 2nd pad:
1905 if(legendDiffFlowPtRP)
1907 legendDiffFlowPtRP->SetMargin(0.15);
1908 legendDiffFlowPtRP->Draw();
1910 }// end of if(plotDiffFlowPtRP)
1911 //----------------------------------------------------------------------------------
1914 //----------------------------------------------------------------------------------
1915 //final drawing for differential flow (Eta, RP):
1916 //set here the results of which methods will be plotted by default:
1917 Bool_t plotMCEtaRP = kFALSE;
1918 Bool_t plotGFC2EtaRP = kTRUE;
1919 Bool_t plotGFC4EtaRP = kTRUE;
1920 Bool_t plotGFC6EtaRP = kTRUE;
1921 Bool_t plotGFC8EtaRP = kTRUE;
1922 Bool_t plotQC2EtaRP = kTRUE;
1923 Bool_t plotQC4EtaRP = kTRUE;
1924 Bool_t plotQC6EtaRP = kTRUE;
1925 Bool_t plotQC8EtaRP = kTRUE;
1926 Bool_t plotLYZ2EtaRP = kTRUE;
1927 Bool_t plotLYZEPEtaRP = kTRUE;
1928 if(plotDiffFlowEtaRP)
1930 TCanvas* diffFlowEtaAllCanvasRP = new TCanvas("Differential Flow (Eta) of RP","Differential Flow (Eta) of RP ",1000,600);
1932 diffFlowEtaAllCanvasRP->Divide(2,1);
1934 //1st pad is for plot:
1935 (diffFlowEtaAllCanvasRP->cd(1))->SetPad(0.0,0.0,0.75,1.0);
1939 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
1940 styleHistEta->Draw();
1942 if(pMeshDiffFlowEtaRP)
1944 pMeshDiffFlowEtaRP->Draw("LFSAME");
1948 if(plotMCEtaRP && mcepCommonHistRes)
1950 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1953 if(plotGFC2EtaRP && gfcCommonHistRes2)
1955 (gfcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1957 if(plotGFC4EtaRP && gfcCommonHistRes4)
1959 (gfcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1961 if(plotGFC6EtaRP && gfcCommonHistRes6)
1963 (gfcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1965 if(plotGFC8EtaRP && gfcCommonHistRes8)
1967 (gfcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1970 if(plotQC2EtaRP && qcCommonHistRes2)
1972 (qcCommonHistRes2->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1974 if(plotQC4EtaRP && qcCommonHistRes4)
1976 (qcCommonHistRes4->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1978 if(plotQC6EtaRP && qcCommonHistRes6)
1980 (qcCommonHistRes6->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1982 if(plotQC8EtaRP && qcCommonHistRes8)
1984 (qcCommonHistRes8->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1987 if(plotLYZ2EtaRP && lyz2CommonHistRes)
1989 (lyz2CommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1992 if(plotLYZEPEtaRP && lyzepCommonHistRes)
1994 (lyzepCommonHistRes->GetHistDiffFlowEtaRP())->Draw("E1PSAME");
1997 //2nd pad is for legend:
1998 (diffFlowEtaAllCanvasRP->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2000 TLegend* legendDiffFlowEtaRP = new TLegend(0.02,0.25,0.97,0.75);
2001 legendDiffFlowEtaRP->SetTextFont(72);
2002 legendDiffFlowEtaRP->SetTextSize(0.06);
2005 TString *entryDiffMCEtaRP = new TString("MC ....... ");
2006 TString *entryDiffGFC2EtaRP = new TString("GFC{2} ... ");
2007 TString *entryDiffGFC4EtaRP = new TString("GFC{4} ... ");
2008 TString *entryDiffGFC6EtaRP = new TString("GFC{6} ... ");
2009 TString *entryDiffGFC8EtaRP = new TString("GFC{8} ... ");
2010 TString *entryDiffQC2EtaRP = new TString("QC{2} .... ");
2011 TString *entryDiffQC4EtaRP = new TString("QC{4} .... ");
2012 TString *entryDiffQC6EtaRP = new TString("QC{6} .... ");
2013 TString *entryDiffQC8EtaRP = new TString("QC{8} .... ");
2014 TString *entryDiffLYZ2EtaRP = new TString("LYZ ...... ");
2015 TString *entryDiffLYZEPEtaRP = new TString("LYZEP ... ");
2018 if(mcepCommonHistRes)
2020 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillStyle(meshStyle);
2021 (mcepCommonHistRes->GetHistDiffFlowEtaRP())->SetFillColor(meshColor);
2022 entryDiffMCEtaRP->Append("M = ");
2023 (*entryDiffMCEtaRP)+=(Long_t)avMultDiffFlowMCRP;
2024 entryDiffMCEtaRP->Append(", N = ");
2025 (*entryDiffMCEtaRP)+=(Long_t)nEvtsDiffFlowMCRP;
2026 legendDiffFlowEtaRP->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffMCEtaRP->Data(),"f");
2030 if(plotGFC2EtaRP && gfcCommonHistRes2)
2032 entryDiffGFC2EtaRP->Append("M = ");
2033 (*entryDiffGFC2EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2034 entryDiffGFC2EtaRP->Append(", N = ");
2035 (*entryDiffGFC2EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2036 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffGFC2EtaRP->Data(),"p");
2038 if(plotGFC4EtaRP && gfcCommonHistRes4)
2040 entryDiffGFC4EtaRP->Append("M = ");
2041 (*entryDiffGFC4EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2042 entryDiffGFC4EtaRP->Append(", N = ");
2043 (*entryDiffGFC4EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2044 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffGFC4EtaRP->Data(),"p");
2046 if(plotGFC6EtaRP && gfcCommonHistRes6)
2048 entryDiffGFC6EtaRP->Append("M = ");
2049 (*entryDiffGFC6EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2050 entryDiffGFC6EtaRP->Append(", N = ");
2051 (*entryDiffGFC6EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2052 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffGFC6EtaRP->Data(),"p");
2054 if(plotGFC8EtaRP && gfcCommonHistRes8)
2056 entryDiffGFC8EtaRP->Append("M = ");
2057 (*entryDiffGFC8EtaRP)+=(Long_t)avMultDiffFlowGFCRP;
2058 entryDiffGFC8EtaRP->Append(", N = ");
2059 (*entryDiffGFC8EtaRP)+=(Long_t)nEvtsDiffFlowGFCRP;
2060 legendDiffFlowEtaRP->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffGFC8EtaRP->Data(),"p");
2064 if(plotQC2EtaRP && qcCommonHistRes2)
2066 entryDiffQC2EtaRP->Append("M = ");
2067 (*entryDiffQC2EtaRP)+=(Long_t)avMultDiffFlowQC2RP;
2068 entryDiffQC2EtaRP->Append(", N = ");
2069 (*entryDiffQC2EtaRP)+=(Long_t)nEvtsDiffFlowQC2RP;
2070 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaRP(),entryDiffQC2EtaRP->Data(),"p");
2072 if(plotQC4EtaRP && qcCommonHistRes4)
2074 entryDiffQC4EtaRP->Append("M = ");
2075 (*entryDiffQC4EtaRP)+=(Long_t)avMultDiffFlowQC4RP;
2076 entryDiffQC4EtaRP->Append(", N = ");
2077 (*entryDiffQC4EtaRP)+=(Long_t)nEvtsDiffFlowQC4RP;
2078 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaRP(),entryDiffQC4EtaRP->Data(),"p");
2080 if(plotQC6EtaRP && qcCommonHistRes6)
2082 entryDiffQC6EtaRP->Append("M = ");
2083 (*entryDiffQC6EtaRP)+=(Long_t)avMultDiffFlowQC6RP;
2084 entryDiffQC6EtaRP->Append(", N = ");
2085 (*entryDiffQC6EtaRP)+=(Long_t)nEvtsDiffFlowQC6RP;
2086 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaRP(),entryDiffQC6EtaRP->Data(),"p");
2088 if(plotQC8EtaRP && qcCommonHistRes8)
2090 entryDiffQC8EtaRP->Append("M = ");
2091 (*entryDiffQC8EtaRP)+=(Long_t)avMultDiffFlowQC8RP;
2092 entryDiffQC8EtaRP->Append(", N = ");
2093 (*entryDiffQC8EtaRP)+=(Long_t)nEvtsDiffFlowQC8RP;
2094 legendDiffFlowEtaRP->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaRP(),entryDiffQC8EtaRP->Data(),"p");
2098 if(plotLYZ2EtaRP && lyz2CommonHistRes)
2100 entryDiffLYZ2EtaRP->Append("M = ");
2101 (*entryDiffLYZ2EtaRP)+=(Long_t)avMultDiffFlowLYZ2RP;
2102 entryDiffLYZ2EtaRP->Append(", N = ");
2103 (*entryDiffLYZ2EtaRP)+=(Long_t)nEvtsDiffFlowLYZ2RP;
2104 legendDiffFlowEtaRP->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZ2EtaRP->Data(),"p");
2108 if(plotLYZEPEtaRP && lyzepCommonHistRes)
2110 entryDiffLYZEPEtaRP->Append("M = ");
2111 (*entryDiffLYZEPEtaRP)+=(Long_t)avMultDiffFlowLYZEPRP;
2112 entryDiffLYZEPEtaRP->Append(", N = ");
2113 (*entryDiffLYZEPEtaRP)+=(Long_t)nEvtsDiffFlowLYZEPRP;
2114 legendDiffFlowEtaRP->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaRP(),entryDiffLYZEPEtaRP->Data(),"p");
2117 //drawing finally the legend in the 2nd pad:
2118 if(legendDiffFlowEtaRP)
2120 legendDiffFlowEtaRP->SetMargin(0.15);
2121 legendDiffFlowEtaRP->Draw();
2123 }// end of if(plotDiffFlowEtaRP)
2124 //----------------------------------------------------------------------------------
2126 //----------------------------------------------------------------------------------
2127 //final drawing for differential flow (Pt, POI):
2128 //set here the results of which methods will be plotted by default:
2129 Bool_t plotMCPtPOI = kFALSE;
2130 Bool_t plotGFC2PtPOI = kTRUE;
2131 Bool_t plotGFC4PtPOI = kTRUE;
2132 Bool_t plotGFC6PtPOI = kTRUE;
2133 Bool_t plotGFC8PtPOI = kTRUE;
2134 Bool_t plotQC2PtPOI = kTRUE;
2135 Bool_t plotQC4PtPOI = kTRUE;
2136 Bool_t plotQC6PtPOI = kTRUE;
2137 Bool_t plotQC8PtPOI = kTRUE;
2138 Bool_t plotLYZ2PtPOI = kTRUE;
2139 Bool_t plotLYZEPPtPOI = kTRUE;
2140 if(plotDiffFlowPtPOI)
2142 TCanvas* diffFlowPtAllCanvasPOI = new TCanvas("Differential Flow (Pt) of POI","Differential Flow (Pt) of POI ",1000,600);
2144 diffFlowPtAllCanvasPOI->Divide(2,1);
2146 //1st pad is for plot:
2147 (diffFlowPtAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2151 (styleHistPt->GetYaxis())->SetRangeUser(-0.3,1.0);
2152 styleHistPt->Draw();
2154 if(pMeshDiffFlowPtPOI)
2156 pMeshDiffFlowPtPOI->Draw("LFSAME");
2160 if(plotMCPtPOI && mcepCommonHistRes)
2162 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2165 if(plotGFC2PtPOI && gfcCommonHistRes2)
2167 (gfcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2169 if(plotGFC4PtPOI && gfcCommonHistRes4)
2171 (gfcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2173 if(plotGFC6PtPOI && gfcCommonHistRes6)
2175 (gfcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2177 if(plotGFC8PtPOI && gfcCommonHistRes8)
2179 (gfcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2182 if(plotQC2PtPOI && qcCommonHistRes2)
2184 (qcCommonHistRes2->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2186 if(plotQC4PtPOI && qcCommonHistRes4)
2188 (qcCommonHistRes4->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2190 if(plotQC6PtPOI && qcCommonHistRes6)
2192 (qcCommonHistRes6->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2194 if(plotQC8PtPOI && qcCommonHistRes8)
2196 (qcCommonHistRes8->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2199 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2201 (lyz2CommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2204 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2206 (lyzepCommonHistRes->GetHistDiffFlowPtPOI())->Draw("E1PSAME");
2209 //2nd pad is for legend:
2210 (diffFlowPtAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2212 TLegend* legendDiffFlowPtPOI = new TLegend(0.02,0.25,0.97,0.75);
2213 legendDiffFlowPtPOI->SetTextFont(72);
2214 legendDiffFlowPtPOI->SetTextSize(0.06);
2217 TString *entryDiffMCPtPOI = new TString("MC ....... ");
2218 TString *entryDiffGFC2PtPOI = new TString("GFC{2} ... ");
2219 TString *entryDiffGFC4PtPOI = new TString("GFC{4} ... ");
2220 TString *entryDiffGFC6PtPOI = new TString("GFC{6} ... ");
2221 TString *entryDiffGFC8PtPOI = new TString("GFC{8} ... ");
2222 TString *entryDiffQC2PtPOI = new TString("QC{2} .... ");
2223 TString *entryDiffQC4PtPOI = new TString("QC{4} .... ");
2224 TString *entryDiffQC6PtPOI = new TString("QC{6} .... ");
2225 TString *entryDiffQC8PtPOI = new TString("QC{8} .... ");
2226 TString *entryDiffLYZ2PtPOI = new TString("LYZ ...... ");
2227 TString *entryDiffLYZEPPtPOI = new TString("LYZEP ... ");
2230 if(mcepCommonHistRes)
2232 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillStyle(meshStyle);
2233 (mcepCommonHistRes->GetHistDiffFlowPtPOI())->SetFillColor(meshColor);
2234 entryDiffMCPtPOI->Append("M = ");
2235 (*entryDiffMCPtPOI)+=(Long_t)avMultDiffFlowMCPOI;
2236 entryDiffMCPtPOI->Append(", N = ");
2237 (*entryDiffMCPtPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2238 legendDiffFlowPtPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffMCPtPOI->Data(),"f");
2242 if(plotGFC2PtPOI && gfcCommonHistRes2)
2244 entryDiffGFC2PtPOI->Append("M = ");
2245 (*entryDiffGFC2PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2246 entryDiffGFC2PtPOI->Append(", N = ");
2247 (*entryDiffGFC2PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2248 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffGFC2PtPOI->Data(),"p");
2250 if(plotGFC4PtPOI && gfcCommonHistRes4)
2252 entryDiffGFC4PtPOI->Append("M = ");
2253 (*entryDiffGFC4PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2254 entryDiffGFC4PtPOI->Append(", N = ");
2255 (*entryDiffGFC4PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2256 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffGFC4PtPOI->Data(),"p");
2258 if(plotGFC6PtPOI && gfcCommonHistRes6)
2260 entryDiffGFC6PtPOI->Append("M = ");
2261 (*entryDiffGFC6PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2262 entryDiffGFC6PtPOI->Append(", N = ");
2263 (*entryDiffGFC6PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2264 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffGFC6PtPOI->Data(),"p");
2266 if(plotGFC8PtPOI && gfcCommonHistRes8)
2268 entryDiffGFC8PtPOI->Append("M = ");
2269 (*entryDiffGFC8PtPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2270 entryDiffGFC8PtPOI->Append(", N = ");
2271 (*entryDiffGFC8PtPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2272 legendDiffFlowPtPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffGFC8PtPOI->Data(),"p");
2276 if(plotQC2PtPOI && qcCommonHistRes2)
2278 entryDiffQC2PtPOI->Append("M = ");
2279 (*entryDiffQC2PtPOI)+=(Long_t)avMultDiffFlowQC2POI;
2280 entryDiffQC2PtPOI->Append(", N = ");
2281 (*entryDiffQC2PtPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2282 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowPtPOI(),entryDiffQC2PtPOI->Data(),"p");
2284 if(plotQC4PtPOI && qcCommonHistRes4)
2286 entryDiffQC4PtPOI->Append("M = ");
2287 (*entryDiffQC4PtPOI)+=(Long_t)avMultDiffFlowQC4POI;
2288 entryDiffQC4PtPOI->Append(", N = ");
2289 (*entryDiffQC4PtPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2290 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowPtPOI(),entryDiffQC4PtPOI->Data(),"p");
2292 if(plotQC6PtPOI && qcCommonHistRes6)
2294 entryDiffQC6PtPOI->Append("M = ");
2295 (*entryDiffQC6PtPOI)+=(Long_t)avMultDiffFlowQC6POI;
2296 entryDiffQC6PtPOI->Append(", N = ");
2297 (*entryDiffQC6PtPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2298 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowPtPOI(),entryDiffQC6PtPOI->Data(),"p");
2300 if(plotQC8PtPOI && qcCommonHistRes8)
2302 entryDiffQC8PtPOI->Append("M = ");
2303 (*entryDiffQC8PtPOI)+=(Long_t)avMultDiffFlowQC8POI;
2304 entryDiffQC8PtPOI->Append(", N = ");
2305 (*entryDiffQC8PtPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2306 legendDiffFlowPtPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowPtPOI(),entryDiffQC8PtPOI->Data(),"p");
2310 if(plotLYZ2PtPOI && lyz2CommonHistRes)
2312 entryDiffLYZ2PtPOI->Append("M = ");
2313 (*entryDiffLYZ2PtPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2314 entryDiffLYZ2PtPOI->Append(", N = ");
2315 (*entryDiffLYZ2PtPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2316 legendDiffFlowPtPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZ2PtPOI->Data(),"p");
2320 if(plotLYZEPPtPOI && lyzepCommonHistRes)
2322 entryDiffLYZEPPtPOI->Append("M = ");
2323 (*entryDiffLYZEPPtPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2324 entryDiffLYZEPPtPOI->Append(", N = ");
2325 (*entryDiffLYZEPPtPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2326 legendDiffFlowPtPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowPtPOI(),entryDiffLYZEPPtPOI->Data(),"p");
2329 //drawing finally the legend in the 2nd pad:
2330 if(legendDiffFlowPtPOI)
2332 legendDiffFlowPtPOI->SetMargin(0.15);
2333 legendDiffFlowPtPOI->Draw();
2335 }//end of if(plotDiffFlowPtPOI)
2336 //----------------------------------------------------------------------------------
2339 //----------------------------------------------------------------------------------
2340 //final drawing for differential flow (Eta, POI):
2341 //set here the results of which methods will be plotted by default:
2342 Bool_t plotMCEtaPOI = kFALSE;
2343 Bool_t plotGFC2EtaPOI = kTRUE;
2344 Bool_t plotGFC4EtaPOI = kTRUE;
2345 Bool_t plotGFC6EtaPOI = kTRUE;
2346 Bool_t plotGFC8EtaPOI = kTRUE;
2347 Bool_t plotQC2EtaPOI = kTRUE;
2348 Bool_t plotQC4EtaPOI = kTRUE;
2349 Bool_t plotQC6EtaPOI = kTRUE;
2350 Bool_t plotQC8EtaPOI = kTRUE;
2351 Bool_t plotLYZ2EtaPOI = kTRUE;
2352 Bool_t plotLYZEPEtaPOI = kTRUE;
2353 if(plotDiffFlowEtaPOI)
2355 TCanvas* diffFlowEtaAllCanvasPOI = new TCanvas("Differential Flow (Eta) of POI","Differential Flow (Eta) of POI ",1000,600);
2357 diffFlowEtaAllCanvasPOI->Divide(2,1);
2359 //1st pad is for plot:
2360 (diffFlowEtaAllCanvasPOI->cd(1))->SetPad(0.0,0.0,0.75,1.0);
2364 (styleHistEta->GetYaxis())->SetRangeUser(-0.3,1.0);
2365 styleHistEta->Draw();
2367 if(pMeshDiffFlowEtaPOI)
2369 pMeshDiffFlowEtaPOI->Draw("LFSAME");
2373 if(plotMCEtaPOI && mcepCommonHistRes)
2375 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2378 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2380 (gfcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2382 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2384 (gfcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2386 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2388 (gfcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2390 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2392 (gfcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2395 if(plotQC2EtaPOI && qcCommonHistRes2)
2397 (qcCommonHistRes2->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2399 if(plotQC4EtaPOI && qcCommonHistRes4)
2401 (qcCommonHistRes4->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2403 if(plotQC6EtaPOI && qcCommonHistRes6)
2405 (qcCommonHistRes6->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2407 if(plotQC8EtaPOI && qcCommonHistRes8)
2409 (qcCommonHistRes8->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2412 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2414 (lyz2CommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2417 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2419 (lyzepCommonHistRes->GetHistDiffFlowEtaPOI())->Draw("E1PSAME");
2422 //2nd pad is for legend:
2423 (diffFlowEtaAllCanvasPOI->cd(2))->SetPad(0.75,0.0,1.0,1.0);
2425 TLegend* legendDiffFlowEtaPOI = new TLegend(0.02,0.25,0.97,0.75);
2426 legendDiffFlowEtaPOI->SetTextFont(72);
2427 legendDiffFlowEtaPOI->SetTextSize(0.06);
2430 TString *entryDiffMCEtaPOI = new TString("MC ....... ");
2431 TString *entryDiffGFC2EtaPOI = new TString("GFC{2} ... ");
2432 TString *entryDiffGFC4EtaPOI = new TString("GFC{4} ... ");
2433 TString *entryDiffGFC6EtaPOI = new TString("GFC{6} ... ");
2434 TString *entryDiffGFC8EtaPOI = new TString("GFC{8} ... ");
2435 TString *entryDiffQC2EtaPOI = new TString("QC{2} .... ");
2436 TString *entryDiffQC4EtaPOI = new TString("QC{4} .... ");
2437 TString *entryDiffQC6EtaPOI = new TString("QC{6} .... ");
2438 TString *entryDiffQC8EtaPOI = new TString("QC{8} .... ");
2439 TString *entryDiffLYZ2EtaPOI = new TString("LYZ ...... ");
2440 TString *entryDiffLYZEPEtaPOI = new TString("LYZEP ... ");
2443 if(mcepCommonHistRes)
2445 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillStyle(meshStyle);
2446 (mcepCommonHistRes->GetHistDiffFlowEtaPOI())->SetFillColor(meshColor);
2447 entryDiffMCEtaPOI->Append("M = ");
2448 (*entryDiffMCEtaPOI)+=(Long_t)avMultDiffFlowMCPOI;
2449 entryDiffMCEtaPOI->Append(", N = ");
2450 (*entryDiffMCEtaPOI)+=(Long_t)nEvtsDiffFlowMCPOI;
2451 legendDiffFlowEtaPOI->AddEntry(mcepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffMCEtaPOI->Data(),"f");
2455 if(plotGFC2EtaPOI && gfcCommonHistRes2)
2457 entryDiffGFC2EtaPOI->Append("M = ");
2458 (*entryDiffGFC2EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2459 entryDiffGFC2EtaPOI->Append(", N = ");
2460 (*entryDiffGFC2EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2461 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffGFC2EtaPOI->Data(),"p");
2463 if(plotGFC4EtaPOI && gfcCommonHistRes4)
2465 entryDiffGFC4EtaPOI->Append("M = ");
2466 (*entryDiffGFC4EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2467 entryDiffGFC4EtaPOI->Append(", N = ");
2468 (*entryDiffGFC4EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2469 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffGFC4EtaPOI->Data(),"p");
2471 if(plotGFC6EtaPOI && gfcCommonHistRes6)
2473 entryDiffGFC6EtaPOI->Append("M = ");
2474 (*entryDiffGFC6EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2475 entryDiffGFC6EtaPOI->Append(", N = ");
2476 (*entryDiffGFC6EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2477 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffGFC6EtaPOI->Data(),"p");
2479 if(plotGFC8EtaPOI && gfcCommonHistRes8)
2481 entryDiffGFC8EtaPOI->Append("M = ");
2482 (*entryDiffGFC8EtaPOI)+=(Long_t)avMultDiffFlowGFCPOI;
2483 entryDiffGFC8EtaPOI->Append(", N = ");
2484 (*entryDiffGFC8EtaPOI)+=(Long_t)nEvtsDiffFlowGFCPOI;
2485 legendDiffFlowEtaPOI->AddEntry(gfcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffGFC8EtaPOI->Data(),"p");
2489 if(plotQC2EtaPOI && qcCommonHistRes2)
2491 entryDiffQC2EtaPOI->Append("M = ");
2492 (*entryDiffQC2EtaPOI)+=(Long_t)avMultDiffFlowQC2POI;
2493 entryDiffQC2EtaPOI->Append(", N = ");
2494 (*entryDiffQC2EtaPOI)+=(Long_t)nEvtsDiffFlowQC2POI;
2495 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes2->GetHistDiffFlowEtaPOI(),entryDiffQC2EtaPOI->Data(),"p");
2497 if(plotQC4EtaPOI && qcCommonHistRes4)
2499 entryDiffQC4EtaPOI->Append("M = ");
2500 (*entryDiffQC4EtaPOI)+=(Long_t)avMultDiffFlowQC4POI;
2501 entryDiffQC4EtaPOI->Append(", N = ");
2502 (*entryDiffQC4EtaPOI)+=(Long_t)nEvtsDiffFlowQC4POI;
2503 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes4->GetHistDiffFlowEtaPOI(),entryDiffQC4EtaPOI->Data(),"p");
2505 if(plotQC6EtaPOI && qcCommonHistRes6)
2507 entryDiffQC6EtaPOI->Append("M = ");
2508 (*entryDiffQC6EtaPOI)+=(Long_t)avMultDiffFlowQC6POI;
2509 entryDiffQC6EtaPOI->Append(", N = ");
2510 (*entryDiffQC6EtaPOI)+=(Long_t)nEvtsDiffFlowQC6POI;
2511 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes6->GetHistDiffFlowEtaPOI(),entryDiffQC6EtaPOI->Data(),"p");
2513 if(plotQC8EtaPOI && qcCommonHistRes8)
2515 entryDiffQC8EtaPOI->Append("M = ");
2516 (*entryDiffQC8EtaPOI)+=(Long_t)avMultDiffFlowQC8POI;
2517 entryDiffQC8EtaPOI->Append(", N = ");
2518 (*entryDiffQC8EtaPOI)+=(Long_t)nEvtsDiffFlowQC8POI;
2519 legendDiffFlowEtaPOI->AddEntry(qcCommonHistRes8->GetHistDiffFlowEtaPOI(),entryDiffQC8EtaPOI->Data(),"p");
2523 if(plotLYZ2EtaPOI && lyz2CommonHistRes)
2525 entryDiffLYZ2EtaPOI->Append("M = ");
2526 (*entryDiffLYZ2EtaPOI)+=(Long_t)avMultDiffFlowLYZ2POI;
2527 entryDiffLYZ2EtaPOI->Append(", N = ");
2528 (*entryDiffLYZ2EtaPOI)+=(Long_t)nEvtsDiffFlowLYZ2POI;
2529 legendDiffFlowEtaPOI->AddEntry(lyz2CommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZ2EtaPOI->Data(),"p");
2533 if(plotLYZEPEtaPOI && lyzepCommonHistRes)
2535 entryDiffLYZEPEtaPOI->Append("M = ");
2536 (*entryDiffLYZEPEtaPOI)+=(Long_t)avMultDiffFlowLYZEPPOI;
2537 entryDiffLYZEPEtaPOI->Append(", N = ");
2538 (*entryDiffLYZEPEtaPOI)+=(Long_t)nEvtsDiffFlowLYZEPPOI;
2539 legendDiffFlowEtaPOI->AddEntry(lyzepCommonHistRes->GetHistDiffFlowEtaPOI(),entryDiffLYZEPEtaPOI->Data(),"p");
2542 //drawing finally the legend in the 2nd pad:
2543 if(legendDiffFlowEtaPOI)
2545 legendDiffFlowEtaPOI->SetMargin(0.15);
2546 legendDiffFlowEtaPOI->Draw();
2548 }//end of if(plotDiffFlowEtaPOI)
2549 //----------------------------------------------------------------------------------
2552 //=====================================================================================