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