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