]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/SPECTRA/macros/drawProtonResults.C
HLT (temporary?) excluded from processing, as no files are produced by HLT DA for...
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / macros / drawProtonResults.C
CommitLineData
f203beb9 1void drawProtonResults(const char* analysisOutput = 0x0,
2 Bool_t kShowResults = kTRUE,
7ec0d93f 3 Bool_t kShowQAPlots = kFALSE,
4 Bool_t kMC = kFALSE) {
735cc63d 5 //Macro to visualize the proton ratio results
6 //It also visualizes the QA plots
790140ac 7 gStyle->SetPalette(1,0);
f203beb9 8 if(!analysisOutput)
9 Error("drawProtonResults::The analysis output was not defined!!!");
10 if(kShowResults) drawResults(analysisOutput);
7ec0d93f 11 if(kShowQAPlots) drawQAPlots(analysisOutput, kMC);
735cc63d 12}
13
790140ac 14//___________________________________________________//
f203beb9 15void drawResults(const char* analysisOutput) {
790140ac 16 //Draws the main results from the ratio analysis
3c669e09 17 gSystem->Load("libANALYSIS.so");
18 gSystem->Load("libANALYSISalice.so");
19 gSystem->Load("libCORRFW.so");
52b04cf9 20 gSystem->Load("libPWG2spectra.so");
3c669e09 21
52b04cf9 22 //Create the AliProtonAnalysis object
23 AliProtonAnalysis *analysis = new AliProtonAnalysis();
f203beb9 24 analysis->ReadFromFile(analysisOutput);
52b04cf9 25 TH1F *gHistEventStats = dynamic_cast<TH1F *>(analysis->GetEventStatistics());
26 TH2D *gHistYPtProtons = dynamic_cast<TH2D *>(analysis->GetProtonYPtHistogram());
27 TH2D *gHistYPtAntiProtons = dynamic_cast<TH2D *>(analysis->GetAntiProtonYPtHistogram());
28 TH1D *gHistYProtons = dynamic_cast<TH1D *>(analysis->GetProtonYHistogram());
29 TH1D *gHistYAntiProtons = dynamic_cast<TH1D *>(analysis->GetAntiProtonYHistogram());
30 TH1D *gHistPtProtons = dynamic_cast<TH1D *>(analysis->GetProtonPtHistogram());
31 TH1D *gHistPtAntiProtons = dynamic_cast<TH1D *>(analysis->GetAntiProtonPtHistogram());
32 TH1D *gHistYRatio = dynamic_cast<TH1D *>(analysis->GetYRatioHistogram());
33 TH1D *gHistPtRatio = dynamic_cast<TH1D *>(analysis->GetPtRatioHistogram());
790140ac 34
3c669e09 35 //==================================================================//
e56f08ed 36 TH2F *hEmptyRatio = new TH2F("hEmptyRatio",";;#bar{p}/p",100,-1.1,1.1,100,0.1,1.1);
52b04cf9 37 hEmptyRatio->SetStats(kFALSE);
38 hEmptyRatio->GetXaxis()->SetNdivisions(10);
39 hEmptyRatio->GetYaxis()->SetNdivisions(10);
40
41 TLatex *latex = new TLatex();
42 latex->SetTextSize(0.04);
43 latex->SetTextColor(2);
44
45 TF1 *fFitFunction = new TF1("fFitFunction","[0]",-0.5,0.5);
46 fFitFunction->SetParameter(0,0.7);
47
790140ac 48 TCanvas *c2D = new TCanvas("c2D","eta-pT (anti)protons",0,0,700,400);
49 c2D->SetFillColor(10); c2D->SetHighLightColor(10); c2D->Divide(2,1);
50 c2D->cd(1); gHistYPtProtons->Draw("col");
51 c2D->cd(2); gHistYPtAntiProtons->Draw("col");
3c669e09 52
53 TCanvas *cEventStats = new TCanvas("cEventStats","Event statistics",
54 0,0,500,500);
55 cEventStats->SetFillColor(10); cEventStats->SetHighLightColor(10);
56 gHistEventStats->Draw();
52b04cf9 57
58 TCanvas *cEta = new TCanvas("cEta","Eta",100,0,600,400);
59 cEta->SetFillColor(10); cEta->SetHighLightColor(10); cEta->Divide(2,1);
629e3967 60 cEta->cd(1); gHistYProtons->Draw("E"); PrintYields(gHistYProtons);
61 cEta->cd(2); gHistYAntiProtons->Draw("E"); PrintYields(gHistYAntiProtons);
52b04cf9 62
63 TCanvas *cPt = new TCanvas("cPt","Pt",100,200,600,400);
64 cPt->SetFillColor(10); cPt->SetHighLightColor(10); cPt->Divide(2,1);
65 cPt->cd(1)->SetLogy(); gHistPtProtons->Draw("E");
66 cPt->cd(2)->SetLogy(); gHistPtAntiProtons->Draw("E");
67
68 TCanvas *cRatio = new TCanvas("cRatio","Ratio",300,0,600,400);
69 cRatio->SetFillColor(10); cRatio->SetHighLightColor(10); cRatio->Divide(2,1);
70 cRatio->cd(1); hEmptyRatio->GetXaxis()->SetTitle("eta");
e56f08ed 71 hEmptyRatio->GetXaxis()->SetRangeUser(-1.0,1.0);
52b04cf9 72 hEmptyRatio->DrawCopy(); gHistYRatio->Draw("ESAME");
73 gHistYRatio->Fit("fFitFunction","N");
74 latex->DrawLatex(-0.1,0.45,"ALICE PRELIMINARY");
75 latex->DrawLatex(-0.1,0.4,"p-p: #sqrt{s} = 900 GeV");
76 cRatio->cd(2); hEmptyRatio->GetXaxis()->SetTitle("P_{T} [GeV/c]");
77 hEmptyRatio->GetXaxis()->SetRangeUser(0.3,1.1);
78 hEmptyRatio->DrawCopy(); gHistPtRatio->Draw("ESAME");
79 latex->DrawLatex(0.6,0.45,"ALICE PRELIMINARY");
80 latex->DrawLatex(0.6,0.4,"p-p: #sqrt{s} = 900 GeV");
81
82
83 Printf("==========================================");
e56f08ed 84 for(Int_t iBin = 1; iBin <= gHistYRatio->GetNbinsX(); iBin++)
85 Printf("Eta: %lf - Ratio: %lf - Error: %lf",
86 gHistYRatio->GetBinCenter(iBin),
87 gHistYRatio->GetBinContent(iBin),
88 gHistYRatio->GetBinError(iBin));
89 Printf("==========================================");
90
52b04cf9 91 Printf("Fit result: %lf - %lf",fFitFunction->GetParameter(0),fFitFunction->GetParError(0));
92 analysis->PrintMean(gHistYRatio,0.5);
93 Printf("==========================================");
790140ac 94}
95
735cc63d 96//___________________________________________________//
7ec0d93f 97void drawQAPlots(const char* analysisOutput,
98 Bool_t kMC) {
735cc63d 99 //Draws the QA plots from the output of the analysis
100 //=========================================================//
101 //List of cuts
102 TFile *fCutFile = TFile::Open("ListOfCuts.root");
103 TCanvas *cListOfCuts = dynamic_cast<TCanvas *>(fCutFile->Get("cListOfCuts"));
104 cListOfCuts->Draw();
105
106 //=========================================================//
107 //QA plots
f203beb9 108 TFile *f = TFile::Open(analysisOutput);
735cc63d 109 TList *listQA = dynamic_cast<TList *>(f->Get("outputQAList"));
110 TList *gListGlobalQA = dynamic_cast<TList *>(listQA->At(0));
111
112 //================QA plots================//
113 TList *fQA2DList = dynamic_cast<TList *>(gListGlobalQA->At(0));
37cb8683 114 //2D de/dx vs P
790140ac 115 TH2F *gHistdEdxP = dynamic_cast<TH2F *>(fQA2DList->At(0));
116 gHistdEdxP->SetStats(kFALSE);
7ec0d93f 117 drawdEdx(gHistdEdxP);
790140ac 118 TH2F *gHistProtonsdEdxP = dynamic_cast<TH2F *>(fQA2DList->At(1));
119 gHistProtonsdEdxP->SetStats(kFALSE);
37cb8683 120
7ec0d93f 121 //Theoretical Bethe-Bloch
122 Double_t fAlephParameters[5];
123 if(kMC) {
124 fAlephParameters[0] = 2.15898e+00/50.;
125 fAlephParameters[1] = 1.75295e+01;
126 fAlephParameters[2] = 3.40030e-09;
127 fAlephParameters[3] = 1.96178e+00;
128 fAlephParameters[4] = 3.91720e+00;
129 }
130 else {
131 fAlephParameters[0] = 0.0283086;
132 fAlephParameters[1] = 2.63394e+01;
133 fAlephParameters[2] = 5.04114e-11;
134 fAlephParameters[3] = 2.12543e+00;
135 fAlephParameters[4] = 4.88663e+00;
136 }
137
138 AliTPCPIDResponse *tpcResponse = new AliTPCPIDResponse();
139 tpcResponse->SetBetheBlochParameters(fAlephParameters[0],
140 fAlephParameters[1],
141 fAlephParameters[2],
142 fAlephParameters[3],
143 fAlephParameters[4]);
144 const Int_t nEntries = 10000;
145 Double_t mom[nEntries];
146 Double_t dEdxElectrons[nEntries];
147 Double_t dEdxMuons[nEntries];
148 Double_t dEdxPions[nEntries];
149 Double_t dEdxKaons[nEntries];
150 Double_t dEdxProtons[nEntries];
151 for(Int_t i = 0; i < nEntries; i++) {
152 mom[i] = 0.01 + 0.01*i;
153 dEdxElectrons[i] = tpcResponse->GetExpectedSignal(mom[i],0);
154 dEdxMuons[i] = tpcResponse->GetExpectedSignal(mom[i],1);
155 dEdxPions[i] = tpcResponse->GetExpectedSignal(mom[i],2);
156 dEdxKaons[i] = tpcResponse->GetExpectedSignal(mom[i],3);
157 dEdxProtons[i] = tpcResponse->GetExpectedSignal(mom[i],4);
158 }
159
160 TGraph *grElectrons = new TGraph(nEntries,mom,dEdxElectrons);
161 grElectrons->SetName("grElectrons");
162 grElectrons->SetLineColor(6); grElectrons->SetLineWidth(2);
163 TGraph *grMuons = new TGraph(nEntries,mom,dEdxMuons);
164 grMuons->SetLineColor(3); grMuons->SetLineWidth(2);
165 grMuons->SetName("grMuons");
166 TGraph *grPions = new TGraph(nEntries,mom,dEdxPions);
167 grPions->SetLineColor(1); grPions->SetLineWidth(2);
168 grPions->SetName("grPions");
169 TGraph *grKaons = new TGraph(nEntries,mom,dEdxKaons);
170 grKaons->SetLineColor(2); grKaons->SetLineWidth(2);
171 grKaons->SetName("grKaons");
172 TGraph *grProtons = new TGraph(nEntries,mom,dEdxProtons);
173 grProtons->SetLineColor(4); grProtons->SetLineWidth(2);
174 grProtons->SetName("grProtons");
175
37cb8683 176 //3D eta-phi-NPoints(dEdx)
177 TH3F *gHistEtaPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(2));
178 TH2D *gHistEtaPhi = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("yx");
179 gHistEtaPhi->SetStats(kFALSE);
180 TH2D *gHistEtaTPCdEdxNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("zx");
181 gHistEtaTPCdEdxNPoints->SetStats(kFALSE);
182 TH2D *gHistPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("zy");
183 gHistPhiTPCdEdxNPoints->SetStats(kFALSE);
184
185 //3D eta-phi-NPoints(dEdx): protons
186 TH3F *gHistProtonsEtaPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(3));
187 TH2D *gHistProtonsEtaPhi = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("yx");
188 gHistProtonsEtaPhi->SetStats(kFALSE);
189 TH2D *gHistProtonsEtaTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("zx");
190 gHistProtonsEtaTPCdEdxNPoints->SetStats(kFALSE);
191 TH2D *gHistProtonsPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("zy");
192 gHistProtonsPhiTPCdEdxNPoints->SetStats(kFALSE);
193
194 //3D eta-phi-NPoints
195 TH3F *gHistEtaPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(4));
196 TH2D *gHistEtaPhi = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("yx");
197 gHistEtaPhi->SetStats(kFALSE);
198 TH2D *gHistEtaTPCNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("zx");
199 gHistEtaTPCNPoints->SetStats(kFALSE);
200 TH2D *gHistPhiTPCNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("zy");
201 gHistPhiTPCNPoints->SetStats(kFALSE);
202
203 //3D eta-phi-NPoints: protons
204 TH3F *gHistProtonsEtaPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(5));
205 TH2D *gHistProtonsEtaPhi = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("yx");
206 gHistProtonsEtaPhi->SetStats(kFALSE);
207 TH2D *gHistProtonsEtaTPCNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("zx");
208 gHistProtonsEtaTPCNPoints->SetStats(kFALSE);
209 TH2D *gHistProtonsPhiTPCNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("zy");
210 gHistProtonsPhiTPCNPoints->SetStats(kFALSE);
211
212 //3D pt-phi-NPoints(dEdx)
213 TH3F *gHistPtPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(6));
214 TH2D *gHistPtPhi = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("yx");
215 gHistPtPhi->SetStats(kFALSE);
216 TH2D *gHistPtTPCdEdxNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("zx");
217 gHistPtTPCdEdxNPoints->SetStats(kFALSE);
218 TH2D *gHistPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("zy");
219 gHistPhiTPCdEdxNPoints->SetStats(kFALSE);
220
221 //3D pt-phi-NPoints(dEdx): protons
222 TH3F *gHistProtonsPtPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(7));
223 TH2D *gHistProtonsPtPhi = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("yx");
224 gHistProtonsPtPhi->SetStats(kFALSE);
225 TH2D *gHistProtonsPtTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("zx");
226 gHistProtonsPtTPCdEdxNPoints->SetStats(kFALSE);
227 TH2D *gHistProtonsPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("zy");
228 gHistProtonsPhiTPCdEdxNPoints->SetStats(kFALSE);
229
230 //3D pt-phi-NPoints
231 TH3F *gHistPtPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(8));
232 TH2D *gHistPtPhi = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("yx");
233 gHistPtPhi->SetStats(kFALSE);
234 TH2D *gHistPtTPCNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("zx");
235 gHistPtTPCNPoints->SetStats(kFALSE);
236 TH2D *gHistPhiTPCNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("zy");
237 gHistPhiTPCNPoints->SetStats(kFALSE);
238
239 //3D pt-phi-NPoints: protons
240 TH3F *gHistProtonsPtPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(9));
241 TH2D *gHistProtonsPtPhi = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("yx");
242 gHistProtonsPtPhi->SetStats(kFALSE);
243 TH2D *gHistProtonsPtTPCNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("zx");
244 gHistProtonsPtTPCNPoints->SetStats(kFALSE);
245 TH2D *gHistProtonsPhiTPCNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("zy");
246 gHistProtonsPhiTPCNPoints->SetStats(kFALSE);
247
e56f08ed 248 //2D eta-phi- accepted protons & antiprotons
249 TH2F *gHistEtaPhiProtons = dynamic_cast<TH2F *>(fQA2DList->At(10));
250 gHistEtaPhiProtons->SetStats(kFALSE);
251 TH2F *gHistEtaPhiAntiProtons = dynamic_cast<TH2F *>(fQA2DList->At(11));
252 gHistEtaPhiAntiProtons->SetStats(kFALSE);
253
629e3967 254 //2D dca vs pT - accepted protons & antiprotons
255 TH2F *gHistDCAxyPtProtons = dynamic_cast<TH2F *>(fQA2DList->At(12));
256 gHistDCAxyPtProtons->SetStats(kFALSE);
257 TH2F *gHistDCAzPtProtons = dynamic_cast<TH2F *>(fQA2DList->At(13));
258 gHistDCAzPtProtons->SetStats(kFALSE);
259 TH2F *gHistDCAxyPtAntiProtons = dynamic_cast<TH2F *>(fQA2DList->At(14));
260 gHistDCAxyPtAntiProtons->SetStats(kFALSE);
261 TH2F *gHistDCAzPtAntiProtons = dynamic_cast<TH2F *>(fQA2DList->At(15));
262 gHistDCAzPtAntiProtons->SetStats(kFALSE);
263
37cb8683 264 //__________________________________________________//
7ec0d93f 265 TH2F *hEmptydEdx = new TH2F("hEmptydEdx",
266 "TPC dE/dx parametrization;P[GeV/c];dE/dx [a.u]",
267 100,0.01,110.,100,30,1000);
268 hEmptydEdx->SetStats(kFALSE);
269
270 TLatex *latex = new TLatex();
271 latex->SetTextSize(0.035);
272
790140ac 273 TCanvas *cdEdx = new TCanvas("cdEdx","dE/dx (TPC)",0,0,700,400);
274 cdEdx->SetFillColor(10); cdEdx->SetHighLightColor(10); cdEdx->Divide(2,1);
762a6c16 275 cdEdx->cd(1)->SetLogx(); cdEdx->cd(1)->SetLogy(); hEmptydEdx->DrawCopy();
7ec0d93f 276 gHistdEdxP->Draw("colsame");
277 grElectrons->Draw("LSAME"); latex->SetTextColor(6); latex->DrawLatex(0.02,55,"e");
278 grMuons->Draw("LSAME"); latex->SetTextColor(3); latex->DrawLatex(0.02,400,"#mu");
279 grPions->Draw("LSAME"); latex->SetTextColor(1); latex->DrawLatex(0.05,400,"#pi");
280 grKaons->Draw("LSAME"); latex->SetTextColor(2); latex->DrawLatex(0.17,400,"K");
281 grProtons->Draw("LSAME"); latex->SetTextColor(4); latex->DrawLatex(0.35,400,"p");
282
790140ac 283 cdEdx->cd(2)->SetLogx(); gHistProtonsdEdxP->Draw("col");
735cc63d 284
e56f08ed 285 TCanvas *cEtaPhi = new TCanvas("cEtaPhi",
286 "eta-phi",
287 0,0,700,400);
288 cEtaPhi->SetFillColor(10);
289 cEtaPhi->SetHighLightColor(10); cEtaPhi->Divide(2,1);
7ec0d93f 290 cEtaPhi->cd(1);
291 gHistEtaPhiProtons->SetTitle("Accepted protons - eta vs phi");
292 gHistEtaPhiProtons->Draw("colz");
293 cEtaPhi->cd(2);
294 gHistEtaPhiAntiProtons->SetTitle("Accepted antiprotons - eta vs phi");
295 gHistEtaPhiAntiProtons->Draw("colz");
e56f08ed 296
629e3967 297 TCanvas *cDCAPt = new TCanvas("cDCAPt","pT-dca",0,0,700,700);
298 cDCAPt->SetFillColor(10);
299 cDCAPt->SetHighLightColor(10); cDCAPt->Divide(2,2);
7ec0d93f 300 cDCAPt->cd(1);
301 gHistDCAxyPtProtons->SetTitle("Accepted protons - dca(xy) vs Pt");
302 gHistDCAxyPtProtons->Draw("colz");
303 cDCAPt->cd(2);
304 gHistDCAzPtProtons->SetTitle("Accepted protons - dca(z) vs Pt");
305 gHistDCAzPtProtons->Draw("colz");
306 cDCAPt->cd(3);
307 gHistDCAxyPtAntiProtons->SetTitle("Accepted antiprotons - dca(xy) vs Pt");
308 gHistDCAxyPtAntiProtons->Draw("colz");
309 cDCAPt->cd(4);
310 gHistDCAzPtAntiProtons->SetTitle("Accepted antiprotons - dca(z) vs Pt");
311 gHistDCAzPtAntiProtons->Draw("colz");
629e3967 312
e56f08ed 313 /*TCanvas *cEtaPhiNPointsdEdx = new TCanvas("cEtaPhiNPointsdEdx",
37cb8683 314 "eta-phi-NPoints(dE/dx)",
315 0,0,900,600);
316 cEtaPhiNPointsdEdx->SetFillColor(10);
317 cEtaPhiNPointsdEdx->SetHighLightColor(10); cEtaPhiNPointsdEdx->Divide(3,2);
318 cEtaPhiNPointsdEdx->cd(1); gHistEtaPhi->Draw("col");
319 cEtaPhiNPointsdEdx->cd(2); gHistEtaTPCdEdxNPoints->Draw("col");
320 cEtaPhiNPointsdEdx->cd(3); gHistPhiTPCdEdxNPoints->Draw("col");
321 cEtaPhiNPointsdEdx->cd(4); gHistProtonsEtaPhi->Draw("col");
322 cEtaPhiNPointsdEdx->cd(5); gHistProtonsEtaTPCdEdxNPoints->Draw("col");
323 cEtaPhiNPointsdEdx->cd(6); gHistProtonsPhiTPCdEdxNPoints->Draw("col");
324
325 TCanvas *cEtaPhiNPoints = new TCanvas("cEtaPhiNPoints",
326 "eta-phi-NPoints",
327 0,0,900,600);
328 cEtaPhiNPoints->SetFillColor(10);
329 cEtaPhiNPoints->SetHighLightColor(10); cEtaPhiNPoints->Divide(3,2);
330 cEtaPhiNPoints->cd(1); gHistEtaPhi->Draw("col");
331 cEtaPhiNPoints->cd(2); gHistEtaTPCNPoints->Draw("col");
332 cEtaPhiNPoints->cd(3); gHistPhiTPCNPoints->Draw("col");
333 cEtaPhiNPoints->cd(4); gHistProtonsEtaPhi->Draw("col");
334 cEtaPhiNPoints->cd(5); gHistProtonsEtaTPCNPoints->Draw("col");
335 cEtaPhiNPoints->cd(6); gHistProtonsPhiTPCNPoints->Draw("col");
336
337 TCanvas *cPtPhiNPointsdEdx = new TCanvas("cPtPhiNPointsdEdx",
338 "pt-phi-NPoints(dE/dx)",
339 0,0,900,600);
340 cPtPhiNPointsdEdx->SetFillColor(10);
341 cPtPhiNPointsdEdx->SetHighLightColor(10); cPtPhiNPointsdEdx->Divide(3,2);
342 cPtPhiNPointsdEdx->cd(1); gHistPtPhi->Draw("col");
343 cPtPhiNPointsdEdx->cd(2); gHistPtTPCdEdxNPoints->Draw("col");
344 cPtPhiNPointsdEdx->cd(3); gHistPhiTPCdEdxNPoints->Draw("col");
345 cPtPhiNPointsdEdx->cd(4); gHistProtonsPtPhi->Draw("col");
346 cPtPhiNPointsdEdx->cd(5); gHistProtonsPtTPCdEdxNPoints->Draw("col");
347 cPtPhiNPointsdEdx->cd(6); gHistProtonsPhiTPCdEdxNPoints->Draw("col");
348
349 TCanvas *cPtPhiNPoints = new TCanvas("cPtPhiNPoints",
350 "pt-phi-NPoints",
351 0,0,900,600);
352 cPtPhiNPoints->SetFillColor(10);
353 cPtPhiNPoints->SetHighLightColor(10); cPtPhiNPoints->Divide(3,2);
354 cPtPhiNPoints->cd(1); gHistPtPhi->Draw("col");
355 cPtPhiNPoints->cd(2); gHistPtTPCNPoints->Draw("col");
356 cPtPhiNPoints->cd(3); gHistPhiTPCNPoints->Draw("col");
357 cPtPhiNPoints->cd(4); gHistProtonsPtPhi->Draw("col");
358 cPtPhiNPoints->cd(5); gHistProtonsPtTPCNPoints->Draw("col");
e56f08ed 359 cPtPhiNPoints->cd(6); gHistProtonsPhiTPCNPoints->Draw("col");*/
37cb8683 360
735cc63d 361 //Accepted protons
362 TList *fQAProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQA->At(1));
363 TH1F *gProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(0));
364 TH1F *gProtonsChi2PerClusterITSPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(1));
365 TH1F *gProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(2));
366 TH1F *gProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(3));
367 TH1F *gProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(4));
368 TH1F *gProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(5));
369 TH1F *gProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(6));
370 TH1F *gProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(7));
371 TH1F *gProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(8));
372 TH1F *gProtonsSigmaToVertexPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(9));
373 TH1F *gProtonsSigmaToVertexTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(10));
374 TH1F *gProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(11));
375 TH1F *gProtonsDCAXYTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(12));
376 TH1F *gProtonsDCAZPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(13));
377 TH1F *gProtonsDCAZTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(14));
378 TH1F *gProtonsConstrainChi2Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(15));
379 TH1F *gProtonsITSRefitPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(16));
380 TH1F *gProtonsTPCRefitPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(17));
381 TH1F *gProtonsESDpidPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(18));
382 TH1F *gProtonsTPCpidPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(19));
383 TH1F *gProtonsPointOnITSLayer1Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(20));
384 TH1F *gProtonsPointOnITSLayer2Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(21));
385 TH1F *gProtonsPointOnITSLayer3Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(22));
386 TH1F *gProtonsPointOnITSLayer4Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(23));
387 TH1F *gProtonsPointOnITSLayer5Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(24));
388 TH1F *gProtonsPointOnITSLayer6Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(25));
389 TH1F *gProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(26));
390
391 //Rejected protons
392 TList *fQAProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQA->At(2));
393 TH1F *gProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(0));
394 TH1F *gProtonsChi2PerClusterITSReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(1));
395 TH1F *gProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(2));
396 TH1F *gProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(3));
397 TH1F *gProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(4));
398 TH1F *gProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(5));
399 TH1F *gProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(6));
400 TH1F *gProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(7));
401 TH1F *gProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(8));
402 TH1F *gProtonsSigmaToVertexReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(9));
403 TH1F *gProtonsSigmaToVertexTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(10));
404 TH1F *gProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(11));
405 TH1F *gProtonsDCAXYTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(12));
406 TH1F *gProtonsDCAZReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(13));
407 TH1F *gProtonsDCAZTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(14));
408 TH1F *gProtonsConstrainChi2Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(15));
409 TH1F *gProtonsITSRefitReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(16));
410 TH1F *gProtonsTPCRefitReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(17));
411 TH1F *gProtonsESDpidReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(18));
412 TH1F *gProtonsTPCpidReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(19));
413 TH1F *gProtonsPointOnITSLayer1Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(20));
414 TH1F *gProtonsPointOnITSLayer2Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(21));
415 TH1F *gProtonsPointOnITSLayer3Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(22));
416 TH1F *gProtonsPointOnITSLayer4Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(23));
417 TH1F *gProtonsPointOnITSLayer5Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(24));
418 TH1F *gProtonsPointOnITSLayer6Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(25));
419 TH1F *gProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(26));
420
421 //Accepted antiprotons
422 TList *fQAAntiProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQA->At(3));
423 TH1F *gAntiProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(0));
424 TH1F *gAntiProtonsChi2PerClusterITSPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(1));
425 TH1F *gAntiProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(2));
426 TH1F *gAntiProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(3));
427 TH1F *gAntiProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(4));
428 TH1F *gAntiProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(5));
429 TH1F *gAntiProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(6));
430 TH1F *gAntiProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(7));
431 TH1F *gAntiProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(8));
432 TH1F *gAntiProtonsSigmaToVertexPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(9));
433 TH1F *gAntiProtonsSigmaToVertexTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(10));
434 TH1F *gAntiProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(11));
435 TH1F *gAntiProtonsDCAXYTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(12));
436 TH1F *gAntiProtonsDCAZPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(13));
437 TH1F *gAntiProtonsDCAZTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(14));
438 TH1F *gAntiProtonsConstrainChi2Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(15));
439 TH1F *gAntiProtonsITSRefitPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(16));
440 TH1F *gAntiProtonsTPCRefitPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(17));
441 TH1F *gAntiProtonsESDpidPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(18));
442 TH1F *gAntiProtonsTPCpidPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(19));
443 TH1F *gAntiProtonsPointOnITSLayer1Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(20));
444 TH1F *gAntiProtonsPointOnITSLayer2Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(21));
445 TH1F *gAntiProtonsPointOnITSLayer3Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(22));
446 TH1F *gAntiProtonsPointOnITSLayer4Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(23));
447 TH1F *gAntiProtonsPointOnITSLayer5Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(24));
448 TH1F *gAntiProtonsPointOnITSLayer6Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(25));
449 TH1F *gAntiProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(26));
450
451 //Rejected antiprotons
452 TList *fQAAntiProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQA->At(4));
453 TH1F *gAntiProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(0));
454 TH1F *gAntiProtonsChi2PerClusterITSReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(1));
455 TH1F *gAntiProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(2));
456 TH1F *gAntiProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(3));
457 TH1F *gAntiProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(4));
458 TH1F *gAntiProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(5));
459 TH1F *gAntiProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(6));
460 TH1F *gAntiProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(7));
461 TH1F *gAntiProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(8));
462 TH1F *gAntiProtonsSigmaToVertexReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(9));
463 TH1F *gAntiProtonsSigmaToVertexTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(10));
464 TH1F *gAntiProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(11));
465 TH1F *gAntiProtonsDCAXYTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(12));
466 TH1F *gAntiProtonsDCAZReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(13));
467 TH1F *gAntiProtonsDCAZTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(14));
468 TH1F *gAntiProtonsConstrainChi2Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(15));
469 TH1F *gAntiProtonsITSRefitReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(16));
470 TH1F *gAntiProtonsTPCRefitReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(17));
471 TH1F *gAntiProtonsESDpidReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(18));
472 TH1F *gAntiProtonsTPCpidReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(19));
473 TH1F *gAntiProtonsPointOnITSLayer1Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(20));
474 TH1F *gAntiProtonsPointOnITSLayer2Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(21));
475 TH1F *gAntiProtonsPointOnITSLayer3Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(22));
476 TH1F *gAntiProtonsPointOnITSLayer4Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(23));
477 TH1F *gAntiProtonsPointOnITSLayer5Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(24));
478 TH1F *gAntiProtonsPointOnITSLayer6Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(25));
479 TH1F *gAntiProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(26));
480
481 //__________________________________________________//
790140ac 482 TCanvas *c1 = new TCanvas("c1","ITS clusters",0,0,600,400);
735cc63d 483 c1->SetFillColor(10); c1->SetHighLightColor(10);
484 c1->Divide(2,1);
485 c1->cd(1); gProtonsITSClustersPass->Draw();
486 gProtonsITSClustersReject->Draw("same");
487 c1->cd(2); gAntiProtonsITSClustersPass->Draw();
488 gAntiProtonsITSClustersReject->Draw("same");
489
790140ac 490 TCanvas *c2 = new TCanvas("c2","chi^2 per ITS cluster",0,100,600,400);
735cc63d 491 c2->SetFillColor(10); c2->SetHighLightColor(10);
492 c2->Divide(2,1);
493 c2->cd(1); gProtonsChi2PerClusterITSPass->Draw();
494 gProtonsChi2PerClusterITSReject->Draw("same");
495 c2->cd(2); gAntiProtonsChi2PerClusterITSPass->Draw();
496 gAntiProtonsChi2PerClusterITSReject->Draw("same");
497
790140ac 498 TCanvas *c3 = new TCanvas("c3","TPC clusters",0,200,600,400);
735cc63d 499 c3->SetFillColor(10); c3->SetHighLightColor(10);
500 c3->Divide(2,1);
501 c3->cd(1); gProtonsTPCClustersPass->Draw();
502 gProtonsTPCClustersReject->Draw("same");
503 c3->cd(2); gAntiProtonsTPCClustersPass->Draw();
504 gAntiProtonsTPCClustersReject->Draw("same");
505
790140ac 506 TCanvas *c4 = new TCanvas("c4","chi^2 per TPC cluster",0,300,600,400);
735cc63d 507 c4->SetFillColor(10); c4->SetHighLightColor(10);
508 c4->Divide(2,1);
509 c4->cd(1); gProtonsChi2PerClusterTPCPass->Draw();
510 gProtonsChi2PerClusterTPCReject->Draw("same");
511 c4->cd(2); gAntiProtonsChi2PerClusterTPCPass->Draw();
512 gAntiProtonsChi2PerClusterTPCReject->Draw("same");
513
37cb8683 514 if(gProtonsExtCov11Pass->GetEntries() != 0) {
515 TCanvas *c5 = new TCanvas("c5","Cov11",0,400,600,400);
516 c5->SetFillColor(10); c5->SetHighLightColor(10);
517 c5->Divide(2,1);
518 c5->cd(1)->SetLogy(); gProtonsExtCov11Pass->Draw();
519 gProtonsExtCov11Reject->Draw("same");
520 c5->cd(2)->SetLogy(); gAntiProtonsExtCov11Pass->Draw();
521 gAntiProtonsExtCov11Reject->Draw("same");
522 }
523
524 if(gProtonsExtCov11Pass->GetEntries() != 0) {
525 TCanvas *c6 = new TCanvas("c6","Cov22",0,500,600,400);
526 c6->SetFillColor(10); c6->SetHighLightColor(10);
527 c6->Divide(2,1);
528 c6->cd(1)->SetLogy(); gProtonsExtCov22Pass->Draw();
529 gProtonsExtCov22Reject->Draw("same");
530 c6->cd(2)->SetLogy(); gAntiProtonsExtCov22Pass->Draw();
531 gAntiProtonsExtCov22Reject->Draw("same");
532 }
533
534 if(gProtonsExtCov11Pass->GetEntries() != 0) {
535 TCanvas *c7 = new TCanvas("c7","Cov33",600,0,600,400);
536 c7->SetFillColor(10); c7->SetHighLightColor(10);
537 c7->Divide(2,1);
538 c7->cd(1)->SetLogy(); gProtonsExtCov33Pass->Draw();
539 gProtonsExtCov33Reject->Draw("same");
540 c7->cd(2)->SetLogy(); gAntiProtonsExtCov33Pass->Draw();
541 gAntiProtonsExtCov33Reject->Draw("same");
542 }
543
544 if(gProtonsExtCov11Pass->GetEntries() != 0) {
545 TCanvas *c8 = new TCanvas("c8","Cov44",600,100,600,400);
546 c8->SetFillColor(10); c8->SetHighLightColor(10);
547 c8->Divide(2,1);
548 c8->cd(1)->SetLogy(); gProtonsExtCov44Pass->Draw();
549 gProtonsExtCov44Reject->Draw("same");
550 c8->cd(2)->SetLogy(); gAntiProtonsExtCov44Pass->Draw();
551 gAntiProtonsExtCov44Reject->Draw("same");
552 }
553
554 if(gProtonsExtCov11Pass->GetEntries() != 0) {
555 TCanvas *c9 = new TCanvas("c9","Cov55",600,200,600,400);
556 c9->SetFillColor(10); c9->SetHighLightColor(10);
557 c9->Divide(2,1);
558 c9->cd(1)->SetLogy(); gProtonsExtCov55Pass->Draw();
559 gProtonsExtCov55Reject->Draw("same");
560 c9->cd(2)->SetLogy(); gAntiProtonsExtCov55Pass->Draw();
561 gAntiProtonsExtCov55Reject->Draw("same");
562 }
563
564 if(gProtonsSigmaToVertexPass->GetEntries() != 0) {
565 TCanvas *c10 = new TCanvas("c10","N-sigma to Vertex",600,300,600,400);
566 c10->SetFillColor(10); c10->SetHighLightColor(10);
567 c10->Divide(2,1);
568 c10->cd(1)->SetLogy(); gProtonsSigmaToVertexPass->Draw();
569 gProtonsSigmaToVertexReject->Draw("same");
570 c10->cd(2)->SetLogy(); gAntiProtonsSigmaToVertexPass->Draw();
571 gAntiProtonsSigmaToVertexReject->Draw("same");
572 }
573
574 if(gProtonsSigmaToVertexTPCPass->GetEntries() != 0) {
575 TCanvas *c11 = new TCanvas("c11","N-sigma to Vertex (TPC)",600,400,600,400);
576 c11->SetFillColor(10); c11->SetHighLightColor(10);
577 c11->Divide(2,1);
578 c11->cd(1)->SetLogy(); gProtonsSigmaToVertexTPCPass->Draw();
579 gProtonsSigmaToVertexTPCReject->Draw("same");
580 c11->cd(2)->SetLogy(); gAntiProtonsSigmaToVertexTPCPass->Draw();
581 gAntiProtonsSigmaToVertexTPCReject->Draw("same");
582 }
583
584 if(gProtonsDCAXYPass->GetEntries() != 0) {
585 TCanvas *c12 = new TCanvas("c12","dca(xy)",600,500,600,400);
586 c12->SetFillColor(10); c12->SetHighLightColor(10);
587 c12->Divide(2,1);
588 c12->cd(1)->SetLogy(); gProtonsDCAXYPass->Draw();
589 gProtonsDCAXYReject->Draw("same");
590 c12->cd(2)->SetLogy(); gAntiProtonsDCAXYPass->Draw();
591 gAntiProtonsDCAXYReject->Draw("same");
592 }
593
594 if(gProtonsDCAXYTPCPass->GetEntries() != 0) {
595 TCanvas *c13 = new TCanvas("c13","dca(xy - TPC)",1200,0,600,400);
596 c13->SetFillColor(10); c13->SetHighLightColor(10);
597 c13->Divide(2,1);
598 c13->cd(1)->SetLogy(); gProtonsDCAXYTPCPass->Draw();
599 gProtonsDCAXYTPCReject->Draw("same");
600 c13->cd(2)->SetLogy(); gAntiProtonsDCAXYTPCPass->Draw();
601 gAntiProtonsDCAXYTPCReject->Draw("same");
602 }
603
604 if(gProtonsDCAZPass->GetEntries() != 0) {
605 TCanvas *c14 = new TCanvas("c14","dca(z)",1200,100,600,400);
606 c14->SetFillColor(10); c14->SetHighLightColor(10);
607 c14->Divide(2,1);
608 c14->cd(1)->SetLogy(); gProtonsDCAZPass->Draw();
609 gProtonsDCAZReject->Draw("same");
610 c14->cd(2)->SetLogy(); gAntiProtonsDCAZPass->Draw();
611 gAntiProtonsDCAZReject->Draw("same");
612 }
613
614 if(gProtonsDCAZTPCPass->GetEntries() != 0) {
615 TCanvas *c15 = new TCanvas("c15","dca(z - TPC)",1200,200,600,400);
616 c15->SetFillColor(10); c15->SetHighLightColor(10);
617 c15->Divide(2,1);
618 c15->cd(1)->SetLogy(); gProtonsDCAZTPCPass->Draw();
619 gProtonsDCAZTPCReject->Draw("same");
620 c15->cd(2)->SetLogy(); gAntiProtonsDCAZTPCPass->Draw();
621 gAntiProtonsDCAZTPCReject->Draw("same");
622 }
735cc63d 623
790140ac 624 TCanvas *c16 = new TCanvas("c16","TPC clusters (dE/dx)",1200,300,600,400);
735cc63d 625 c16->SetFillColor(10); c16->SetHighLightColor(10);
626 c16->Divide(2,1);
627 c16->cd(1); gProtonsNumberOfTPCdEdxPointsPass->Draw();
628 gProtonsNumberOfTPCdEdxPointsReject->Draw("same");
629 c16->cd(2); gAntiProtonsNumberOfTPCdEdxPointsPass->Draw();
630 gAntiProtonsNumberOfTPCdEdxPointsReject->Draw("same");
631
632 //================Vertex QA================//
633 TList *gListVertexQA = dynamic_cast<TList *>(listQA->At(1));
634 TH1F *gHistVx = dynamic_cast<TH1F *>(gListVertexQA->At(0));
635 TH1F *gHistVxAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(1));
636 gHistVxAccepted->SetFillColor(10);
637 TH1F *gHistVy = dynamic_cast<TH1F *>(gListVertexQA->At(2));
638 TH1F *gHistVyAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(3));
639 gHistVyAccepted->SetFillColor(10);
640 TH1F *gHistVz = dynamic_cast<TH1F *>(gListVertexQA->At(4));
641 TH1F *gHistVzAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(5));
642 gHistVzAccepted->SetFillColor(10);
e56f08ed 643 TH1F *gHistNumberOfContributors = dynamic_cast<TH1F *>(gListVertexQA->At(6));
644 gHistNumberOfContributors->SetFillColor(10);
735cc63d 645
790140ac 646 TCanvas *cVertex = new TCanvas("cVertex","Vertex QA",0,0,900,400);
735cc63d 647 cVertex->SetFillColor(10); cVertex->SetHighLightColor(10);
648 cVertex->Divide(3,1);
790140ac 649 cVertex->cd(1)->SetLogy(); gHistVx->Draw(); gHistVxAccepted->Draw("same");
650 cVertex->cd(2)->SetLogy(); gHistVy->Draw(); gHistVyAccepted->Draw("same");
651 cVertex->cd(3)->SetLogy(); gHistVz->Draw(); gHistVzAccepted->Draw("same");
e56f08ed 652
653 TCanvas *cVertexNContributors = new TCanvas("cVertexNContributors",
654 "Vertex QA",0,0,400,400);
655 gHistNumberOfContributors->Draw();
735cc63d 656}
629e3967 657
658//________________________________________________________//
659void PrintYields(TH1 *h) {
660 Double_t sum = 0.0, error = 0.0;
661 for(Int_t iBin = 1; iBin <= h->GetNbinsX(); iBin++) {
662 sum += h->GetBinContent(iBin);
663 error += TMath::Power(h->GetBinError(iBin),2);
664 }
665 error = TMath::Sqrt(error);
666
667 Printf("==================================");
668 Printf("Histogram: %s",h->GetName());
669 Printf("Yields: %lf - %lf",sum,error);
670 Printf("==================================");
671}
7ec0d93f 672
673//___________________________________________________//
674void drawdEdx(TH2F *gHistdEdxP) {
675 //Draws the dE/dx distributions for the different momentum bins
676 TString title;
677 TH1D *gHist[100];
678 Int_t iCounter = 0;
679 Double_t binMin = gHistdEdxP->GetXaxis()->GetXmin();
680 Double_t binMax = gHistdEdxP->GetXaxis()->GetXmin() +
681 (gHistdEdxP->GetXaxis()->GetXmax() - gHistdEdxP->GetXaxis()->GetXmin())/gHistdEdxP->GetNbinsX();
682
683 TCanvas *c[100];
762a6c16 684 TString canvasTitle;
7ec0d93f 685
686 for(Int_t iBin = 1; iBin <= gHistdEdxP->GetNbinsX(); iBin++) {
762a6c16 687 if((binMax > 0.41)&&(binMin < 1.01)) {
7ec0d93f 688 title = "P: "; title += binMin; title += " - ";
689 title += binMax; title += "GeV/c";
762a6c16 690 canvasTitle = "dedxMomentumSlice."; canvasTitle += iCounter;
691 canvasTitle += ".gif";
7ec0d93f 692 c[iCounter] = new TCanvas(title.Data(),title.Data(),0,0,500,500);
693 c[iCounter]->SetFillColor(10); c[iCounter]->SetHighLightColor(10);
762a6c16 694 gHist[iCounter] = gHistdEdxP->ProjectionY(title.Data(),iBin,iBin+1);
7ec0d93f 695 gHist[iCounter]->SetTitle(title.Data());
696 gHist[iCounter]->SetStats(kFALSE);
762a6c16 697 gHist[iCounter]->GetXaxis()->SetRangeUser(0.0,300.);
7ec0d93f 698 if(gHist[iCounter]->GetEntries() != 0)
699 c[iCounter]->SetLogy();
700 gHist[iCounter]->Draw();
762a6c16 701 c[iCounter]->SaveAs(canvasTitle.Data());
702 //Printf("Bin: %d - Pmin: %lf - Pmax: %lf : %s",iBin,binMin,binMax,title.Data());
7ec0d93f 703 iCounter += 1;
704 }
705 binMin += (gHistdEdxP->GetXaxis()->GetXmax() - gHistdEdxP->GetXaxis()->GetXmin())/gHistdEdxP->GetNbinsX();
706 binMax += (gHistdEdxP->GetXaxis()->GetXmax() - gHistdEdxP->GetXaxis()->GetXmin())/gHistdEdxP->GetNbinsX();
707 }
708
709}
762a6c16 710
711//___________________________________________________//
712void drawMCvsData(const char* analysisOutputMC,
713 const char* analysisOutputData) {
714 //Draws the QA plots from the output of the analysis
715 //=========================================================//
716 gStyle->SetPalette(1,0);
717
718 //=========================================================//
719 //QA MC plots
720 TFile *fMC = TFile::Open(analysisOutputMC);
721 TList *listQAMC = dynamic_cast<TList *>(fMC->Get("outputQAList"));
722 TList *gListGlobalQAMC = dynamic_cast<TList *>(listQAMC->At(0));
723
724 //================QA plots================//
725 TList *fQAMC2DList = dynamic_cast<TList *>(gListGlobalQAMC->At(0));
726
727 //Rejected protons
728 TList *fQAMCProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAMC->At(2));
729 TH1F *gMCProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(0));
730 TH1F *gMCProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(2));
731 TH1F *gMCProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(3));
732 TH1F *gMCProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(4));
733 TH1F *gMCProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(5));
734 TH1F *gMCProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(6));
735 TH1F *gMCProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(7));
736 TH1F *gMCProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(8));
737 TH1F *gMCProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(11));
738 TH1F *gMCProtonsDCAZReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(13));
739 TH1F *gMCProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAMCProtonsRejectedList->At(26));
740
741 //Accepted protons
742 TList *fQAMCProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAMC->At(1));
743 TH1F *gMCProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(0));
744 gMCProtonsITSClustersPass->SetStats(kFALSE);
745 gMCProtonsITSClustersPass->Add(gMCProtonsITSClustersReject);
746 gMCProtonsITSClustersPass->Sumw2();
747 gMCProtonsITSClustersPass->Scale(1./gMCProtonsITSClustersPass->Integral(1,gMCProtonsITSClustersPass->GetNbinsX()));
748 gMCProtonsITSClustersPass->SetMarkerStyle(20);
749 TH1F *gMCProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(2));
750 gMCProtonsTPCClustersPass->SetStats(kFALSE);
751 gMCProtonsTPCClustersPass->Add(gMCProtonsTPCClustersReject);
752 gMCProtonsTPCClustersPass->Sumw2();
753 gMCProtonsTPCClustersPass->Scale(1./gMCProtonsTPCClustersPass->Integral(1,gMCProtonsTPCClustersPass->GetNbinsX()));
754 gMCProtonsTPCClustersPass->SetMarkerStyle(20);
755 TH1F *gMCProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(3));
756 gMCProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
757 gMCProtonsChi2PerClusterTPCPass->Add(gMCProtonsChi2PerClusterTPCReject);
758 gMCProtonsChi2PerClusterTPCPass->Sumw2();
759 gMCProtonsChi2PerClusterTPCPass->Scale(1./gMCProtonsChi2PerClusterTPCPass->Integral(1,gMCProtonsChi2PerClusterTPCPass->GetNbinsX()));
760 gMCProtonsChi2PerClusterTPCPass->SetMarkerStyle(20);
761 TH1F *gMCProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(4));
762 gMCProtonsExtCov11Pass->SetStats(kFALSE);
763 gMCProtonsExtCov11Pass->Add(gMCProtonsExtCov11Reject);
764 gMCProtonsExtCov11Pass->Sumw2();
765 gMCProtonsExtCov11Pass->Scale(1./gMCProtonsExtCov11Pass->Integral(1,gMCProtonsExtCov11Pass->GetNbinsX()));
766 gMCProtonsExtCov11Pass->SetMarkerStyle(20);
767 TH1F *gMCProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(5));
768 gMCProtonsExtCov22Pass->SetStats(kFALSE);
769 gMCProtonsExtCov22Pass->Add(gMCProtonsExtCov22Reject);
770 gMCProtonsExtCov22Pass->Sumw2();
771 gMCProtonsExtCov22Pass->Scale(1./gMCProtonsExtCov22Pass->Integral(1,gMCProtonsExtCov22Pass->GetNbinsX()));
772 gMCProtonsExtCov22Pass->SetMarkerStyle(20);
773 TH1F *gMCProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(6));
774 gMCProtonsExtCov33Pass->SetStats(kFALSE);
775 gMCProtonsExtCov33Pass->Add(gMCProtonsExtCov33Reject);
776 gMCProtonsExtCov33Pass->Sumw2();
777 gMCProtonsExtCov33Pass->Scale(1./gMCProtonsExtCov33Pass->Integral(1,gMCProtonsExtCov33Pass->GetNbinsX()));
778 gMCProtonsExtCov33Pass->SetMarkerStyle(20);
779 TH1F *gMCProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(7));
780 gMCProtonsExtCov44Pass->SetStats(kFALSE);
781 gMCProtonsExtCov44Pass->Add(gMCProtonsExtCov44Reject);
782 gMCProtonsExtCov44Pass->Sumw2();
783 gMCProtonsExtCov44Pass->Scale(1./gMCProtonsExtCov44Pass->Integral(1,gMCProtonsExtCov44Pass->GetNbinsX()));
784 gMCProtonsExtCov44Pass->SetMarkerStyle(20);
785 TH1F *gMCProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(8));
786 gMCProtonsExtCov55Pass->SetStats(kFALSE);
787 gMCProtonsExtCov55Pass->Add(gMCProtonsExtCov55Reject);
788 gMCProtonsExtCov55Pass->Sumw2();
789 gMCProtonsExtCov55Pass->Scale(1./gMCProtonsExtCov55Pass->Integral(1,gMCProtonsExtCov55Pass->GetNbinsX()));
790 gMCProtonsExtCov55Pass->SetMarkerStyle(20);
791 TH1F *gMCProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(11));
792 gMCProtonsDCAXYPass->SetStats(kFALSE);
793 gMCProtonsDCAXYPass->Add(gMCProtonsDCAXYReject);
794 gMCProtonsDCAXYPass->Sumw2();
795 gMCProtonsDCAXYPass->Scale(1./gMCProtonsDCAXYPass->Integral(1,gMCProtonsDCAXYPass->GetNbinsX()));
796 gMCProtonsDCAXYPass->SetMarkerStyle(20);
797 TH1F *gMCProtonsDCAZPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(13));
798 gMCProtonsDCAZPass->SetStats(kFALSE);
799 gMCProtonsDCAZPass->Add(gMCProtonsDCAZReject);
800 gMCProtonsDCAZPass->Sumw2();
801 gMCProtonsDCAZPass->Scale(1./gMCProtonsDCAZPass->Integral(1,gMCProtonsDCAZPass->GetNbinsX()));
802 gMCProtonsDCAZPass->SetMarkerStyle(20);
803 TH1F *gMCProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAMCProtonsAcceptedList->At(26));
804 gMCProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);
805 gMCProtonsNumberOfTPCdEdxPointsPass->Add(gMCProtonsNumberOfTPCdEdxPointsReject);
806 gMCProtonsNumberOfTPCdEdxPointsPass->Sumw2();
807 gMCProtonsNumberOfTPCdEdxPointsPass->Scale(1./gMCProtonsNumberOfTPCdEdxPointsPass->Integral(1,gMCProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
808 gMCProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(20);
809
810 //Rejected antiprotons
811 TList *fQAMCAntiProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAMC->At(4));
812 TH1F *gMCAntiProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(0));
813 TH1F *gMCAntiProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(2));
814 TH1F *gMCAntiProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(3));
815 TH1F *gMCAntiProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(4));
816 TH1F *gMCAntiProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(5));
817 TH1F *gMCAntiProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(6));
818 TH1F *gMCAntiProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(7));
819 TH1F *gMCAntiProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(8));
820 TH1F *gMCAntiProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(11));
821 TH1F *gMCAntiProtonsDCAZReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(13));
822 TH1F *gMCAntiProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAMCAntiProtonsRejectedList->At(26));
823
824 //Accepted protons
825 TList *fQAMCAntiProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAMC->At(3));
826 TH1F *gMCAntiProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(0));
827 gMCAntiProtonsITSClustersPass->SetStats(kFALSE);
828 gMCAntiProtonsITSClustersPass->Add(gMCAntiProtonsITSClustersReject);
829 gMCAntiProtonsITSClustersPass->Sumw2();
830 gMCAntiProtonsITSClustersPass->Scale(1./gMCAntiProtonsITSClustersPass->Integral(1,gMCAntiProtonsITSClustersPass->GetNbinsX()));
831 gMCAntiProtonsITSClustersPass->SetMarkerStyle(20);
832 TH1F *gMCAntiProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(2));
833 gMCAntiProtonsTPCClustersPass->SetStats(kFALSE);
834 gMCAntiProtonsTPCClustersPass->Add(gMCAntiProtonsTPCClustersReject);
835 gMCAntiProtonsTPCClustersPass->Sumw2();
836 gMCAntiProtonsTPCClustersPass->Scale(1./gMCAntiProtonsTPCClustersPass->Integral(1,gMCAntiProtonsTPCClustersPass->GetNbinsX()));
837 gMCAntiProtonsTPCClustersPass->SetMarkerStyle(20);
838 TH1F *gMCAntiProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(3));
839 gMCAntiProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
840 gMCAntiProtonsChi2PerClusterTPCPass->Add(gMCAntiProtonsChi2PerClusterTPCReject);
841 gMCAntiProtonsChi2PerClusterTPCPass->Sumw2();
842 gMCAntiProtonsChi2PerClusterTPCPass->Scale(1./gMCAntiProtonsChi2PerClusterTPCPass->Integral(1,gMCAntiProtonsChi2PerClusterTPCPass->GetNbinsX()));
843 gMCAntiProtonsChi2PerClusterTPCPass->SetMarkerStyle(20);
844 TH1F *gMCAntiProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(4));
845 gMCAntiProtonsExtCov11Pass->SetStats(kFALSE);
846 gMCAntiProtonsExtCov11Pass->Add(gMCAntiProtonsExtCov11Reject);
847 gMCAntiProtonsExtCov11Pass->Sumw2();
848 gMCAntiProtonsExtCov11Pass->Scale(1./gMCAntiProtonsExtCov11Pass->Integral(1,gMCAntiProtonsExtCov11Pass->GetNbinsX()));
849 gMCAntiProtonsExtCov11Pass->SetMarkerStyle(20);
850 TH1F *gMCAntiProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(5));
851 gMCAntiProtonsExtCov22Pass->SetStats(kFALSE);
852 gMCAntiProtonsExtCov22Pass->Add(gMCAntiProtonsExtCov22Reject);
853 gMCAntiProtonsExtCov22Pass->Sumw2();
854 gMCAntiProtonsExtCov22Pass->Scale(1./gMCAntiProtonsExtCov22Pass->Integral(1,gMCAntiProtonsExtCov22Pass->GetNbinsX()));
855 gMCAntiProtonsExtCov22Pass->SetMarkerStyle(20);
856 TH1F *gMCAntiProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(6));
857 gMCAntiProtonsExtCov33Pass->SetStats(kFALSE);
858 gMCAntiProtonsExtCov33Pass->Add(gMCAntiProtonsExtCov33Reject);
859 gMCAntiProtonsExtCov33Pass->Sumw2();
860 gMCAntiProtonsExtCov33Pass->Scale(1./gMCAntiProtonsExtCov33Pass->Integral(1,gMCAntiProtonsExtCov33Pass->GetNbinsX()));
861 gMCAntiProtonsExtCov33Pass->SetMarkerStyle(20);
862 TH1F *gMCAntiProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(7));
863 gMCAntiProtonsExtCov44Pass->SetStats(kFALSE);
864 gMCAntiProtonsExtCov44Pass->Add(gMCAntiProtonsExtCov44Reject);
865 gMCAntiProtonsExtCov44Pass->Sumw2();
866 gMCAntiProtonsExtCov44Pass->Scale(1./gMCAntiProtonsExtCov44Pass->Integral(1,gMCAntiProtonsExtCov44Pass->GetNbinsX()));
867 gMCAntiProtonsExtCov44Pass->SetMarkerStyle(20);
868 TH1F *gMCAntiProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(8));
869 gMCAntiProtonsExtCov55Pass->SetStats(kFALSE);
870 gMCAntiProtonsExtCov55Pass->Add(gMCAntiProtonsExtCov55Reject);
871 gMCAntiProtonsExtCov55Pass->Sumw2();
872 gMCAntiProtonsExtCov55Pass->Scale(1./gMCAntiProtonsExtCov55Pass->Integral(1,gMCAntiProtonsExtCov55Pass->GetNbinsX()));
873 gMCAntiProtonsExtCov55Pass->SetMarkerStyle(20);
874 TH1F *gMCAntiProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(11));
875 gMCAntiProtonsDCAXYPass->SetStats(kFALSE);
876 gMCAntiProtonsDCAXYPass->Add(gMCAntiProtonsDCAXYReject);
877 gMCAntiProtonsDCAXYPass->Sumw2();
878 gMCAntiProtonsDCAXYPass->Scale(1./gMCAntiProtonsDCAXYPass->Integral(1,gMCAntiProtonsDCAXYPass->GetNbinsX()));
879 gMCAntiProtonsDCAXYPass->SetMarkerStyle(20);
880 TH1F *gMCAntiProtonsDCAZPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(13));
881 gMCAntiProtonsDCAZPass->SetStats(kFALSE);
882 gMCAntiProtonsDCAZPass->Add(gMCAntiProtonsDCAZReject);
883 gMCAntiProtonsDCAZPass->Sumw2();
884 gMCAntiProtonsDCAZPass->Scale(1./gMCAntiProtonsDCAZPass->Integral(1,gMCAntiProtonsDCAZPass->GetNbinsX()));
885 gMCAntiProtonsDCAZPass->SetMarkerStyle(20);
886 TH1F *gMCAntiProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAMCAntiProtonsAcceptedList->At(26));
887 gMCAntiProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);
888 gMCAntiProtonsNumberOfTPCdEdxPointsPass->Add(gMCAntiProtonsNumberOfTPCdEdxPointsReject);
889 gMCAntiProtonsNumberOfTPCdEdxPointsPass->Sumw2();
890 gMCAntiProtonsNumberOfTPCdEdxPointsPass->Scale(1./gMCAntiProtonsNumberOfTPCdEdxPointsPass->Integral(1,gMCAntiProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
891 gMCAntiProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(20);
892
893 //=========================================================//
894 //QA data plots
895 TFile *fData = TFile::Open(analysisOutputData);
896 TList *listQAData = dynamic_cast<TList *>(fData->Get("outputQAList"));
897 TList *gListGlobalQAData = dynamic_cast<TList *>(listQAData->At(0));
898
899 //================QA plots================//
900 TList *fQAData2DList = dynamic_cast<TList *>(gListGlobalQAData->At(0));
901
902 //Rejected protons
903 TList *fQADataProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAData->At(2));
904 TH1F *gDataProtonsITSClustersReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(0));
905 TH1F *gDataProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(2));
906 TH1F *gDataProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(3));
907 TH1F *gDataProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(4));
908 TH1F *gDataProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(5));
909 TH1F *gDataProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(6));
910 TH1F *gDataProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(7));
911 TH1F *gDataProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(8));
912 TH1F *gDataProtonsDCAXYReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(11));
913 TH1F *gDataProtonsDCAZReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(13));
914 TH1F *gDataProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQADataProtonsRejectedList->At(26));
915
916 //Accepted protons
917 TList *fQADataProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAData->At(1));
918 TH1F *gDataProtonsITSClustersPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(0));
919 gDataProtonsITSClustersPass->SetStats(kFALSE);
920 gDataProtonsITSClustersPass->Add(gDataProtonsITSClustersReject);
921 gDataProtonsITSClustersPass->Sumw2();
922 gDataProtonsITSClustersPass->Scale(1./gDataProtonsITSClustersPass->Integral(1,gDataProtonsITSClustersPass->GetNbinsX()));
923 gDataProtonsITSClustersPass->SetMarkerStyle(24);
924 TH1F *gDataProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(2));
925 gDataProtonsTPCClustersPass->SetStats(kFALSE);
926 gDataProtonsTPCClustersPass->Add(gDataProtonsTPCClustersReject);
927 gDataProtonsTPCClustersPass->Sumw2();
928 gDataProtonsTPCClustersPass->Scale(1./gDataProtonsTPCClustersPass->Integral(1,gDataProtonsTPCClustersPass->GetNbinsX()));
929 gDataProtonsTPCClustersPass->SetMarkerStyle(24);
930 TH1F *gDataProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(3));
931 gDataProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
932 gDataProtonsChi2PerClusterTPCPass->Add(gDataProtonsChi2PerClusterTPCReject);
933 gDataProtonsChi2PerClusterTPCPass->Sumw2();
934 gDataProtonsChi2PerClusterTPCPass->Scale(1./gDataProtonsChi2PerClusterTPCPass->Integral(1,gDataProtonsChi2PerClusterTPCPass->GetNbinsX()));
935 gDataProtonsChi2PerClusterTPCPass->SetMarkerStyle(24);
936 TH1F *gDataProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(4));
937 gDataProtonsExtCov11Pass->SetStats(kFALSE);
938 gDataProtonsExtCov11Pass->Add(gDataProtonsExtCov11Reject);
939 gDataProtonsExtCov11Pass->Sumw2();
940 gDataProtonsExtCov11Pass->Scale(1./gDataProtonsExtCov11Pass->Integral(1,gDataProtonsExtCov11Pass->GetNbinsX()));
941 gDataProtonsExtCov11Pass->SetMarkerStyle(24);
942 TH1F *gDataProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(5));
943 gDataProtonsExtCov22Pass->SetStats(kFALSE);
944 gDataProtonsExtCov22Pass->Add(gDataProtonsExtCov22Reject);
945 gDataProtonsExtCov22Pass->Sumw2();
946 gDataProtonsExtCov22Pass->Scale(1./gDataProtonsExtCov22Pass->Integral(1,gDataProtonsExtCov22Pass->GetNbinsX()));
947 gDataProtonsExtCov22Pass->SetMarkerStyle(24);
948 TH1F *gDataProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(6));
949 gDataProtonsExtCov33Pass->SetStats(kFALSE);
950 gDataProtonsExtCov33Pass->Add(gDataProtonsExtCov33Reject);
951 gDataProtonsExtCov33Pass->Sumw2();
952 gDataProtonsExtCov33Pass->Scale(1./gDataProtonsExtCov33Pass->Integral(1,gDataProtonsExtCov33Pass->GetNbinsX()));
953 gDataProtonsExtCov33Pass->SetMarkerStyle(24);
954 TH1F *gDataProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(7));
955 gDataProtonsExtCov44Pass->SetStats(kFALSE);
956 gDataProtonsExtCov44Pass->Add(gDataProtonsExtCov44Reject);
957 gDataProtonsExtCov44Pass->Sumw2();
958 gDataProtonsExtCov44Pass->Scale(1./gDataProtonsExtCov44Pass->Integral(1,gDataProtonsExtCov44Pass->GetNbinsX()));
959 gDataProtonsExtCov44Pass->SetMarkerStyle(24);
960 TH1F *gDataProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(8));
961 gDataProtonsExtCov55Pass->SetStats(kFALSE);
962 gDataProtonsExtCov55Pass->Add(gDataProtonsExtCov55Reject);
963 gDataProtonsExtCov55Pass->Sumw2();
964 gDataProtonsExtCov55Pass->Scale(1./gDataProtonsExtCov55Pass->Integral(1,gDataProtonsExtCov55Pass->GetNbinsX()));
965 gDataProtonsExtCov55Pass->SetMarkerStyle(24);
966 TH1F *gDataProtonsDCAXYPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(11));
967 gDataProtonsDCAXYPass->SetStats(kFALSE);
968 gDataProtonsDCAXYPass->Add(gDataProtonsDCAXYReject);
969 gDataProtonsDCAXYPass->Sumw2();
970 gDataProtonsDCAXYPass->Scale(1./gDataProtonsDCAXYPass->Integral(1,gDataProtonsDCAXYPass->GetNbinsX()));
971 gDataProtonsDCAXYPass->SetMarkerStyle(24);
972 TH1F *gDataProtonsDCAZPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(13));
973 gDataProtonsDCAZPass->SetStats(kFALSE);
974 gDataProtonsDCAZPass->Add(gDataProtonsDCAZReject);
975 gDataProtonsDCAZPass->Sumw2();
976 gDataProtonsDCAZPass->Scale(1./gDataProtonsDCAZPass->Integral(1,gDataProtonsDCAZPass->GetNbinsX()));
977 gDataProtonsDCAZPass->SetMarkerStyle(24);
978 TH1F *gDataProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQADataProtonsAcceptedList->At(26));
979 gDataProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);
980 gDataProtonsNumberOfTPCdEdxPointsPass->Add(gDataProtonsNumberOfTPCdEdxPointsReject);
981 gDataProtonsNumberOfTPCdEdxPointsPass->Sumw2();
982 gDataProtonsNumberOfTPCdEdxPointsPass->Scale(1./gDataProtonsNumberOfTPCdEdxPointsPass->Integral(1,gDataProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
983 gDataProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(24);
984
985 //Rejected antiprotons
986 TList *fQADataAntiProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQAData->At(4));
987 TH1F *gDataAntiProtonsITSClustersReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(0));
988 TH1F *gDataAntiProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(2));
989 TH1F *gDataAntiProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(3));
990 TH1F *gDataAntiProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(4));
991 TH1F *gDataAntiProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(5));
992 TH1F *gDataAntiProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(6));
993 TH1F *gDataAntiProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(7));
994 TH1F *gDataAntiProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(8));
995 TH1F *gDataAntiProtonsDCAXYReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(11));
996 TH1F *gDataAntiProtonsDCAZReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(13));
997 TH1F *gDataAntiProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQADataAntiProtonsRejectedList->At(26));
998
999 //Accepted protons
1000 TList *fQADataAntiProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQAData->At(3));
1001 TH1F *gDataAntiProtonsITSClustersPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(0));
1002 gDataAntiProtonsITSClustersPass->SetStats(kFALSE);
1003 gDataAntiProtonsITSClustersPass->Add(gDataAntiProtonsITSClustersReject);
1004 gDataAntiProtonsITSClustersPass->Sumw2();
1005 gDataAntiProtonsITSClustersPass->Scale(1./gDataAntiProtonsITSClustersPass->Integral(1,gDataAntiProtonsITSClustersPass->GetNbinsX()));
1006 gDataAntiProtonsITSClustersPass->SetMarkerStyle(24);
1007 TH1F *gDataAntiProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(2));
1008 gDataAntiProtonsTPCClustersPass->SetStats(kFALSE);
1009 gDataAntiProtonsTPCClustersPass->Add(gDataAntiProtonsTPCClustersReject);
1010 gDataAntiProtonsTPCClustersPass->Sumw2();
1011 gDataAntiProtonsTPCClustersPass->Scale(1./gDataAntiProtonsTPCClustersPass->Integral(1,gDataAntiProtonsTPCClustersPass->GetNbinsX()));
1012 gDataAntiProtonsTPCClustersPass->SetMarkerStyle(24);
1013 TH1F *gDataAntiProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(3));
1014 gDataAntiProtonsChi2PerClusterTPCPass->SetStats(kFALSE);
1015 gDataAntiProtonsChi2PerClusterTPCPass->Add(gDataAntiProtonsChi2PerClusterTPCReject);
1016 gDataAntiProtonsChi2PerClusterTPCPass->Sumw2();
1017 gDataAntiProtonsChi2PerClusterTPCPass->Scale(1./gDataAntiProtonsChi2PerClusterTPCPass->Integral(1,gDataAntiProtonsChi2PerClusterTPCPass->GetNbinsX()));
1018 gDataAntiProtonsChi2PerClusterTPCPass->SetMarkerStyle(24);
1019 TH1F *gDataAntiProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(4));
1020 gDataAntiProtonsExtCov11Pass->SetStats(kFALSE);
1021 gDataAntiProtonsExtCov11Pass->Add(gDataAntiProtonsExtCov11Reject);
1022 gDataAntiProtonsExtCov11Pass->Sumw2();
1023 gDataAntiProtonsExtCov11Pass->Scale(1./gDataAntiProtonsExtCov11Pass->Integral(1,gDataAntiProtonsExtCov11Pass->GetNbinsX()));
1024 gDataAntiProtonsExtCov11Pass->SetMarkerStyle(24);
1025 TH1F *gDataAntiProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(5));
1026 gDataAntiProtonsExtCov22Pass->SetStats(kFALSE);
1027 gDataAntiProtonsExtCov22Pass->Add(gDataAntiProtonsExtCov22Reject);
1028 gDataAntiProtonsExtCov22Pass->Sumw2();
1029 gDataAntiProtonsExtCov22Pass->Scale(1./gDataAntiProtonsExtCov22Pass->Integral(1,gDataAntiProtonsExtCov22Pass->GetNbinsX()));
1030 gDataAntiProtonsExtCov22Pass->SetMarkerStyle(24);
1031 TH1F *gDataAntiProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(6));
1032 gDataAntiProtonsExtCov33Pass->SetStats(kFALSE);
1033 gDataAntiProtonsExtCov33Pass->Add(gDataAntiProtonsExtCov33Reject);
1034 gDataAntiProtonsExtCov33Pass->Sumw2();
1035 gDataAntiProtonsExtCov33Pass->Scale(1./gDataAntiProtonsExtCov33Pass->Integral(1,gDataAntiProtonsExtCov33Pass->GetNbinsX()));
1036 gDataAntiProtonsExtCov33Pass->SetMarkerStyle(24);
1037 TH1F *gDataAntiProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(7));
1038 gDataAntiProtonsExtCov44Pass->SetStats(kFALSE);
1039 gDataAntiProtonsExtCov44Pass->Add(gDataAntiProtonsExtCov44Reject);
1040 gDataAntiProtonsExtCov44Pass->Sumw2();
1041 gDataAntiProtonsExtCov44Pass->Scale(1./gDataAntiProtonsExtCov44Pass->Integral(1,gDataAntiProtonsExtCov44Pass->GetNbinsX()));
1042 gDataAntiProtonsExtCov44Pass->SetMarkerStyle(24);
1043 TH1F *gDataAntiProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(8));
1044 gDataAntiProtonsExtCov55Pass->SetStats(kFALSE);
1045 gDataAntiProtonsExtCov55Pass->Add(gDataAntiProtonsExtCov55Reject);
1046 gDataAntiProtonsExtCov55Pass->Sumw2();
1047 gDataAntiProtonsExtCov55Pass->Scale(1./gDataAntiProtonsExtCov55Pass->Integral(1,gDataAntiProtonsExtCov55Pass->GetNbinsX()));
1048 gDataAntiProtonsExtCov55Pass->SetMarkerStyle(24);
1049 TH1F *gDataAntiProtonsDCAXYPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(11));
1050 gDataAntiProtonsDCAXYPass->SetStats(kFALSE);
1051 gDataAntiProtonsDCAXYPass->Add(gDataAntiProtonsDCAXYReject);
1052 gDataAntiProtonsDCAXYPass->Sumw2();
1053 gDataAntiProtonsDCAXYPass->Scale(1./gDataAntiProtonsDCAXYPass->Integral(1,gDataAntiProtonsDCAXYPass->GetNbinsX()));
1054 gDataAntiProtonsDCAXYPass->SetMarkerStyle(24);
1055 TH1F *gDataAntiProtonsDCAZPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(13));
1056 gDataAntiProtonsDCAZPass->SetStats(kFALSE);
1057 gDataAntiProtonsDCAZPass->Add(gDataAntiProtonsDCAZReject);
1058 gDataAntiProtonsDCAZPass->Sumw2();
1059 gDataAntiProtonsDCAZPass->Scale(1./gDataAntiProtonsDCAZPass->Integral(1,gDataAntiProtonsDCAZPass->GetNbinsX()));
1060 gDataAntiProtonsDCAZPass->SetMarkerStyle(24);
1061 TH1F *gDataAntiProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQADataAntiProtonsAcceptedList->At(26));
1062 gDataAntiProtonsNumberOfTPCdEdxPointsPass->SetStats(kFALSE);
1063 gDataAntiProtonsNumberOfTPCdEdxPointsPass->Add(gDataAntiProtonsNumberOfTPCdEdxPointsReject);
1064 gDataAntiProtonsNumberOfTPCdEdxPointsPass->Sumw2();
1065 gDataAntiProtonsNumberOfTPCdEdxPointsPass->Scale(1./gDataAntiProtonsNumberOfTPCdEdxPointsPass->Integral(1,gDataAntiProtonsNumberOfTPCdEdxPointsPass->GetNbinsX()));
1066 gDataAntiProtonsNumberOfTPCdEdxPointsPass->SetMarkerStyle(24);
1067
1068
1069 //__________________________________________________//
1070 TCanvas *c1 = new TCanvas("c1","ITS clusters",0,0,600,400);
1071 c1->SetFillColor(10); c1->SetHighLightColor(10);
1072 c1->Divide(2,1);
1073 c1->cd(1); gDataProtonsITSClustersPass->Divide(gMCProtonsITSClustersPass);
1074 gDataProtonsITSClustersPass->SetTitle("Protons");
1075 gDataProtonsITSClustersPass->GetYaxis()->SetTitle("Data/MC");
1076 gDataProtonsITSClustersPass->Draw("E");
1077 //gMCProtonsITSClustersPass->Draw("ESAME");
1078 c1->cd(2);
1079 gDataAntiProtonsITSClustersPass->Divide(gMCAntiProtonsITSClustersPass);
1080 gDataAntiProtonsITSClustersPass->SetTitle("Antiprotons");
1081 gDataAntiProtonsITSClustersPass->GetYaxis()->SetTitle("Data/MC");
1082 gDataAntiProtonsITSClustersPass->Draw("E");
1083 //gMCAntiProtonsITSClustersPass->Draw("ESAME");
1084
1085 TCanvas *c3 = new TCanvas("c3","TPC clusters",0,200,600,400);
1086 c3->SetFillColor(10); c3->SetHighLightColor(10);
1087 c3->Divide(2,1);
1088 c3->cd(1); gDataProtonsTPCClustersPass->Divide(gMCProtonsTPCClustersPass);
1089 gDataProtonsTPCClustersPass->SetTitle("Protons");
1090 gDataProtonsTPCClustersPass->GetYaxis()->SetTitle("Data/MC");
1091 gDataProtonsTPCClustersPass->Draw("E");
1092 //gMCProtonsTPCClustersPass->Draw("ESAME");
1093 c3->cd(2);
1094 gDataAntiProtonsTPCClustersPass->Divide(gMCAntiProtonsTPCClustersPass);
1095 gDataAntiProtonsTPCClustersPass->SetTitle("Antirotons");
1096 gDataAntiProtonsTPCClustersPass->GetYaxis()->SetTitle("Data/MC");
1097 gDataAntiProtonsTPCClustersPass->Draw("E");
1098 //gMCAntiProtonsTPCClustersPass->Draw("ESAME");
1099
1100 TCanvas *c4 = new TCanvas("c4","chi^2 per TPC cluster",0,300,600,400);
1101 c4->SetFillColor(10); c4->SetHighLightColor(10);
1102 c4->Divide(2,1);
1103 c4->cd(1);
1104 gDataProtonsChi2PerClusterTPCPass->Divide(gMCProtonsChi2PerClusterTPCPass);
1105 gDataProtonsChi2PerClusterTPCPass->SetTitle("Protons");
1106 gDataProtonsChi2PerClusterTPCPass->GetYaxis()->SetTitle("Data/MC");
1107 gDataProtonsChi2PerClusterTPCPass->Draw("E");
1108 //gMCProtonsChi2PerClusterTPCPass->Draw("ESAME");
1109 c4->cd(2);
1110 gDataAntiProtonsChi2PerClusterTPCPass->Divide(gMCAntiProtonsChi2PerClusterTPCPass);
1111 gDataAntiProtonsChi2PerClusterTPCPass->SetTitle("Antirotons");
1112 gDataAntiProtonsChi2PerClusterTPCPass->GetYaxis()->SetTitle("Data/MC");
1113 gDataAntiProtonsChi2PerClusterTPCPass->Draw("E");
1114 //gMCAntiProtonsChi2PerClusterTPCPass->Draw("ESAME");
1115
1116 if(gMCProtonsExtCov11Pass->GetEntries() != 0) {
1117 TCanvas *c5 = new TCanvas("c5","Cov11",0,400,600,400);
1118 c5->SetFillColor(10); c5->SetHighLightColor(10);
1119 c5->Divide(2,1);
1120 c5->cd(1);
1121 gDataProtonsExtCov11Pass->Divide(gMCProtonsExtCov11Pass);
1122 gDataProtonsExtCov11Pass->SetTitle("Protons");
1123 gDataProtonsExtCov11Pass->GetYaxis()->SetTitle("Data/MC");
1124 gDataProtonsExtCov11Pass->Draw("E");
1125 //gMCProtonsExtCov11Pass->Draw("ESAME");
1126 c5->cd(2);
1127 gDataAntiProtonsExtCov11Pass->Divide(gMCAntiProtonsExtCov11Pass);
1128 gDataAntiProtonsExtCov11Pass->SetTitle("Antiprotons");
1129 gDataAntiProtonsExtCov11Pass->GetYaxis()->SetTitle("Data/MC");
1130 gDataAntiProtonsExtCov11Pass->Draw("E");
1131 //gMCAntiProtonsExtCov11Pass->Draw("ESAME");
1132 }
1133
1134 if(gMCProtonsExtCov22Pass->GetEntries() != 0) {
1135 TCanvas *c6 = new TCanvas("c6","Cov22",0,500,600,400);
1136 c6->SetFillColor(10); c6->SetHighLightColor(10);
1137 c6->Divide(2,1);
1138 c6->cd(1);
1139 gDataProtonsExtCov22Pass->Divide(gMCProtonsExtCov11Pass);
1140 gDataProtonsExtCov22Pass->SetTitle("Protons");
1141 gDataProtonsExtCov22Pass->GetYaxis()->SetTitle("Data/MC");
1142 gDataProtonsExtCov22Pass->Draw("E");
1143 //gMCProtonsExtCov22Pass->Draw("ESAME");
1144 c6->cd(2);
1145 gDataAntiProtonsExtCov22Pass->Divide(gMCAntiProtonsExtCov22Pass);
1146 gDataAntiProtonsExtCov22Pass->SetTitle("Antiprotons");
1147 gDataAntiProtonsExtCov22Pass->GetYaxis()->SetTitle("Data/MC");
1148 gDataAntiProtonsExtCov22Pass->Draw("E");
1149 //gMCAntiProtonsExtCov22Pass->Draw("ESAME");
1150 }
1151
1152 if(gMCProtonsExtCov33Pass->GetEntries() != 0) {
1153 TCanvas *c7 = new TCanvas("c7","Cov33",600,0,600,400);
1154 c7->SetFillColor(10); c7->SetHighLightColor(10);
1155 c7->Divide(2,1);
1156 c7->cd(1);
1157 gDataProtonsExtCov33Pass->Divide(gMCProtonsExtCov33Pass);
1158 gDataProtonsExtCov33Pass->SetTitle("Protons");
1159 gDataProtonsExtCov33Pass->GetYaxis()->SetTitle("Data/MC");
1160 gDataProtonsExtCov33Pass->Draw("E");
1161 //gMCProtonsExtCov33Pass->Draw("ESAME");
1162 c7->cd(2);
1163 gDataAntiProtonsExtCov33Pass->Divide(gMCAntiProtonsExtCov33Pass);
1164 gDataAntiProtonsExtCov33Pass->SetTitle("Antiprotons");
1165 gDataAntiProtonsExtCov33Pass->GetYaxis()->SetTitle("Data/MC");
1166 gDataAntiProtonsExtCov33Pass->Draw("E");
1167 //gMCAntiProtonsExtCov33Pass->Draw("ESAME");
1168 }
1169
1170 if(gMCProtonsExtCov44Pass->GetEntries() != 0) {
1171 TCanvas *c8 = new TCanvas("c8","Cov44",600,100,600,400);
1172 c8->SetFillColor(10); c8->SetHighLightColor(10);
1173 c8->Divide(2,1);
1174 c8->cd(1);
1175 gDataProtonsExtCov44Pass->Divide(gMCProtonsExtCov44Pass);
1176 gDataProtonsExtCov44Pass->SetTitle("Protons");
1177 gDataProtonsExtCov44Pass->GetYaxis()->SetTitle("Data/MC");
1178 gDataProtonsExtCov44Pass->Draw("E");
1179 //gMCProtonsExtCov44Pass->Draw("ESAME");
1180 c8->cd(2);
1181 gDataAntiProtonsExtCov44Pass->Divide(gMCAntiProtonsExtCov44Pass);
1182 gDataAntiProtonsExtCov44Pass->SetTitle("Antiprotons");
1183 gDataAntiProtonsExtCov44Pass->GetYaxis()->SetTitle("Data/MC");
1184 gDataAntiProtonsExtCov44Pass->Draw("E");
1185 //gMCAntiProtonsExtCov44Pass->Draw("ESAME");
1186 }
1187
1188 if(gMCProtonsExtCov55Pass->GetEntries() != 0) {
1189 TCanvas *c9 = new TCanvas("c9","Cov55",600,200,600,400);
1190 c9->SetFillColor(10); c9->SetHighLightColor(10);
1191 c9->Divide(2,1);
1192 c9->cd(1);
1193 gDataProtonsExtCov55Pass->Divide(gMCProtonsExtCov55Pass);
1194 gDataProtonsExtCov55Pass->SetTitle("Protons");
1195 gDataProtonsExtCov55Pass->GetYaxis()->SetTitle("Data/MC");
1196 gDataProtonsExtCov55Pass->Draw("E");
1197 //gMCProtonsExtCov55Pass->Draw("ESAME");
1198 c9->cd(2);
1199 gDataAntiProtonsExtCov55Pass->Divide(gMCAntiProtonsExtCov55Pass);
1200 gDataAntiProtonsExtCov55Pass->SetTitle("Antiprotons");
1201 gDataAntiProtonsExtCov55Pass->GetYaxis()->SetTitle("Data/MC");
1202 gDataAntiProtonsExtCov55Pass->Draw("E");
1203 //gMCAntiProtonsExtCov55Pass->Draw("ESAME");
1204 }
1205
1206 if(gMCProtonsDCAXYPass->GetEntries() != 0) {
1207 TCanvas *c12 = new TCanvas("c12","dca(xy)",600,500,600,400);
1208 c12->SetFillColor(10); c12->SetHighLightColor(10);
1209 c12->Divide(2,1);
1210 c12->cd(1);
1211 gDataProtonsDCAXYPass->Divide(gMCProtonsDCAXYPass);
1212 gDataProtonsDCAXYPass->SetTitle("Protons");
1213 gDataProtonsDCAXYPass->GetYaxis()->SetTitle("Data/MC");
1214 gDataProtonsDCAXYPass->Draw("E");
1215 //gMCProtonsDCAXYPass->Draw("ESAME");
1216 c12->cd(2);
1217 gDataAntiProtonsDCAXYPass->Divide(gMCAntiProtonsDCAXYPass);
1218 gDataAntiProtonsDCAXYPass->SetTitle("Antiprotons");
1219 gDataAntiProtonsDCAXYPass->GetYaxis()->SetTitle("Data/MC");
1220 gDataAntiProtonsDCAXYPass->Draw("E");
1221 //gMCAntiProtonsDCAXYPass->Draw("ESAME");
1222 }
1223
1224 if(gMCProtonsDCAZPass->GetEntries() != 0) {
1225 TCanvas *c14 = new TCanvas("c14","dca(z)",1200,100,600,400);
1226 c14->SetFillColor(10); c14->SetHighLightColor(10);
1227 c14->Divide(2,1);
1228 c14->cd(1);
1229 gDataProtonsDCAZPass->Divide(gMCProtonsDCAZPass);
1230 gDataProtonsDCAZPass->SetTitle("Protons");
1231 gDataProtonsDCAZPass->GetYaxis()->SetTitle("Data/MC");
1232 gDataProtonsDCAZPass->Draw("E");
1233 //gMCProtonsDCAZPass->Draw("ESAME");
1234 c14->cd(2);
1235 gDataAntiProtonsDCAZPass->Divide(gMCAntiProtonsDCAZPass);
1236 gDataAntiProtonsDCAZPass->SetTitle("Antiprotons");
1237 gDataAntiProtonsDCAZPass->GetYaxis()->SetTitle("Data/MC");
1238 gDataAntiProtonsDCAZPass->Draw("E");
1239 //gMCAntiProtonsDCAZPass->Draw("ESAME");
1240 }
1241
1242 TCanvas *c16 = new TCanvas("c16","TPC clusters (dE/dx)",1200,300,600,400);
1243 c16->SetFillColor(10); c16->SetHighLightColor(10);
1244 c16->Divide(2,1);
1245 c16->cd(1);
1246 gDataProtonsNumberOfTPCdEdxPointsPass->Divide(gMCProtonsNumberOfTPCdEdxPointsPass);
1247 gDataProtonsNumberOfTPCdEdxPointsPass->SetTitle("Protons");
1248 gDataProtonsNumberOfTPCdEdxPointsPass->GetYaxis()->SetTitle("Data/MC");
1249 gDataProtonsNumberOfTPCdEdxPointsPass->Draw("E");
1250 //gMCProtonsNumberOfTPCdEdxPointsPass->Draw("ESAME");
1251 c16->cd(2);
1252 gDataAntiProtonsNumberOfTPCdEdxPointsPass->Divide(gMCAntiProtonsNumberOfTPCdEdxPointsPass);
1253 gDataAntiProtonsNumberOfTPCdEdxPointsPass->SetTitle("Antiprotons");
1254 gDataAntiProtonsNumberOfTPCdEdxPointsPass->GetYaxis()->SetTitle("Data/MC");
1255 gDataAntiProtonsNumberOfTPCdEdxPointsPass->Draw("E");
1256 //gMCAntiProtonsNumberOfTPCdEdxPointsPass->Draw("ESAME");
1257}
1258