]>
Commit | Line | Data |
---|---|---|
735cc63d | 1 | void drawProtonResults(const char* esdFileName) { |
2 | //Macro to visualize the proton ratio results | |
3 | //It also visualizes the QA plots | |
790140ac | 4 | gStyle->SetPalette(1,0); |
5 | drawResults(esdFileName); | |
735cc63d | 6 | drawQAPlots(esdFileName); |
7 | } | |
8 | ||
790140ac | 9 | //___________________________________________________// |
10 | void drawResults(const char* esdFileName) { | |
11 | //Draws the main results from the ratio analysis | |
3c669e09 | 12 | gSystem->Load("libANALYSIS.so"); |
13 | gSystem->Load("libANALYSISalice.so"); | |
14 | gSystem->Load("libCORRFW.so"); | |
15 | ||
16 | //Open the input file and get the objects | |
790140ac | 17 | TFile *f = TFile::Open(esdFileName); |
18 | TList *analysisList = dynamic_cast<TList *>(f->Get("outputList")); | |
790140ac | 19 | TH2D *gHistYPtProtons = dynamic_cast<TH2D *>(analysisList->At(0)); |
20 | TH2D *gHistYPtAntiProtons = dynamic_cast<TH2D *>(analysisList->At(1)); | |
3c669e09 | 21 | AliCFContainer *cfProtons = dynamic_cast<AliCFContainer *>(analysisList->At(3)); |
22 | AliCFContainer *cfAntiProtons = dynamic_cast<AliCFContainer *>(analysisList->At(4)); | |
23 | TH1F *gHistEventStats = dynamic_cast<TH1F *>(analysisList->At(5)); | |
24 | gHistEventStats->SetStats(kFALSE); | |
25 | if(gHistEventStats->GetBinContent(1) != 0) { | |
26 | gHistEventStats->GetYaxis()->SetTitle("N_{events} [%]"); | |
27 | gHistEventStats->Scale(100./gHistEventStats->GetBinContent(1)); | |
28 | } | |
790140ac | 29 | |
3c669e09 | 30 | //==================================================================// |
790140ac | 31 | TCanvas *c2D = new TCanvas("c2D","eta-pT (anti)protons",0,0,700,400); |
32 | c2D->SetFillColor(10); c2D->SetHighLightColor(10); c2D->Divide(2,1); | |
33 | c2D->cd(1); gHistYPtProtons->Draw("col"); | |
34 | c2D->cd(2); gHistYPtAntiProtons->Draw("col"); | |
3c669e09 | 35 | |
36 | TCanvas *cEventStats = new TCanvas("cEventStats","Event statistics", | |
37 | 0,0,500,500); | |
38 | cEventStats->SetFillColor(10); cEventStats->SetHighLightColor(10); | |
39 | gHistEventStats->Draw(); | |
40 | ||
790140ac | 41 | } |
42 | ||
735cc63d | 43 | //___________________________________________________// |
44 | void drawQAPlots(const char* esdFileName) { | |
45 | //Draws the QA plots from the output of the analysis | |
46 | //=========================================================// | |
47 | //List of cuts | |
48 | TFile *fCutFile = TFile::Open("ListOfCuts.root"); | |
49 | TCanvas *cListOfCuts = dynamic_cast<TCanvas *>(fCutFile->Get("cListOfCuts")); | |
50 | cListOfCuts->Draw(); | |
51 | ||
52 | //=========================================================// | |
53 | //QA plots | |
54 | TFile *f = TFile::Open(esdFileName); | |
55 | TList *listQA = dynamic_cast<TList *>(f->Get("outputQAList")); | |
56 | TList *gListGlobalQA = dynamic_cast<TList *>(listQA->At(0)); | |
57 | ||
58 | //================QA plots================// | |
59 | TList *fQA2DList = dynamic_cast<TList *>(gListGlobalQA->At(0)); | |
37cb8683 | 60 | //2D de/dx vs P |
790140ac | 61 | TH2F *gHistdEdxP = dynamic_cast<TH2F *>(fQA2DList->At(0)); |
62 | gHistdEdxP->SetStats(kFALSE); | |
63 | TH2F *gHistProtonsdEdxP = dynamic_cast<TH2F *>(fQA2DList->At(1)); | |
64 | gHistProtonsdEdxP->SetStats(kFALSE); | |
37cb8683 | 65 | |
66 | //3D eta-phi-NPoints(dEdx) | |
67 | TH3F *gHistEtaPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(2)); | |
68 | TH2D *gHistEtaPhi = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("yx"); | |
69 | gHistEtaPhi->SetStats(kFALSE); | |
70 | TH2D *gHistEtaTPCdEdxNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("zx"); | |
71 | gHistEtaTPCdEdxNPoints->SetStats(kFALSE); | |
72 | TH2D *gHistPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCdEdxNPoints->Project3D("zy"); | |
73 | gHistPhiTPCdEdxNPoints->SetStats(kFALSE); | |
74 | ||
75 | //3D eta-phi-NPoints(dEdx): protons | |
76 | TH3F *gHistProtonsEtaPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(3)); | |
77 | TH2D *gHistProtonsEtaPhi = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("yx"); | |
78 | gHistProtonsEtaPhi->SetStats(kFALSE); | |
79 | TH2D *gHistProtonsEtaTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("zx"); | |
80 | gHistProtonsEtaTPCdEdxNPoints->SetStats(kFALSE); | |
81 | TH2D *gHistProtonsPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCdEdxNPoints->Project3D("zy"); | |
82 | gHistProtonsPhiTPCdEdxNPoints->SetStats(kFALSE); | |
83 | ||
84 | //3D eta-phi-NPoints | |
85 | TH3F *gHistEtaPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(4)); | |
86 | TH2D *gHistEtaPhi = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("yx"); | |
87 | gHistEtaPhi->SetStats(kFALSE); | |
88 | TH2D *gHistEtaTPCNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("zx"); | |
89 | gHistEtaTPCNPoints->SetStats(kFALSE); | |
90 | TH2D *gHistPhiTPCNPoints = dynamic_cast<TH2D *>gHistEtaPhiTPCNPoints->Project3D("zy"); | |
91 | gHistPhiTPCNPoints->SetStats(kFALSE); | |
92 | ||
93 | //3D eta-phi-NPoints: protons | |
94 | TH3F *gHistProtonsEtaPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(5)); | |
95 | TH2D *gHistProtonsEtaPhi = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("yx"); | |
96 | gHistProtonsEtaPhi->SetStats(kFALSE); | |
97 | TH2D *gHistProtonsEtaTPCNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("zx"); | |
98 | gHistProtonsEtaTPCNPoints->SetStats(kFALSE); | |
99 | TH2D *gHistProtonsPhiTPCNPoints = dynamic_cast<TH2D *>gHistProtonsEtaPhiTPCNPoints->Project3D("zy"); | |
100 | gHistProtonsPhiTPCNPoints->SetStats(kFALSE); | |
101 | ||
102 | //3D pt-phi-NPoints(dEdx) | |
103 | TH3F *gHistPtPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(6)); | |
104 | TH2D *gHistPtPhi = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("yx"); | |
105 | gHistPtPhi->SetStats(kFALSE); | |
106 | TH2D *gHistPtTPCdEdxNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("zx"); | |
107 | gHistPtTPCdEdxNPoints->SetStats(kFALSE); | |
108 | TH2D *gHistPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCdEdxNPoints->Project3D("zy"); | |
109 | gHistPhiTPCdEdxNPoints->SetStats(kFALSE); | |
110 | ||
111 | //3D pt-phi-NPoints(dEdx): protons | |
112 | TH3F *gHistProtonsPtPhiTPCdEdxNPoints = dynamic_cast<TH3F *>(fQA2DList->At(7)); | |
113 | TH2D *gHistProtonsPtPhi = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("yx"); | |
114 | gHistProtonsPtPhi->SetStats(kFALSE); | |
115 | TH2D *gHistProtonsPtTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("zx"); | |
116 | gHistProtonsPtTPCdEdxNPoints->SetStats(kFALSE); | |
117 | TH2D *gHistProtonsPhiTPCdEdxNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCdEdxNPoints->Project3D("zy"); | |
118 | gHistProtonsPhiTPCdEdxNPoints->SetStats(kFALSE); | |
119 | ||
120 | //3D pt-phi-NPoints | |
121 | TH3F *gHistPtPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(8)); | |
122 | TH2D *gHistPtPhi = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("yx"); | |
123 | gHistPtPhi->SetStats(kFALSE); | |
124 | TH2D *gHistPtTPCNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("zx"); | |
125 | gHistPtTPCNPoints->SetStats(kFALSE); | |
126 | TH2D *gHistPhiTPCNPoints = dynamic_cast<TH2D *>gHistPtPhiTPCNPoints->Project3D("zy"); | |
127 | gHistPhiTPCNPoints->SetStats(kFALSE); | |
128 | ||
129 | //3D pt-phi-NPoints: protons | |
130 | TH3F *gHistProtonsPtPhiTPCNPoints = dynamic_cast<TH3F *>(fQA2DList->At(9)); | |
131 | TH2D *gHistProtonsPtPhi = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("yx"); | |
132 | gHistProtonsPtPhi->SetStats(kFALSE); | |
133 | TH2D *gHistProtonsPtTPCNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("zx"); | |
134 | gHistProtonsPtTPCNPoints->SetStats(kFALSE); | |
135 | TH2D *gHistProtonsPhiTPCNPoints = dynamic_cast<TH2D *>gHistProtonsPtPhiTPCNPoints->Project3D("zy"); | |
136 | gHistProtonsPhiTPCNPoints->SetStats(kFALSE); | |
137 | ||
138 | ||
139 | //__________________________________________________// | |
790140ac | 140 | TCanvas *cdEdx = new TCanvas("cdEdx","dE/dx (TPC)",0,0,700,400); |
141 | cdEdx->SetFillColor(10); cdEdx->SetHighLightColor(10); cdEdx->Divide(2,1); | |
142 | cdEdx->cd(1)->SetLogx(); gHistdEdxP->Draw("col"); | |
143 | cdEdx->cd(2)->SetLogx(); gHistProtonsdEdxP->Draw("col"); | |
735cc63d | 144 | |
37cb8683 | 145 | TCanvas *cEtaPhiNPointsdEdx = new TCanvas("cEtaPhiNPointsdEdx", |
146 | "eta-phi-NPoints(dE/dx)", | |
147 | 0,0,900,600); | |
148 | cEtaPhiNPointsdEdx->SetFillColor(10); | |
149 | cEtaPhiNPointsdEdx->SetHighLightColor(10); cEtaPhiNPointsdEdx->Divide(3,2); | |
150 | cEtaPhiNPointsdEdx->cd(1); gHistEtaPhi->Draw("col"); | |
151 | cEtaPhiNPointsdEdx->cd(2); gHistEtaTPCdEdxNPoints->Draw("col"); | |
152 | cEtaPhiNPointsdEdx->cd(3); gHistPhiTPCdEdxNPoints->Draw("col"); | |
153 | cEtaPhiNPointsdEdx->cd(4); gHistProtonsEtaPhi->Draw("col"); | |
154 | cEtaPhiNPointsdEdx->cd(5); gHistProtonsEtaTPCdEdxNPoints->Draw("col"); | |
155 | cEtaPhiNPointsdEdx->cd(6); gHistProtonsPhiTPCdEdxNPoints->Draw("col"); | |
156 | ||
157 | TCanvas *cEtaPhiNPoints = new TCanvas("cEtaPhiNPoints", | |
158 | "eta-phi-NPoints", | |
159 | 0,0,900,600); | |
160 | cEtaPhiNPoints->SetFillColor(10); | |
161 | cEtaPhiNPoints->SetHighLightColor(10); cEtaPhiNPoints->Divide(3,2); | |
162 | cEtaPhiNPoints->cd(1); gHistEtaPhi->Draw("col"); | |
163 | cEtaPhiNPoints->cd(2); gHistEtaTPCNPoints->Draw("col"); | |
164 | cEtaPhiNPoints->cd(3); gHistPhiTPCNPoints->Draw("col"); | |
165 | cEtaPhiNPoints->cd(4); gHistProtonsEtaPhi->Draw("col"); | |
166 | cEtaPhiNPoints->cd(5); gHistProtonsEtaTPCNPoints->Draw("col"); | |
167 | cEtaPhiNPoints->cd(6); gHistProtonsPhiTPCNPoints->Draw("col"); | |
168 | ||
169 | TCanvas *cPtPhiNPointsdEdx = new TCanvas("cPtPhiNPointsdEdx", | |
170 | "pt-phi-NPoints(dE/dx)", | |
171 | 0,0,900,600); | |
172 | cPtPhiNPointsdEdx->SetFillColor(10); | |
173 | cPtPhiNPointsdEdx->SetHighLightColor(10); cPtPhiNPointsdEdx->Divide(3,2); | |
174 | cPtPhiNPointsdEdx->cd(1); gHistPtPhi->Draw("col"); | |
175 | cPtPhiNPointsdEdx->cd(2); gHistPtTPCdEdxNPoints->Draw("col"); | |
176 | cPtPhiNPointsdEdx->cd(3); gHistPhiTPCdEdxNPoints->Draw("col"); | |
177 | cPtPhiNPointsdEdx->cd(4); gHistProtonsPtPhi->Draw("col"); | |
178 | cPtPhiNPointsdEdx->cd(5); gHistProtonsPtTPCdEdxNPoints->Draw("col"); | |
179 | cPtPhiNPointsdEdx->cd(6); gHistProtonsPhiTPCdEdxNPoints->Draw("col"); | |
180 | ||
181 | TCanvas *cPtPhiNPoints = new TCanvas("cPtPhiNPoints", | |
182 | "pt-phi-NPoints", | |
183 | 0,0,900,600); | |
184 | cPtPhiNPoints->SetFillColor(10); | |
185 | cPtPhiNPoints->SetHighLightColor(10); cPtPhiNPoints->Divide(3,2); | |
186 | cPtPhiNPoints->cd(1); gHistPtPhi->Draw("col"); | |
187 | cPtPhiNPoints->cd(2); gHistPtTPCNPoints->Draw("col"); | |
188 | cPtPhiNPoints->cd(3); gHistPhiTPCNPoints->Draw("col"); | |
189 | cPtPhiNPoints->cd(4); gHistProtonsPtPhi->Draw("col"); | |
190 | cPtPhiNPoints->cd(5); gHistProtonsPtTPCNPoints->Draw("col"); | |
191 | cPtPhiNPoints->cd(6); gHistProtonsPhiTPCNPoints->Draw("col"); | |
192 | ||
735cc63d | 193 | //Accepted protons |
194 | TList *fQAProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQA->At(1)); | |
195 | TH1F *gProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(0)); | |
196 | TH1F *gProtonsChi2PerClusterITSPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(1)); | |
197 | TH1F *gProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(2)); | |
198 | TH1F *gProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(3)); | |
199 | TH1F *gProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(4)); | |
200 | TH1F *gProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(5)); | |
201 | TH1F *gProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(6)); | |
202 | TH1F *gProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(7)); | |
203 | TH1F *gProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(8)); | |
204 | TH1F *gProtonsSigmaToVertexPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(9)); | |
205 | TH1F *gProtonsSigmaToVertexTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(10)); | |
206 | TH1F *gProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(11)); | |
207 | TH1F *gProtonsDCAXYTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(12)); | |
208 | TH1F *gProtonsDCAZPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(13)); | |
209 | TH1F *gProtonsDCAZTPCPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(14)); | |
210 | TH1F *gProtonsConstrainChi2Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(15)); | |
211 | TH1F *gProtonsITSRefitPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(16)); | |
212 | TH1F *gProtonsTPCRefitPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(17)); | |
213 | TH1F *gProtonsESDpidPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(18)); | |
214 | TH1F *gProtonsTPCpidPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(19)); | |
215 | TH1F *gProtonsPointOnITSLayer1Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(20)); | |
216 | TH1F *gProtonsPointOnITSLayer2Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(21)); | |
217 | TH1F *gProtonsPointOnITSLayer3Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(22)); | |
218 | TH1F *gProtonsPointOnITSLayer4Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(23)); | |
219 | TH1F *gProtonsPointOnITSLayer5Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(24)); | |
220 | TH1F *gProtonsPointOnITSLayer6Pass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(25)); | |
221 | TH1F *gProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAProtonsAcceptedList->At(26)); | |
222 | ||
223 | //Rejected protons | |
224 | TList *fQAProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQA->At(2)); | |
225 | TH1F *gProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(0)); | |
226 | TH1F *gProtonsChi2PerClusterITSReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(1)); | |
227 | TH1F *gProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(2)); | |
228 | TH1F *gProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(3)); | |
229 | TH1F *gProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(4)); | |
230 | TH1F *gProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(5)); | |
231 | TH1F *gProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(6)); | |
232 | TH1F *gProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(7)); | |
233 | TH1F *gProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(8)); | |
234 | TH1F *gProtonsSigmaToVertexReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(9)); | |
235 | TH1F *gProtonsSigmaToVertexTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(10)); | |
236 | TH1F *gProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(11)); | |
237 | TH1F *gProtonsDCAXYTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(12)); | |
238 | TH1F *gProtonsDCAZReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(13)); | |
239 | TH1F *gProtonsDCAZTPCReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(14)); | |
240 | TH1F *gProtonsConstrainChi2Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(15)); | |
241 | TH1F *gProtonsITSRefitReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(16)); | |
242 | TH1F *gProtonsTPCRefitReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(17)); | |
243 | TH1F *gProtonsESDpidReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(18)); | |
244 | TH1F *gProtonsTPCpidReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(19)); | |
245 | TH1F *gProtonsPointOnITSLayer1Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(20)); | |
246 | TH1F *gProtonsPointOnITSLayer2Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(21)); | |
247 | TH1F *gProtonsPointOnITSLayer3Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(22)); | |
248 | TH1F *gProtonsPointOnITSLayer4Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(23)); | |
249 | TH1F *gProtonsPointOnITSLayer5Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(24)); | |
250 | TH1F *gProtonsPointOnITSLayer6Reject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(25)); | |
251 | TH1F *gProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAProtonsRejectedList->At(26)); | |
252 | ||
253 | //Accepted antiprotons | |
254 | TList *fQAAntiProtonsAcceptedList = dynamic_cast<TList *>(gListGlobalQA->At(3)); | |
255 | TH1F *gAntiProtonsITSClustersPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(0)); | |
256 | TH1F *gAntiProtonsChi2PerClusterITSPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(1)); | |
257 | TH1F *gAntiProtonsTPCClustersPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(2)); | |
258 | TH1F *gAntiProtonsChi2PerClusterTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(3)); | |
259 | TH1F *gAntiProtonsExtCov11Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(4)); | |
260 | TH1F *gAntiProtonsExtCov22Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(5)); | |
261 | TH1F *gAntiProtonsExtCov33Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(6)); | |
262 | TH1F *gAntiProtonsExtCov44Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(7)); | |
263 | TH1F *gAntiProtonsExtCov55Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(8)); | |
264 | TH1F *gAntiProtonsSigmaToVertexPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(9)); | |
265 | TH1F *gAntiProtonsSigmaToVertexTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(10)); | |
266 | TH1F *gAntiProtonsDCAXYPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(11)); | |
267 | TH1F *gAntiProtonsDCAXYTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(12)); | |
268 | TH1F *gAntiProtonsDCAZPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(13)); | |
269 | TH1F *gAntiProtonsDCAZTPCPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(14)); | |
270 | TH1F *gAntiProtonsConstrainChi2Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(15)); | |
271 | TH1F *gAntiProtonsITSRefitPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(16)); | |
272 | TH1F *gAntiProtonsTPCRefitPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(17)); | |
273 | TH1F *gAntiProtonsESDpidPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(18)); | |
274 | TH1F *gAntiProtonsTPCpidPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(19)); | |
275 | TH1F *gAntiProtonsPointOnITSLayer1Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(20)); | |
276 | TH1F *gAntiProtonsPointOnITSLayer2Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(21)); | |
277 | TH1F *gAntiProtonsPointOnITSLayer3Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(22)); | |
278 | TH1F *gAntiProtonsPointOnITSLayer4Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(23)); | |
279 | TH1F *gAntiProtonsPointOnITSLayer5Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(24)); | |
280 | TH1F *gAntiProtonsPointOnITSLayer6Pass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(25)); | |
281 | TH1F *gAntiProtonsNumberOfTPCdEdxPointsPass = dynamic_cast<TH1F *>(fQAAntiProtonsAcceptedList->At(26)); | |
282 | ||
283 | //Rejected antiprotons | |
284 | TList *fQAAntiProtonsRejectedList = dynamic_cast<TList *>(gListGlobalQA->At(4)); | |
285 | TH1F *gAntiProtonsITSClustersReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(0)); | |
286 | TH1F *gAntiProtonsChi2PerClusterITSReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(1)); | |
287 | TH1F *gAntiProtonsTPCClustersReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(2)); | |
288 | TH1F *gAntiProtonsChi2PerClusterTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(3)); | |
289 | TH1F *gAntiProtonsExtCov11Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(4)); | |
290 | TH1F *gAntiProtonsExtCov22Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(5)); | |
291 | TH1F *gAntiProtonsExtCov33Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(6)); | |
292 | TH1F *gAntiProtonsExtCov44Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(7)); | |
293 | TH1F *gAntiProtonsExtCov55Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(8)); | |
294 | TH1F *gAntiProtonsSigmaToVertexReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(9)); | |
295 | TH1F *gAntiProtonsSigmaToVertexTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(10)); | |
296 | TH1F *gAntiProtonsDCAXYReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(11)); | |
297 | TH1F *gAntiProtonsDCAXYTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(12)); | |
298 | TH1F *gAntiProtonsDCAZReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(13)); | |
299 | TH1F *gAntiProtonsDCAZTPCReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(14)); | |
300 | TH1F *gAntiProtonsConstrainChi2Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(15)); | |
301 | TH1F *gAntiProtonsITSRefitReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(16)); | |
302 | TH1F *gAntiProtonsTPCRefitReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(17)); | |
303 | TH1F *gAntiProtonsESDpidReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(18)); | |
304 | TH1F *gAntiProtonsTPCpidReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(19)); | |
305 | TH1F *gAntiProtonsPointOnITSLayer1Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(20)); | |
306 | TH1F *gAntiProtonsPointOnITSLayer2Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(21)); | |
307 | TH1F *gAntiProtonsPointOnITSLayer3Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(22)); | |
308 | TH1F *gAntiProtonsPointOnITSLayer4Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(23)); | |
309 | TH1F *gAntiProtonsPointOnITSLayer5Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(24)); | |
310 | TH1F *gAntiProtonsPointOnITSLayer6Reject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(25)); | |
311 | TH1F *gAntiProtonsNumberOfTPCdEdxPointsReject = dynamic_cast<TH1F *>(fQAAntiProtonsRejectedList->At(26)); | |
312 | ||
313 | //__________________________________________________// | |
790140ac | 314 | TCanvas *c1 = new TCanvas("c1","ITS clusters",0,0,600,400); |
735cc63d | 315 | c1->SetFillColor(10); c1->SetHighLightColor(10); |
316 | c1->Divide(2,1); | |
317 | c1->cd(1); gProtonsITSClustersPass->Draw(); | |
318 | gProtonsITSClustersReject->Draw("same"); | |
319 | c1->cd(2); gAntiProtonsITSClustersPass->Draw(); | |
320 | gAntiProtonsITSClustersReject->Draw("same"); | |
321 | ||
790140ac | 322 | TCanvas *c2 = new TCanvas("c2","chi^2 per ITS cluster",0,100,600,400); |
735cc63d | 323 | c2->SetFillColor(10); c2->SetHighLightColor(10); |
324 | c2->Divide(2,1); | |
325 | c2->cd(1); gProtonsChi2PerClusterITSPass->Draw(); | |
326 | gProtonsChi2PerClusterITSReject->Draw("same"); | |
327 | c2->cd(2); gAntiProtonsChi2PerClusterITSPass->Draw(); | |
328 | gAntiProtonsChi2PerClusterITSReject->Draw("same"); | |
329 | ||
790140ac | 330 | TCanvas *c3 = new TCanvas("c3","TPC clusters",0,200,600,400); |
735cc63d | 331 | c3->SetFillColor(10); c3->SetHighLightColor(10); |
332 | c3->Divide(2,1); | |
333 | c3->cd(1); gProtonsTPCClustersPass->Draw(); | |
334 | gProtonsTPCClustersReject->Draw("same"); | |
335 | c3->cd(2); gAntiProtonsTPCClustersPass->Draw(); | |
336 | gAntiProtonsTPCClustersReject->Draw("same"); | |
337 | ||
790140ac | 338 | TCanvas *c4 = new TCanvas("c4","chi^2 per TPC cluster",0,300,600,400); |
735cc63d | 339 | c4->SetFillColor(10); c4->SetHighLightColor(10); |
340 | c4->Divide(2,1); | |
341 | c4->cd(1); gProtonsChi2PerClusterTPCPass->Draw(); | |
342 | gProtonsChi2PerClusterTPCReject->Draw("same"); | |
343 | c4->cd(2); gAntiProtonsChi2PerClusterTPCPass->Draw(); | |
344 | gAntiProtonsChi2PerClusterTPCReject->Draw("same"); | |
345 | ||
37cb8683 | 346 | if(gProtonsExtCov11Pass->GetEntries() != 0) { |
347 | TCanvas *c5 = new TCanvas("c5","Cov11",0,400,600,400); | |
348 | c5->SetFillColor(10); c5->SetHighLightColor(10); | |
349 | c5->Divide(2,1); | |
350 | c5->cd(1)->SetLogy(); gProtonsExtCov11Pass->Draw(); | |
351 | gProtonsExtCov11Reject->Draw("same"); | |
352 | c5->cd(2)->SetLogy(); gAntiProtonsExtCov11Pass->Draw(); | |
353 | gAntiProtonsExtCov11Reject->Draw("same"); | |
354 | } | |
355 | ||
356 | if(gProtonsExtCov11Pass->GetEntries() != 0) { | |
357 | TCanvas *c6 = new TCanvas("c6","Cov22",0,500,600,400); | |
358 | c6->SetFillColor(10); c6->SetHighLightColor(10); | |
359 | c6->Divide(2,1); | |
360 | c6->cd(1)->SetLogy(); gProtonsExtCov22Pass->Draw(); | |
361 | gProtonsExtCov22Reject->Draw("same"); | |
362 | c6->cd(2)->SetLogy(); gAntiProtonsExtCov22Pass->Draw(); | |
363 | gAntiProtonsExtCov22Reject->Draw("same"); | |
364 | } | |
365 | ||
366 | if(gProtonsExtCov11Pass->GetEntries() != 0) { | |
367 | TCanvas *c7 = new TCanvas("c7","Cov33",600,0,600,400); | |
368 | c7->SetFillColor(10); c7->SetHighLightColor(10); | |
369 | c7->Divide(2,1); | |
370 | c7->cd(1)->SetLogy(); gProtonsExtCov33Pass->Draw(); | |
371 | gProtonsExtCov33Reject->Draw("same"); | |
372 | c7->cd(2)->SetLogy(); gAntiProtonsExtCov33Pass->Draw(); | |
373 | gAntiProtonsExtCov33Reject->Draw("same"); | |
374 | } | |
375 | ||
376 | if(gProtonsExtCov11Pass->GetEntries() != 0) { | |
377 | TCanvas *c8 = new TCanvas("c8","Cov44",600,100,600,400); | |
378 | c8->SetFillColor(10); c8->SetHighLightColor(10); | |
379 | c8->Divide(2,1); | |
380 | c8->cd(1)->SetLogy(); gProtonsExtCov44Pass->Draw(); | |
381 | gProtonsExtCov44Reject->Draw("same"); | |
382 | c8->cd(2)->SetLogy(); gAntiProtonsExtCov44Pass->Draw(); | |
383 | gAntiProtonsExtCov44Reject->Draw("same"); | |
384 | } | |
385 | ||
386 | if(gProtonsExtCov11Pass->GetEntries() != 0) { | |
387 | TCanvas *c9 = new TCanvas("c9","Cov55",600,200,600,400); | |
388 | c9->SetFillColor(10); c9->SetHighLightColor(10); | |
389 | c9->Divide(2,1); | |
390 | c9->cd(1)->SetLogy(); gProtonsExtCov55Pass->Draw(); | |
391 | gProtonsExtCov55Reject->Draw("same"); | |
392 | c9->cd(2)->SetLogy(); gAntiProtonsExtCov55Pass->Draw(); | |
393 | gAntiProtonsExtCov55Reject->Draw("same"); | |
394 | } | |
395 | ||
396 | if(gProtonsSigmaToVertexPass->GetEntries() != 0) { | |
397 | TCanvas *c10 = new TCanvas("c10","N-sigma to Vertex",600,300,600,400); | |
398 | c10->SetFillColor(10); c10->SetHighLightColor(10); | |
399 | c10->Divide(2,1); | |
400 | c10->cd(1)->SetLogy(); gProtonsSigmaToVertexPass->Draw(); | |
401 | gProtonsSigmaToVertexReject->Draw("same"); | |
402 | c10->cd(2)->SetLogy(); gAntiProtonsSigmaToVertexPass->Draw(); | |
403 | gAntiProtonsSigmaToVertexReject->Draw("same"); | |
404 | } | |
405 | ||
406 | if(gProtonsSigmaToVertexTPCPass->GetEntries() != 0) { | |
407 | TCanvas *c11 = new TCanvas("c11","N-sigma to Vertex (TPC)",600,400,600,400); | |
408 | c11->SetFillColor(10); c11->SetHighLightColor(10); | |
409 | c11->Divide(2,1); | |
410 | c11->cd(1)->SetLogy(); gProtonsSigmaToVertexTPCPass->Draw(); | |
411 | gProtonsSigmaToVertexTPCReject->Draw("same"); | |
412 | c11->cd(2)->SetLogy(); gAntiProtonsSigmaToVertexTPCPass->Draw(); | |
413 | gAntiProtonsSigmaToVertexTPCReject->Draw("same"); | |
414 | } | |
415 | ||
416 | if(gProtonsDCAXYPass->GetEntries() != 0) { | |
417 | TCanvas *c12 = new TCanvas("c12","dca(xy)",600,500,600,400); | |
418 | c12->SetFillColor(10); c12->SetHighLightColor(10); | |
419 | c12->Divide(2,1); | |
420 | c12->cd(1)->SetLogy(); gProtonsDCAXYPass->Draw(); | |
421 | gProtonsDCAXYReject->Draw("same"); | |
422 | c12->cd(2)->SetLogy(); gAntiProtonsDCAXYPass->Draw(); | |
423 | gAntiProtonsDCAXYReject->Draw("same"); | |
424 | } | |
425 | ||
426 | if(gProtonsDCAXYTPCPass->GetEntries() != 0) { | |
427 | TCanvas *c13 = new TCanvas("c13","dca(xy - TPC)",1200,0,600,400); | |
428 | c13->SetFillColor(10); c13->SetHighLightColor(10); | |
429 | c13->Divide(2,1); | |
430 | c13->cd(1)->SetLogy(); gProtonsDCAXYTPCPass->Draw(); | |
431 | gProtonsDCAXYTPCReject->Draw("same"); | |
432 | c13->cd(2)->SetLogy(); gAntiProtonsDCAXYTPCPass->Draw(); | |
433 | gAntiProtonsDCAXYTPCReject->Draw("same"); | |
434 | } | |
435 | ||
436 | if(gProtonsDCAZPass->GetEntries() != 0) { | |
437 | TCanvas *c14 = new TCanvas("c14","dca(z)",1200,100,600,400); | |
438 | c14->SetFillColor(10); c14->SetHighLightColor(10); | |
439 | c14->Divide(2,1); | |
440 | c14->cd(1)->SetLogy(); gProtonsDCAZPass->Draw(); | |
441 | gProtonsDCAZReject->Draw("same"); | |
442 | c14->cd(2)->SetLogy(); gAntiProtonsDCAZPass->Draw(); | |
443 | gAntiProtonsDCAZReject->Draw("same"); | |
444 | } | |
445 | ||
446 | if(gProtonsDCAZTPCPass->GetEntries() != 0) { | |
447 | TCanvas *c15 = new TCanvas("c15","dca(z - TPC)",1200,200,600,400); | |
448 | c15->SetFillColor(10); c15->SetHighLightColor(10); | |
449 | c15->Divide(2,1); | |
450 | c15->cd(1)->SetLogy(); gProtonsDCAZTPCPass->Draw(); | |
451 | gProtonsDCAZTPCReject->Draw("same"); | |
452 | c15->cd(2)->SetLogy(); gAntiProtonsDCAZTPCPass->Draw(); | |
453 | gAntiProtonsDCAZTPCReject->Draw("same"); | |
454 | } | |
735cc63d | 455 | |
790140ac | 456 | TCanvas *c16 = new TCanvas("c16","TPC clusters (dE/dx)",1200,300,600,400); |
735cc63d | 457 | c16->SetFillColor(10); c16->SetHighLightColor(10); |
458 | c16->Divide(2,1); | |
459 | c16->cd(1); gProtonsNumberOfTPCdEdxPointsPass->Draw(); | |
460 | gProtonsNumberOfTPCdEdxPointsReject->Draw("same"); | |
461 | c16->cd(2); gAntiProtonsNumberOfTPCdEdxPointsPass->Draw(); | |
462 | gAntiProtonsNumberOfTPCdEdxPointsReject->Draw("same"); | |
463 | ||
464 | //================Vertex QA================// | |
465 | TList *gListVertexQA = dynamic_cast<TList *>(listQA->At(1)); | |
466 | TH1F *gHistVx = dynamic_cast<TH1F *>(gListVertexQA->At(0)); | |
467 | TH1F *gHistVxAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(1)); | |
468 | gHistVxAccepted->SetFillColor(10); | |
469 | TH1F *gHistVy = dynamic_cast<TH1F *>(gListVertexQA->At(2)); | |
470 | TH1F *gHistVyAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(3)); | |
471 | gHistVyAccepted->SetFillColor(10); | |
472 | TH1F *gHistVz = dynamic_cast<TH1F *>(gListVertexQA->At(4)); | |
473 | TH1F *gHistVzAccepted = dynamic_cast<TH1F *>(gListVertexQA->At(5)); | |
474 | gHistVzAccepted->SetFillColor(10); | |
475 | ||
790140ac | 476 | TCanvas *cVertex = new TCanvas("cVertex","Vertex QA",0,0,900,400); |
735cc63d | 477 | cVertex->SetFillColor(10); cVertex->SetHighLightColor(10); |
478 | cVertex->Divide(3,1); | |
790140ac | 479 | cVertex->cd(1)->SetLogy(); gHistVx->Draw(); gHistVxAccepted->Draw("same"); |
480 | cVertex->cd(2)->SetLogy(); gHistVy->Draw(); gHistVyAccepted->Draw("same"); | |
481 | cVertex->cd(3)->SetLogy(); gHistVz->Draw(); gHistVzAccepted->Draw("same"); | |
735cc63d | 482 | } |
483 |