]> git.uio.no Git - u/mrichter/AliRoot.git/blame - prod/acrcaf/qa/qa.C
Prototype of the QA analysis mini-train. It uses AliAnalysisTaskCosmic from PWG1...
[u/mrichter/AliRoot.git] / prod / acrcaf / qa / qa.C
CommitLineData
c2174181 1void qa(Int_t runNumber) {
2 TStopwatch timer;
3 timer.Start();
4
5 gEnv->SetValue("XSec.GSI.DelegProxy","2");
6 // Select ROOT version
7 TProof::Mgr("aliprod@alicecaf")->SetROOTVersion("v5-24-00b-caf");
8 // Login to CAF
9 TProof::Open("aliprod@alicecaf");
10
11 // Enable AliRoot
12 gProof->UploadPackage("/afs/cern.ch/alice/caf/sw/ALICE/PARs/v4-17-Release.rec/AF-v4-17-rec.par");
13 gProof->EnablePackage("AF-v4-17-rec.par");
14
15 gProof->Load(Form("%s/AliAnalysisTaskCosmic.cxx++g",
16 gSystem->ExpandPathName("$ALICE_ROOT/PWG1/cosmic"));
17
18 //____________________________________________//
19 // Make the analysis manager
20 AliAnalysisManager *mgr = new AliAnalysisManager("AnalysisQAManager");
21 AliESDInputHandler* esdH = new AliESDInputHandler();
22 mgr->SetInputEventHandler(esdH);
23 mgr->SetDebugLevel(10);
24
25 //____________________________________________//
26 // 1st Cosmic task
27 AliAnalysisTaskCosmic *task1 = new AliAnalysisTaskCosmic("TaskCosmic");
28 mgr->AddTask(task1);
29
30 // Create containers for input/output
31 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("chist1",TList::Class(),AliAnalysisManager::kOutputContainer,
32 Form("run%d.root",runNumber));
33
34 //____________________________________________//
35 mgr->ConnectInput (task1, 0, mgr->GetCommonInputContainer());
36 mgr->ConnectOutput (task1, 1, coutput1);
37
38 if (!mgr->InitAnalysis()) return;
39 mgr->PrintStatus();
40 mgr->StartAnalysis("proof",
41 Form("ALIREC/aliprod/run%d",runNumber));
42
43 timer.Stop();
44 timer.Print();
45
46 plot(runNumber);
47}
48
49void plot(Int_t runNumber)
50{
51 TFile* f = new TFile(Form("run%d.root",runNumber), "read");
52
53 // pt, phi ....
54 TCanvas* c1 = new TCanvas("c1", "pt,eta,phi", 10, 10, 1100, 800);
55 c1->Divide(2,2);
56 c1->cd(1);
57 c1->GetPad(1)->SetLogy();
58
59 fhPtP = (TH1F*) chist1->FindObject("fhPtPC");
60 fhPtP->SetLineColor(2);
61 fhPtP->Draw();
62 fhPtN = (TH1F*) chist1->FindObject("fhPtNC");
63 fhPtN->SetLineColor(4);
64 fhPtN->Draw("same");
65
66 c1->cd(2);
67 fhPhiP = (TH1F*) chist1->FindObject("fhPhiPC");
68 fhPhiP->SetLineColor(2);
69 fhPhiP->Draw();
70 fhPhiN = (TH1F*) chist1->FindObject("fhPhiNC");
71 fhPhiN->SetLineColor(4);
72 fhPhiN->Draw("same");
73
74 c1->cd(3);
75 fhThetaP = (TH1F*) chist1->FindObject("fhThetaPC");
76 fhThetaP->SetLineColor(2);
77 fhThetaP->Draw();
78 fhThetaN = (TH1F*) chist1->FindObject("fhThetaNC");
79 fhThetaN->SetLineColor(4);
80 fhThetaN->Draw("same");
81
82
83 // delta phi
84 TCanvas* c2 = new TCanvas("c2", "#Delta#phi", 10, 10, 1100, 800);
85 c2->Divide(2,2);
86 // pos/neg charge
87 c2->cd(1);
88 c2->GetPad(1)->SetLogy();
89 fhDPhiP = (TH1F*) chist1->FindObject("fhDPhiPC");
90 fhDPhiN = (TH1F*) chist1->FindObject("fhDPhiNC");
91 fhDPhiP->SetLineColor(2);
92 fhDPhiN->SetLineColor(4);
93 fhDPhiP->SetXTitle("#Delta#phi [rad]");
94 fhDPhiP->Draw();
95 fhDPhiN->Draw("same");
96
97 // pos/neg z
98 c2->cd(2);
99 c2->GetPad(2)->SetLogy();
100
101 fhDPhiZP = (TH1F*) chist1->FindObject("fhDPhiPZ");
102 fhDPhiZN = (TH1F*) chist1->FindObject("fhDPhiNZ");
103 fhDPhiBA = (TH1F*) chist1->FindObject("fhDPhi_Bad");
104 fhDPhiZP->SetLineColor(2);
105 fhDPhiZN->SetLineColor(4);
106 fhDPhiBA->SetLineColor(6);
107
108 fhDPhiZP->SetXTitle("#Delta#phi [rad]");
109 fhDPhiZP->Draw();
110 fhDPhiZN->Draw("same");
111 // fhDPhiBA->Draw("same");
112
113
114 // delta theta
115 // pos/neg charge
116 c2->cd(3);
117 c2->GetPad(3)->SetLogy();
118 fhDThetaP = (TH1F*) chist1->FindObject("fhDThetaPC");
119 fhDThetaN = (TH1F*) chist1->FindObject("fhDThetaNC");
120 fhDThetaP->SetLineColor(2);
121 fhDThetaN->SetLineColor(4);
122
123
124 fhDThetaP->SetXTitle("#Delta#theta [rad]");
125 fhDThetaP->Draw();
126 fhDThetaN->Draw("same");
127
128 // pos/neg z
129 c2->cd(4);
130 c2->GetPad(4)->SetLogy();
131
132 fhDThetaZP = (TH1F*) chist1->FindObject("fhDThetaPZ");
133 fhDThetaZN = (TH1F*) chist1->FindObject("fhDThetaNZ");
134 fhDThetaBA = (TH1F*) chist1->FindObject("fhDTheta_Bad");
135 fhDThetaZP->SetLineColor(2);
136 fhDThetaZN->SetLineColor(4);
137 fhDThetaBA->SetLineColor(6);
138 fhDThetaZP->SetXTitle("#Delta#theta [rad]");
139 fhDThetaZP->Draw();
140
141 fhDThetaZN->Draw("same");
142 // fhDThetaBA->Draw("same");
143
144
145 // delta Pt
146 TCanvas* c3 = new TCanvas("c3", "#Delta p_{T}", 10, 10, 1100, 800);
147 c3->Divide(2,2);
148 // pos/neg charge
149 c3->cd(1);
150 c3->GetPad(1)->SetLogy();
151 fhDPtP = (TH1F*) chist1->FindObject("fhDPtPC");
152 fhDPtN = (TH1F*) chist1->FindObject("fhDPtNC");
153 fhDPtP->SetLineColor(2);
154 fhDPtN->SetLineColor(4);
155
156 fhDPtP->Draw();
157 fhDPtN->Draw("same");
158
159 // pos/neg z
160 c3->cd(2);
161 c3->GetPad(2)->SetLogy();
162
163 fhDPtZP = (TH1F*) chist1->FindObject("fhDPtPZ");
164 fhDPtZN = (TH1F*) chist1->FindObject("fhDPtNZ");
165 fhDPtZP->SetLineColor(2);
166 fhDPtZN->SetLineColor(4);
167 fhDPtZP->Draw();
168 fhDPtZN->Draw("same");
169
170 c3->cd(3);
171
172 fpDPtP = (TH1F*) chist1->FindObject("fpDPtPC");
173 fpDPtN = (TH1F*) chist1->FindObject("fpDPtNC");
174 fpDPtP->SetLineColor(2);
175 fpDPtN->SetLineColor(4);
176 fpDPtP->Draw();
177 fpDPtN->Draw("same");
178
179 c3->cd(4);
180
181 fpDPtZP = (TH1F*) chist1->FindObject("fpDPtPZ");
182 fpDPtZN = (TH1F*) chist1->FindObject("fpDPtNZ");
183 fpDPtZP->SetLineColor(2);
184 fpDPtZN->SetLineColor(4);
185 fpDPtZP->Draw();
186 fpDPtZN->Draw("same");
187
188
189 // dZ
190 TCanvas* c4 = new TCanvas("c4", "#Delta Z", 10, 10, 1100, 800);
191 c4->Divide(2,2);
192 // pos/neg charge
193 c4->cd(1);
194 c4->GetPad(1)->SetLogy();
195 fhDZP = (TH1F*) chist1->FindObject("fhDZPC");
196 fhDZN = (TH1F*) chist1->FindObject("fhDZNC");
197 fhDZP->SetLineColor(2);
198 fhDZN->SetLineColor(4);
199
200 fhDZP->Draw();
201 fhDZN->Draw("same");
202
203 // pos/neg z
204 c4->cd(2);
205 c4->GetPad(2)->SetLogy();
206
207 fhDZZP = (TH1F*) chist1->FindObject("fhDZPZ");
208 fhDZZN = (TH1F*) chist1->FindObject("fhDZNZ");
209 fhDZBA = (TH1F*) chist1->FindObject("fhDZ_Bad");
210
211 fhDZZP->SetLineColor(2);
212 fhDZZN->SetLineColor(4);
213 fhDZBA->SetLineColor(6);
214
215 fhDZZP->Draw();
216 fhDZZN->Draw("same");
217 fhDZBA->Draw("same");
218
219 // dX
220 // pos/neg charge
221 c4->cd(3);
222 c4->GetPad(3)->SetLogy();
223 fhDXP = (TH1F*) chist1->FindObject("fhDXPC");
224 fhDXN = (TH1F*) chist1->FindObject("fhDXNC");
225 fhDXP->SetLineColor(2);
226 fhDXN->SetLineColor(4);
227
228 fhDXP->Draw();
229 fhDXN->Draw("same");
230
231 // pos/neg z
232 c4->cd(4);
233 c4->GetPad(4)->SetLogy();
234
235 fhDXZP = (TH1F*) chist1->FindObject("fhDXPZ");
236 fhDXZN = (TH1F*) chist1->FindObject("fhDXNZ");
237 fhDXBA = (TH1F*) chist1->FindObject("fhDX_Bad");
238
239 fhDXZP->SetLineColor(2);
240 fhDXZN->SetLineColor(4);
241 fhDXBA->SetLineColor(6);
242
243 fhDXZP->Draw();
244 fhDXZN->Draw("same");
245 fhDXBA->Draw("same");
246
247 // dY
248 TCanvas* c4a = new TCanvas("c4a", "#Delta Y", 10, 10, 1100, 800);
249 c4a->Divide(2,2);
250 // pos/neg charge
251 c4a->cd(1);
252 c4a->GetPad(1)->SetLogy();
253 fhDYP = (TH1F*) chist1->FindObject("fhDYPC");
254 fhDYN = (TH1F*) chist1->FindObject("fhDYNC");
255 fhDYP->SetLineColor(2);
256 fhDYN->SetLineColor(4);
257
258 fhDYP->Draw();
259 fhDYN->Draw("same");
260
261 // pos/neg z
262 c4a->cd(2);
263 c4a->GetPad(2)->SetLogy();
264
265 fhDYZP = (TH1F*) chist1->FindObject("fhDYPZ");
266 fhDYZN = (TH1F*) chist1->FindObject("fhDYNZ");
267 fhDYBA = (TH1F*) chist1->FindObject("fhDY_Bad");
268
269 fhDYZP->SetLineColor(2);
270 fhDYZN->SetLineColor(4);
271 fhDYBA->SetLineColor(6);
272
273 fhDYZP->Draw();
274 fhDYZN->Draw("same");
275 fhDYBA->Draw("same");
276
277 // delta Pt
278 TCanvas* c5 = new TCanvas("c5", "#Delta p_{T} (n-sigma)", 10, 10, 1100, 800);
279 c5->Divide(2,2);
280 c5->cd(1);
281
282 fpDPtSP = (TH1F*) chist1->FindObject("fpDPtSPC");
283 fpDPtSN = (TH1F*) chist1->FindObject("fpDPtSNC");
284 fpDPtSP->SetLineColor(2);
285 fpDPtSN->SetLineColor(4);
286 fpDPtSP->Draw();
287 fpDPtSN->Draw("same");
288
289
290 c5->cd(2);
291
292 fpDPtSPZ = (TH1F*) chist1->FindObject("fpDPtSPZ");
293 fpDPtSNZ = (TH1F*) chist1->FindObject("fpDPtSNZ");
294 fpDPtSPZ->SetLineColor(2);
295 fpDPtSNZ->SetLineColor(4);
296 fpDPtSPZ->Draw();
297 fpDPtSNZ->Draw("same");
298
299 TCanvas* c6 = new TCanvas("c6", "Dz vs z", 10, 10, 1100, 800);
300 fhDZvsZ = (TH2F*) chist1->FindObject("fhDZvsZ");
301 fhDZvsZ->SetXTitle("z_{in} * sign(z_{in}) * sign(z_{out}) [cm]");
302 fhDZvsZ->SetYTitle("#DeltaZ [cm]");
303
304 gStyle->SetPalette(1);
305
306 fhDZvsZ->Draw("colz");
307}
308