1 const Int_t numberOfCentralityBins = 8;
2 TString centralityArray[numberOfCentralityBins] = {"0-10","10-20","20-30","30-40","40-50","50-60","60-70","70-80"};
4 const Int_t gRebin = 1;
5 void drawBalanceFunction2DPsi(const char* filename = "AnalysisResultsPsi.root",
7 Bool_t kShowShuffled = kFALSE,
8 Bool_t kShowMixed = kTRUE,
9 Double_t psiMin = -0.5, Double_t psiMax = 0.5,
10 Double_t ptTriggerMin = -1.,
11 Double_t ptTriggerMax = -1.,
12 Double_t ptAssociatedMin = -1.,
13 Double_t ptAssociatedMax = -1.) {
14 //Macro that draws the BF distributions for each centrality bin
15 //for reaction plane dependent analysis
16 //Author: Panos.Christakoglou@nikhef.nl
17 //Load the PWG2ebye library
18 gSystem->Load("libANALYSIS.so");
19 gSystem->Load("libANALYSISalice.so");
20 gSystem->Load("libEventMixing.so");
21 gSystem->Load("libCORRFW.so");
22 gSystem->Load("libPWGTools.so");
23 gSystem->Load("libPWGCFebye.so");
25 gROOT->LoadMacro("~/SetPlotStyle.C");
27 gStyle->SetPalette(1,0);
29 //Prepare the objects and return them
30 TList *listBF = GetListOfObjects(filename,gCentrality,0);
31 TList *listBFShuffled = NULL;
32 if(kShowShuffled) listBFShuffled = GetListOfObjects(filename,gCentrality,1);
33 TList *listBFMixed = NULL;
34 if(kShowMixed) listBFMixed = GetListOfObjects(filename,gCentrality,2);
36 Printf("The TList object was not created");
40 draw(listBF,listBFShuffled,listBFMixed,gCentrality,psiMin,psiMax,
41 ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
44 //______________________________________________________//
45 TList *GetListOfObjects(const char* filename,
46 Int_t gCentrality, Int_t kData = 1) {
47 //Get the TList objects (QA, bf, bf shuffled)
49 //kData == 1: shuffling
55 TFile *f = TFile::Open(filename);
56 if((!f)||(!f->IsOpen())) {
57 Printf("The file %s is not found. Aborting...",filename);
62 TDirectoryFile *dir = dynamic_cast<TDirectoryFile *>(f->Get("PWGCFEbyE.outputBalanceFunctionPsiAnalysis"));
64 Printf("The TDirectoryFile is not found. Aborting...",filename);
71 //cout<<"no shuffling - no mixing"<<endl;
72 listBFName = "listBFPsi_";
75 //cout<<"shuffling - no mixing"<<endl;
76 listBFName = "listBFPsiShuffled_";
79 //cout<<"no shuffling - mixing"<<endl;
80 listBFName = "listBFPsiMixed_";
82 listBFName += centralityArray[gCentrality-1];
83 listBF = dynamic_cast<TList *>(dir->Get(listBFName.Data()));
84 cout<<"======================================================="<<endl;
85 cout<<"List name: "<<listBF->GetName()<<endl;
91 histoName = "fHistPV0M";
93 histoName = "fHistP_shuffleV0M";
95 histoName = "fHistPV0M";
96 AliTHn *fHistP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
98 Printf("fHistP %s not found!!!",histoName.Data());
101 fHistP->FillParent(); fHistP->DeleteContainers();
104 histoName = "fHistNV0M";
106 histoName = "fHistN_shuffleV0M";
108 histoName = "fHistNV0M";
109 AliTHn *fHistN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
111 Printf("fHistN %s not found!!!",histoName.Data());
114 fHistN->FillParent(); fHistN->DeleteContainers();
117 histoName = "fHistPNV0M";
119 histoName = "fHistPN_shuffleV0M";
121 histoName = "fHistPNV0M";
122 AliTHn *fHistPN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
124 Printf("fHistPN %s not found!!!",histoName.Data());
127 fHistPN->FillParent(); fHistPN->DeleteContainers();
130 histoName = "fHistNPV0M";
132 histoName = "fHistNP_shuffleV0M";
134 histoName = "fHistNPV0M";
135 AliTHn *fHistNP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
137 Printf("fHistNP %s not found!!!",histoName.Data());
140 fHistNP->FillParent(); fHistNP->DeleteContainers();
143 histoName = "fHistPPV0M";
145 histoName = "fHistPP_shuffleV0M";
147 histoName = "fHistPPV0M";
148 AliTHn *fHistPP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
150 Printf("fHistPP %s not found!!!",histoName.Data());
153 fHistPP->FillParent(); fHistPP->DeleteContainers();
156 histoName = "fHistNNV0M";
158 histoName = "fHistNN_shuffleV0M";
160 histoName = "fHistNNV0M";
161 AliTHn *fHistNN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
163 Printf("fHistNN %s not found!!!",histoName.Data());
166 fHistNN->FillParent(); fHistNN->DeleteContainers();
171 //______________________________________________________//
172 void draw(TList *listBF, TList *listBFShuffled, TList *listBFMixed,
173 Int_t gCentrality, Double_t psiMin, Double_t psiMax,
174 Double_t ptTriggerMin, Double_t ptTriggerMax,
175 Double_t ptAssociatedMin, Double_t ptAssociatedMax) {
184 //Printf("=================");
185 hP = (AliTHn*) listBF->FindObject("fHistPV0M");
186 hP->SetName("gHistP");
187 hN = (AliTHn*) listBF->FindObject("fHistNV0M");
188 hN->SetName("gHistN");
189 hPN = (AliTHn*) listBF->FindObject("fHistPNV0M");
190 hPN->SetName("gHistPN");
191 hNP = (AliTHn*) listBF->FindObject("fHistNPV0M");
192 hNP->SetName("gHistNP");
193 hPP = (AliTHn*) listBF->FindObject("fHistPPV0M");
194 hPP->SetName("gHistPP");
195 hNN = (AliTHn*) listBF->FindObject("fHistNNV0M");
196 hNN->SetName("gHistNN");
198 AliBalancePsi *b = new AliBalancePsi();
206 //balance function shuffling
207 AliTHn *hPShuffled = NULL;
208 AliTHn *hNShuffled = NULL;
209 AliTHn *hPNShuffled = NULL;
210 AliTHn *hNPShuffled = NULL;
211 AliTHn *hPPShuffled = NULL;
212 AliTHn *hNNShuffled = NULL;
214 //listBFShuffled->ls();
216 hPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistP_shuffleV0M");
217 hPShuffled->SetName("gHistPShuffled");
218 hNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistN_shuffleV0M");
219 hNShuffled->SetName("gHistNShuffled");
220 hPNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistPN_shuffleV0M");
221 hPNShuffled->SetName("gHistPNShuffled");
222 hNPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistNP_shuffleV0M");
223 hNPShuffled->SetName("gHistNPShuffled");
224 hPPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistPP_shuffleV0M");
225 hPPShuffled->SetName("gHistPPShuffled");
226 hNNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistNN_shuffleV0M");
227 hNNShuffled->SetName("gHistNNShuffled");
229 AliBalancePsi *bShuffled = new AliBalancePsi();
230 bShuffled->SetHistNp(hPShuffled);
231 bShuffled->SetHistNn(hNShuffled);
232 bShuffled->SetHistNpn(hPNShuffled);
233 bShuffled->SetHistNnp(hNPShuffled);
234 bShuffled->SetHistNpp(hPPShuffled);
235 bShuffled->SetHistNnn(hNNShuffled);
238 //balance function mixing
239 AliTHn *hPMixed = NULL;
240 AliTHn *hNMixed = NULL;
241 AliTHn *hPNMixed = NULL;
242 AliTHn *hNPMixed = NULL;
243 AliTHn *hPPMixed = NULL;
244 AliTHn *hNNMixed = NULL;
249 hPMixed = (AliTHn*) listBFMixed->FindObject("fHistPV0M");
250 hPMixed->SetName("gHistPMixed");
251 hNMixed = (AliTHn*) listBFMixed->FindObject("fHistNV0M");
252 hNMixed->SetName("gHistNMixed");
253 hPNMixed = (AliTHn*) listBFMixed->FindObject("fHistPNV0M");
254 hPNMixed->SetName("gHistPNMixed");
255 hNPMixed = (AliTHn*) listBFMixed->FindObject("fHistNPV0M");
256 hNPMixed->SetName("gHistNPMixed");
257 hPPMixed = (AliTHn*) listBFMixed->FindObject("fHistPPV0M");
258 hPPMixed->SetName("gHistPPMixed");
259 hNNMixed = (AliTHn*) listBFMixed->FindObject("fHistNNV0M");
260 hNNMixed->SetName("gHistNNMixed");
262 AliBalancePsi *bMixed = new AliBalancePsi();
263 bMixed->SetHistNp(hPMixed);
264 bMixed->SetHistNn(hNMixed);
265 bMixed->SetHistNpn(hPNMixed);
266 bMixed->SetHistNnp(hNPMixed);
267 bMixed->SetHistNpp(hPPMixed);
268 bMixed->SetHistNnn(hNNMixed);
271 TH2D *gHistBalanceFunction;
272 TH2D *gHistBalanceFunctionSubtracted;
273 TH2D *gHistBalanceFunctionShuffled;
274 TH2D *gHistBalanceFunctionMixed;
275 TString histoTitle, pngName;
277 histoTitle = "Centrality: ";
278 histoTitle += centralityArray[gCentrality-1];
280 if((psiMin == -0.5)&&(psiMax == 0.5))
281 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
282 else if((psiMin == 0.5)&&(psiMax == 1.5))
283 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
284 else if((psiMin == 1.5)&&(psiMax == 2.5))
285 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
287 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
289 gHistBalanceFunction = b->GetBalanceFunctionDeltaEtaDeltaPhi(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
290 gHistBalanceFunction->SetTitle(histoTitle.Data());
291 gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.3);
292 gHistBalanceFunction->SetName("gHistBalanceFunction");
295 gHistBalanceFunctionShuffled = bShuffled->GetBalanceFunctionDeltaEtaDeltaPhi(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
296 gHistBalanceFunctionShuffled->SetTitle(histoTitle.Data());
297 gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.3);
298 gHistBalanceFunctionShuffled->SetName("gHistBalanceFunctionShuffled");
302 gHistBalanceFunctionMixed = bMixed->GetBalanceFunctionDeltaEtaDeltaPhi(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
303 gHistBalanceFunctionMixed->SetTitle(histoTitle.Data());
304 gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.3);
305 gHistBalanceFunctionMixed->SetName("gHistBalanceFunctionMixed");
307 gHistBalanceFunctionSubtracted = dynamic_cast<TH2D *>(gHistBalanceFunction->Clone());
308 gHistBalanceFunctionSubtracted->Add(gHistBalanceFunctionMixed,-1);
309 gHistBalanceFunctionSubtracted->SetTitle(histoTitle.Data());
310 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.3);
311 gHistBalanceFunctionSubtracted->SetName("gHistBalanceFunctionSubtracted");
315 TCanvas *c1 = new TCanvas("c1","",0,0,600,500);
316 c1->SetFillColor(10);
317 c1->SetHighLightColor(10);
318 c1->SetLeftMargin(0.15);
319 gHistBalanceFunction->DrawCopy("lego2");
320 TCanvas *c1a = new TCanvas("c1a","",600,0,600,500);
321 c1a->SetFillColor(10);
322 c1a->SetHighLightColor(10);
323 c1a->SetLeftMargin(0.15);
324 gHistBalanceFunction->DrawCopy("colz");
327 TCanvas *c2 = new TCanvas("c2","",100,100,600,500);
328 c2->SetFillColor(10);
329 c2->SetHighLightColor(10);
330 c2->SetLeftMargin(0.15);
331 gHistBalanceFunctionShuffled->DrawCopy("lego2");
332 TCanvas *c2a = new TCanvas("c2a","",700,100,600,500);
333 c2a->SetFillColor(10);
334 c2a->SetHighLightColor(10);
335 c2a->SetLeftMargin(0.15);
336 gHistBalanceFunctionShuffled->DrawCopy("colz");
340 TCanvas *c3 = new TCanvas("c3","",200,200,600,500);
341 c3->SetFillColor(10);
342 c3->SetHighLightColor(10);
343 c3->SetLeftMargin(0.15);
344 gHistBalanceFunctionMixed->DrawCopy("lego2");
345 TCanvas *c3a = new TCanvas("c3a","",800,200,600,500);
346 c3a->SetFillColor(10);
347 c3a->SetHighLightColor(10);
348 c3a->SetLeftMargin(0.15);
349 gHistBalanceFunctionMixed->DrawCopy("colz");
351 TCanvas *c4 = new TCanvas("c4","",300,300,600,500);
352 c4->SetFillColor(10);
353 c4->SetHighLightColor(10);
354 c4->SetLeftMargin(0.15);
355 gHistBalanceFunctionSubtracted->DrawCopy("lego2");
356 TCanvas *c4a = new TCanvas("c4a","",900,300,600,500);
357 c4a->SetFillColor(10);
358 c4a->SetHighLightColor(10);
359 c4a->SetLeftMargin(0.15);
360 gHistBalanceFunctionSubtracted->DrawCopy("colz");
363 TString newFileName = "balanceFunction2D.Centrality";
364 newFileName += gCentrality; newFileName += ".Psi";
365 if((psiMin == -0.5)&&(psiMax == 0.5)) newFileName += "InPlane.Ptt";
366 else if((psiMin == 0.5)&&(psiMax == 1.5)) newFileName += "Intermediate.Ptt";
367 else if((psiMin == 1.5)&&(psiMax == 2.5)) newFileName += "OutOfPlane.Ptt";
368 else if((psiMin == 2.5)&&(psiMax == 3.5)) newFileName += "Rest.PttFrom";
369 else newFileName += "All.PttFrom";
370 newFileName += Form("%.1f",ptTriggerMin); newFileName += "To";
371 newFileName += Form("%.1f",ptTriggerMax); newFileName += "PtaFrom";
372 newFileName += Form("%.1f",ptAssociatedMin); newFileName += "To";
373 newFileName += Form("%.1f",ptAssociatedMax);
374 newFileName += ".root";
376 TFile *fOutput = new TFile(newFileName.Data(),"recreate");
378 /*hP->Write(); hN->Write();
379 hPN->Write(); hNP->Write();
380 hPP->Write(); hNN->Write();
381 hPShuffled->Write(); hNShuffled->Write();
382 hPNShuffled->Write(); hNPShuffled->Write();
383 hPPShuffled->Write(); hNNShuffled->Write();
384 hPMixed->Write(); hNMixed->Write();
385 hPNMixed->Write(); hNPMixed->Write();
386 hPPMixed->Write(); hNNMixed->Write();*/
387 gHistBalanceFunction->Write();
388 if(listBFShuffled) gHistBalanceFunctionShuffled->Write();
390 gHistBalanceFunctionMixed->Write();
391 gHistBalanceFunctionSubtracted->Write();
396 //____________________________________________________________//
397 void drawBFPsi2D(const char* lhcPeriod = "LHC11h",
398 Int_t gCentrality = 1,
399 Bool_t kShowShuffled = kFALSE,
400 Bool_t kShowMixed = kFALSE,
401 Double_t psiMin = -0.5, Double_t psiMax = 0.5,
402 Double_t ptTriggerMin = -1.,
403 Double_t ptTriggerMax = -1.,
404 Double_t ptAssociatedMin = -1.,
405 Double_t ptAssociatedMax = -1.) {
406 //Macro that draws the BF distributions for each centrality bin
407 //for reaction plane dependent analysis
408 //Author: Panos.Christakoglou@nikhef.nl
409 TGaxis::SetMaxDigits(1);
412 TString filename = lhcPeriod; filename +="/PttFrom";
413 filename += Form("%.1f",ptTriggerMin); filename += "To";
414 filename += Form("%.1f",ptTriggerMax); filename += "PtaFrom";
415 filename += Form("%.1f",ptAssociatedMin); filename += "To";
416 filename += Form("%.1f",ptAssociatedMax);
417 filename += "/balanceFunction2D.Centrality";
418 filename += gCentrality; filename += ".Psi";
419 if((psiMin == -0.5)&&(psiMax == 0.5)) filename += "InPlane.Ptt";
420 else if((psiMin == 0.5)&&(psiMax == 1.5)) filename += "Intermediate.Ptt";
421 else if((psiMin == 1.5)&&(psiMax == 2.5)) filename += "OutOfPlane.Ptt";
422 else if((psiMin == 2.5)&&(psiMax == 3.5)) filename += "Rest.Ptt";
423 else filename += "All.PttFrom";
424 filename += Form("%.1f",ptTriggerMin); filename += "To";
425 filename += Form("%.1f",ptTriggerMax); filename += ".PtaFrom";
426 filename += Form("%.1f",ptAssociatedMin); filename += "To";
427 filename += Form("%.1f",ptAssociatedMax); filename += ".root";
430 TFile *f = TFile::Open(filename.Data());
431 if((!f)||(!f->IsOpen())) {
432 Printf("The file %s is not found. Aborting...",filename);
437 //Raw balance function
438 TH1D *gHistBalanceFunction = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunction"));
439 gHistBalanceFunction->SetStats(kFALSE);
440 gHistBalanceFunction->GetXaxis()->SetNdivisions(10);
441 gHistBalanceFunction->GetYaxis()->SetNdivisions(10);
442 gHistBalanceFunction->GetZaxis()->SetNdivisions(10);
443 gHistBalanceFunction->GetXaxis()->SetTitleOffset(1.3);
444 gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.3);
445 gHistBalanceFunction->GetZaxis()->SetTitleOffset(1.3);
446 gHistBalanceFunction->GetXaxis()->SetTitle("#Delta #eta");
447 gHistBalanceFunction->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
448 gHistBalanceFunction->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)");
450 //Shuffled balance function
452 TH1D *gHistBalanceFunctionShuffled = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionShuffled"));
453 gHistBalanceFunctionShuffled->SetStats(kFALSE);
454 gHistBalanceFunctionShuffled->GetXaxis()->SetNdivisions(10);
455 gHistBalanceFunctionShuffled->GetYaxis()->SetNdivisions(10);
456 gHistBalanceFunctionShuffled->GetZaxis()->SetNdivisions(10);
457 gHistBalanceFunctionShuffled->GetXaxis()->SetTitleOffset(1.3);
458 gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.3);
459 gHistBalanceFunctionShuffled->GetZaxis()->SetTitleOffset(1.3);
460 gHistBalanceFunctionShuffled->GetXaxis()->SetTitle("#Delta #eta");
461 gHistBalanceFunctionShuffled->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
462 gHistBalanceFunctionShuffled->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)");
465 //Mixed balance function
467 TH1D *gHistBalanceFunctionMixed = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionMixed"));
468 gHistBalanceFunctionMixed->SetStats(kFALSE);
469 gHistBalanceFunctionMixed->GetXaxis()->SetNdivisions(10);
470 gHistBalanceFunctionMixed->GetYaxis()->SetNdivisions(10);
471 gHistBalanceFunctionMixed->GetZaxis()->SetNdivisions(10);
472 gHistBalanceFunctionMixed->GetXaxis()->SetTitleOffset(1.3);
473 gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.3);
474 gHistBalanceFunctionMixed->GetZaxis()->SetTitleOffset(1.3);
475 gHistBalanceFunctionMixed->GetXaxis()->SetTitle("#Delta #eta");
476 gHistBalanceFunctionMixed->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
477 gHistBalanceFunctionMixed->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)");
480 //Subtracted balance function
482 TH1D *gHistBalanceFunctionSubtracted = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionSubtracted"));
483 gHistBalanceFunctionSubtracted->SetStats(kFALSE);
484 gHistBalanceFunctionSubtracted->GetXaxis()->SetNdivisions(10);
485 gHistBalanceFunctionSubtracted->GetYaxis()->SetNdivisions(10);
486 gHistBalanceFunctionSubtracted->GetZaxis()->SetNdivisions(10);
487 gHistBalanceFunctionSubtracted->GetXaxis()->SetTitleOffset(1.3);
488 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.3);
489 gHistBalanceFunctionSubtracted->GetZaxis()->SetTitleOffset(1.3);
490 gHistBalanceFunctionSubtracted->GetXaxis()->SetTitle("#Delta #eta");
491 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
492 gHistBalanceFunctionSubtracted->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)");
497 TString centralityLatex = "Centrality: ";
498 centralityLatex += centralityArray[gCentrality-1];
499 centralityLatex += "%";
502 if((psiMin == -0.5)&&(psiMax == 0.5))
503 psiLatex = " -7.5^{o} < #varphi - #Psi_{2} < 7.5^{o}";
504 else if((psiMin == 0.5)&&(psiMax == 1.5))
505 psiLatex = " 37.5^{o} < #varphi - #Psi_{2} < 52.5^{o}";
506 else if((psiMin == 1.5)&&(psiMax == 2.5))
507 psiLatex = " 82.5^{o} < #varphi - #Psi_{2} < 97.5^{o}";
509 psiLatex = " 0^{o} < #varphi - #Psi_{2} < 180^{o}";
511 TString pttLatex = Form("%.1f",ptTriggerMin);
512 pttLatex += " < p_{T}^{t} < "; pttLatex += Form("%.1f",ptTriggerMax);
513 pttLatex += " GeV/c";
515 TString ptaLatex = Form("%.1f",ptAssociatedMin);
516 ptaLatex += " < p_{T}^{a} < "; ptaLatex += Form("%.1f",ptAssociatedMax);
517 ptaLatex += " GeV/c";
519 TLatex *latexInfo1 = new TLatex();
520 latexInfo1->SetNDC();
521 latexInfo1->SetTextSize(0.045);
522 latexInfo1->SetTextColor(1);
525 TCanvas *c1 = new TCanvas("c1","Raw balance function 2D",0,0,600,500);
526 c1->SetFillColor(10); c1->SetHighLightColor(10);
527 c1->SetLeftMargin(0.17); c1->SetTopMargin(0.05);
528 gHistBalanceFunction->SetTitle("Raw balance function");
529 gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.4);
530 gHistBalanceFunction->GetYaxis()->SetNdivisions(10);
531 gHistBalanceFunction->GetXaxis()->SetNdivisions(10);
532 gHistBalanceFunction->DrawCopy("lego2");
534 latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data());
535 latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data());
536 latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data());
537 latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data());
540 TCanvas *c2 = new TCanvas("c2","Shuffled balance function 2D",100,100,600,500);
541 c2->SetFillColor(10); c2->SetHighLightColor(10);
542 c2->SetLeftMargin(0.17); c2->SetTopMargin(0.05);
543 gHistBalanceFunctionShuffled->SetTitle("Shuffled events");
544 gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.4);
545 gHistBalanceFunctionShuffled->GetYaxis()->SetNdivisions(10);
546 gHistBalanceFunctionShuffled->GetXaxis()->SetNdivisions(10);
547 gHistBalanceFunctionShuffled->DrawCopy("lego2");
549 latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data());
550 latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data());
551 latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data());
552 latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data());
556 TCanvas *c3 = new TCanvas("c3","Mixed balance function 2D",200,200,600,500);
557 c3->SetFillColor(10); c3->SetHighLightColor(10);
558 c3->SetLeftMargin(0.17); c3->SetTopMargin(0.05);
559 gHistBalanceFunctionMixed->SetTitle("Mixed events");
560 gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.4);
561 gHistBalanceFunctionMixed->GetYaxis()->SetNdivisions(10);
562 gHistBalanceFunctionMixed->GetXaxis()->SetNdivisions(10);
563 gHistBalanceFunctionMixed->DrawCopy("lego2");
565 latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data());
566 latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data());
567 latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data());
568 latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data());
572 TCanvas *c4 = new TCanvas("c4","Subtracted balance function 2D",300,300,600,500);
573 c4->SetFillColor(10); c4->SetHighLightColor(10);
574 c4->SetLeftMargin(0.17); c4->SetTopMargin(0.05);
575 gHistBalanceFunctionSubtracted->SetTitle("Subtracted balance function");
576 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.4);
577 gHistBalanceFunctionSubtracted->GetYaxis()->SetNdivisions(10);
578 gHistBalanceFunctionSubtracted->GetXaxis()->SetNdivisions(10);
579 gHistBalanceFunctionSubtracted->DrawCopy("lego2");
581 latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data());
582 latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data());
583 latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data());
584 latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data());