]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/macros/drawBalanceFunction2DPsi.C
"touch CMakeLists.txt" + update of upgrade CMakes
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / drawBalanceFunction2DPsi.C
CommitLineData
eb63b883 1const Int_t numberOfCentralityBins = 8;
2TString centralityArray[numberOfCentralityBins] = {"0-10","10-20","20-30","30-40","40-50","50-60","60-70","70-80"};
6acdbcb2 3
4const Int_t gRebin = 1;
5void drawBalanceFunction2DPsi(const char* filename = "AnalysisResultsPsi.root",
eb63b883 6 Int_t gCentrality = 1,
7 Double_t psiMin = -0.5, Double_t psiMax = 0.5,
6acdbcb2 8 Double_t ptTriggerMin = -1.,
9 Double_t ptTriggerMax = -1.,
10 Double_t ptAssociatedMin = -1.,
11 Double_t ptAssociatedMax = -1.) {
12 //Macro that draws the BF distributions for each centrality bin
13 //for reaction plane dependent analysis
14 //Author: Panos.Christakoglou@nikhef.nl
15 //Load the PWG2ebye library
16 gSystem->Load("libANALYSIS.so");
17 gSystem->Load("libANALYSISalice.so");
18 gSystem->Load("libEventMixing.so");
19 gSystem->Load("libCORRFW.so");
20 gSystem->Load("libPWGTools.so");
21 gSystem->Load("libPWGCFebye.so");
22
23 //Prepare the objects and return them
eb63b883 24 TList *listBF = GetListOfObjects(filename,gCentrality,0);
25 TList *listBFShuffled = GetListOfObjects(filename,gCentrality,1);
26 TList *listBFMixed = GetListOfObjects(filename,gCentrality,2);
6acdbcb2 27 if(!listBF) {
28 Printf("The TList object was not created");
29 return;
30 }
31 else
eb63b883 32 draw(listBF,listBFShuffled,listBFMixed,gCentrality,psiMin,psiMax,
6acdbcb2 33 ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
34}
35
36//______________________________________________________//
eb63b883 37TList *GetListOfObjects(const char* filename,
38 Int_t gCentrality, Int_t kData = 1) {
6acdbcb2 39 //Get the TList objects (QA, bf, bf shuffled)
eb63b883 40 //kData == 0: data
41 //kData == 1: shuffling
42 //kData == 2: mixing
6acdbcb2 43 TList *listQA = 0x0;
44 TList *listBF = 0x0;
6acdbcb2 45
46 //Open the file
47 TFile *f = TFile::Open(filename);
48 if((!f)||(!f->IsOpen())) {
49 Printf("The file %s is not found. Aborting...",filename);
50 return listBF;
51 }
52 //f->ls();
53
54 TDirectoryFile *dir = dynamic_cast<TDirectoryFile *>(f->Get("PWGCFEbyE.outputBalanceFunctionPsiAnalysis"));
55 if(!dir) {
56 Printf("The TDirectoryFile is not found. Aborting...",filename);
57 return listBF;
58 }
59 //dir->ls();
60
61 TString listBFName;
eb63b883 62 if(kData == 0) {
63 //cout<<"no shuffling - no mixing"<<endl;
64 listBFName = "listBFPsi_";
65 }
66 else if(kData == 1) {
67 //cout<<"shuffling - no mixing"<<endl;
68 listBFName = "listBFPsiShuffled_";
69 }
70 else if(kData == 2) {
71 //cout<<"no shuffling - mixing"<<endl;
72 listBFName = "listBFPsiMixed_";
73 }
74 listBFName += centralityArray[gCentrality-1];
6acdbcb2 75 listBF = dynamic_cast<TList *>(dir->Get(listBFName.Data()));
eb63b883 76 cout<<"======================================================="<<endl;
77 cout<<"List name: "<<listBF->GetName()<<endl;
6acdbcb2 78 //listBF->ls();
79
80 //Get the histograms
81 TString histoName;
eb63b883 82 if(kData == 0)
6acdbcb2 83 histoName = "fHistPV0M";
eb63b883 84 else if(kData == 1)
6acdbcb2 85 histoName = "fHistP_shuffleV0M";
eb63b883 86 else if(kData == 2)
87 histoName = "fHistPV0M";
6acdbcb2 88 AliTHn *fHistP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
89 if(!fHistP) {
90 Printf("fHistP %s not found!!!",histoName.Data());
91 break;
92 }
93 fHistP->FillParent(); fHistP->DeleteContainers();
94
eb63b883 95 if(kData == 0)
6acdbcb2 96 histoName = "fHistNV0M";
eb63b883 97 if(kData == 1)
6acdbcb2 98 histoName = "fHistN_shuffleV0M";
eb63b883 99 if(kData == 2)
100 histoName = "fHistNV0M";
6acdbcb2 101 AliTHn *fHistN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
102 if(!fHistN) {
103 Printf("fHistN %s not found!!!",histoName.Data());
104 break;
105 }
106 fHistN->FillParent(); fHistN->DeleteContainers();
107
eb63b883 108 if(kData == 0)
6acdbcb2 109 histoName = "fHistPNV0M";
eb63b883 110 if(kData == 1)
6acdbcb2 111 histoName = "fHistPN_shuffleV0M";
eb63b883 112 if(kData == 2)
113 histoName = "fHistPNV0M";
6acdbcb2 114 AliTHn *fHistPN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
115 if(!fHistPN) {
116 Printf("fHistPN %s not found!!!",histoName.Data());
117 break;
118 }
119 fHistPN->FillParent(); fHistPN->DeleteContainers();
120
eb63b883 121 if(kData == 0)
6acdbcb2 122 histoName = "fHistNPV0M";
eb63b883 123 if(kData == 1)
6acdbcb2 124 histoName = "fHistNP_shuffleV0M";
eb63b883 125 if(kData == 2)
126 histoName = "fHistNPV0M";
6acdbcb2 127 AliTHn *fHistNP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
128 if(!fHistNP) {
129 Printf("fHistNP %s not found!!!",histoName.Data());
130 break;
131 }
132 fHistNP->FillParent(); fHistNP->DeleteContainers();
133
eb63b883 134 if(kData == 0)
6acdbcb2 135 histoName = "fHistPPV0M";
eb63b883 136 if(kData == 1)
6acdbcb2 137 histoName = "fHistPP_shuffleV0M";
eb63b883 138 if(kData == 2)
139 histoName = "fHistPPV0M";
6acdbcb2 140 AliTHn *fHistPP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
141 if(!fHistPP) {
142 Printf("fHistPP %s not found!!!",histoName.Data());
143 break;
144 }
145 fHistPP->FillParent(); fHistPP->DeleteContainers();
146
eb63b883 147 if(kData == 0)
6acdbcb2 148 histoName = "fHistNNV0M";
eb63b883 149 if(kData == 1)
6acdbcb2 150 histoName = "fHistNN_shuffleV0M";
eb63b883 151 if(kData == 2)
152 histoName = "fHistNNV0M";
6acdbcb2 153 AliTHn *fHistNN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
154 if(!fHistNN) {
155 Printf("fHistNN %s not found!!!",histoName.Data());
156 break;
157 }
158 fHistNN->FillParent(); fHistNN->DeleteContainers();
159
160 return listBF;
161}
162
163//______________________________________________________//
eb63b883 164void draw(TList *listBF, TList *listBFShuffled, TList *listBFMixed,
165 Int_t gCentrality, Double_t psiMin, Double_t psiMax,
6acdbcb2 166 Double_t ptTriggerMin, Double_t ptTriggerMax,
167 Double_t ptAssociatedMin, Double_t ptAssociatedMax) {
168 gROOT->LoadMacro("~/SetPlotStyle.C");
169 SetPlotStyle();
170 gStyle->SetPalette(1,0);
171
172 //balance function
173 AliTHn *hP = NULL;
174 AliTHn *hN = NULL;
175 AliTHn *hPN = NULL;
176 AliTHn *hNP = NULL;
177 AliTHn *hPP = NULL;
178 AliTHn *hNN = NULL;
179 //listBF->ls();
180 //Printf("=================");
181 hP = (AliTHn*) listBF->FindObject("fHistPV0M");
182 hN = (AliTHn*) listBF->FindObject("fHistNV0M");
183 hPN = (AliTHn*) listBF->FindObject("fHistPNV0M");
184 hNP = (AliTHn*) listBF->FindObject("fHistNPV0M");
185 hPP = (AliTHn*) listBF->FindObject("fHistPPV0M");
186 hNN = (AliTHn*) listBF->FindObject("fHistNNV0M");
187
188 AliBalancePsi *b = new AliBalancePsi();
189 b->SetHistNp(hP);
190 b->SetHistNn(hN);
191 b->SetHistNpn(hPN);
192 b->SetHistNnp(hNP);
193 b->SetHistNpp(hPP);
194 b->SetHistNnn(hNN);
195
196 //balance function shuffling
197 AliTHn *hPShuffled = NULL;
198 AliTHn *hNShuffled = NULL;
199 AliTHn *hPNShuffled = NULL;
200 AliTHn *hNPShuffled = NULL;
201 AliTHn *hPPShuffled = NULL;
202 AliTHn *hNNShuffled = NULL;
203 //listBFShuffled->ls();
204 hPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistP_shuffleV0M");
205 hNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistN_shuffleV0M");
206 hPNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistPN_shuffleV0M");
207 hNPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistNP_shuffleV0M");
208 hPPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistPP_shuffleV0M");
209 hNNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistNN_shuffleV0M");
210
211 AliBalancePsi *bShuffled = new AliBalancePsi();
212 bShuffled->SetHistNp(hPShuffled);
213 bShuffled->SetHistNn(hNShuffled);
214 bShuffled->SetHistNpn(hPNShuffled);
215 bShuffled->SetHistNnp(hNPShuffled);
216 bShuffled->SetHistNpp(hPPShuffled);
217 bShuffled->SetHistNnn(hNNShuffled);
218
eb63b883 219 //balance function mixing
220 AliTHn *hPMixed = NULL;
221 AliTHn *hNMixed = NULL;
222 AliTHn *hPNMixed = NULL;
223 AliTHn *hNPMixed = NULL;
224 AliTHn *hPPMixed = NULL;
225 AliTHn *hNNMixed = NULL;
226 //listBFMixed->ls();
227 hPMixed = (AliTHn*) listBFMixed->FindObject("fHistPV0M");
228 hNMixed = (AliTHn*) listBFMixed->FindObject("fHistNV0M");
229 hPNMixed = (AliTHn*) listBFMixed->FindObject("fHistPNV0M");
230 hNPMixed = (AliTHn*) listBFMixed->FindObject("fHistNPV0M");
231 hPPMixed = (AliTHn*) listBFMixed->FindObject("fHistPPV0M");
232 hNNMixed = (AliTHn*) listBFMixed->FindObject("fHistNNV0M");
233
234 AliBalancePsi *bMixed = new AliBalancePsi();
235 bMixed->SetHistNp(hPMixed);
236 bMixed->SetHistNn(hNMixed);
237 bMixed->SetHistNpn(hPNMixed);
238 bMixed->SetHistNnp(hNPMixed);
239 bMixed->SetHistNpp(hPPMixed);
240 bMixed->SetHistNnn(hNNMixed);
241
6acdbcb2 242 TH2D *gHistBalanceFunction;
eb63b883 243 TH2D *gHistBalanceFunctionSubtracted;
6acdbcb2 244 TH2D *gHistBalanceFunctionShuffled;
eb63b883 245 TH2D *gHistBalanceFunctionMixed;
6acdbcb2 246 TString histoTitle, pngName;
6acdbcb2 247
6acdbcb2 248 histoTitle = "Centrality: ";
eb63b883 249 histoTitle += centralityArray[gCentrality-1];
6acdbcb2 250 histoTitle += "%";
eb63b883 251 if((psiMin == -0.5)&&(psiMax == 0.5))
252 histoTitle += " (-7.5^{o} < #phi - #Psi_{2} < 7.5^{o})";
253 else if((psiMin == 0.5)&&(psiMax == 1.5))
254 histoTitle += " (37.5^{o} < #phi - #Psi_{2} < 52.5^{o})";
255 else if((psiMin == 1.5)&&(psiMax == 2.5))
256 histoTitle += " (82.5^{o} < #phi - #Psi_{2} < 97.5^{o})";
257 else
258 histoTitle += " (0^{o} < #phi - #Psi_{2} < 180^{o})";
6acdbcb2 259
260 gHistBalanceFunction = b->GetBalanceFunctionDeltaEtaDeltaPhi(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
261 gHistBalanceFunction->SetTitle(histoTitle.Data());
262 gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.3);
eb63b883 263 gHistBalanceFunction->SetName("gHistBalanceFunction");
264
6acdbcb2 265 gHistBalanceFunctionShuffled = bShuffled->GetBalanceFunctionDeltaEtaDeltaPhi(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
eb63b883 266 gHistBalanceFunctionShuffled->SetTitle(histoTitle.Data());
267 gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.3);
268 gHistBalanceFunctionShuffled->SetName("gHistBalanceFunctionShuffled");
269
270 gHistBalanceFunctionMixed = bMixed->GetBalanceFunctionDeltaEtaDeltaPhi(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
271 gHistBalanceFunctionMixed->SetTitle(histoTitle.Data());
272 gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.3);
273 gHistBalanceFunctionMixed->SetName("gHistBalanceFunctionMixed");
274
275 gHistBalanceFunctionSubtracted = dynamic_cast<TH2D *>(gHistBalanceFunction->Clone());
276 gHistBalanceFunctionSubtracted->Add(gHistBalanceFunctionMixed,-1);
277 gHistBalanceFunctionSubtracted->SetTitle(histoTitle.Data());
278 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.3);
279 gHistBalanceFunctionSubtracted->SetName("gHistBalanceFunctionSubtracted");
280
281 //Draw the results
282 TCanvas *c1 = new TCanvas("c1","",0,0,600,500);
6acdbcb2 283 c1->SetFillColor(10);
284 c1->SetHighLightColor(10);
285 c1->SetLeftMargin(0.15);
eb63b883 286 gHistBalanceFunction->DrawCopy("lego2");
287 TCanvas *c1a = new TCanvas("c1a","",600,0,600,500);
288 c1a->SetFillColor(10);
289 c1a->SetHighLightColor(10);
290 c1a->SetLeftMargin(0.15);
291 gHistBalanceFunction->DrawCopy("colz");
292
293 TCanvas *c2 = new TCanvas("c2","",100,100,600,500);
294 c2->SetFillColor(10);
295 c2->SetHighLightColor(10);
296 c2->SetLeftMargin(0.15);
297 gHistBalanceFunctionShuffled->DrawCopy("lego2");
298 TCanvas *c2a = new TCanvas("c2a","",700,100,600,500);
299 c2a->SetFillColor(10);
300 c2a->SetHighLightColor(10);
301 c2a->SetLeftMargin(0.15);
302 gHistBalanceFunctionShuffled->DrawCopy("colz");
303
304 TCanvas *c3 = new TCanvas("c3","",200,200,600,500);
305 c3->SetFillColor(10);
306 c3->SetHighLightColor(10);
307 c3->SetLeftMargin(0.15);
308 gHistBalanceFunctionMixed->DrawCopy("lego2");
309 TCanvas *c3a = new TCanvas("c3a","",700,200,600,500);
310 c3a->SetFillColor(10);
311 c3a->SetHighLightColor(10);
312 c3a->SetLeftMargin(0.15);
313 gHistBalanceFunctionMixed->DrawCopy("colz");
314
315 TCanvas *c4 = new TCanvas("c4","",300,300,600,500);
316 c4->SetFillColor(10);
317 c4->SetHighLightColor(10);
318 c4->SetLeftMargin(0.15);
319 gHistBalanceFunctionSubtracted->DrawCopy("lego2");
320 TCanvas *c4a = new TCanvas("c4a","",900,300,600,500);
321 c4a->SetFillColor(10);
322 c4a->SetHighLightColor(10);
323 c4a->SetLeftMargin(0.15);
324 gHistBalanceFunctionSubtracted->DrawCopy("colz");
325
326 TString newFileName = "balanceFunction2D.Centrality";
327 newFileName += gCentrality; newFileName += ".Psi";
328 if((psiMin == -0.5)&&(psiMax == 0.5)) newFileName += "InPlane.Ptt";
329 else if((psiMin == 0.5)&&(psiMax == 1.5)) newFileName += "Intermediate.Ptt";
330 else if((psiMin == 1.5)&&(psiMax == 2.5)) newFileName += "OutOfPlane.Ptt";
331 else newFileName += "0.PttFrom";
332 newFileName += ptTriggerMin; newFileName += "To";
333 newFileName += ptTriggerMax; newFileName += ".PtaFrom";
334 newFileName += ptAssociatedMin; newFileName += "To";
335 newFileName += ptAssociatedMax; newFileName += ".root";
336
337 TFile *fOutput = new TFile(newFileName.Data(),"recreate");
338 fOutput->cd();
339 gHistBalanceFunction->Write();
340 gHistBalanceFunctionShuffled->Write();
341 gHistBalanceFunctionMixed->Write();
342 gHistBalanceFunctionSubtracted->Write();
343 fOutput->Close();
6acdbcb2 344}
345
eb63b883 346//____________________________________________________________//
347void drawBFPsi2D(Int_t gCentrality = 1,
348 Double_t psiMin = -0.5, Double_t psiMax = 0.5,
349 Double_t ptTriggerMin = -1.,
350 Double_t ptTriggerMax = -1.,
351 Double_t ptAssociatedMin = -1.,
352 Double_t ptAssociatedMax = -1.) {
353 //Macro that draws the BF distributions for each centrality bin
354 //for reaction plane dependent analysis
355 //Author: Panos.Christakoglou@nikhef.nl
356 gROOT->LoadMacro("~/SetPlotStyle.C");
357 SetPlotStyle();
358
359 //Get the input file
360 TString filename = "LHC11h/PttFrom";
361 filename += ptTriggerMin; filename += "To";
362 filename += ptTriggerMax; filename += "PtaFrom";
363 filename += ptAssociatedMin; filename += "To";
364 filename += ptAssociatedMax; filename += "/balanceFunction2D.Centrality";
365 filename += gCentrality; filename += ".Psi";
366 if((psiMin == -0.5)&&(psiMax == 0.5)) filename += "InPlane.Ptt";
367 else if((psiMin == 0.5)&&(psiMax == 1.5)) filename += "Intermediate.Ptt";
368 else if((psiMin == 1.5)&&(psiMax == 2.5)) filename += "OutOfPlane.Ptt";
369 else filename += "0.PttFrom";
370 filename += ptTriggerMin; filename += "To";
371 filename += ptTriggerMax; filename += ".PtaFrom";
372 filename += ptAssociatedMin; filename += "To";
373 filename += ptAssociatedMax; filename += ".root";
374
375 //Open the file
376 TFile *f = TFile::Open(filename.Data());
377 if((!f)||(!f->IsOpen())) {
378 Printf("The file %s is not found. Aborting...",filename);
379 return listBF;
6acdbcb2 380 }
eb63b883 381 //f->ls();
382
383 //Raw balance function
384 TH1D *gHistBalanceFunction = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunction"));
385 gHistBalanceFunction->SetStats(kFALSE);
386 gHistBalanceFunction->GetXaxis()->SetNdivisions(10);
387 gHistBalanceFunction->GetYaxis()->SetNdivisions(10);
388 gHistBalanceFunction->GetZaxis()->SetNdivisions(10);
389 gHistBalanceFunction->GetXaxis()->SetTitleOffset(1.3);
390 gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.3);
391 gHistBalanceFunction->GetZaxis()->SetTitleOffset(1.3);
392 gHistBalanceFunction->GetXaxis()->SetTitle("#Delta #eta");
393 gHistBalanceFunction->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
394 gHistBalanceFunction->GetZaxis()->SetTitle("B(#Delta #varphi)");
395
396 //Shuffled balance function
397 TH1D *gHistBalanceFunctionShuffled = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionShuffled"));
398 gHistBalanceFunctionShuffled->SetStats(kFALSE);
399 gHistBalanceFunctionShuffled->GetXaxis()->SetNdivisions(10);
400 gHistBalanceFunctionShuffled->GetYaxis()->SetNdivisions(10);
401 gHistBalanceFunctionShuffled->GetZaxis()->SetNdivisions(10);
402 gHistBalanceFunctionShuffled->GetXaxis()->SetTitleOffset(1.3);
403 gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.3);
404 gHistBalanceFunctionShuffled->GetZaxis()->SetTitleOffset(1.3);
405 gHistBalanceFunctionShuffled->GetXaxis()->SetTitle("#Delta #eta");
406 gHistBalanceFunctionShuffled->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
407 gHistBalanceFunctionShuffled->GetZaxis()->SetTitle("B(#Delta #varphi)");
408
409 //Mixed balance function
410 TH1D *gHistBalanceFunctionMixed = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionMixed"));
411 gHistBalanceFunctionMixed->SetStats(kFALSE);
412 gHistBalanceFunctionMixed->GetXaxis()->SetNdivisions(10);
413 gHistBalanceFunctionMixed->GetYaxis()->SetNdivisions(10);
414 gHistBalanceFunctionMixed->GetZaxis()->SetNdivisions(10);
415 gHistBalanceFunctionMixed->GetXaxis()->SetTitleOffset(1.3);
416 gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.3);
417 gHistBalanceFunctionMixed->GetZaxis()->SetTitleOffset(1.3);
418 gHistBalanceFunctionMixed->GetXaxis()->SetTitle("#Delta #eta");
419 gHistBalanceFunctionMixed->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
420 gHistBalanceFunctionMixed->GetZaxis()->SetTitle("B(#Delta #varphi)");
421
422 //Subtracted balance function
423 TH1D *gHistBalanceFunctionSubtracted = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionSubtracted"));
424 gHistBalanceFunctionSubtracted->SetStats(kFALSE);
425 gHistBalanceFunctionSubtracted->GetXaxis()->SetNdivisions(10);
426 gHistBalanceFunctionSubtracted->GetYaxis()->SetNdivisions(10);
427 gHistBalanceFunctionSubtracted->GetZaxis()->SetNdivisions(10);
428 gHistBalanceFunctionSubtracted->GetXaxis()->SetTitleOffset(1.3);
429 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.3);
430 gHistBalanceFunctionSubtracted->GetZaxis()->SetTitleOffset(1.3);
431 gHistBalanceFunctionSubtracted->GetXaxis()->SetTitle("#Delta #eta");
432 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitle("#Delta #varphi (deg.)");
433 gHistBalanceFunctionSubtracted->GetZaxis()->SetTitle("B(#Delta #varphi)");
6acdbcb2 434
eb63b883 435 TString pngName;
436
437 TString centralityLatex = "Centrality: ";
438 centralityLatex += centralityArray[gCentrality-1];
439 centralityLatex += "%";
440
441 TString psiLatex;
442 if((psiMin == -0.5)&&(psiMax == 0.5))
443 psiLatex = " -7.5^{o} < #varphi - #Psi_{2} < 7.5^{o}";
444 else if((psiMin == 0.5)&&(psiMax == 1.5))
445 psiLatex = " 37.5^{o} < #varphi - #Psi_{2} < 52.5^{o}";
446 else if((psiMin == 1.5)&&(psiMax == 2.5))
447 psiLatex = " 82.5^{o} < #varphi - #Psi_{2} < 97.5^{o}";
448 else
449 psiLatex = " 0^{o} < #varphi - #Psi_{2} < 180^{o}";
450
451 TString pttLatex = Form("%.1f",ptTriggerMin);
452 pttLatex += " < p_{T}^{t} < "; pttLatex += Form("%.1f",ptTriggerMax);
453 pttLatex += " GeV/c";
454
455 TString ptaLatex = Form("%.1f",ptAssociatedMin);
456 ptaLatex += " < p_{T}^{a} < "; ptaLatex += Form("%.1f",ptAssociatedMax);
457 ptaLatex += " GeV/c";
458
459 TLatex *latexInfo1 = new TLatex();
460 latexInfo1->SetNDC();
461 latexInfo1->SetTextSize(0.04);
462 latexInfo1->SetTextColor(1);
463
464 //Draw the results
465 TCanvas *c1 = new TCanvas("c1","Raw balance function 2D",0,0,600,500);
466 c1->SetFillColor(10); c1->SetHighLightColor(10);
467 c1->SetLeftMargin(0.17); c1->SetTopMargin(0.05);
468 gHistBalanceFunction->SetTitle("Raw balance function");
469 gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.4);
470 gHistBalanceFunction->GetYaxis()->SetNdivisions(10);
471 gHistBalanceFunction->GetXaxis()->SetNdivisions(10);
472 gHistBalanceFunction->DrawCopy("lego2");
473
474 latexInfo1->DrawLatex(0.68,0.88,centralityLatex.Data());
475 latexInfo1->DrawLatex(0.68,0.82,psiLatex.Data());
476 latexInfo1->DrawLatex(0.68,0.76,pttLatex.Data());
477 latexInfo1->DrawLatex(0.68,0.70,ptaLatex.Data());
478
479 TCanvas *c2 = new TCanvas("c2","Shuffled balance function 2D",100,100,600,500);
480 c2->SetFillColor(10); c2->SetHighLightColor(10);
481 c2->SetLeftMargin(0.17); c2->SetTopMargin(0.05);
482 gHistBalanceFunctionShuffled->SetTitle("Shuffled events");
483 gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.4);
484 gHistBalanceFunctionShuffled->GetYaxis()->SetNdivisions(10);
485 gHistBalanceFunctionShuffled->GetXaxis()->SetNdivisions(10);
486 gHistBalanceFunctionShuffled->DrawCopy("lego2");
487
488 latexInfo1->DrawLatex(0.68,0.88,centralityLatex.Data());
489 latexInfo1->DrawLatex(0.68,0.82,psiLatex.Data());
490 latexInfo1->DrawLatex(0.68,0.76,pttLatex.Data());
491 latexInfo1->DrawLatex(0.68,0.70,ptaLatex.Data());
492
493 TCanvas *c3 = new TCanvas("c3","Mixed balance function 2D",200,200,600,500);
494 c3->SetFillColor(10); c3->SetHighLightColor(10);
495 c3->SetLeftMargin(0.17); c3->SetTopMargin(0.05);
496 gHistBalanceFunctionMixed->SetTitle("Mixed events");
497 gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.4);
498 gHistBalanceFunctionMixed->GetYaxis()->SetNdivisions(10);
499 gHistBalanceFunctionMixed->GetXaxis()->SetNdivisions(10);
500 gHistBalanceFunctionMixed->DrawCopy("lego2");
6acdbcb2 501
eb63b883 502 latexInfo1->DrawLatex(0.68,0.88,centralityLatex.Data());
503 latexInfo1->DrawLatex(0.68,0.82,psiLatex.Data());
504 latexInfo1->DrawLatex(0.68,0.76,pttLatex.Data());
505 latexInfo1->DrawLatex(0.68,0.70,ptaLatex.Data());
506
507 TCanvas *c4 = new TCanvas("c4","Subtracted balance function 2D",300,300,600,500);
508 c4->SetFillColor(10); c4->SetHighLightColor(10);
509 c4->SetLeftMargin(0.17); c4->SetTopMargin(0.05);
510 gHistBalanceFunctionSubtracted->SetTitle("Subtracted balance function");
511 gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.4);
512 gHistBalanceFunctionSubtracted->GetYaxis()->SetNdivisions(10);
513 gHistBalanceFunctionSubtracted->GetXaxis()->SetNdivisions(10);
514 gHistBalanceFunctionSubtracted->DrawCopy("lego2");
515
516 latexInfo1->DrawLatex(0.68,0.88,centralityLatex.Data());
517 latexInfo1->DrawLatex(0.68,0.82,psiLatex.Data());
518 latexInfo1->DrawLatex(0.68,0.76,pttLatex.Data());
519 latexInfo1->DrawLatex(0.68,0.70,ptaLatex.Data());
6acdbcb2 520}