]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGLF/SPECTRA/PiKaPr/TestAOD/QAPlots.C
- update on AOD analysis
[u/mrichter/AliRoot.git] / PWGLF / SPECTRA / PiKaPr / TestAOD / QAPlots.C
CommitLineData
ae0fdd7d 1gROOT->LoadMacro("~/works/AOD/AliSpectraAODTrackCuts.cxx+g");
2gROOT->LoadMacro("~/works/AOD/AliSpectraAODEventCuts.cxx+g");
3gROOT->LoadMacro("~/works/AOD/AliSpectraAODHistoManager.cxx+g");
4gROOT->LoadMacro("~/works/AOD/AliSpectraAODPID.cxx+g");
5gROOT->LoadMacro("~/works/AOD/AliAnalysisTaskSpectraAOD.cxx+g");
6
7void QAPlots( AliSpectraAODHistoManager* hman_data, AliSpectraAODHistoManager* hman_mc,
8 AliSpectraAODEventCuts* ecuts_data, AliSpectraAODEventCuts* ecuts_mc,
9 AliSpectraAODTrackCuts* tcuts_data, AliSpectraAODTrackCuts* tcuts_mc){
10
11 //vtx distr in data and MC before and after event selection
12 TCanvas *cVtx=new TCanvas("Vtxdistr","Vtxdistr",700,500);
13 TH1F *hVtxBef_data=ecuts_data->GetHistoVtxBefSel();
14 hVtxBef_data->Scale(1./ecuts_data->NumberOfProcessedEvents());
15 hVtxBef_data->SetTitle(Form("%s - data",hVtxBef_data->GetTitle()));
16 TH1F *hVtxBef_mc=ecuts_mc->GetHistoVtxBefSel();
17 hVtxBef_mc->Scale(1./ecuts_mc->NumberOfProcessedEvents());
18 hVtxBef_mc->SetTitle(Form("%s - mc",hVtxBef_mc->GetTitle()));
19 hVtxBef_mc->SetLineColor(2);
20 cVtx->Divide(1,2);
21 cVtx->cd(1);
22 gPad->SetGridy();
23 gPad->SetGridx();
24 hVtxBef_data->DrawClone("lhist");
25 hVtxBef_mc->DrawClone("lhistsame");
26 gPad->BuildLegend();
27 TH1F *hVtxAft_data=ecuts_data->GetHistoVtxAftSel();
28 hVtxAft_data->Scale(1./ecuts_data->NumberOfEvents());
29 hVtxAft_data->SetTitle(Form("%s - data",hVtxAft_data->GetTitle()));
30 TH1F *hVtxAft_mc=ecuts_mc->GetHistoVtxAftSel();
31 hVtxAft_mc->Scale(1./ecuts_mc->NumberOfEvents());
32 hVtxAft_mc->SetTitle(Form("%s - mc",hVtxAft_mc->GetTitle()));
33 hVtxAft_mc->SetLineColor(2);
34 cVtx->cd(2);
35 gPad->SetGridy();
36 gPad->SetGridx();
37 hVtxAft_data->DrawClone("lhist");
38 hVtxAft_mc->DrawClone("lhistsame");
39 gPad->BuildLegend();
40
41 //eta distr in data and MC before and after event selection
42 TCanvas *cEta=new TCanvas("Etadistr","Etadistr",700,500);
43 TH1F *hEtaBef_data=ecuts_data->GetHistoEtaBefSel();
44 hEtaBef_data->Scale(1./ecuts_data->NumberOfProcessedEvents());
45 hEtaBef_data->SetTitle(Form("%s - data",hEtaBef_data->GetTitle()));
46 TH1F *hEtaBef_mc=ecuts_mc->GetHistoEtaBefSel();
47 hEtaBef_mc->Scale(1./ecuts_mc->NumberOfProcessedEvents());
48 hEtaBef_mc->SetTitle(Form("%s - mc",hEtaBef_mc->GetTitle()));
49 hEtaBef_mc->SetLineColor(2);
50 cEta->Divide(1,2);
51 cEta->cd(1);
52 gPad->SetGridy();
53 gPad->SetGridx();
54 hEtaBef_data->DrawClone("lhist");
55 hEtaBef_mc->DrawClone("lhistsame");
56 gPad->BuildLegend();
57 TH1F *hEtaAft_data=ecuts_data->GetHistoEtaAftSel();
58 hEtaAft_data->Scale(1./ecuts_data->NumberOfEvents());
59 hEtaAft_data->SetTitle(Form("%s - data",hEtaAft_data->GetTitle()));
60 TH1F *hEtaAft_mc=ecuts_mc->GetHistoEtaAftSel();
61 hEtaAft_mc->Scale(1./ecuts_mc->NumberOfEvents());
62 hEtaAft_mc->SetTitle(Form("%s - mc",hEtaAft_mc->GetTitle()));
63 hEtaAft_mc->SetLineColor(2);
64 cEta->cd(2);
65 gPad->SetGridy();
66 gPad->SetGridx();
67 hEtaAft_data->DrawClone("lhist");
68 hEtaAft_mc->DrawClone("lhistsame");
69 gPad->BuildLegend();
70
71 //Nch distr in data and MC before and after event selection
72 TCanvas *cNCh=new TCanvas("NChdistr","NChdistr",700,500);
73 gPad->SetGridy();
74 gPad->SetGridx();
75 TH1F *hNChAft_data=ecuts_data->GetHistoNChAftSel();
76 hNChAft_data->Scale(1./hNChAft_data->GetEntries());
77 hNChAft_data->SetTitle(Form("%s - data",hNChAft_data->GetTitle()));
78 TH1F *hNChAft_mc=ecuts_mc->GetHistoNChAftSel();
79 hNChAft_mc->Scale(1./hNChAft_mc->GetEntries());
80 hNChAft_mc->SetTitle(Form("%s - mc",hNChAft_mc->GetTitle()));
81 hNChAft_mc->SetLineColor(2);
82 hNChAft_data->DrawClone("lhist");
83 hNChAft_mc->DrawClone("lhistsame");
84 gPad->BuildLegend();
85
86 //Eta Phi at high Pt in data and Monte Carlo
87 TCanvas *cEtaPhi=new TCanvas("EtaPhi","EtaPhi",700,500);
88 cEtaPhi->Divide(2,1);
89 TH2F *hEtaPhi_data=tcuts_data->GetHistoEtaPhiHighPt()->Clone("hEtaPhi_data");
90 hEtaPhi_data->Rebin2D(4);
91 hEtaPhi_data->Scale(1./hEtaPhi_data->GetEntries());
92 cEtaPhi->cd(1);
93 gPad->SetGridy();
94 gPad->SetGridx();
95 hEtaPhi_data->DrawClone("colz");
96 TH2F *hEtaPhi_mc=tcuts_mc->GetHistoEtaPhiHighPt()->Clone("hEtaPhi_mc");
97 hEtaPhi_mc->Rebin2D(4);
98 hEtaPhi_mc->Scale(1./hEtaPhi_mc->GetEntries());
99 cEtaPhi->cd(2);
100 gPad->SetGridy();
101 gPad->SetGridx();
102 hEtaPhi_mc->DrawClone("colz");
103 TCanvas *cRatioEtaPhi=new TCanvas("RatioEtaPhi","RatioEtaPhi",700,500);
104 gPad->SetGridy();
105 gPad->SetGridx();
106 hEtaPhi_data->Divide(hEtaPhi_mc);
107 hEtaPhi_data->SetMaximum(2);
108 hEtaPhi_data->SetMinimum(-0.00000001);
109 hEtaPhi_data->DrawClone("colz");
110
111 //Track selection in data and Monte Carlo
112 TCanvas *cTrackCuts=new TCanvas("TrackCuts","TrackCuts",700,500);
113 cTrackCuts->Divide(1,2);
114 TH1F *hTrCuts_data=new TH1F("hTrCuts_data","hTrCuts_data",11,0,11);
115 for(Int_t ibin=1;ibin<=tcuts_data->GetHistoCuts()->GetNbinsX();ibin++){
116 hTrCuts_data->SetBinContent(ibin,tcuts_data->GetHistoCuts()->GetBinContent(ibin)/tcuts_data->GetHistoCuts()->GetBinContent(6));
117 hTrCuts_data->GetXaxis()->SetBinLabel(ibin,tcuts_data->GetHistoCuts()->GetXaxis()->GetBinLabel(ibin));
118 }
119 TH1F *hTrCuts_mc=new TH1F("hTrCuts_mc","hTrCuts_mc",11,0,11);
120 for(Int_t ibin=1;ibin<=tcuts_mc->GetHistoCuts()->GetNbinsX();ibin++){
121 hTrCuts_mc->SetBinContent(ibin,tcuts_mc->GetHistoCuts()->GetBinContent(ibin)/tcuts_mc->GetHistoCuts()->GetBinContent(6));
122 hTrCuts_mc->GetXaxis()->SetBinLabel(ibin,tcuts_mc->GetHistoCuts()->GetXaxis()->GetBinLabel(ibin));
123 }
124 hTrCuts_mc->SetLineColor(2);
125 cTrackCuts->cd(1);
126 gPad->SetGridy();
127 gPad->SetGridx();
128 hTrCuts_data->SetMinimum(0);
129 hTrCuts_data->DrawClone();
130 hTrCuts_mc->DrawClone("same");
131 gPad->BuildLegend();
132 cTrackCuts->cd(2);
133 gPad->SetGridy();
134 gPad->SetGridx();
135 hTrCuts_data->Divide(hTrCuts_mc);
136 hTrCuts_data->SetTitle("DATA/MC");
137 hTrCuts_data->DrawClone();
138 gPad->BuildLegend();
139
140
141
142 //dedx in data and MC
143 TCanvas *cPIDSig=new TCanvas("cPIDSig","cPIDSig",700,500);
144 cPIDSig->Divide(2,2);
145 cPIDSig->cd(1);
146 TH2F *PIDSig_data = (TH2F*)((TH2F*)hman_data->GetPIDHistogram("hHistPIDTPC"))->Clone();
147 PIDSig_data->SetYTitle("TPC signal");
148 gPad->SetLogz();
149 gPad->SetGridy();
150 gPad->SetGridx();
151 PIDSig_data->DrawClone("colz");
152 cPIDSig->cd(2);
153 TH2F *PIDSig_mc = (TH2F*)((TH2F*)hman_mc->GetPIDHistogram("hHistPIDTPC"))->Clone();
154 PIDSig_mc->SetYTitle("TPC signal");
155 gPad->SetLogz();
156 gPad->SetGridy();
157 gPad->SetGridx();
158 PIDSig_mc->DrawClone("colz");
159 cPIDSig->cd(3);
160 TH2F *PIDSig_data = (TH2F*)((TH2F*)hman_data->GetPIDHistogram("hHistPIDTOF"))->Clone();
161 PIDSig_data->SetYTitle("TOF signal");
162 gPad->SetLogz();
163 gPad->SetGridy();
164 gPad->SetGridx();
165 PIDSig_data->DrawClone("colz");
166 cPIDSig->cd(4);
167 TH2F *PIDSig_mc = (TH2F*)((TH2F*)hman_mc->GetPIDHistogram("hHistPIDTOF"))->Clone();
168 PIDSig_mc->SetYTitle("TOF signal/100");
169 gPad->SetLogz();
170 gPad->SetGridy();
171 gPad->SetGridx();
172 PIDSig_mc->DrawClone("colz");
173
174 //dedx projection in data and MC
93064961 175 Double_t Proj1[2]={0.4,0.5};
ae0fdd7d 176 Double_t Proj2[2]={1.1,1.2};
177 TCanvas *cPIDSigProjection=new TCanvas("cPIDSigProjection","cPIDSigProjection",700,500);
178 cPIDSigProjection->Divide(2,2);
179 //TPC
180 TH2F *PIDSig_data = (TH2F*)((TH2F*)hman_data->GetPIDHistogram("hHistPIDTPC"))->Clone();
181 TH1F *PIDSig_data_Proj1=(TH1F*)PIDSig_data->ProjectionY(Form("TPC, data [%.1f,%.1f]",Proj1[0],Proj1[1]),
182 PIDSig_data->GetXaxis()->FindBin(Proj1[0]),PIDSig_data->GetXaxis()->FindBin(Proj1[1]));
183 TH1F *PIDSig_data_Proj2=(TH1F*)PIDSig_data->ProjectionY(Form("TPC, data [%.1f,%.1f]",Proj2[0],Proj2[1]),
184 PIDSig_data->GetXaxis()->FindBin(Proj2[0]),PIDSig_data->GetXaxis()->FindBin(Proj2[1]));
185 PIDSig_data_Proj1->SetTitle(Form("TPC, data [%.1f,%.1f]",Proj1[0],Proj1[1]));
186 PIDSig_data_Proj2->SetTitle(Form("TPC, data [%.1f,%.1f]",Proj2[0],Proj2[1]));
187 TH2F *PIDSig_mc = (TH2F*)((TH2F*)hman_mc->GetPIDHistogram("hHistPIDTPC"))->Clone();
188 TH1F *PIDSig_mc_Proj1=(TH1F*)PIDSig_mc->ProjectionY(Form("TPC, mc [%.1f,%.1f]",Proj1[0],Proj1[1]),
189 PIDSig_mc->GetXaxis()->FindBin(Proj1[0]),PIDSig_mc->GetXaxis()->FindBin(Proj1[1]));
190 TH1F *PIDSig_mc_Proj2=(TH1F*)PIDSig_mc->ProjectionY(Form("TPC, mc [%.1f,%.1f]",Proj2[0],Proj2[1]),
191 PIDSig_mc->GetXaxis()->FindBin(Proj2[0]),PIDSig_mc->GetXaxis()->FindBin(Proj2[1]));
192 PIDSig_mc_Proj1->SetTitle(Form("TPC, mc [%.1f,%.1f]",Proj1[0],Proj1[1]));
193 PIDSig_mc_Proj2->SetTitle(Form("TPC, mc [%.1f,%.1f]",Proj2[0],Proj2[1]));
194 PIDSig_mc_Proj1->SetLineColor(2);
195 PIDSig_mc_Proj2->SetLineColor(2);
196 cPIDSigProjection->cd(1);
197 gPad->SetGridy();
198 gPad->SetLogy();
199 gPad->SetGridx();
200 PIDSig_data_Proj1->DrawNormalized("lhist");
201 PIDSig_mc_Proj1->DrawNormalized("lhistsame");
202 gPad->BuildLegend();
203 cPIDSigProjection->cd(2);
204 gPad->SetLogy();
205 gPad->SetGridy();
206 gPad->SetGridx();
207 PIDSig_data_Proj2->DrawNormalized("lhist");
208 PIDSig_mc_Proj2->DrawNormalized("lhistsame");
209 gPad->BuildLegend();
210 //TOF
211 TH2F *PIDSig_data = (TH2F*)((TH2F*)hman_data->GetPIDHistogram("hHistPIDTOF"))->Clone();
212 TH1F *PIDSig_data_Proj1=(TH1F*)PIDSig_data->ProjectionY(Form("TOF, data [%.1f,%.1f]",Proj1[0],Proj1[1]),
213 PIDSig_data->GetXaxis()->FindBin(Proj1[0]),PIDSig_data->GetXaxis()->FindBin(Proj1[1]));
214 TH1F *PIDSig_data_Proj2=(TH1F*)PIDSig_data->ProjectionY(Form("TOF, data [%.1f,%.1f]",Proj2[0],Proj2[1]),
215 PIDSig_data->GetXaxis()->FindBin(Proj2[0]),PIDSig_data->GetXaxis()->FindBin(Proj2[1]));
216 PIDSig_data_Proj1->SetTitle(Form("TOF, data [%.1f,%.1f]",Proj1[0],Proj1[1]));
217 PIDSig_data_Proj2->SetTitle(Form("TOF, data [%.1f,%.1f]",Proj2[0],Proj2[1]));
218 TH2F *PIDSig_mc = (TH2F*)((TH2F*)hman_mc->GetPIDHistogram("hHistPIDTOF"))->Clone();
219 TH1F *PIDSig_mc_Proj1=(TH1F*)PIDSig_mc->ProjectionY(Form("TOF, mc [%.1f,%.1f]",Proj1[0],Proj1[1]),
220 PIDSig_mc->GetXaxis()->FindBin(Proj1[0]),PIDSig_mc->GetXaxis()->FindBin(Proj1[1]));
221 TH1F *PIDSig_mc_Proj2=(TH1F*)PIDSig_mc->ProjectionY(Form("TOF, mc [%.1f,%.1f]",Proj2[0],Proj2[1]),
222 PIDSig_mc->GetXaxis()->FindBin(Proj2[0]),PIDSig_mc->GetXaxis()->FindBin(Proj2[1]));
223 PIDSig_mc_Proj1->SetTitle(Form("TOF, mc [%.1f,%.1f]",Proj1[0],Proj1[1]));
224 PIDSig_mc_Proj2->SetTitle(Form("TOF, mc [%.1f,%.1f]",Proj2[0],Proj2[1]));
225 PIDSig_mc_Proj1->SetLineColor(2);
226 PIDSig_mc_Proj2->SetLineColor(2);
227 cPIDSigProjection->cd(3);
228 gPad->SetLogy();
229 gPad->SetGridy();
230 gPad->SetGridx();
231 PIDSig_data_Proj1->DrawNormalized("lhist");
232 PIDSig_mc_Proj1->DrawNormalized("lhistsame");
233 gPad->BuildLegend();
234 cPIDSigProjection->cd(4);
235 gPad->SetLogy();
236 gPad->SetGridy();
237 gPad->SetGridx();
238 PIDSig_data_Proj2->DrawNormalized("lhist");
239 PIDSig_mc_Proj2->DrawNormalized("lhistsame");
240 gPad->BuildLegend();
241
242 //nsig in data and MC
243 for(Int_t ipart=0;ipart<3;ipart++){
244 TCanvas *cnsig=new TCanvas(Form("cnsig%s",Particle[ipart].Data()),Form("cnsig%s",Particle[ipart].Data()),700,500);
245 cnsig->Divide(2,3);
246 cnsig->cd(1);
247 TH2F *nsig_data = (TH2F*)((TH2F*)hman_data->GetNSigHistogram(Form("hHistNSig%sPtTPC",Particle[ipart].Data())))->Clone();
248 nsig_data->GetYaxis()->SetRangeUser(-5,5);
249 nsig_data->Scale(1/nsig_data->GetMaximum());
250 nsig_data->SetXTitle("Pt (GeV/c)");
251 gPad->SetLogz();
252 gPad->SetGridy();
253 gPad->SetGridx();
254 nsig_data->DrawClone("colz");
255 cnsig->cd(2);
256 TH2F *nsig_mc = (TH2F*)((TH2F*)hman_mc->GetNSigHistogram(Form("hHistNSig%sPtTPC",Particle[ipart].Data())))->Clone();
257 nsig_mc->GetYaxis()->SetRangeUser(-5,5);
258 nsig_mc->Scale(1/nsig_mc->GetMaximum());
259 nsig_mc->SetXTitle("Pt (GeV/c)");
260 gPad->SetLogz();
261 gPad->SetGridy();
262 gPad->SetGridx();
263 nsig_mc->DrawClone("colz");
264 cnsig->cd(3);
265 TH2F *nsig_data = (TH2F*)((TH2F*)hman_data->GetNSigHistogram(Form("hHistNSig%sPtTOF",Particle[ipart].Data())))->Clone();
266 nsig_data->GetYaxis()->SetRangeUser(-5,5);
267 nsig_data->Scale(1/nsig_data->GetMaximum());
268 nsig_data->SetXTitle("Pt (GeV/c)");
269 gPad->SetLogz();
270 gPad->SetGridy();
271 gPad->SetGridx();
272 nsig_data->DrawClone("colz");
273 cnsig->cd(4);
274 TH2F *nsig_mc = (TH2F*)((TH2F*)hman_mc->GetNSigHistogram(Form("hHistNSig%sPtTOF",Particle[ipart].Data())))->Clone();
275 nsig_mc->GetYaxis()->SetRangeUser(-5,5);
276 nsig_mc->Scale(1/nsig_mc->GetMaximum());
277 nsig_mc->SetXTitle("Pt (GeV/c)");
278 gPad->SetLogz();
279 gPad->SetGridy();
280 gPad->SetGridx();
281 nsig_mc->DrawClone("colz");
282 cnsig->cd(5);
283 TH2F *nsig_data = (TH2F*)((TH2F*)hman_data->GetNSigHistogram(Form("hHistNSig%sPtTPCTOF",Particle[ipart].Data())))->Clone();
284 nsig_data->GetYaxis()->SetRangeUser(0,5);
285 nsig_data->Scale(1/nsig_data->GetMaximum());
286 nsig_data->SetXTitle("Pt (GeV/c)");
287 gPad->SetLogz();
288 gPad->SetGridy();
289 gPad->SetGridx();
290 nsig_data->DrawClone("colz");
291 cnsig->cd(6);
292 TH2F *nsig_mc = (TH2F*)((TH2F*)hman_mc->GetNSigHistogram(Form("hHistNSig%sPtTPCTOF",Particle[ipart].Data())))->Clone();
293 nsig_mc->GetYaxis()->SetRangeUser(0,5);
294 nsig_mc->Scale(1/nsig_mc->GetMaximum());
295 nsig_mc->SetXTitle("Pt (GeV/c)");
296 gPad->SetLogz();
297 gPad->SetGridy();
298 gPad->SetGridx();
299 nsig_mc->DrawClone("colz");
300 }
301
302 //NSigma projection in data and MC
303 Double_t Proj1[2]={0.4,0.5};
304 Double_t Proj2[2]={1.1,1.2};
305 TCanvas *cnsigProjection=new TCanvas("cnsigProjection","cnsigProjection",700,500);
306 cnsigProjection->Divide(2,3);
307 //TPC
308 for(Int_t ipart=0;ipart<3;ipart++){
309 TH2F *nsig_data = (TH2F*)((TH2F*)hman_data->GetNSigHistogram(Form("hHistNSig%sPtTPC",Particle[ipart].Data())))->Clone();
310 TH1F *nsig_data_Proj1=(TH1F*)nsig_data->ProjectionY(Form("TPC NsigProjectionv %s, data [%.1f,%.1f]",Particle[ipart].Data(),Proj1[0],Proj1[1]),
311 nsig_data->GetXaxis()->FindBin(Proj1[0]),nsig_data->GetXaxis()->FindBin(Proj1[1]));
312 TH1F *nsig_data_Proj2=(TH1F*)nsig_data->ProjectionY(Form("TPC NsigProjection %s, data [%.1f,%.1f]",Particle[ipart].Data(),Proj2[0],Proj2[1]),
313 nsig_data->GetXaxis()->FindBin(Proj2[0]),nsig_data->GetXaxis()->FindBin(Proj2[1]));
314 nsig_data_Proj1->SetTitle(Form("TPC NsigProjection %s, data [%.1f,%.1f]",Particle[ipart].Data(),Proj1[0],Proj1[1]));
315 nsig_data_Proj2->SetTitle(Form("TPC NsigProjection %s, data [%.1f,%.1f]",Particle[ipart].Data(),Proj2[0],Proj2[1]));
316 TH2F *nsig_mc = (TH2F*)((TH2F*)hman_mc->GetNSigHistogram(Form("hHistNSig%sPtTPC",Particle[ipart].Data())))->Clone();
317 TH1F *nsig_mc_Proj1=(TH1F*)nsig_mc->ProjectionY(Form("TPC NsigProjection %s, mc [%.1f,%.1f]",Particle[ipart].Data(),Proj1[0],Proj1[1]),
318 nsig_mc->GetXaxis()->FindBin(Proj1[0]),nsig_mc->GetXaxis()->FindBin(Proj1[1]));
319 TH1F *nsig_mc_Proj2=(TH1F*)nsig_mc->ProjectionY(Form("TPC NsigProjection %s, mc [%.1f,%.1f]",Particle[ipart].Data(),Proj2[0],Proj2[1]),
320 nsig_mc->GetXaxis()->FindBin(Proj2[0]),nsig_mc->GetXaxis()->FindBin(Proj2[1]));
321 nsig_mc_Proj1->SetTitle(Form("TPC NsigProjection %s, mc [%.1f,%.1f]",Particle[ipart].Data(),Proj1[0],Proj1[1]));
322 nsig_mc_Proj2->SetTitle(Form("TPC NsigProjection %s, mc [%.1f,%.1f]",Particle[ipart].Data(),Proj2[0],Proj2[1]));
323 nsig_mc_Proj1->SetLineColor(2);
324 nsig_mc_Proj2->SetLineColor(2);
325 cnsigProjection->cd(2*ipart+1);
326 gPad->SetLogy();
327 gPad->SetGridy();
328 gPad->SetGridx();
329 nsig_data_Proj1->DrawNormalized("lhist");
330 nsig_mc_Proj1->DrawNormalized("lhistsame");
331 gPad->BuildLegend();
332 cnsigProjection->cd(2*ipart+2);
333 gPad->SetLogy();
334 gPad->SetGridy();
335 gPad->SetGridx();
336 nsig_data_Proj2->DrawNormalized("lhist");
337 nsig_mc_Proj2->DrawNormalized("lhistsame");
338 gPad->BuildLegend();
339 }
340 return;
341
342 //Muon over Pion Ratio
343 Printf("\n\n-> Muon Over Pion");
344 TCanvas *cMu=new TCanvas("cMu","cMu");
345 TH1F *hMuOverPi[2];
346 TH1F *hMuOverPi_bis[2];
347 for(Int_t icharge=0;icharge<2;icharge++){
348 TString hname=Form("hHistPtRecTruePrimaryMuon%s",Sign[icharge].Data());
349 hMuOverPi[icharge]=(TH1F*)((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1))->Clone();
350 hname=Form("hHistPtRecTruePrimaryPion%s",Sign[icharge].Data());
351 hMuOverPi[icharge]->Divide((TH1F*)((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1))->Clone());
352 hname=Form("hHistPtRecTrueMuon%s",Sign[icharge].Data());
353 hMuOverPi_bis[icharge]=(TH1F*)((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1))->Clone();
354 hname=Form("hHistPtRecTruePrimaryPion%s",Sign[icharge].Data());
355 hMuOverPi_bis[icharge]->Divide((TH1F*)((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1))->Clone());
356 hMuOverPi_bis[icharge]->SetMarkerColor(2);
357 hMuOverPi_bis[icharge]->SetLineColor(2);
358 if(icharge==0)hMuOverPi_bis[icharge]->DrawClone();
359 else hMuOverPi_bis[icharge]->DrawClone("same");
360 hMuOverPi[icharge]->DrawClone("same");
361 }
362
363 //Contamination
364 Printf("\n\n-> Contamination from MC");
365 TH1F *Cont[6];
366 TCanvas *ccont=new TCanvas("ccont","ccont",700,500);
367 for(Int_t icharge=0;icharge<2;icharge++){
368 for(Int_t ipart=0;ipart<3;ipart++){
369 Int_t index=ipart+3*icharge;
370 TString hname=Form("hHistPtRecTrue%s%s",Particle[ipart].Data(),Sign[icharge].Data());
371 Printf("Getting %s",hname.Data());
372 Cont[index] =(TH1F*)((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1))->Clone();
373 Cont[index]->SetName(Form("Cont_%s%s",Particle[ipart].Data(),Sign[icharge].Data()));
374 Cont[index]->SetTitle(Form("RecTrue/RecSigma %s%s",Particle[ipart].Data(),Sign[icharge].Data()));
375 Cont[index]->SetMarkerStyle(Marker[index]);
376 Cont[index]->SetMarkerColor(Color[ipart]);
377 Cont[index]->SetLineColor(Color[ipart]);
378 hname=Form("hHistPtRecSigma%s%s",Particle[ipart].Data(),Sign[icharge].Data());
379 Printf("... and divide it by %s",hname.Data());
380 Cont[index]->Divide((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1));
381 if(index==0)Cont[index]->DrawClone();
382 else Cont[index]->DrawClone("same");
383 //Spectra[index]->Multiply(Cont[index]);
384 }
385 }
386 gPad->BuildLegend();
387
388
389 //Raw yield
390 TH1F *hRaw_data_allCh=(TH1F*)((TH1F*) hman_data->GetPtHistogram1D("hHistPtRec",-1,-1))->Clone();
391 hRaw_data_allCh->Scale(1./ecuts_data->NumberOfEvents(),"width");
392 TH1F *hRaw_mc_allCh=(TH1F*)((TH1F*) hman_mc->GetPtHistogram1D("hHistPtRec",-1,-1))->Clone();
393 hRaw_mc_allCh->Scale(1./ecuts_mc->NumberOfEvents(),"width");
394
395 TCanvas *cRaw=new TCanvas("cRaw","cRaw",700,500);
396 cRaw->Divide(2,2);
397 cRaw->cd(1);
398 gPad->SetLogy();
399 gPad->SetGridy();
400 gPad->SetGridx();
401 hRaw_data_allCh->DrawClone();
402 hRaw_mc_allCh->DrawClone("lhistsame");
403 cRaw->cd(2);
404 gPad->SetLogy();
405 gPad->SetGridy();
406 gPad->SetGridx();
407 hRaw_data_allCh->DrawClone();
408 hRaw_mc_allCh->DrawClone("lhistsame");
409 hRaw_data_allCh->Divide(hRaw_mc_allCh);
410 hRaw_data_allCh->SetLineStyle(2);
411 cRaw->cd(3);
412 gPad->SetGridy();
413 gPad->SetGridx();
414 hRaw_data_allCh->DrawClone("lhist");
415 cRaw->cd(4);
416 gPad->SetGridy();
417 gPad->SetGridx();
418 hRaw_data_allCh->DrawClone("lhist");
419 TH1F *hRaw_data[6];
420 TH1F *hRaw_mc[6];
421 for(Int_t icharge=0;icharge<2;icharge++){
422 for(Int_t ipart=0;ipart<3;ipart++){
423 Int_t index=ipart+3*icharge;
424 TString hname=Form("hHistPtRecSigma%s%s",Particle[ipart].Data(),Sign[icharge].Data()); //MC correction for Prim+Cont+Eff
425 hRaw_data[index]=(TH1F*)((TH1F*) hman_data->GetPtHistogram1D(hname.Data(),-1,-1))->Clone();
426 hRaw_data[index]->SetMarkerStyle(Marker[index]);
427 hRaw_data[index]->SetMarkerColor(Color[ipart]);
428 hRaw_data[index]->SetLineColor(Color[ipart]);
429 hRaw_data[index]->Scale(1./ecuts_data->NumberOfEvents(),"width");
430 hRaw_mc[index]=(TH1F*)((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1))->Clone();
431 hRaw_mc[index]->SetMarkerStyle(Marker[index]);
432 hRaw_mc[index]->SetMarkerColor(Color[ipart]);
433 hRaw_mc[index]->SetLineColor(Color[ipart]);
434 hRaw_mc[index]->Scale(1./ecuts_mc->NumberOfEvents(),"width");
435 for(Int_t ibin=0;ibin<hRaw_data[index]->GetNbinsX();ibin++){
436 if(hRaw_data[index]->GetBinCenter(ibin)<Range[ipart]){
437 hRaw_data[index]->SetBinContent(ibin,0);
438 hRaw_data[index]->SetBinError(ibin,0);
439 hRaw_mc[index]->SetBinContent(ibin,0);
440 hRaw_mc[index]->SetBinError(ibin,0);
441 }
442 }
443 cRaw->cd(icharge+1);
444 hRaw_data[index]->DrawClone("same");
445 hRaw_mc[index]->DrawClone("lhistsame");
446 hRaw_data[index]->Divide(hRaw_mc[index]);
447 cRaw->cd(icharge+3);
448 hRaw_data[index]->DrawClone("lhistsame");
449 }
450 }
451
452
453
454 //PID Efficiency //TO BE IMPLEMENTED, need to add TrueSigma in the Task
455 // Printf("\n\n-> PID efficiency from MC");
456 // TH1F *PIDEff[6];
457 // TCanvas *ccont=new TCanvas("ccont","ccont",700,500);
458 // for(Int_t icharge=0;icharge<2;icharge++){
459 // for(Int_t ipart=0;ipart<3;ipart++){
460 // Int_t index=ipart+3*icharge;
461 // TString hname=Form("hHistPtRecTrue%s%s",Particle[ipart].Data(),Sign[icharge].Data());
462 // Printf("Getting %s",hname.Data());
463 // PIDEff[index] =(TH1F*)((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1))->Clone();
464 // PIDEff[index]->SetName(Form("PIDEff_%s%s",Particle[ipart].Data(),Sign[icharge].Data()));
465 // PIDEff[index]->SetTitle(Form("RecTrue/RecSigma %s%s",Particle[ipart].Data(),Sign[icharge].Data()));
466 // PIDEff[index]->SetMarkerStyle(Marker[index]);
467 // PIDEff[index]->SetMarkerColor(Color[ipart]);
468 // PIDEff[index]->SetLineColor(Color[ipart]);
469 // hname=Form("hHistPtRecSigma%s%s",Particle[ipart].Data(),Sign[icharge].Data());
470 // Printf("... and divide it by %s",hname.Data());
471 // PIDEff[index]->Divide((TH1F*) hman_mc->GetPtHistogram1D(hname.Data(),-1,-1));
472 // if(index==0)PIDEff[index]->DrawClone();
473 // else PIDEff[index]->DrawClone("same");
474 // //Spectra[index]->Multiply(PIDEff[index]);
475 // }
476 // }
477 // gPad->BuildLegend();
478
479 //qvec in data and MC
480 // for (Int_t icharge=0;icharge<2;icharge++){
481 // TCanvas *cqvec=new TCanvas(Form("cqvec%s",Charge[icharge].Data()),Form("cqvec%s",Charge[icharge].Data()),700,500);
482 // cqvec->Divide(2,1);
483 // cqvec->cd(1);
484 // TString hname=Form("hHistqVec%s",Charge[icharge].Data());
485 // TH2F *qvec_data = (TH2F*)((TH2F*)hman_data->GetqVecHistogram(hname.Data()))->Clone();
486 // gPad->SetLogz();
487 // gPad->SetGridy();
488 // gPad->SetGridx();
489 // qvec_data->DrawClone("colz");
490 // cqvec->cd(2);
491 // TH2F *qvec_mc = (TH2F*)((TH2F*)hman_mc->GetqVecHistogram(hname.Data()))->Clone();
492 // gPad->SetLogz();
493 // gPad->SetGridy();
494 // gPad->SetGridx();
495 // qvec_mc->DrawClone("colz");
496
497 // TCanvas *cProjqvec=new TCanvas(Form("cProjqvec%s",Charge[icharge].Data()),Form("cProjqvec%s",Charge[icharge].Data()),700,500);
498 // cProjqvec->Divide(3,2);
499 // for(Int_t iproj=0;iproj<3;iproj++){
500 // TH1F *proj_data=(TH1F*)qvec_data->ProjectionX("data",qvec_data->GetYaxis()->FindBin(projl[iproj]),qvec_data->GetYaxis()->FindBin(proju[iproj]));
501 // if(proj_data->GetEntries()==0)continue;
502 // proj_data->Scale(1/proj_data->GetEntries());
503 // proj_data->SetTitle(Form("data q%s [%.0f,%.0f]",Charge[icharge].Data(),projl[iproj],proju[iproj]));
504 // TH1F *proj_mc=(TH1F*)qvec_mc->ProjectionX("mc",qvec_mc->GetYaxis()->FindBin(projl[iproj]),qvec_mc->GetYaxis()->FindBin(proju[iproj]));
505 // proj_mc->Scale(1/proj_mc->GetEntries());
506 // proj_mc->SetTitle(Form("mc q%s [%.0f,%.0f]",Charge[icharge].Data(),projl[iproj],proju[iproj]));
507 // proj_mc->SetLineColor(2);
508 // cProjqvec->cd(iproj+1);
509 // gPad->SetGridy();
510 // gPad->SetGridx();
511 // proj_data->DrawClone();
512 // proj_mc->DrawClone("same");
513 // gPad->BuildLegend();
514 // proj_data->Divide(proj_mc);
515 // cProjqvec->cd(iproj+4);
516 // proj_data->DrawClone();
517 // }
518 // }
519
520
521
522}