]>
Commit | Line | Data |
---|---|---|
eb63b883 | 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"}; | |
6acdbcb2 | 3 | |
4 | const Int_t gRebin = 1; | |
5 | void 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 | 37 | TList *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 | 164 | void 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 | //____________________________________________________________// |
347 | void 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 | } |