]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/SPECTRA/macros/drawProtonResults.C
activation howto for the MC publisher
[u/mrichter/AliRoot.git] / PWG2 / SPECTRA / macros / drawProtonResults.C
CommitLineData
735cc63d 1void 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//___________________________________________________//
10void 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//___________________________________________________//
44void 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