Added DrawPi0SpectrumCentralTrigger()
[u/mrichter/AliRoot.git] / PWGGA / PHOSTasks / PHOS_PbPb / macros / DrawPi0Spectrum.C
CommitLineData
1d251cb0 1// Macro for drawing (raw) pi0 spectrum
2// Uses files produced by MakeMmixPi0.C
3// author: Yuri Kharlov <Yuri.Kharlov@cern.ch>
4
65a646e0 5const char *centrality[] = {"0-10%","10-40%","40-80%"};
6
1d251cb0 7DrawPi0Spectrum()
8{
9 PPRstyle();
10 gStyle->SetOptTitle(0);
11 gStyle->SetPadRightMargin(0.05);
12 gStyle->SetPadTopMargin(0.05);
13 gStyle->SetPadLeftMargin(0.12);
14
15 DrawPi0SpectrumCentral();
16 DrawPi0SpectrumSemiCentral(1);
17 // DrawPi0SpectrumSemiCentral(2);
65a646e0 18
19 // DrawPi0SpectrumCentralTrigger();
20 // DrawPi0SpectrumSemiCentralTrigger(2);
1d251cb0 21}
22
23//-----------------------------------------------------------------------------
24DrawPi0SpectrumCentral()
25{
26 f1=new TFile("LHC11h_Pi0_FitResult.root");
27
28 h1 = (TH1D*)f1->Get("MixAll_cent0_yr2int");
29 h2 = (TH1D*)f1->Get("MixCPV_cent0_yr2int");
30 h3 = (TH1D*)f1->Get("MixDisp_cent0_yr2int");
31
32 Int_t nPt = h1->GetNbinsX();
33 for (Int_t iPt=1; iPt<=nPt; iPt++) {
34 Double_t binWidth = h1->GetBinWidth(iPt);
35 h1->SetBinContent(iPt,h1->GetBinContent(iPt)/binWidth);
36 h1->SetBinError (iPt,h1->GetBinError (iPt)/binWidth);
37 h2->SetBinContent(iPt,h2->GetBinContent(iPt)/binWidth);
38 h2->SetBinError (iPt,h2->GetBinError (iPt)/binWidth);
39 h3->SetBinContent(iPt,h3->GetBinContent(iPt)/binWidth);
40 h3->SetBinError (iPt,h3->GetBinError (iPt)/binWidth);
41 }
42
43 h1->SetXTitle("p_{T} (GeV/c)");
44 h2->SetXTitle("p_{T} (GeV/c)");
45 h3->SetXTitle("p_{T} (GeV/c)");
46 h1->SetYTitle("(1/N_{AA}) dN/p_{T} (GeV/c)^{-1}");
47 h2->SetYTitle("(1/N_{AA}) dN/p_{T} (GeV/c)^{-1}");
48 h3->SetYTitle("(1/N_{AA}) dN/p_{T} (GeV/c)^{-1}");
49 h1->SetMarkerStyle(20);
50 h2->SetMarkerStyle(20);
51 h3->SetMarkerStyle(20);
52 h1->SetMarkerColor(kRed);
53 h2->SetMarkerColor(kBlue);
54 h3->SetMarkerColor(kGreen+2);
55 h1->SetLineColor(kRed);
56 h2->SetLineColor(kBlue);
57 h3->SetLineColor(kGreen+2);
58
59 TH1D *effCPV = (TH1D*)h2->Clone("effCPV");
60 effCPV->Divide(h2,h1,1.,1.,"B");
61 effCPV->SetYTitle("PID/no PID");
62 effCPV->SetMarkerColor(kBlue);
63 effCPV->SetLineColor(kBlue);
65a646e0 64
1d251cb0 65 TH1D *effDisp = (TH1D*)h3->Clone("effDisp");
66 effDisp->Divide(h3,h1,1.,1.,"B");
67 effDisp->SetYTitle("PID/no PID");
68 effDisp->SetMarkerColor(kGreen+2);
69 effDisp->SetLineColor(kGreen+2);
65a646e0 70
1d251cb0 71 TCanvas *c11 = new TCanvas("c11","c11");
72 gPad->SetGridx();
73 gPad->SetGridy();
74 gPad->SetLogy();
75 h1->Draw();
76 h2->Draw("same");
77 h3->Draw("same");
78 l11 = new TLegend(0.6,0.75,0.89,0.89);
79 l11->SetFillColor(kWhite);
80 l11->SetBorderSize(1);
81 l11->AddEntry(h1,"No PID","lp");
82 l11->AddEntry(h2,"PID=CPV","lp");
83 l11->AddEntry(h3,"PID=Disp","lp");
84 l11->Draw();
85 c11->Print(Form("LHC11h_pi0Spectrum_PIDspectra.eps"));
65a646e0 86
1d251cb0 87 TCanvas *c12 = new TCanvas("c12","c12");
88 gPad->SetGridx();
89 gPad->SetGridy();
90 effCPV ->SetAxisRange(0.,1.09,"Y");
91 effCPV ->Draw();
92 effDisp->Draw("same");
93 l12 = new TLegend(0.75,0.80,0.94,0.94);
94 l12->SetFillColor(kWhite);
95 l12->SetBorderSize(1);
96 l12->AddEntry(effCPV ,"PID=CPV","lp");
97 l12->AddEntry(effDisp,"PID=Disp","lp");
98 l12->Draw();
99 c12->Print(Form("LHC11h_pi0Spectrum_PIDeffi.eps"));
100}
101
102//-----------------------------------------------------------------------------
65a646e0 103void DrawPi0SpectrumSemiCentral(const Int_t cent=1)
1d251cb0 104{
105 f1=new TFile("LHC11h_calo_Pi0_FitResult_kPHOSPb_v2.root");
106 f3=new TFile("LHC11h_calo_Pi0_FitResult_kSemiCentral_v2.root");
107
108 h1 = (TH1D*)f1->Get(Form("MixDisp10_cent%d_yr2int",cent));
109 h3 = (TH1D*)f3->Get(Form("MixDisp10_cent%d_yr2",cent));
110
1d251cb0 111 TPaveText *txt = new TPaveText(0.6,0.9,0.8,0.99,"NDC");
112 txt->SetFillColor(kWhite);
113 txt->SetBorderSize(1);
114 txt->AddText(Form("Centrality %s",centrality[cent]));
115
116 Int_t nPt = h1->GetNbinsX();
117 for (Int_t iPt=1; iPt<=nPt; iPt++) {
118 Double_t binWidth = h1->GetBinWidth(iPt);
119 h1->SetBinContent(iPt,h1->GetBinContent(iPt)/binWidth);
120 h1->SetBinError (iPt,h1->GetBinError (iPt)/binWidth);
121 h3->SetBinContent(iPt,h3->GetBinContent(iPt)/binWidth);
122 h3->SetBinError (iPt,h3->GetBinError (iPt)/binWidth);
123 }
124
125 h1->SetXTitle("p_{T} (GeV/c)");
126 h3->SetXTitle("p_{T} (GeV/c)");
127 h1->SetYTitle("(1/N_{AA}) dN/p_{T} (GeV/c)^{-1}");
128 h3->SetYTitle("(1/N_{AA}) dN/p_{T} (GeV/c)^{-1}");
129 h1->SetMarkerStyle(20);
130 h3->SetMarkerStyle(20);
131 h1->SetMarkerColor(kRed);
132 h3->SetMarkerColor(kBlue);
133 h1->SetLineColor(kRed);
134 h3->SetLineColor(kBlue);
135
136 TH1D *ratioSemiCent = (TH1D*)h1->Clone(Form("ratioSemiCent%d",cent));
137 ratioSemiCent->Divide(h3);
138 ratioSemiCent->SetYTitle("kPHOS/kSemiCentral");
139 ratioSemiCent->SetMarkerColor(kBlack);
140 ratioSemiCent->SetLineColor(kBlack);
141 ratioSemiCent->SetAxisRange(0.,150.,"Y");
142 ratioSemiCent->Fit("pol0","Q","",10.,30.);
143 Double_t suppr = ratioSemiCent->GetFunction("pol0")->GetParameter(0);
144 h1->Scale(1./suppr);
145
146 TCanvas *c21 = new TCanvas("c21","c21");
147 gPad->SetLogy();
148 h3->SetMinimum(2e-09);
149 h3->Draw();
150 h1->Draw("same");
151 l21 = new TLegend(0.5,0.75,0.89,0.89);
152 l21->SetFillColor(kWhite);
153 l21->SetBorderSize(1);
154 l21->AddEntry(h1,"PHOS trigger","lp");
155 l21->AddEntry(h3,"SemiCentral trigger","lp");
156 l21->Draw();
157 txt->Draw();
158 c21->Print(Form("LHC11h_pi0Spectrum_SemiCent%d.eps",cent));
159
160 TCanvas *c22 = new TCanvas("c22","c22");
161 ratioSemiCent->DrawClone();
162 txt->Draw();
163 c22->Print(Form("LHC11h_pi0Ratio_SemiCent%d.eps",cent));
164}
165
65a646e0 166DrawPi0SpectrumCentralTrigger()
167{
168 f1=new TFile("out/kCentral/Pi0_FitResult_0.root");
169 f2=new TFile("out/kMB/Pi0_FitResult_0.root");
170 f3=new TFile("out/kPHOSPb/Pi0_FitResult_0.root");
171
172 h1 = (TH1D*)f1->Get("MixCPV_cent0_yr2int");
173 h2 = (TH1D*)f2->Get("MixCPV_cent0_yr2int");
174 h3 = (TH1D*)f3->Get("MixCPV_cent0_yr2int");
175
176 Int_t nPt = h1->GetNbinsX();
177 for (Int_t iPt=1; iPt<=nPt; iPt++) {
178 Double_t binWidth = h1->GetBinWidth(iPt);
179 h1->SetBinContent(iPt,h1->GetBinContent(iPt)/binWidth);
180 h1->SetBinError (iPt,h1->GetBinError (iPt)/binWidth);
181 h2->SetBinContent(iPt,h2->GetBinContent(iPt)/binWidth);
182 h2->SetBinError (iPt,h2->GetBinError (iPt)/binWidth);
183 h3->SetBinContent(iPt,h3->GetBinContent(iPt)/binWidth);
184 h3->SetBinError (iPt,h3->GetBinError (iPt)/binWidth);
185 }
186
187 h1->GetYaxis()->SetRangeUser(10.e**-8, 0.2);
188 h1->SetXTitle("p_{T} (GeV/c)");
189 h2->SetXTitle("p_{T} (GeV/c)");
190 h3->SetXTitle("p_{T} (GeV/c)");
191 h1->SetTitle("Raw production, PID=CPV, centrality: 0-10%");
192 h1->SetYTitle("(1/N_{AA}) dN/dp_{T} (GeV/c)^{-1}");
193 h2->SetYTitle("(1/N_{AA}) dN/dp_{T} (GeV/c)^{-1}");
194 h3->SetYTitle("(1/N_{AA}) dN/dp_{T} (GeV/c)^{-1}");
195 h1->SetMarkerStyle(20);
196 h2->SetMarkerStyle(21);
197 h3->SetMarkerStyle(22);
198 h1->SetMarkerColor(kRed);
199 h2->SetMarkerColor(kBlue);
200 h3->SetMarkerColor(kGreen+2);
201 h1->SetLineColor(kRed);
202 h2->SetLineColor(kBlue);
203 h3->SetLineColor(kGreen+2);
204
205 TH1D *effCPV = (TH1D*)h2->Clone("effCPV");
206 effCPV->Divide(h2,h1,1.,1.,"B");
207 effCPV->SetYTitle("PID/no PID");
208 effCPV->SetMarkerColor(kBlue);
209 effCPV->SetLineColor(kBlue);
210
211 TH1D *effDisp = (TH1D*)h3->Clone("effDisp");
212 effDisp->Divide(h3,h1,1.,1.,"B");
213 effDisp->SetYTitle("PID/no PID");
214 effDisp->SetMarkerColor(kGreen+2);
215 effDisp->SetLineColor(kGreen+2);
216
217 TCanvas *c11 = new TCanvas("c11","c11");
218 gPad->SetGridx();
219 gPad->SetGridy();
220 gPad->SetLogy();
221
222 // TF1* func = new TF1("func", "exp([0]+[1]*x)/x**4", 2, 30);
223 // func->SetLineColor(kRed);
224 // //h1->Fit(func, "", "", 2, 10);
225 // //h1->Fit(func, "+", "", 8, 20);
226 // h1->Fit(func, "+", "", 5, 30);
227
228 // func->SetLineColor(kBlue);
229 // h2->Fit(func, "", "", 2, 13);
230
231 // func->SetLineColor(kGreen+2);
232 // h3->Fit(func, "", "", 10, 25);
233
234
235 h1->Draw();
236 h2->Draw("same");
237 h3->Draw("same");
238 l11 = new TLegend(0.6,0.75,0.89,0.89);
239 l11->SetFillColor(kWhite);
240 l11->SetBorderSize(1);
241 l11->AddEntry(h1,"kCentral","lp");
242 l11->AddEntry(h2,"kMB","lp");
243 l11->AddEntry(h3,"kPHOSPb","lp");
244 l11->Draw();
245 c11->Print(Form("LHC11h_pi0Spectrum_PIDspectra.eps"));
246
247 TCanvas *c12 = new TCanvas("c12","c12");
248 gPad->SetGridx();
249 gPad->SetGridy();
250 effCPV ->SetAxisRange(0.,1.09,"Y");
251 effCPV ->Draw();
252 effDisp->Draw("same");
253 l12 = new TLegend(0.75,0.80,0.94,0.94);
254 l12->SetFillColor(kWhite);
255 l12->SetBorderSize(1);
256 l12->AddEntry(effCPV ,"PID=CPV","lp");
257 l12->AddEntry(effDisp,"PID=Disp","lp");
258 l12->Draw();
259 c12->Print(Form("LHC11h_pi0Spectrum_PIDeffi.eps"));
260}
261
262
263void DrawPi0SpectrumSemiCentralTrigger(int cent = 1)
264{
265 f1=new TFile(Form("out/kSemiCentral/Pi0_FitResult_%d.root", cent));
266 f2=new TFile(Form("out/kMB/Pi0_FitResult_%d.root", cent));
267 f3=new TFile(Form("out/kPHOSPb/Pi0_FitResult_%d.root", cent));
268
269 h1 = (TH1D*)f1->Get(Form("MixCPV_cent%d_yr2int", cent));
270 h2 = (TH1D*)f2->Get(Form("MixCPV_cent%d_yr2int", cent));
271 h3 = (TH1D*)f3->Get(Form("MixCPV_cent%d_yr2int", cent));
272
273 Int_t nPt = h1->GetNbinsX();
274 for (Int_t iPt=1; iPt<=nPt; iPt++) {
275 Double_t binWidth = h1->GetBinWidth(iPt);
276 h1->SetBinContent(iPt,h1->GetBinContent(iPt)/binWidth);
277 h1->SetBinError (iPt,h1->GetBinError (iPt)/binWidth);
278 h2->SetBinContent(iPt,h2->GetBinContent(iPt)/binWidth);
279 h2->SetBinError (iPt,h2->GetBinError (iPt)/binWidth);
280 h3->SetBinContent(iPt,h3->GetBinContent(iPt)/binWidth);
281 h3->SetBinError (iPt,h3->GetBinError (iPt)/binWidth);
282 }
283
284 h1->GetYaxis()->SetRangeUser(10.e**-8, 0.2);
285 h1->SetXTitle("p_{T} (GeV/c)");
286 h2->SetXTitle("p_{T} (GeV/c)");
287 h3->SetXTitle("p_{T} (GeV/c)");
288 h1->SetTitle(Form("Raw production, PID=CPV, centrality: %s", centrality[cent]));
289 h1->SetYTitle("(1/N_{AA}) dN/dp_{T} (GeV/c)^{-1}");
290 h2->SetYTitle("(1/N_{AA}) dN/dp_{T} (GeV/c)^{-1}");
291 h3->SetYTitle("(1/N_{AA}) dN/dp_{T} (GeV/c)^{-1}");
292 h1->SetMarkerStyle(20);
293 h2->SetMarkerStyle(21);
294 h3->SetMarkerStyle(22);
295 h1->SetMarkerColor(kRed);
296 h2->SetMarkerColor(kBlue);
297 h3->SetMarkerColor(kGreen+2);
298 h1->SetLineColor(kRed);
299 h2->SetLineColor(kBlue);
300 h3->SetLineColor(kGreen+2);
301
302 TH1D *effCPV = (TH1D*)h2->Clone("effCPV");
303 effCPV->Divide(h2,h1,1.,1.,"B");
304 effCPV->SetYTitle("PID/no PID");
305 effCPV->SetMarkerColor(kBlue);
306 effCPV->SetLineColor(kBlue);
307
308 TH1D *effDisp = (TH1D*)h3->Clone("effDisp");
309 effDisp->Divide(h3,h1,1.,1.,"B");
310 effDisp->SetYTitle("PID/no PID");
311 effDisp->SetMarkerColor(kGreen+2);
312 effDisp->SetLineColor(kGreen+2);
313
314 TCanvas *c11 = new TCanvas("c11","c11");
315 gPad->SetGridx();
316 gPad->SetGridy();
317 gPad->SetLogy();
318
319 // TF1* func = new TF1("func", "exp([0]+[1]*x)/x**4", 2, 30);
320 // func->SetLineColor(kRed);
321 // //h1->Fit(func, "", "", 2, 10);
322 // //h1->Fit(func, "+", "", 8, 20);
323 // h1->Fit(func, "+", "", 5, 30);
324
325 // func->SetLineColor(kBlue);
326 // h2->Fit(func, "", "", 2, 13);
327
328 // func->SetLineColor(kGreen+2);
329 // h3->Fit(func, "", "", 10, 25);
330
331
332 h1->Draw();
333 h2->Draw("same");
334 h3->Draw("same");
335 l11 = new TLegend(0.6,0.75,0.89,0.89);
336 l11->SetFillColor(kWhite);
337 l11->SetBorderSize(1);
338 l11->AddEntry(h1,"kSemiCentral","lp");
339 l11->AddEntry(h2,"kMB","lp");
340 l11->AddEntry(h3,"kPHOSPb","lp");
341 l11->Draw();
342 c11->Print(Form("LHC11h_pi0Spectrum_PIDspectra.eps"));
343
344 TCanvas *c12 = new TCanvas("c12","c12");
345 gPad->SetGridx();
346 gPad->SetGridy();
347 effCPV ->SetAxisRange(0.,1.09,"Y");
348 effCPV ->Draw();
349 effDisp->Draw("same");
350 l12 = new TLegend(0.75,0.80,0.94,0.94);
351 l12->SetFillColor(kWhite);
352 l12->SetBorderSize(1);
353 l12->AddEntry(effCPV ,"PID=CPV","lp");
354 l12->AddEntry(effDisp,"PID=Disp","lp");
355 l12->Draw();
356 c12->Print(Form("LHC11h_pi0Spectrum_PIDeffi.eps"));
357}
358
1d251cb0 359//-----------------------------------------------------------------------------
360PPRstyle()
361{
362
363 gStyle->SetPalette(1);
364 // gStyle->SetCanvasBorderMode(-1);
365 gStyle->SetCanvasBorderSize(1);
366 gStyle->SetCanvasColor(10);
367
368 gStyle->SetFrameFillColor(10);
369 gStyle->SetFrameBorderSize(1);
370 // gStyle->SetFrameBorderMode(-1);
371 // gStyle->SetFrameLineWidth(1.2);
372 gStyle->SetFrameLineColor(1);
373
374 gStyle->SetHistFillColor(0);
375 gStyle->SetHistLineWidth(2);
376 gStyle->SetHistLineColor(1);
377
378 gStyle->SetPadColor(10);
379 gStyle->SetPadBorderSize(1);
380 // gStyle->SetPadBorderMode(-1);
381
382 gStyle->SetStatColor(10);
383 gStyle->SetTitleColor(kBlack,"X");
384 gStyle->SetTitleColor(kBlack,"Y");
385 gStyle->SetTitleFillColor(kWhite);
386 gStyle->SetStatColor(kWhite);
387
388 gStyle->SetLabelSize(0.04,"X");
389 gStyle->SetLabelSize(0.04,"Y");
390 gStyle->SetLabelSize(0.04,"Z");
391 gStyle->SetTitleSize(0.04,"X");
392 gStyle->SetTitleSize(0.04,"Y");
393 gStyle->SetTitleSize(0.04,"Z");
394 gStyle->SetTitleFont(42,"X");
395 gStyle->SetTitleFont(42,"Y");
396 gStyle->SetTitleFont(42,"X");
397 gStyle->SetLabelFont(42,"X");
398 gStyle->SetLabelFont(42,"Y");
399 gStyle->SetLabelFont(42,"Z");
400 gStyle->SetStatFont(42);
401
402 gStyle->SetTitleOffset(1.0,"X");
403 gStyle->SetTitleOffset(1.2,"Y");
404
405 gStyle->SetOptDate(0);
406 gStyle->SetOptTitle(1);
407 gStyle->SetOptStat(0);
408 gStyle->SetOptFit(0);
409
410}