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