1 // Macro for drawing (raw) pi0 spectrum
2 // Uses files produced by MakeMmixPi0.C
3 // author: Yuri Kharlov <Yuri.Kharlov@cern.ch>
5 const char *centrality[] = {"0-10%","10-40%","40-80%"};
10 gStyle->SetOptTitle(0);
11 gStyle->SetPadRightMargin(0.05);
12 gStyle->SetPadTopMargin(0.05);
13 gStyle->SetPadLeftMargin(0.12);
15 DrawPi0SpectrumCentral();
16 DrawPi0SpectrumSemiCentral(1);
17 // DrawPi0SpectrumSemiCentral(2);
19 // DrawPi0SpectrumCentralTrigger();
20 // DrawPi0SpectrumSemiCentralTrigger(2);
23 //-----------------------------------------------------------------------------
24 DrawPi0SpectrumCentral()
26 f1=new TFile("LHC11h_Pi0_FitResult.root");
28 h1 = (TH1D*)f1->Get("MixAll_cent0_yr2int");
29 h2 = (TH1D*)f1->Get("MixCPV_cent0_yr2int");
30 h3 = (TH1D*)f1->Get("MixDisp_cent0_yr2int");
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);
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);
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);
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);
71 TCanvas *c11 = new TCanvas("c11","c11");
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");
85 c11->Print(Form("LHC11h_pi0Spectrum_PIDspectra.eps"));
87 TCanvas *c12 = new TCanvas("c12","c12");
90 effCPV ->SetAxisRange(0.,1.09,"Y");
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");
99 c12->Print(Form("LHC11h_pi0Spectrum_PIDeffi.eps"));
102 //-----------------------------------------------------------------------------
103 void DrawPi0SpectrumSemiCentral(const Int_t cent=1)
105 f1=new TFile("LHC11h_calo_Pi0_FitResult_kPHOSPb_v2.root");
106 f3=new TFile("LHC11h_calo_Pi0_FitResult_kSemiCentral_v2.root");
108 h1 = (TH1D*)f1->Get(Form("MixDisp10_cent%d_yr2int",cent));
109 h3 = (TH1D*)f3->Get(Form("MixDisp10_cent%d_yr2",cent));
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]));
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);
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);
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);
146 TCanvas *c21 = new TCanvas("c21","c21");
148 h3->SetMinimum(2e-09);
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");
158 c21->Print(Form("LHC11h_pi0Spectrum_SemiCent%d.eps",cent));
160 TCanvas *c22 = new TCanvas("c22","c22");
161 ratioSemiCent->DrawClone();
163 c22->Print(Form("LHC11h_pi0Ratio_SemiCent%d.eps",cent));
166 DrawPi0SpectrumCentralTrigger()
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");
172 h1 = (TH1D*)f1->Get("MixCPV_cent0_yr2int");
173 h2 = (TH1D*)f2->Get("MixCPV_cent0_yr2int");
174 h3 = (TH1D*)f3->Get("MixCPV_cent0_yr2int");
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);
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);
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);
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);
217 TCanvas *c11 = new TCanvas("c11","c11");
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);
228 // func->SetLineColor(kBlue);
229 // h2->Fit(func, "", "", 2, 13);
231 // func->SetLineColor(kGreen+2);
232 // h3->Fit(func, "", "", 10, 25);
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");
245 c11->Print(Form("LHC11h_pi0Spectrum_PIDspectra.eps"));
247 TCanvas *c12 = new TCanvas("c12","c12");
250 effCPV ->SetAxisRange(0.,1.09,"Y");
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");
259 c12->Print(Form("LHC11h_pi0Spectrum_PIDeffi.eps"));
263 void DrawPi0SpectrumSemiCentralTrigger(int cent = 1)
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));
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));
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);
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);
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);
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);
314 TCanvas *c11 = new TCanvas("c11","c11");
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);
325 // func->SetLineColor(kBlue);
326 // h2->Fit(func, "", "", 2, 13);
328 // func->SetLineColor(kGreen+2);
329 // h3->Fit(func, "", "", 10, 25);
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");
342 c11->Print(Form("LHC11h_pi0Spectrum_PIDspectra.eps"));
344 TCanvas *c12 = new TCanvas("c12","c12");
347 effCPV ->SetAxisRange(0.,1.09,"Y");
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");
356 c12->Print(Form("LHC11h_pi0Spectrum_PIDeffi.eps"));
359 //-----------------------------------------------------------------------------
363 gStyle->SetPalette(1);
364 // gStyle->SetCanvasBorderMode(-1);
365 gStyle->SetCanvasBorderSize(1);
366 gStyle->SetCanvasColor(10);
368 gStyle->SetFrameFillColor(10);
369 gStyle->SetFrameBorderSize(1);
370 // gStyle->SetFrameBorderMode(-1);
371 // gStyle->SetFrameLineWidth(1.2);
372 gStyle->SetFrameLineColor(1);
374 gStyle->SetHistFillColor(0);
375 gStyle->SetHistLineWidth(2);
376 gStyle->SetHistLineColor(1);
378 gStyle->SetPadColor(10);
379 gStyle->SetPadBorderSize(1);
380 // gStyle->SetPadBorderMode(-1);
382 gStyle->SetStatColor(10);
383 gStyle->SetTitleColor(kBlack,"X");
384 gStyle->SetTitleColor(kBlack,"Y");
385 gStyle->SetTitleFillColor(kWhite);
386 gStyle->SetStatColor(kWhite);
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);
402 gStyle->SetTitleOffset(1.0,"X");
403 gStyle->SetTitleOffset(1.2,"Y");
405 gStyle->SetOptDate(0);
406 gStyle->SetOptTitle(1);
407 gStyle->SetOptStat(0);
408 gStyle->SetOptFit(0);