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