]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG4/macros/electrons/plotMCRates.C
major updates to plotting macros
[u/mrichter/AliRoot.git] / PWG4 / macros / electrons / plotMCRates.C
1 /////////////////////////////////////////////////\r
2 //\r
3 // Macro for plotting MC rates of electrons\r
4 // for the EMCAL PPR\r
5 //\r
6 // J.L. Klay (Cal Poly)\r
7 //\r
8 /////////////////////////////////////////////////\r
9 \r
10 TLegend* leg;\r
11 \r
12 void plotMCRates() {\r
13 \r
14   gROOT->LoadMacro("makeCombinedData.C");\r
15   makeData("data/scaled25Oct09/histosLHC08d6.root",\r
16            "data/scaled25Oct09/TOTALhistosscaled-LHC09b2-0.root",\r
17            "data/scaled25Oct09/histosscaledLHC09b4AODc.root",\r
18            "data/scaled25Oct09/histosWboson.root");\r
19 \r
20   gStyle->SetOptStat(0);\r
21   //drawXSRates();\r
22   drawAnnualYields();\r
23   drawPtCutRates();\r
24   drawHadEleRatios();\r
25   drawSigBkg();\r
26 \r
27 }\r
28 \r
29 void drawAnnualYields() {\r
30 \r
31   TCanvas* crates = new TCanvas();\r
32   crates->cd();\r
33   gPad->SetLogy();\r
34   allmc->SetXTitle("p_{T} (GeV/c)");\r
35   allmc->SetTitle("MC electrons in Pb+Pb, 5.5 TeV");\r
36   allmc->SetYTitle("Annual yield in EMCAL dN/dp_{T} (GeV/c)^{-1}");\r
37   allmc->GetYaxis()->SetRangeUser(1,2.E6);\r
38   allmc->GetXaxis()->SetRangeUser(10.,50.);\r
39   allmc->Draw();\r
40   belemc->Draw("same");  \r
41   celemc->Draw("same");  \r
42   candbmc->Draw("same");  \r
43   convmc->Draw("same");  \r
44   dalmc->Draw("same");  \r
45   wzmc->Draw("same");\r
46 \r
47   leg = new TLegend(0.6,0.6,0.9,0.9);\r
48   leg->SetTextSize(leg->GetTextSize()*1.2);\r
49   leg->AddEntry(allmc,"All MC electrons","l");\r
50   leg->AddEntry(belemc,"Bottom e","l");\r
51   leg->AddEntry(celemc,"Charm e","l");\r
52   leg->AddEntry(candbmc,"B-->C e","l");\r
53   leg->AddEntry(dalmc,"Dalitz e","l");\r
54   leg->AddEntry(convmc,"Conversion e","l");\r
55   leg->AddEntry(wzmc,"W Boson e","l");\r
56   leg->Draw();\r
57   crates->Print("MCRates_all.pdf");\r
58 \r
59 }\r
60 \r
61 void drawSigBkg() {\r
62 \r
63   TCanvas* csigbkg = new TCanvas();\r
64   csigbkg->cd();\r
65   gPad->SetLogy();\r
66   allmc->SetXTitle("p_{T} (GeV/c)");\r
67   allmc->SetTitle("MC electrons in Pb+Pb, 5.5 TeV");\r
68   allmc->SetYTitle("Annual Yield in EMCAL dN/dp_{T} (GeV/c)^{-1}");\r
69   allmc->GetYaxis()->SetRangeUser(1.,6.E8);\r
70   allmc->GetXaxis()->SetRangeUser(0.,50.);\r
71   allmc->Draw();\r
72   sigemc->Draw("same");  \r
73   bkgemc->Draw("same");  \r
74   hijemc->Draw("same");  \r
75   wallemc->Draw("same");\r
76 \r
77   TLegend* leg1 = new TLegend(0.6,0.6,0.9,0.9);\r
78   leg1->SetTextSize(leg->GetTextSize()*1.2);\r
79   leg1->AddEntry(allmc,"All MC electrons","l");\r
80   leg1->AddEntry(sigemc,"B-Jet Events","l");\r
81   leg1->AddEntry(hijemc,"Pb+Pb Underlying Event","l");\r
82   leg1->AddEntry(bkgemc,"Jet-Jet Events","l");\r
83   leg1->AddEntry(wallemc,"W-decay Events","l");\r
84   leg1->Draw();\r
85   csigbkg->Print("MCRates_byEventSource.pdf");\r
86 \r
87 }\r
88 \r
89 void drawPtCutRates() {\r
90 \r
91   TCanvas* cptcut = new TCanvas();\r
92   cptcut->cd();\r
93   gPad->SetLogy();\r
94   TH1F* alleptcut = GetPtCutHisto(allmc);\r
95   TH1F* beleptcut = GetPtCutHisto(belemc);\r
96   TH1F* celeptcut = GetPtCutHisto(celemc);\r
97   TH1F* cbeleptcut = GetPtCutHisto(candbmc);\r
98   TH1F* dalitzptcut = GetPtCutHisto(dalmc);\r
99   TH1F* convptcut = GetPtCutHisto(convmc);\r
100   TH1F* wzptcut = GetPtCutHisto(wzmc);\r
101   alleptcut->GetXaxis()->SetRangeUser(10,50);\r
102   alleptcut->GetYaxis()->SetRangeUser(10,2.e6);\r
103   alleptcut->SetXTitle("p_{T}^{cut} (GeV/c)");\r
104   alleptcut->SetYTitle("Annual Yield in EMCAL for p_{T}>p_{T}^{cut}");\r
105   alleptcut->SetTitle("MC electrons in Pb+Pb, 5.5 TeV");\r
106   alleptcut->Draw();\r
107   beleptcut->Draw("same");\r
108   celeptcut->Draw("same");\r
109   cbeleptcut->Draw("same");\r
110   dalitzptcut->Draw("same");\r
111   convptcut->Draw("same");\r
112   wzptcut->Draw("same");\r
113   leg->Draw();\r
114   cptcut->Print("MCRates_ptcut_all.pdf");\r
115 \r
116 }\r
117 \r
118 void drawHadEleRatios() {\r
119 \r
120   TCanvas* ceh = new TCanvas();\r
121   ceh->cd();\r
122   gPad->SetLogy();\r
123   gStyle->SetOptStat(0);\r
124   TH1F* allratio = (TH1F*)allmc->Clone();\r
125   TH1F* behratio = (TH1F*)belemc->Clone();\r
126   allratio->SetTitle("MC hadrons and electrons in Pb+Pb, 5.5 TeV");\r
127   allratio->SetXTitle("p_{T} (GeV/c)");\r
128   allratio->SetYTitle("Hadrons/Electrons");\r
129   for(Int_t i = 1; i < allmc->GetNbinsX(); i++) {\r
130     Double_t vale = allmc->GetBinContent(i);\r
131     Double_t valb = belemc->GetBinContent(i);\r
132     Double_t valh = mchad->GetBinContent(i);\r
133     //printf("pT %.2f, Hadron %.1f, Electron %.1f, B-electron %.1f\n",all->GetBinCenter(i),valh,vale,valb);\r
134     if(vale>0) allratio->SetBinContent(i,valh/vale);\r
135     else allratio->SetBinContent(i,0.);\r
136 \r
137     if(valb>0) behratio->SetBinContent(i,valh/valb);\r
138     else behratio->SetBinContent(i,0.);\r
139 \r
140     allratio->SetBinError(i,0.);\r
141     behratio->SetBinError(i,0.);\r
142   }\r
143   allratio->Rebin(5); allratio->Scale(1./5.);\r
144   behratio->Rebin(5); behratio->Scale(1./5.);\r
145   allratio->GetYaxis()->SetRangeUser(50,1e4);\r
146   allratio->GetXaxis()->SetRangeUser(10.,49.);\r
147   behratio->GetXaxis()->SetRangeUser(10.,49.);\r
148   allratio->SetMarkerStyle(20);\r
149   behratio->SetMarkerStyle(24);\r
150   allratio->Fit("pol0");\r
151   allratio->Draw();\r
152   behratio->Draw("psame");\r
153 \r
154   TLegend *heleg = new TLegend(0.4,0.75,0.75,0.9);\r
155   heleg->SetTextSize(heleg->GetTextSize()*1.5);\r
156   heleg->AddEntry(allratio,"All electrons","l");\r
157   heleg->AddEntry(behratio,"Bottom electrons","p");\r
158   heleg->Draw();\r
159   ceh->Print("MCRates_heratio.pdf");\r
160 }\r
161 \r