]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG1/PilotTrain/runPilot.C
- fixing bug in cluster analyser
[u/mrichter/AliRoot.git] / PWG1 / PilotTrain / runPilot.C
CommitLineData
e89c5e8d 1void runPilot() {
f97ea980 2 TStopwatch timer;
3 timer.Start();
b6a315e0 4 gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS -I$ALICE_ROOT -I$ALICE_ROOT/TRD");
f97ea980 5 gSystem->Load("libANALYSIS.so");
6 gSystem->Load("libANALYSISalice.so");
7 gSystem->Load("libTENDER.so");
b6a315e0 8 gSystem->Load("libCORRFW.so");
f97ea980 9 gSystem->Load("libPWG0base.so");
10 gSystem->Load("libPWG0dep.so");
11 gSystem->Load("libPWG0selectors.so");
12 gSystem->Load("libPWG1.so");
13 gSystem->Load("libPWG2.so");
b6a315e0 14 gSystem->Load("libPWG3muon.so");
15 gSystem->Load("libPWG3muondep.so");
f97ea980 16 gSystem->Load("libPWG2forward.so");
b6a315e0 17 gSystem->Load("libPWG4PartCorrBase.so");
18 gSystem->Load("libPWG4PartCorrDep.so");
d1e6851d 19
20
d1e6851d 21
b6a315e0 22 Bool_t doQAsym = 0; // (data)
23 Bool_t doVZERO = 0; // (data)
24 Bool_t doVertex = 0; // (data)
25 Bool_t doSPD = 0; // (data/RP)
26 Bool_t doFMD = 0; // (data)
27 Bool_t doTPC = 0; // AliPerformanceTask (data/MCtruth)
28 Bool_t doEventStat = 0; // (data)
29 Bool_t doSDD = 0; // (data/RP)
30 Bool_t doTRD = 0; // TRD
31 Bool_t doITS = 0; // ITS
32 Bool_t doCALO = 0; // Calorimeter
33 Bool_t doMUONTrig = 0; // MUON trigger
34 Bool_t doMUONEff = 0; // MUON efficiency NEEDS geometry
35 Bool_t doV0 = 1; // V0 recosntruction performance NEEDS MCtruth
36
37 //
38 //
39 // Tasks that need MC information
40 //
41
42
43
f97ea980 44 //____________________________________________//
45 // Make the analysis manager
46 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
b6a315e0 47 mgr->SetDebugLevel(10);
f97ea980 48
59835ad9 49
4829e1b2 50 AliInputEventHandler* esdH = new AliESDInputHandlerRP();
59835ad9 51 esdH->SetActiveBranches("ESDfriend");
f97ea980 52 mgr->SetInputEventHandler(esdH);
53
54 // Chain
b6a315e0 55 // TGrid::Connect("alien://");
f97ea980 56
3cd4b27c 57 TChain* chain = new TChain("esdTree");
b6a315e0 58 //chain->AddFile("alien:///alice/data/2009/LHC09d/000104321/ESDs/pass1/09000104321018.10/AliESDs.root");
59 //chain->AddFile("alien:///alice/data/2009/LHC09d/000104321/ESDs/pass1/09000104321018.20/AliESDs.root");
60 chain->AddFile("./data/AliESDs.root");
61
62
f97ea980 63 //
b6a315e0 64 // Wagons running on data
f97ea980 65 //
66 //
f97ea980 67 //
68 // VZERO QA (C. Cheshkov)
69 //
d1e6851d 70 if (doVZERO) {
71 gROOT->LoadMacro("AddTaskVZEROQA.C");
72 AliAnalysisTaskSE* task2 = AddTaskVZEROQA(0);
59835ad9 73// task2->SelectCollisionCandidates();
d1e6851d 74 }
75
f97ea980 76 //
77 // Vertexing (A. Dainese)
78 //
d1e6851d 79 if (doVertex) {
80 gROOT->LoadMacro("$(ALICE_ROOT)/PWG1/macros/AddTaskVertexESD.C");
81 AliAnalysisTaskVertexESD* task3 = AddTaskVertexESD();
82 task3->SelectCollisionCandidates();
83 }
b6a315e0 84
85 //
86 // ITS
87 //
88 if (doITS) {
89 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskPerformanceITS.C");
90 AliAnalysisTaskITSTrackingCheck *itsQA = AddTaskPerformanceITS(kFALSE);
91 }
d1e6851d 92
f97ea980 93 //
94 // SPD (A. Mastroserio)
95 //
d1e6851d 96 if (doSPD) {
97 gROOT->LoadMacro("AliAnalysisTaskSPD.cxx++g");
98 gROOT->LoadMacro("AddTaskSPDQA.C");
99 AliAnalysisTaskSE* task4 = AddTaskSPDQA();
100 task4->SelectCollisionCandidates();
101 }
102
103 //
104 // SDD (F. Prino)
105 //
106 if (doSDD) {
d1e6851d 107 gROOT->LoadMacro("AddSDDPoints.C");
e89c5e8d 108 AliAnalysisTaskSE* task5 = AddSDDPoints();
d1e6851d 109 task5->SelectCollisionCandidates();
110 }
111
f97ea980 112 //
113 // FMD (Hans Hjersing Dalsgaard)
114 //
d1e6851d 115 if (doFMD) {
116 gROOT->LoadMacro("AddTaskFMD.C");
117 AliAnalysisTaskSE* task6 = AddTaskFMD();
118 task6->SelectCollisionCandidates();
119 }
b6a315e0 120
121 // TPC QA (E. Sicking)
122 //
123 if (doQAsym) {
124 gROOT->LoadMacro("AddTaskQAsym.C");
125 AliAnalysisTaskSE* task1 = AddTaskQAsym();
126 task1->SelectCollisionCandidates();
127 }
f97ea980 128 //
129 // TPC (Jacek Otwinowski)
130 //
d1e6851d 131 if (doTPC) {
b6a315e0 132 //
133 // Optionally MC information can be used by setting the 1st argument to true
d1e6851d 134 gROOT->LoadMacro("$(ALICE_ROOT)/PWG1/TPC/macros/AddTaskPerformanceTPCQA.C");
135 AliPerformanceTask *tpcQA = AddTaskPerformanceTPCQA(kFALSE, kTRUE);
136 }
b6a315e0 137
138 //
139 // TRD (Alex Bercuci, M. Fasel)
140 //
141 if(doTRD) {
142 AliAnalysisDataContainer *ci[] = {0x0, 0x0, 0x0};
143 //
144 // Check ESD
145 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TRD/macros/AddTRDcheckESD.C++");
146 AddTRDcheckESD(mgr);
147 //
148 // Info top task
149 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TRD/macros/AddTRDinfoGen.C++");
150 AddTRDinfoGen(mgr, "ALL", 0x0, ci);
151 //
152 // check DET
153 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TRD/macros/AddTRDcheckDET.C++");
154 AddTRDcheckDET(mgr, "ALL", ci);
155 //
156 // check PID (ref maker ???)
157 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TRD/macros/AddTRDcheckPID.C++");
158 AddTRDcheckPID(mgr, "ALL", ci);
159 //
160 // Efficiency
161 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TRD/macros/AddTRDefficiency.C++");
162 AddTRDefficiency(mgr, "ALL", ci);
163 //
164 // Resolution
165 gROOT->LoadMacro("$ALICE_ROOT/PWG1/TRD/macros/AddTRDresolution.C++");
166 AddTRDresolution(mgr, "ALL", ci);
167 }
d1e6851d 168 //
f97ea980 169 // Event Statistics (Jan Fiete)
170 //
d1e6851d 171
172 if (doEventStat) {
4829e1b2 173 gROOT->LoadMacro("AddTaskPhysicsSelection.C");
174 AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection();
175 AliPhysicsSelection* physSel = physSelTask->GetPhysicsSelection();
176 physSel->AddBackgroundIdentification(new AliBackgroundSelection());
d1e6851d 177 }
178
b6a315e0 179 if(doCALO) {
180 gROOT->LoadMacro("$ALICE_ROOT/PWG4/macros/QA/AddTaskCalorimeterQA.C");
181 AliAnalysisTaskParticleCorrelation *taskCaloQA = AddTaskCalorimeterQA("ESD", kTRUE, kFALSE);
182 taskCaloQA->Dump();
183 }
184
185 if(doMUONTrig) {
186 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskMTRchamberEfficiency.C");
187 AliAnalysisTaskTrigChEff *taskMuonTrig = AddTaskMTRchamberEfficiency();
188 }
189
190 if(doMUONEff) {
191 gROOT->LoadMacro("$ALICE_ROOT/PWG3/muondep/AddTaskMUONTrackingEfficiency.C");
192 AliAnalysisTaskMuonTrackingEff *taskMuonTrackEff = AddTaskMUONTrackingEfficiency();
193 }
194
195 if (doV0) {
196 gROOT->LoadMacro("$ALICE_ROOT/PWG1/macros/AddTaskV0QA.C");
197 AliAnalysisTaskV0QA *taskv0QA = AddTaskV0QA(kFALSE);
198 }
199
200
201 //
202 // Wagons that need MC
203 //
f97ea980 204
205
206 // Init
207 if (!mgr->InitAnalysis())
208 mgr->PrintStatus();
b6a315e0 209 mgr->PrintStatus();
f97ea980 210 // Run on dataset
b6a315e0 211 mgr->StartAnalysis("local", chain, 1000);
f97ea980 212 timer.Stop();
213 timer.Print();
214}
215