]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG2/runProtonAnalysis.C
some residual misconfiguration corrected...
[u/mrichter/AliRoot.git] / PWG2 / runProtonAnalysis.C
CommitLineData
734d2c12 1void runProtonAnalysis() {
2 TStopwatch timer;
3 timer.Start();
4
5 //runLocal();
6 //runInteractive();
7 //runBatch();
8 runProof();
9
10 timer.Stop();
11 timer.Print();
12}
13
14//_________________________________________________//
15void runLocal() {
16 TStopwatch timer;
17 timer.Start();
18 gSystem->Load("libTree.so");
19 //____________________________________________________//
20 //_____________Setting up STEERBase.par_______________//
21 //____________________________________________________//
22 setupPar("STEERBase");
23 gSystem->Load("libSTEERBase.so");
24
25 //____________________________________________________//
26 //_____________Setting up ESD.par_____________________//
27 //____________________________________________________//
28 setupPar("ESD");
29 gSystem->Load("libVMC.so");
30 gSystem->Load("libESD.so");
31
32 //____________________________________________________//
33 //_____________Setting up AOD.par_____________________//
34 //____________________________________________________//
35 setupPar("AOD");
36 gSystem->Load("libAOD.so");
37
38 //_________________________________________________________//
39 //_____________Setting up ANALYSIS.par_____________________//
40 //_________________________________________________________//
41 setupPar("ANALYSIS");
42 gSystem->Load("libANALYSIS.so");
43
44 //____________________________________________________________//
45 //_____________Setting up PWG2spectra.par_____________________//
46 //____________________________________________________________//
47 setupPar("PWG2spectra");
48 gSystem->Load("libPWG2spectra.so");
49
50 gROOT->LoadMacro("AliAnalysisTaskProtons.cxx++");
51
52 //____________________________________________//
53 AliTagAnalysis *TagAna = new AliTagAnalysis("ESD");
54 TagAna->ChainLocalTags("/home/pchrist/ALICE/Alien/Tutorial/November2007/Tags");
55
56 AliRunTagCuts *runCuts = new AliRunTagCuts();
57 AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();
58 AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();
59 AliEventTagCuts *evCuts = new AliEventTagCuts();
60
61 TChain* chain = 0x0;
62 chain = TagAna->QueryTags(runCuts,lhcCuts,detCuts,evCuts);
63 chain->SetBranchStatus("*Calo*",0);
64
65 //____________________________________________//
66 // Make the analysis manager
67 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
68 AliVEventHandler* esdH = new AliESDInputHandler;
69 mgr->SetInputEventHandler(esdH);
70 //____________________________________________//
71 // 1st Proton task
72 AliAnalysisTaskProtons *task1 = new AliAnalysisTaskProtons("TaskProtons");
73 mgr->AddTask(task1);
74
75 // Create containers for input/output
76 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1",TChain::Class(),AliAnalysisManager::kInputContainer);
77 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clist1", TList::Class(),AliAnalysisManager::kOutputContainer,"Protons.ESD.root");
78
79 //____________________________________________//
80 mgr->ConnectInput(task1,0,cinput1);
81 mgr->ConnectOutput(task1,0,coutput1);
82 if (!mgr->InitAnalysis()) return;
83 mgr->PrintStatus();
84 mgr->StartAnalysis("local",chain);
85
86 timer.Stop();
87 timer.Print();
88}
89
90//_________________________________________________//
91void runInteractive() {
92 TStopwatch timer;
93 timer.Start();
94 gSystem->Load("libProofPlayer.so");
95
96 printf("*** Connect to AliEn ***\n");
97 TGrid::Connect("alien://");
98
99 //____________________________________________________//
100 //_____________Setting up STEERBase.par_______________//
101 //____________________________________________________//
102 setupPar("STEERBase");
103 gSystem->Load("libSTEERBase.so");
104
105 //____________________________________________________//
106 //_____________Setting up ESD.par_____________________//
107 //____________________________________________________//
108 setupPar("ESD");
109 gSystem->Load("libVMC.so");
110 gSystem->Load("libESD.so");
111
112 //____________________________________________________//
113 //_____________Setting up AOD.par_____________________//
114 //____________________________________________________//
115 setupPar("AOD");
116 gSystem->Load("libAOD.so");
117
118 //_________________________________________________________//
119 //_____________Setting up ANALYSIS.par_____________________//
120 //_________________________________________________________//
121 setupPar("ANALYSIS");
122 gSystem->Load("libANALYSIS.so");
123
124 //____________________________________________________________//
125 //_____________Setting up PWG2spectra.par_____________________//
126 //____________________________________________________________//
127 setupPar("PWG2spectra");
128 gSystem->Load("libPWG2spectra.so");
129
130 gROOT->LoadMacro("AliAnalysisTaskProtons.cxx++");
131
132 //____________________________________________//
133 AliTagAnalysis *TagAna = new AliTagAnalysis("ESD");
134
135 AliRunTagCuts *runCuts = new AliRunTagCuts();
136 AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();
137 AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();
138 AliEventTagCuts *evCuts = new AliEventTagCuts();
139
140 //grid tags
141 TAlienCollection* coll = TAlienCollection::Open("tag.xml");
142 TGridResult* TagResult = coll->GetGridResult("",0,0);
143 TagAna->ChainGridTags(TagResult);
144 TChain* chain = 0x0;
145 chain = TagAna->QueryTags(runCuts,lhcCuts,detCuts,evCuts);
146 chain->SetBranchStatus("*Calo*",0);
147
148 //____________________________________________//
149 // Make the analysis manager
150 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
151 AliVEventHandler* esdH = new AliESDInputHandler;
152 mgr->SetInputEventHandler(esdH);
153 //____________________________________________//
154 // 1st Proton task
155 AliAnalysisTaskProtons *task1 = new AliAnalysisTaskProtons("TaskProtons");
156 mgr->AddTask(task1);
157
158 // Create containers for input/output
159 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1",TChain::Class(),AliAnalysisManager::kInputContainer);
160 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clist1", TList::Class(),AliAnalysisManager::kOutputContainer,"Protons.ESD.root");
161
162 //____________________________________________//
163 mgr->ConnectInput(task1,0,cinput1);
164 mgr->ConnectOutput(task1,0,coutput1);
165 if (!mgr->InitAnalysis()) return;
166 mgr->PrintStatus();
167 mgr->StartAnalysis("local",chain);
168
169 timer.Stop();
170 timer.Print();
171}
172
173//_________________________________________________//
174void runBatch() {
175 TStopwatch timer;
176 timer.Start();
177
178 printf("*** Connect to AliEn ***\n");
179 TGrid::Connect("alien://");
180 gSystem->Load("libProofPlayer.so");
181
182 //____________________________________________________//
183 //_____________Setting up STEERBase.par_______________//
184 //____________________________________________________//
185 setupPar("STEERBase");
186 gSystem->Load("libSTEERBase.so");
187
188 //____________________________________________________//
189 //_____________Setting up ESD.par_____________________//
190 //____________________________________________________//
191 setupPar("ESD");
192 gSystem->Load("libVMC.so");
193 gSystem->Load("libESD.so");
194
195 //____________________________________________________//
196 //_____________Setting up AOD.par_____________________//
197 //____________________________________________________//
198 setupPar("AOD");
199 gSystem->Load("libAOD.so");
200
201 //_________________________________________________________//
202 //_____________Setting up ANALYSIS.par_____________________//
203 //_________________________________________________________//
204 setupPar("ANALYSIS");
205 gSystem->Load("libANALYSIS.so");
206
207 //____________________________________________________________//
208 //_____________Setting up PWG2spectra.par_____________________//
209 //____________________________________________________________//
210 setupPar("PWG2spectra");
211 gSystem->Load("libPWG2spectra.so");
212
213 //ANALYSIS PART
214 gROOT->LoadMacro("AliAnalysisTaskProtons.cxx++");
215 const char *collectionfile = "wn.xml";
216
217 //____________________________________________//
218 //Usage of event tags
219 AliTagAnalysis *analysis = new AliTagAnalysis();
220 TChain *chain = 0x0;
221 chain = analysis->GetChainFromCollection(collectionfile,"esdTree");
222 chain->SetBranchStatus("*Calo*",0);
223
224 //____________________________________________//
225 // Make the analysis manager
226 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
227 AliVEventHandler* esdH = new AliESDInputHandler;
228 mgr->SetInputEventHandler(esdH);
229 //____________________________________________//
230 // 1st Proton task
231 AliAnalysisTaskProtons *task1 = new AliAnalysisTaskProtons("TaskProtons");
232 mgr->AddTask(task1);
233
234 // Create containers for input/output
235 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1",TChain::Class(),AliAnalysisManager::kInputContainer);
236 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clist1", TList::Class(),AliAnalysisManager::kOutputContainer,"Protons.ESD.root");
237
238 //____________________________________________//
239 mgr->ConnectInput(task1,0,cinput1);
240 mgr->ConnectOutput(task1,0,coutput1);
241 if (!mgr->InitAnalysis()) return;
242 mgr->PrintStatus();
243 mgr->StartAnalysis("grid",chain);
244
245 timer.Stop();
246 timer.Print();
247}
248
249//_________________________________________________//
250void runProof() {
251 TStopwatch timer;
252 timer.Start();
253 printf("****** Connect to PROOF *******\n");
254 TProof::Open("proof://lxb6046.cern.ch");
255 gProof->SetParallel(1);
256
257 // Enable the Analysis Package
258 gProof->UploadPackage("STEERBase.par");
259 gProof->EnablePackage("STEERBase");
260 gProof->UploadPackage("ESD.par");
261 gProof->EnablePackage("ESD");
262 gProof->UploadPackage("AOD.par");
263 gProof->EnablePackage("AOD");
264 gProof->UploadPackage("ANALYSIS.par");
265 gProof->EnablePackage("ANALYSIS");
266 gProof->UploadPackage("PWG2spectra.par");
267 gProof->EnablePackage("PWG2spectra");
268
269 // You should get this macro and the txt file from:
270 // http://aliceinfo.cern.ch/Offline/Analysis/CAF/
271 gROOT->LoadMacro("CreateESDChain.C");
272 TChain* chain = 0x0;
273 chain = CreateESDChain("ESD82XX_30K.txt",10);
274 chain->SetBranchStatus("*Calo*",0);
275
276 gProof->Load("AliAnalysisTaskProtons.cxx++");
277
278 //____________________________________________//
279 // Make the analysis manager
280 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
281 AliVEventHandler* esdH = new AliESDInputHandler;
282 mgr->SetInputEventHandler(esdH);
283 //____________________________________________//
284 // 1st Proton task
285 AliAnalysisTaskProtons *task1 = new AliAnalysisTaskProtons("TaskProtons");
286 mgr->AddTask(task1);
287
288 // Create containers for input/output
289 AliAnalysisDataContainer *cinput1 = mgr->CreateContainer("cchain1",TChain::Class(),AliAnalysisManager::kInputContainer);
290 AliAnalysisDataContainer *coutput1 = mgr->CreateContainer("clist1", TList::Class(),AliAnalysisManager::kOutputContainer,"Protons.ESD.root");
291
292 //____________________________________________//
293 mgr->ConnectInput(task1,0,cinput1);
294 mgr->ConnectOutput(task1,0,coutput1);
295 if (!mgr->InitAnalysis()) return;
296 mgr->PrintStatus();
297 mgr->StartAnalysis("proof",chain);
298
299 timer.Stop();
300 timer.Print();
301}
302
303//_________________________________________________//
304Int_t setupPar(const char* pararchivename) {
305 ///////////////////
306 // Setup PAR File//
307 ///////////////////
308 if (pararchivename) {
309 char processline[1024];
310 sprintf(processline,".! tar xvzf %s.par",pararchivename);
311 gROOT->ProcessLine(processline);
312 const char* ocwd = gSystem->WorkingDirectory();
313 gSystem->ChangeDirectory(pararchivename);
314
315 // check for BUILD.sh and execute
316 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
317 printf("*******************************\n");
318 printf("*** Building PAR archive ***\n");
319 printf("*******************************\n");
320
321 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
322 Error("runAnalysis","Cannot Build the PAR Archive! - Abort!");
323 return -1;
324 }
325 }
326 // check for SETUP.C and execute
327 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
328 printf("*******************************\n");
329 printf("*** Setup PAR archive ***\n");
330 printf("*******************************\n");
331 gROOT->Macro("PROOF-INF/SETUP.C");
332 }
333
334 gSystem->ChangeDirectory("../");
335 }
336 return 1;
337}