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