]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/EBYE/macros/drawCorrelationFunctionPsi.C
modified Multi BF drawing macros (AliTHn::FillParent only once)
[u/mrichter/AliRoot.git] / PWGCF / EBYE / macros / drawCorrelationFunctionPsi.C
CommitLineData
52daf7b2 1const Int_t numberOfCentralityBins = 8;
2TString centralityArray[numberOfCentralityBins] = {"0-10","10-20","20-30","30-40","40-50","50-60","60-70","70-80"};
a38fd7f3 3
4const Int_t gRebin = 1;
5void drawCorrelationFunctionPsi(const char* filename = "AnalysisResults.root",
52daf7b2 6 Int_t gCentrality = 1,
5de9ad1a 7 Int_t gBit = -1,
8 const char* gCentralityEstimator = 0x0,
52daf7b2 9 Bool_t kShowShuffled = kFALSE,
10 Bool_t kShowMixed = kTRUE,
6acdbcb2 11 Double_t psiMin = -0.5,
5de9ad1a 12 Double_t psiMax = 3.5,
6acdbcb2 13 Double_t ptTriggerMin = -1.,
14 Double_t ptTriggerMax = -1.,
15 Double_t ptAssociatedMin = -1.,
16 Double_t ptAssociatedMax = -1.) {
a38fd7f3 17 //Macro that draws the correlation functions from the balance function
18 //analysis vs the reaction plane
19 //Author: Panos.Christakoglou@nikhef.nl
52daf7b2 20 gROOT->LoadMacro("~/SetPlotStyle.C");
21 SetPlotStyle();
22 gStyle->SetPalette(1,0);
23
a38fd7f3 24 //Load the PWG2ebye library
25 gSystem->Load("libANALYSIS.so");
26 gSystem->Load("libANALYSISalice.so");
27 gSystem->Load("libEventMixing.so");
28 gSystem->Load("libCORRFW.so");
29 gSystem->Load("libPWGTools.so");
30 gSystem->Load("libPWGCFebye.so");
31
32 //Prepare the objects and return them
5de9ad1a 33 TList *list = GetListOfObjects(filename,gCentrality,gBit,gCentralityEstimator,0);
52daf7b2 34 TList *listShuffled = NULL;
5de9ad1a 35 if(kShowShuffled) listShuffled = GetListOfObjects(filename,gCentrality,gBit,gCentralityEstimator,1);
52daf7b2 36 TList *listMixed = NULL;
5de9ad1a 37 if(kShowMixed) listMixed = GetListOfObjects(filename,gCentrality,gBit,gCentralityEstimator,2);
52daf7b2 38
a38fd7f3 39 if(!list) {
40 Printf("The TList object was not created");
41 return;
42 }
43 else
52daf7b2 44 draw(list,listShuffled,listMixed,gCentrality,psiMin,psiMax,
6acdbcb2 45 ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
a38fd7f3 46}
47
48//______________________________________________________//
52daf7b2 49TList *GetListOfObjects(const char* filename,
50 Int_t gCentrality,
5de9ad1a 51 Int_t gBit,
52 const char *gCentralityEstimator,
52daf7b2 53 Int_t kData = 1) {
a38fd7f3 54 //Get the TList objects (QA, bf, bf shuffled)
a38fd7f3 55 TList *listBF = 0x0;
a38fd7f3 56
57 //Open the file
ff0805a7 58 TFile *f = TFile::Open(filename,"UPDATE");
a38fd7f3 59 if((!f)||(!f->IsOpen())) {
60 Printf("The file %s is not found. Aborting...",filename);
61 return listBF;
62 }
63 //f->ls();
64
6acdbcb2 65 TDirectoryFile *dir = dynamic_cast<TDirectoryFile *>(f->Get("PWGCFEbyE.outputBalanceFunctionPsiAnalysis"));
a38fd7f3 66 if(!dir) {
67 Printf("The TDirectoryFile is not found. Aborting...",filename);
68 return listBF;
69 }
70 //dir->ls();
71
52daf7b2 72 TString listBFName;
73 if(kData == 0) {
74 //cout<<"no shuffling - no mixing"<<endl;
75 listBFName = "listBFPsi_";
76 }
77 else if(kData == 1) {
78 //cout<<"shuffling - no mixing"<<endl;
79 listBFName = "listBFPsiShuffled_";
80 }
81 else if(kData == 2) {
82 //cout<<"no shuffling - mixing"<<endl;
83 listBFName = "listBFPsiMixed_";
84 }
85 listBFName += centralityArray[gCentrality-1];
5de9ad1a 86 if(gBit > -1) {
87 listBFName += "_Bit"; listBFName += gBit; }
88 if(gCentralityEstimator) {
89 listBFName += "_"; listBFName += gCentralityEstimator;}
a38fd7f3 90
5365d1d7 91 // histograms were already retrieved (in first iteration)
92 if(dir->Get(Form("%s_histograms",listBFName.Data()))){
93 listBF = dynamic_cast<TList *>(dir->Get(Form("%s_histograms",listBFName.Data())));
a38fd7f3 94 }
a38fd7f3 95
5365d1d7 96 // histograms were not yet retrieved (this is the first iteration)
97 else{
98
99 listBF = dynamic_cast<TList *>(dir->Get(listBFName.Data()));
100 cout<<"======================================================="<<endl;
101 cout<<"List name: "<<listBF->GetName()<<endl;
102 //listBF->ls();
a38fd7f3 103
5365d1d7 104 //Get the histograms
105 TString histoName;
106 if(kData == 0)
107 histoName = "fHistPV0M";
108 else if(kData == 1)
109 histoName = "fHistP_shuffleV0M";
110 else if(kData == 2)
111 histoName = "fHistPV0M";
112 AliTHn *fHistP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
113 if(!fHistP) {
114 Printf("fHistP %s not found!!!",histoName.Data());
115 break;
116 }
117 fHistP->FillParent(); fHistP->DeleteContainers();
118
119 if(kData == 0)
120 histoName = "fHistNV0M";
121 if(kData == 1)
122 histoName = "fHistN_shuffleV0M";
123 if(kData == 2)
124 histoName = "fHistNV0M";
125 AliTHn *fHistN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
126 if(!fHistN) {
127 Printf("fHistN %s not found!!!",histoName.Data());
128 break;
129 }
130 fHistN->FillParent(); fHistN->DeleteContainers();
131
132 if(kData == 0)
133 histoName = "fHistPNV0M";
134 if(kData == 1)
135 histoName = "fHistPN_shuffleV0M";
136 if(kData == 2)
137 histoName = "fHistPNV0M";
138 AliTHn *fHistPN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
139 if(!fHistPN) {
140 Printf("fHistPN %s not found!!!",histoName.Data());
141 break;
142 }
143 fHistPN->FillParent(); fHistPN->DeleteContainers();
144
145 if(kData == 0)
146 histoName = "fHistNPV0M";
147 if(kData == 1)
148 histoName = "fHistNP_shuffleV0M";
149 if(kData == 2)
150 histoName = "fHistNPV0M";
151 AliTHn *fHistNP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
152 if(!fHistNP) {
153 Printf("fHistNP %s not found!!!",histoName.Data());
154 break;
155 }
156 fHistNP->FillParent(); fHistNP->DeleteContainers();
157
158 if(kData == 0)
159 histoName = "fHistPPV0M";
160 if(kData == 1)
161 histoName = "fHistPP_shuffleV0M";
162 if(kData == 2)
163 histoName = "fHistPPV0M";
164 AliTHn *fHistPP = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
165 if(!fHistPP) {
166 Printf("fHistPP %s not found!!!",histoName.Data());
167 break;
168 }
169 fHistPP->FillParent(); fHistPP->DeleteContainers();
170
171 if(kData == 0)
172 histoName = "fHistNNV0M";
173 if(kData == 1)
174 histoName = "fHistNN_shuffleV0M";
175 if(kData == 2)
176 histoName = "fHistNNV0M";
177 AliTHn *fHistNN = dynamic_cast<AliTHn *>(listBF->FindObject(histoName.Data()));
178 if(!fHistNN) {
179 Printf("fHistNN %s not found!!!",histoName.Data());
180 break;
181 }
182 fHistNN->FillParent(); fHistNN->DeleteContainers();
183
184 dir->cd();
185 listBF->Write(Form("%s_histograms",listBFName.Data()), TObject::kSingleKey);
186
187 }// first iteration
a38fd7f3 188
ff0805a7 189 f->Close();
5365d1d7 190
a38fd7f3 191 return listBF;
192}
193
194//______________________________________________________//
52daf7b2 195void draw(TList *list, TList *listBFShuffled, TList *listBFMixed,
196 Int_t gCentrality, Double_t psiMin, Double_t psiMax,
6acdbcb2 197 Double_t ptTriggerMin, Double_t ptTriggerMax,
198 Double_t ptAssociatedMin, Double_t ptAssociatedMax) {
a38fd7f3 199 //Draws the correlation functions for every centrality bin
52daf7b2 200 //(+-), (-+), (++), (--)
a38fd7f3 201 AliTHn *hP = NULL;
202 AliTHn *hN = NULL;
203 AliTHn *hPN = NULL;
204 AliTHn *hNP = NULL;
205 AliTHn *hPP = NULL;
206 AliTHn *hNN = NULL;
207
208 hP = (AliTHn*) list->FindObject("fHistPV0M");
209 hN = (AliTHn*) list->FindObject("fHistNV0M");
210 hPN = (AliTHn*) list->FindObject("fHistPNV0M");
211 hNP = (AliTHn*) list->FindObject("fHistNPV0M");
212 hPP = (AliTHn*) list->FindObject("fHistPPV0M");
213 hNN = (AliTHn*) list->FindObject("fHistNNV0M");
214
215 //Create the AliBalancePsi object and fill it with the AliTHn objects
216 AliBalancePsi *b = new AliBalancePsi();
217 b->SetHistNp(hP);
218 b->SetHistNn(hN);
219 b->SetHistNpn(hPN);
220 b->SetHistNnp(hNP);
221 b->SetHistNpp(hPP);
222 b->SetHistNnn(hNN);
52daf7b2 223
224 //balance function shuffling
225 AliTHn *hPShuffled = NULL;
226 AliTHn *hNShuffled = NULL;
227 AliTHn *hPNShuffled = NULL;
228 AliTHn *hNPShuffled = NULL;
229 AliTHn *hPPShuffled = NULL;
230 AliTHn *hNNShuffled = NULL;
231 if(listBFShuffled) {
232 //listBFShuffled->ls();
233
234 hPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistP_shuffleV0M");
235 hPShuffled->SetName("gHistPShuffled");
236 hNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistN_shuffleV0M");
237 hNShuffled->SetName("gHistNShuffled");
238 hPNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistPN_shuffleV0M");
239 hPNShuffled->SetName("gHistPNShuffled");
240 hNPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistNP_shuffleV0M");
241 hNPShuffled->SetName("gHistNPShuffled");
242 hPPShuffled = (AliTHn*) listBFShuffled->FindObject("fHistPP_shuffleV0M");
243 hPPShuffled->SetName("gHistPPShuffled");
244 hNNShuffled = (AliTHn*) listBFShuffled->FindObject("fHistNN_shuffleV0M");
245 hNNShuffled->SetName("gHistNNShuffled");
246
247 AliBalancePsi *bShuffled = new AliBalancePsi();
248 bShuffled->SetHistNp(hPShuffled);
249 bShuffled->SetHistNn(hNShuffled);
250 bShuffled->SetHistNpn(hPNShuffled);
251 bShuffled->SetHistNnp(hNPShuffled);
252 bShuffled->SetHistNpp(hPPShuffled);
253 bShuffled->SetHistNnn(hNNShuffled);
254 }
255
256 //balance function mixing
257 AliTHn *hPMixed = NULL;
258 AliTHn *hNMixed = NULL;
259 AliTHn *hPNMixed = NULL;
260 AliTHn *hNPMixed = NULL;
261 AliTHn *hPPMixed = NULL;
262 AliTHn *hNNMixed = NULL;
263
264 if(listBFMixed) {
265 //listBFMixed->ls();
266
267 hPMixed = (AliTHn*) listBFMixed->FindObject("fHistPV0M");
268 hPMixed->SetName("gHistPMixed");
269 hNMixed = (AliTHn*) listBFMixed->FindObject("fHistNV0M");
270 hNMixed->SetName("gHistNMixed");
271 hPNMixed = (AliTHn*) listBFMixed->FindObject("fHistPNV0M");
272 hPNMixed->SetName("gHistPNMixed");
273 hNPMixed = (AliTHn*) listBFMixed->FindObject("fHistNPV0M");
274 hNPMixed->SetName("gHistNPMixed");
275 hPPMixed = (AliTHn*) listBFMixed->FindObject("fHistPPV0M");
276 hPPMixed->SetName("gHistPPMixed");
277 hNNMixed = (AliTHn*) listBFMixed->FindObject("fHistNNV0M");
278 hNNMixed->SetName("gHistNNMixed");
279
280 AliBalancePsi *bMixed = new AliBalancePsi();
281 bMixed->SetHistNp(hPMixed);
282 bMixed->SetHistNn(hNMixed);
283 bMixed->SetHistNpn(hPNMixed);
284 bMixed->SetHistNnp(hNPMixed);
285 bMixed->SetHistNpp(hPPMixed);
286 bMixed->SetHistNnn(hNNMixed);
287 }
288
77b9ff18 289 TH2D *gHistPN[4];
290 TH2D *gHistNP[4];
291 TH2D *gHistPP[4];
292 TH2D *gHistNN[4];
a38fd7f3 293
77b9ff18 294 TCanvas *cPN[4];
295 TCanvas *cNP[4];
296 TCanvas *cPP[4];
297 TCanvas *cNN[4];
a38fd7f3 298 TString histoTitle, pngName;
6acdbcb2 299
52daf7b2 300 //(+-)
301 histoTitle = "(+-) | Centrality: ";
302 histoTitle += centralityArray[gCentrality-1];
6acdbcb2 303 histoTitle += "%";
52daf7b2 304 if((psiMin == -0.5)&&(psiMax == 0.5))
305 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
306 else if((psiMin == 0.5)&&(psiMax == 1.5))
307 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
308 else if((psiMin == 1.5)&&(psiMax == 2.5))
309 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
310 else
311 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
312
313 gHistPN[0] = b->GetCorrelationFunctionPN(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
314 gHistPN[0]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 315 gHistPN[0]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 316 gHistPN[0]->SetTitle(histoTitle.Data());
317 cPN[0] = new TCanvas("cPN0","",0,0,600,500);
318 cPN[0]->SetFillColor(10); cPN[0]->SetHighLightColor(10);
5de9ad1a 319 gHistPN[0]->DrawCopy("surf1fb");
320 gPad->SetTheta(30); // default is 30
321 //gPad->SetPhi(130); // default is 30
322 gPad->SetPhi(-60); // default is 30
323 gPad->Update();
6acdbcb2 324 pngName = "DeltaPhiDeltaEta.Centrality";
52daf7b2 325 pngName += centralityArray[gCentrality-1];
6acdbcb2 326 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
327 pngName += ".PositiveNegative.png";
52daf7b2 328 cPN[0]->SaveAs(pngName.Data());
6acdbcb2 329
52daf7b2 330 if(listBFShuffled) {
331 histoTitle = "(+-) shuffled | Centrality: ";
332 histoTitle += centralityArray[gCentrality-1];
333 histoTitle += "%";
334 if((psiMin == -0.5)&&(psiMax == 0.5))
335 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
336 else if((psiMin == 0.5)&&(psiMax == 1.5))
337 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
338 else if((psiMin == 1.5)&&(psiMax == 2.5))
339 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
340 else
341 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
342
343 gHistPN[1] = bShuffled->GetCorrelationFunctionPN(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
344 gHistPN[1]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 345 gHistPN[1]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 346 gHistPN[1]->SetTitle(histoTitle.Data());
347 cPN[1] = new TCanvas("cPN1","",0,100,600,500);
348 cPN[1]->SetFillColor(10);
349 cPN[1]->SetHighLightColor(10);
5de9ad1a 350 gHistPN[1]->DrawCopy("surf1fb");
351 gPad->SetTheta(30); // default is 30
352 //gPad->SetPhi(130); // default is 30
353 gPad->SetPhi(-60); // default is 30
354 gPad->Update();
52daf7b2 355 pngName = "DeltaPhiDeltaEtaShuffled.Centrality";
356 pngName += centralityArray[gCentrality-1];
357 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
358 pngName += ".PositiveNegative.png";
359 cPN[1]->SaveAs(pngName.Data());
360 }
361
362 if(listBFMixed) {
363 histoTitle = "(+-) mixed | Centrality: ";
364 histoTitle += centralityArray[gCentrality-1];
365 histoTitle += "%";
366 if((psiMin == -0.5)&&(psiMax == 0.5))
367 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
368 else if((psiMin == 0.5)&&(psiMax == 1.5))
369 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
370 else if((psiMin == 1.5)&&(psiMax == 2.5))
371 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
372 else
373 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
374
375 gHistPN[2] = bMixed->GetCorrelationFunctionPN(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
376 gHistPN[2]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 377 gHistPN[2]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 378 gHistPN[2]->SetTitle(histoTitle.Data());
379 cPN[2] = new TCanvas("cPN2","",0,200,600,500);
380 cPN[2]->SetFillColor(10);
381 cPN[2]->SetHighLightColor(10);
5de9ad1a 382 gHistPN[2]->DrawCopy("surf1fb");
383 gPad->SetTheta(30); // default is 30
384 //gPad->SetPhi(130); // default is 30
385 gPad->SetPhi(-60); // default is 30
386 gPad->Update();
52daf7b2 387 pngName = "DeltaPhiDeltaEtaMixed.Centrality";
388 pngName += centralityArray[gCentrality-1];
389 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
390 pngName += ".PositiveNegative.png";
391 cPN[2]->SaveAs(pngName.Data());
77b9ff18 392
393 //Correlation function (+-)
394 gHistPN[3] = dynamic_cast<TH2D *>(gHistPN[0]->Clone());
395 gHistPN[3]->Divide(gHistPN[2]);
396 gHistPN[3]->GetXaxis()->SetRangeUser(-1.5,1.5);
397 gHistPN[3]->GetZaxis()->SetTitle("C_{+-}(#Delta#eta,#Delta#varphi)");
398 cPN[3] = new TCanvas("cPN3","",0,300,600,500);
399 cPN[3]->SetFillColor(10);
400 cPN[3]->SetHighLightColor(10);
401 gHistPN[3]->DrawCopy("surf1fb");
402 gPad->SetTheta(30); // default is 30
403 //gPad->SetPhi(130); // default is 30
404 gPad->SetPhi(-60); // default is 30
405 gPad->Update();
406 pngName = "CorrelationFunction.Centrality";
407 pngName += centralityArray[gCentrality-1];
408 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
409 pngName += ".PositiveNegative.png";
410 cPN[3]->SaveAs(pngName.Data());
52daf7b2 411 }
412
413 //(-+)
6acdbcb2 414 histoTitle = "(-+) | Centrality: ";
52daf7b2 415 histoTitle += centralityArray[gCentrality-1];
6acdbcb2 416 histoTitle += "%";
52daf7b2 417 if((psiMin == -0.5)&&(psiMax == 0.5))
418 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
419 else if((psiMin == 0.5)&&(psiMax == 1.5))
420 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
421 else if((psiMin == 1.5)&&(psiMax == 2.5))
422 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
423 else
424 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
425
426 gHistNP[0] = b->GetCorrelationFunctionNP(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
427 gHistNP[0]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 428 gHistNP[0]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 429 gHistNP[0]->SetTitle(histoTitle.Data());
430 cNP[0] = new TCanvas("cNP0","",100,0,600,500);
431 cNP[0]->SetFillColor(10);
432 cNP[0]->SetHighLightColor(10);
5de9ad1a 433 gHistNP[0]->DrawCopy("surf1fb");
434 gPad->SetTheta(30); // default is 30
435 //gPad->SetPhi(130); // default is 30
436 gPad->SetPhi(-60); // default is 30
437 gPad->Update();
6acdbcb2 438 pngName = "DeltaPhiDeltaEta.Centrality";
52daf7b2 439 pngName += centralityArray[gCentrality-1];
6acdbcb2 440 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
441 pngName += ".NegativePositive.png";
52daf7b2 442 cNP[0]->SaveAs(pngName.Data());
443
444 if(listBFShuffled) {
445 histoTitle = "(-+) shuffled | Centrality: ";
446 histoTitle += centralityArray[gCentrality-1];
447 histoTitle += "%";
448 if((psiMin == -0.5)&&(psiMax == 0.5))
449 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
450 else if((psiMin == 0.5)&&(psiMax == 1.5))
451 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
452 else if((psiMin == 1.5)&&(psiMax == 2.5))
453 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
454 else
455 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
456
457 gHistNP[1] = bShuffled->GetCorrelationFunctionNP(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
458 gHistNP[1]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 459 gHistNP[1]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 460 gHistNP[1]->SetTitle(histoTitle.Data());
461 cNP[1] = new TCanvas("cNP1","",100,100,600,500);
462 cNP[1]->SetFillColor(10);
463 cNP[1]->SetHighLightColor(10);
5de9ad1a 464 gHistNP[1]->DrawCopy("surf1fb");
465 gPad->SetTheta(30); // default is 30
466 //gPad->SetPhi(130); // default is 30
467 gPad->SetPhi(-60); // default is 30
468 gPad->Update();
52daf7b2 469 pngName = "DeltaPhiDeltaEtaShuffled.Centrality";
470 pngName += centralityArray[gCentrality-1];
471 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
472 pngName += ".NegativePositive.png";
473 cNP[1]->SaveAs(pngName.Data());
474 }
475
476 if(listBFMixed) {
477 histoTitle = "(-+) mixed | Centrality: ";
478 histoTitle += centralityArray[gCentrality-1];
479 histoTitle += "%";
480 if((psiMin == -0.5)&&(psiMax == 0.5))
481 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
482 else if((psiMin == 0.5)&&(psiMax == 1.5))
483 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
484 else if((psiMin == 1.5)&&(psiMax == 2.5))
485 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
486 else
487 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
488
489 gHistNP[2] = bMixed->GetCorrelationFunctionNP(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
490 gHistNP[2]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 491 gHistNP[2]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 492 gHistNP[2]->SetTitle(histoTitle.Data());
493 cNP[2] = new TCanvas("cNP2","",100,200,600,500);
494 cNP[2]->SetFillColor(10);
495 cNP[2]->SetHighLightColor(10);
5de9ad1a 496 gHistNP[2]->DrawCopy("surf1fb");
497 gPad->SetTheta(30); // default is 30
498 //gPad->SetPhi(130); // default is 30
499 gPad->SetPhi(-60); // default is 30
500 gPad->Update();
52daf7b2 501 pngName = "DeltaPhiDeltaEtaMixed.Centrality";
502 pngName += centralityArray[gCentrality-1];
503 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
504 pngName += ".NegativePositive.png";
505 cNP[2]->SaveAs(pngName.Data());
77b9ff18 506
507 //Correlation function (-+)
508 gHistNP[3] = dynamic_cast<TH2D *>(gHistNP[0]->Clone());
509 gHistNP[3]->Divide(gHistNP[2]);
510 gHistNP[3]->GetXaxis()->SetRangeUser(-1.5,1.5);
511 gHistNP[3]->GetZaxis()->SetTitle("C_{-+}(#Delta#eta,#Delta#varphi)");
512 cNP[3] = new TCanvas("cNP3","",100,300,600,500);
513 cNP[3]->SetFillColor(10);
514 cNP[3]->SetHighLightColor(10);
515 gHistNP[3]->DrawCopy("surf1fb");
516 gPad->SetTheta(30); // default is 30
517 //gPad->SetPhi(130); // default is 30
518 gPad->SetPhi(-60); // default is 30
519 gPad->Update();
520 pngName = "CorrelationFunction.Centrality";
521 pngName += centralityArray[gCentrality-1];
522 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
523 pngName += ".NegativePositive.png";
524 cNP[3]->SaveAs(pngName.Data());
52daf7b2 525 }
6acdbcb2 526
52daf7b2 527 //(++)
6acdbcb2 528 histoTitle = "(++) | Centrality: ";
52daf7b2 529 histoTitle += centralityArray[gCentrality-1];
6acdbcb2 530 histoTitle += "%";
52daf7b2 531 if((psiMin == -0.5)&&(psiMax == 0.5))
532 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
533 else if((psiMin == 0.5)&&(psiMax == 1.5))
534 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
535 else if((psiMin == 1.5)&&(psiMax == 2.5))
536 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
537 else
538 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
539
540 gHistPP[0] = b->GetCorrelationFunctionPP(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
541 gHistPP[0]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 542 gHistPP[0]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 543 gHistPP[0]->SetTitle(histoTitle.Data());
544 cPP[0] = new TCanvas("cPP0","",200,0,600,500);
545 cPP[0]->SetFillColor(10);
546 cPP[0]->SetHighLightColor(10);
5de9ad1a 547 gHistPP[0]->DrawCopy("surf1fb");
548 gPad->SetTheta(30); // default is 30
549 //gPad->SetPhi(130); // default is 30
550 gPad->SetPhi(-60); // default is 30
551 gPad->Update();
6acdbcb2 552 pngName = "DeltaPhiDeltaEta.Centrality";
52daf7b2 553 pngName += centralityArray[gCentrality-1];
6acdbcb2 554 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
555 pngName += ".PositivePositive.png";
52daf7b2 556 cPP[0]->SaveAs(pngName.Data());
6acdbcb2 557
52daf7b2 558 if(listBFShuffled) {
559 histoTitle = "(++) shuffled | Centrality: ";
560 histoTitle += centralityArray[gCentrality-1];
561 histoTitle += "%";
562 if((psiMin == -0.5)&&(psiMax == 0.5))
563 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
564 else if((psiMin == 0.5)&&(psiMax == 1.5))
565 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
566 else if((psiMin == 1.5)&&(psiMax == 2.5))
567 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
568 else
569 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
570
571 gHistPP[1] = bShuffled->GetCorrelationFunctionPP(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
572 gHistPP[1]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 573 gHistPP[1]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 574 gHistPP[1]->SetTitle(histoTitle.Data());
575 cPP[1] = new TCanvas("cPP1","",200,100,600,500);
576 cPP[1]->SetFillColor(10);
577 cPP[1]->SetHighLightColor(10);
5de9ad1a 578 gHistPP[1]->DrawCopy("surf1fb");
579 gPad->SetTheta(30); // default is 30
580 //gPad->SetPhi(130); // default is 30
581 gPad->SetPhi(-60); // default is 30
582 gPad->Update();
52daf7b2 583 pngName = "DeltaPhiDeltaEtaShuffled.Centrality";
584 pngName += centralityArray[gCentrality-1];
585 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
586 pngName += ".PositivePositive.png";
587 cPP[1]->SaveAs(pngName.Data());
588 }
589
590 if(listBFMixed) {
591 histoTitle = "(++) mixed | Centrality: ";
592 histoTitle += centralityArray[gCentrality-1];
593 histoTitle += "%";
594 if((psiMin == -0.5)&&(psiMax == 0.5))
595 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
596 else if((psiMin == 0.5)&&(psiMax == 1.5))
597 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
598 else if((psiMin == 1.5)&&(psiMax == 2.5))
599 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
600 else
601 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
602
603 gHistPP[2] = bMixed->GetCorrelationFunctionPP(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
604 gHistPP[2]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 605 gHistPP[2]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 606 gHistPP[2]->SetTitle(histoTitle.Data());
607 cPP[2] = new TCanvas("cPP2","",200,200,600,500);
608 cPP[2]->SetFillColor(10);
609 cPP[2]->SetHighLightColor(10);
5de9ad1a 610 gHistPP[2]->DrawCopy("surf1fb");
611 gPad->SetTheta(30); // default is 30
612 //gPad->SetPhi(130); // default is 30
613 gPad->SetPhi(-60); // default is 30
614 gPad->Update();
52daf7b2 615 pngName = "DeltaPhiDeltaEtaMixed.Centrality";
616 pngName += centralityArray[gCentrality-1];
617 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
618 pngName += ".PositivePositive.png";
619 cPP[2]->SaveAs(pngName.Data());
77b9ff18 620
621 //Correlation function (++)
622 gHistPP[3] = dynamic_cast<TH2D *>(gHistPP[0]->Clone());
623 gHistPP[3]->Divide(gHistPP[2]);
624 gHistPP[3]->GetXaxis()->SetRangeUser(-1.5,1.5);
625 gHistPP[3]->GetZaxis()->SetTitle("C_{++}(#Delta#eta,#Delta#varphi)");
626 cPP[3] = new TCanvas("cPP3","",200,300,600,500);
627 cPP[3]->SetFillColor(10);
628 cPP[3]->SetHighLightColor(10);
629 gHistPP[3]->DrawCopy("surf1fb");
630 gPad->SetTheta(30); // default is 30
631 //gPad->SetPhi(130); // default is 30
632 gPad->SetPhi(-60); // default is 30
633 gPad->Update();
634 pngName = "CorrelationFunction.Centrality";
635 pngName += centralityArray[gCentrality-1];
636 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
637 pngName += ".PositivePositive.png";
638 cPP[3]->SaveAs(pngName.Data());
52daf7b2 639 }
640
641 //(--)
6acdbcb2 642 histoTitle = "(--) | Centrality: ";
52daf7b2 643 histoTitle += centralityArray[gCentrality-1];
6acdbcb2 644 histoTitle += "%";
52daf7b2 645 if((psiMin == -0.5)&&(psiMax == 0.5))
646 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
647 else if((psiMin == 0.5)&&(psiMax == 1.5))
648 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
649 else if((psiMin == 1.5)&&(psiMax == 2.5))
650 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
651 else
652 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
653
654 gHistNN[0] = b->GetCorrelationFunctionNN(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
655 gHistNN[0]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 656 gHistNN[0]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 657 gHistNN[0]->SetTitle(histoTitle.Data());
658 cNN[0] = new TCanvas("cNN0","",300,0,600,500);
659 cNN[0]->SetFillColor(10);
660 cNN[0]->SetHighLightColor(10);
5de9ad1a 661 gHistNN[0]->DrawCopy("surf1fb");
662 gPad->SetTheta(30); // default is 30
663 gPad->SetPhi(-60); // default is 30
664 //gPad->SetPhi(-60); // default is 30
665 gPad->Update();
6acdbcb2 666 pngName = "DeltaPhiDeltaEta.Centrality";
52daf7b2 667 pngName += centralityArray[gCentrality-1];
6acdbcb2 668 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
669 pngName += ".NegativeNegative.png";
52daf7b2 670 cNN[0]->SaveAs(pngName.Data());
671
672 if(listBFShuffled) {
673 histoTitle = "(--) shuffled | Centrality: ";
674 histoTitle += centralityArray[gCentrality-1];
675 histoTitle += "%";
676 if((psiMin == -0.5)&&(psiMax == 0.5))
677 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
678 else if((psiMin == 0.5)&&(psiMax == 1.5))
679 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
680 else if((psiMin == 1.5)&&(psiMax == 2.5))
681 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
682 else
683 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
684
685 gHistNN[1] = bShuffled->GetCorrelationFunctionNN(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
686 gHistNN[1]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 687 gHistNN[1]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 688 gHistNN[1]->SetTitle(histoTitle.Data());
689 cNN[1] = new TCanvas("cNN1","",300,100,600,500);
690 cNN[1]->SetFillColor(10);
691 cNN[1]->SetHighLightColor(10);
5de9ad1a 692 gHistNN[1]->DrawCopy("surf1fb");
693 gPad->SetTheta(30); // default is 30
694 //gPad->SetPhi(130); // default is 30
695 gPad->SetPhi(-60); // default is 30
696 gPad->Update();
52daf7b2 697 pngName = "DeltaPhiDeltaEtaShuffled.Centrality";
698 pngName += centralityArray[gCentrality-1];
699 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
700 pngName += ".NegativeNegative.png";
701 cNN[1]->SaveAs(pngName.Data());
702 }
703
704 if(listBFMixed) {
705 histoTitle = "(--) mixed | Centrality: ";
706 histoTitle += centralityArray[gCentrality-1];
707 histoTitle += "%";
708 if((psiMin == -0.5)&&(psiMax == 0.5))
709 histoTitle += " (-7.5^{o} < #varphi - #Psi_{2} < 7.5^{o})";
710 else if((psiMin == 0.5)&&(psiMax == 1.5))
711 histoTitle += " (37.5^{o} < #varphi - #Psi_{2} < 52.5^{o})";
712 else if((psiMin == 1.5)&&(psiMax == 2.5))
713 histoTitle += " (82.5^{o} < #varphi - #Psi_{2} < 97.5^{o})";
714 else
715 histoTitle += " (0^{o} < #varphi - #Psi_{2} < 180^{o})";
716
717 gHistNN[2] = bMixed->GetCorrelationFunctionNN(psiMin,psiMax,ptTriggerMin,ptTriggerMax,ptAssociatedMin,ptAssociatedMax);
718 gHistNN[2]->GetYaxis()->SetTitleOffset(1.5);
77b9ff18 719 gHistNN[2]->GetYaxis()->SetTitle("#Delta #varphi (rad)");
52daf7b2 720 gHistNN[2]->SetTitle(histoTitle.Data());
721 cNN[2] = new TCanvas("cNN2","",300,200,600,500);
722 cNN[2]->SetFillColor(10);
723 cNN[2]->SetHighLightColor(10);
5de9ad1a 724 gHistNN[2]->DrawCopy("surf1fb");
725 gPad->SetTheta(30); // default is 30
726 //gPad->SetPhi(130); // default is 30
727 gPad->SetPhi(-60); // default is 30
728 gPad->Update();
52daf7b2 729 pngName = "DeltaPhiDeltaEtaMixed.Centrality";
730 pngName += centralityArray[gCentrality-1];
731 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
732 pngName += ".NegativeNegative.png";
733 cNN[2]->SaveAs(pngName.Data());
77b9ff18 734
735 //Correlation function (--)
736 gHistNN[3] = dynamic_cast<TH2D *>(gHistNN[0]->Clone());
737 gHistNN[3]->Divide(gHistNN[2]);
738 gHistNN[3]->GetXaxis()->SetRangeUser(-1.5,1.5);
739 gHistNN[3]->GetZaxis()->SetTitle("C_{--}(#Delta#eta,#Delta#varphi)");
740 cNN[3] = new TCanvas("cNN3","",300,300,600,500);
741 cNN[3]->SetFillColor(10);
742 cNN[3]->SetHighLightColor(10);
743 gHistNN[3]->DrawCopy("surf1fb");
744 gPad->SetTheta(30); // default is 30
745 //gPad->SetPhi(130); // default is 30
746 gPad->SetPhi(-60); // default is 30
747 gPad->Update();
748 pngName = "CorrelationFunction.Centrality";
749 pngName += centralityArray[gCentrality-1];
750 pngName += ".Psi"; pngName += psiMin; pngName += "To"; pngName += psiMax;
751 pngName += ".NegativeNegative.png";
752 cNN[3]->SaveAs(pngName.Data());
52daf7b2 753 }
a38fd7f3 754}
755