]>
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 | ||
15dd45a0 | 23 | gROOT->LoadMacro("~/SetPlotStyle.C"); |
24 | SetPlotStyle(); | |
8795e993 | 25 | gStyle->SetPalette(1,0); |
15dd45a0 | 26 | |
6acdbcb2 | 27 | //Prepare the objects and return them |
eb63b883 | 28 | TList *listBF = GetListOfObjects(filename,gCentrality,0); |
29 | TList *listBFShuffled = GetListOfObjects(filename,gCentrality,1); | |
30 | TList *listBFMixed = GetListOfObjects(filename,gCentrality,2); | |
6acdbcb2 | 31 | if(!listBF) { |
32 | Printf("The TList object was not created"); | |
33 | return; | |
34 | } | |
35 | else | |
eb63b883 | 36 | draw(listBF,listBFShuffled,listBFMixed,gCentrality,psiMin,psiMax, |
6acdbcb2 | 37 | ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax); |
38 | } | |
39 | ||
40 | //______________________________________________________// | |
eb63b883 | 41 | TList *GetListOfObjects(const char* filename, |
42 | Int_t gCentrality, Int_t kData = 1) { | |
6acdbcb2 | 43 | //Get the TList objects (QA, bf, bf shuffled) |
eb63b883 | 44 | //kData == 0: data |
45 | //kData == 1: shuffling | |
46 | //kData == 2: mixing | |
6acdbcb2 | 47 | TList *listQA = 0x0; |
48 | TList *listBF = 0x0; | |
6acdbcb2 | 49 | |
50 | //Open the file | |
51 | TFile *f = TFile::Open(filename); | |
52 | if((!f)||(!f->IsOpen())) { | |
53 | Printf("The file %s is not found. Aborting...",filename); | |
54 | return listBF; | |
55 | } | |
56 | //f->ls(); | |
57 | ||
58 | TDirectoryFile *dir = dynamic_cast<TDirectoryFile *>(f->Get("PWGCFEbyE.outputBalanceFunctionPsiAnalysis")); | |
59 | if(!dir) { | |
60 | Printf("The TDirectoryFile is not found. Aborting...",filename); | |
61 | return listBF; | |
62 | } | |
63 | //dir->ls(); | |
64 | ||
65 | TString listBFName; | |
eb63b883 | 66 | if(kData == 0) { |
67 | //cout<<"no shuffling - no mixing"<<endl; | |
68 | listBFName = "listBFPsi_"; | |
69 | } | |
70 | else if(kData == 1) { | |
71 | //cout<<"shuffling - no mixing"<<endl; | |
72 | listBFName = "listBFPsiShuffled_"; | |
73 | } | |
74 | else if(kData == 2) { | |
75 | //cout<<"no shuffling - mixing"<<endl; | |
76 | listBFName = "listBFPsiMixed_"; | |
77 | } | |
78 | listBFName += centralityArray[gCentrality-1]; | |
6acdbcb2 | 79 | listBF = dynamic_cast<TList *>(dir->Get(listBFName.Data())); |
eb63b883 | 80 | cout<<"======================================================="<<endl; |
81 | cout<<"List name: "<<listBF->GetName()<<endl; | |
6acdbcb2 | 82 | //listBF->ls(); |
83 | ||
84 | //Get the histograms | |
85 | TString histoName; | |
eb63b883 | 86 | if(kData == 0) |
6acdbcb2 | 87 | histoName = "fHistPV0M"; |
eb63b883 | 88 | else if(kData == 1) |
6acdbcb2 | 89 | histoName = "fHistP_shuffleV0M"; |
eb63b883 | 90 | else if(kData == 2) |
91 | histoName = "fHistPV0M"; | |
6acdbcb2 | 92 | AliTHn *fHistP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data())); |
93 | if(!fHistP) { | |
94 | Printf("fHistP %s not found!!!",histoName.Data()); | |
95 | break; | |
96 | } | |
97 | fHistP->FillParent(); fHistP->DeleteContainers(); | |
98 | ||
eb63b883 | 99 | if(kData == 0) |
6acdbcb2 | 100 | histoName = "fHistNV0M"; |
eb63b883 | 101 | if(kData == 1) |
6acdbcb2 | 102 | histoName = "fHistN_shuffleV0M"; |
eb63b883 | 103 | if(kData == 2) |
104 | histoName = "fHistNV0M"; | |
6acdbcb2 | 105 | AliTHn *fHistN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data())); |
106 | if(!fHistN) { | |
107 | Printf("fHistN %s not found!!!",histoName.Data()); | |
108 | break; | |
109 | } | |
110 | fHistN->FillParent(); fHistN->DeleteContainers(); | |
111 | ||
eb63b883 | 112 | if(kData == 0) |
6acdbcb2 | 113 | histoName = "fHistPNV0M"; |
eb63b883 | 114 | if(kData == 1) |
6acdbcb2 | 115 | histoName = "fHistPN_shuffleV0M"; |
eb63b883 | 116 | if(kData == 2) |
117 | histoName = "fHistPNV0M"; | |
6acdbcb2 | 118 | AliTHn *fHistPN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data())); |
119 | if(!fHistPN) { | |
120 | Printf("fHistPN %s not found!!!",histoName.Data()); | |
121 | break; | |
122 | } | |
123 | fHistPN->FillParent(); fHistPN->DeleteContainers(); | |
124 | ||
eb63b883 | 125 | if(kData == 0) |
6acdbcb2 | 126 | histoName = "fHistNPV0M"; |
eb63b883 | 127 | if(kData == 1) |
6acdbcb2 | 128 | histoName = "fHistNP_shuffleV0M"; |
eb63b883 | 129 | if(kData == 2) |
130 | histoName = "fHistNPV0M"; | |
6acdbcb2 | 131 | AliTHn *fHistNP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data())); |
132 | if(!fHistNP) { | |
133 | Printf("fHistNP %s not found!!!",histoName.Data()); | |
134 | break; | |
135 | } | |
136 | fHistNP->FillParent(); fHistNP->DeleteContainers(); | |
137 | ||
eb63b883 | 138 | if(kData == 0) |
6acdbcb2 | 139 | histoName = "fHistPPV0M"; |
eb63b883 | 140 | if(kData == 1) |
6acdbcb2 | 141 | histoName = "fHistPP_shuffleV0M"; |
eb63b883 | 142 | if(kData == 2) |
143 | histoName = "fHistPPV0M"; | |
6acdbcb2 | 144 | AliTHn *fHistPP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data())); |
145 | if(!fHistPP) { | |
146 | Printf("fHistPP %s not found!!!",histoName.Data()); | |
147 | break; | |
148 | } | |
149 | fHistPP->FillParent(); fHistPP->DeleteContainers(); | |
150 | ||
eb63b883 | 151 | if(kData == 0) |
6acdbcb2 | 152 | histoName = "fHistNNV0M"; |
eb63b883 | 153 | if(kData == 1) |
6acdbcb2 | 154 | histoName = "fHistNN_shuffleV0M"; |
eb63b883 | 155 | if(kData == 2) |
156 | histoName = "fHistNNV0M"; | |
6acdbcb2 | 157 | AliTHn *fHistNN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data())); |
158 | if(!fHistNN) { | |
159 | Printf("fHistNN %s not found!!!",histoName.Data()); | |
160 | break; | |
161 | } | |
162 | fHistNN->FillParent(); fHistNN->DeleteContainers(); | |
163 | ||
164 | return listBF; | |
165 | } | |
166 | ||
167 | //______________________________________________________// | |
eb63b883 | 168 | void draw(TList *listBF, TList *listBFShuffled, TList *listBFMixed, |
169 | Int_t gCentrality, Double_t psiMin, Double_t psiMax, | |
6acdbcb2 | 170 | Double_t ptTriggerMin, Double_t ptTriggerMax, |
8795e993 | 171 | Double_t ptAssociatedMin, Double_t ptAssociatedMax) { |
6acdbcb2 | 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 | |
15dd45a0 | 356 | TGaxis::SetMaxDigits(1); |
eb63b883 | 357 | |
358 | //Get the input file | |
359 | TString filename = "LHC11h/PttFrom"; | |
360 | filename += ptTriggerMin; filename += "To"; | |
361 | filename += ptTriggerMax; filename += "PtaFrom"; | |
362 | filename += ptAssociatedMin; filename += "To"; | |
363 | filename += ptAssociatedMax; filename += "/balanceFunction2D.Centrality"; | |
364 | filename += gCentrality; filename += ".Psi"; | |
365 | if((psiMin == -0.5)&&(psiMax == 0.5)) filename += "InPlane.Ptt"; | |
366 | else if((psiMin == 0.5)&&(psiMax == 1.5)) filename += "Intermediate.Ptt"; | |
367 | else if((psiMin == 1.5)&&(psiMax == 2.5)) filename += "OutOfPlane.Ptt"; | |
368 | else filename += "0.PttFrom"; | |
369 | filename += ptTriggerMin; filename += "To"; | |
370 | filename += ptTriggerMax; filename += ".PtaFrom"; | |
371 | filename += ptAssociatedMin; filename += "To"; | |
372 | filename += ptAssociatedMax; filename += ".root"; | |
373 | ||
374 | //Open the file | |
375 | TFile *f = TFile::Open(filename.Data()); | |
376 | if((!f)||(!f->IsOpen())) { | |
377 | Printf("The file %s is not found. Aborting...",filename); | |
378 | return listBF; | |
6acdbcb2 | 379 | } |
eb63b883 | 380 | //f->ls(); |
381 | ||
382 | //Raw balance function | |
383 | TH1D *gHistBalanceFunction = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunction")); | |
384 | gHistBalanceFunction->SetStats(kFALSE); | |
385 | gHistBalanceFunction->GetXaxis()->SetNdivisions(10); | |
386 | gHistBalanceFunction->GetYaxis()->SetNdivisions(10); | |
387 | gHistBalanceFunction->GetZaxis()->SetNdivisions(10); | |
388 | gHistBalanceFunction->GetXaxis()->SetTitleOffset(1.3); | |
389 | gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.3); | |
390 | gHistBalanceFunction->GetZaxis()->SetTitleOffset(1.3); | |
391 | gHistBalanceFunction->GetXaxis()->SetTitle("#Delta #eta"); | |
392 | gHistBalanceFunction->GetYaxis()->SetTitle("#Delta #varphi (deg.)"); | |
15dd45a0 | 393 | gHistBalanceFunction->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)"); |
eb63b883 | 394 | |
395 | //Shuffled balance function | |
396 | TH1D *gHistBalanceFunctionShuffled = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionShuffled")); | |
397 | gHistBalanceFunctionShuffled->SetStats(kFALSE); | |
398 | gHistBalanceFunctionShuffled->GetXaxis()->SetNdivisions(10); | |
399 | gHistBalanceFunctionShuffled->GetYaxis()->SetNdivisions(10); | |
400 | gHistBalanceFunctionShuffled->GetZaxis()->SetNdivisions(10); | |
401 | gHistBalanceFunctionShuffled->GetXaxis()->SetTitleOffset(1.3); | |
402 | gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.3); | |
403 | gHistBalanceFunctionShuffled->GetZaxis()->SetTitleOffset(1.3); | |
404 | gHistBalanceFunctionShuffled->GetXaxis()->SetTitle("#Delta #eta"); | |
405 | gHistBalanceFunctionShuffled->GetYaxis()->SetTitle("#Delta #varphi (deg.)"); | |
15dd45a0 | 406 | gHistBalanceFunctionShuffled->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)"); |
eb63b883 | 407 | |
408 | //Mixed balance function | |
409 | TH1D *gHistBalanceFunctionMixed = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionMixed")); | |
410 | gHistBalanceFunctionMixed->SetStats(kFALSE); | |
411 | gHistBalanceFunctionMixed->GetXaxis()->SetNdivisions(10); | |
412 | gHistBalanceFunctionMixed->GetYaxis()->SetNdivisions(10); | |
413 | gHistBalanceFunctionMixed->GetZaxis()->SetNdivisions(10); | |
414 | gHistBalanceFunctionMixed->GetXaxis()->SetTitleOffset(1.3); | |
415 | gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.3); | |
416 | gHistBalanceFunctionMixed->GetZaxis()->SetTitleOffset(1.3); | |
417 | gHistBalanceFunctionMixed->GetXaxis()->SetTitle("#Delta #eta"); | |
418 | gHistBalanceFunctionMixed->GetYaxis()->SetTitle("#Delta #varphi (deg.)"); | |
15dd45a0 | 419 | gHistBalanceFunctionMixed->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)"); |
eb63b883 | 420 | |
421 | //Subtracted balance function | |
422 | TH1D *gHistBalanceFunctionSubtracted = dynamic_cast<TH1D *>(f->Get("gHistBalanceFunctionSubtracted")); | |
423 | gHistBalanceFunctionSubtracted->SetStats(kFALSE); | |
424 | gHistBalanceFunctionSubtracted->GetXaxis()->SetNdivisions(10); | |
425 | gHistBalanceFunctionSubtracted->GetYaxis()->SetNdivisions(10); | |
426 | gHistBalanceFunctionSubtracted->GetZaxis()->SetNdivisions(10); | |
427 | gHistBalanceFunctionSubtracted->GetXaxis()->SetTitleOffset(1.3); | |
428 | gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.3); | |
429 | gHistBalanceFunctionSubtracted->GetZaxis()->SetTitleOffset(1.3); | |
430 | gHistBalanceFunctionSubtracted->GetXaxis()->SetTitle("#Delta #eta"); | |
431 | gHistBalanceFunctionSubtracted->GetYaxis()->SetTitle("#Delta #varphi (deg.)"); | |
15dd45a0 | 432 | gHistBalanceFunctionSubtracted->GetZaxis()->SetTitle("B(#Delta #eta, #Delta #varphi)"); |
6acdbcb2 | 433 | |
eb63b883 | 434 | TString pngName; |
435 | ||
436 | TString centralityLatex = "Centrality: "; | |
437 | centralityLatex += centralityArray[gCentrality-1]; | |
438 | centralityLatex += "%"; | |
439 | ||
440 | TString psiLatex; | |
441 | if((psiMin == -0.5)&&(psiMax == 0.5)) | |
442 | psiLatex = " -7.5^{o} < #varphi - #Psi_{2} < 7.5^{o}"; | |
443 | else if((psiMin == 0.5)&&(psiMax == 1.5)) | |
444 | psiLatex = " 37.5^{o} < #varphi - #Psi_{2} < 52.5^{o}"; | |
445 | else if((psiMin == 1.5)&&(psiMax == 2.5)) | |
446 | psiLatex = " 82.5^{o} < #varphi - #Psi_{2} < 97.5^{o}"; | |
447 | else | |
448 | psiLatex = " 0^{o} < #varphi - #Psi_{2} < 180^{o}"; | |
449 | ||
450 | TString pttLatex = Form("%.1f",ptTriggerMin); | |
451 | pttLatex += " < p_{T}^{t} < "; pttLatex += Form("%.1f",ptTriggerMax); | |
452 | pttLatex += " GeV/c"; | |
453 | ||
454 | TString ptaLatex = Form("%.1f",ptAssociatedMin); | |
455 | ptaLatex += " < p_{T}^{a} < "; ptaLatex += Form("%.1f",ptAssociatedMax); | |
456 | ptaLatex += " GeV/c"; | |
457 | ||
458 | TLatex *latexInfo1 = new TLatex(); | |
459 | latexInfo1->SetNDC(); | |
15dd45a0 | 460 | latexInfo1->SetTextSize(0.045); |
eb63b883 | 461 | latexInfo1->SetTextColor(1); |
462 | ||
463 | //Draw the results | |
464 | TCanvas *c1 = new TCanvas("c1","Raw balance function 2D",0,0,600,500); | |
465 | c1->SetFillColor(10); c1->SetHighLightColor(10); | |
466 | c1->SetLeftMargin(0.17); c1->SetTopMargin(0.05); | |
467 | gHistBalanceFunction->SetTitle("Raw balance function"); | |
468 | gHistBalanceFunction->GetYaxis()->SetTitleOffset(1.4); | |
469 | gHistBalanceFunction->GetYaxis()->SetNdivisions(10); | |
470 | gHistBalanceFunction->GetXaxis()->SetNdivisions(10); | |
471 | gHistBalanceFunction->DrawCopy("lego2"); | |
472 | ||
15dd45a0 | 473 | latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data()); |
474 | latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data()); | |
475 | latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data()); | |
476 | latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data()); | |
eb63b883 | 477 | |
478 | TCanvas *c2 = new TCanvas("c2","Shuffled balance function 2D",100,100,600,500); | |
479 | c2->SetFillColor(10); c2->SetHighLightColor(10); | |
480 | c2->SetLeftMargin(0.17); c2->SetTopMargin(0.05); | |
481 | gHistBalanceFunctionShuffled->SetTitle("Shuffled events"); | |
482 | gHistBalanceFunctionShuffled->GetYaxis()->SetTitleOffset(1.4); | |
483 | gHistBalanceFunctionShuffled->GetYaxis()->SetNdivisions(10); | |
484 | gHistBalanceFunctionShuffled->GetXaxis()->SetNdivisions(10); | |
485 | gHistBalanceFunctionShuffled->DrawCopy("lego2"); | |
486 | ||
15dd45a0 | 487 | latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data()); |
488 | latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data()); | |
489 | latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data()); | |
490 | latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data()); | |
eb63b883 | 491 | |
492 | TCanvas *c3 = new TCanvas("c3","Mixed balance function 2D",200,200,600,500); | |
493 | c3->SetFillColor(10); c3->SetHighLightColor(10); | |
494 | c3->SetLeftMargin(0.17); c3->SetTopMargin(0.05); | |
495 | gHistBalanceFunctionMixed->SetTitle("Mixed events"); | |
496 | gHistBalanceFunctionMixed->GetYaxis()->SetTitleOffset(1.4); | |
497 | gHistBalanceFunctionMixed->GetYaxis()->SetNdivisions(10); | |
498 | gHistBalanceFunctionMixed->GetXaxis()->SetNdivisions(10); | |
499 | gHistBalanceFunctionMixed->DrawCopy("lego2"); | |
6acdbcb2 | 500 | |
15dd45a0 | 501 | latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data()); |
502 | latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data()); | |
503 | latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data()); | |
504 | latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data()); | |
eb63b883 | 505 | |
506 | TCanvas *c4 = new TCanvas("c4","Subtracted balance function 2D",300,300,600,500); | |
507 | c4->SetFillColor(10); c4->SetHighLightColor(10); | |
508 | c4->SetLeftMargin(0.17); c4->SetTopMargin(0.05); | |
509 | gHistBalanceFunctionSubtracted->SetTitle("Subtracted balance function"); | |
510 | gHistBalanceFunctionSubtracted->GetYaxis()->SetTitleOffset(1.4); | |
511 | gHistBalanceFunctionSubtracted->GetYaxis()->SetNdivisions(10); | |
512 | gHistBalanceFunctionSubtracted->GetXaxis()->SetNdivisions(10); | |
513 | gHistBalanceFunctionSubtracted->DrawCopy("lego2"); | |
514 | ||
15dd45a0 | 515 | latexInfo1->DrawLatex(0.64,0.88,centralityLatex.Data()); |
516 | latexInfo1->DrawLatex(0.64,0.82,psiLatex.Data()); | |
517 | latexInfo1->DrawLatex(0.64,0.76,pttLatex.Data()); | |
518 | latexInfo1->DrawLatex(0.64,0.70,ptaLatex.Data()); | |
6acdbcb2 | 519 | } |