]> git.uio.no Git - u/mrichter/AliRoot.git/blob - PWG1/PilotTrain/runPilot.C
7594688a0f9b779bf49be09905e260a806553e0f
[u/mrichter/AliRoot.git] / PWG1 / PilotTrain / runPilot.C
1 void runPilot(Int_t run) {
2   TStopwatch timer;
3   timer.Start();
4   gSystem->SetIncludePath("-I$ROOTSYS/include -I$ALICE_ROOT/include -I$ALICE_ROOT/ITS");
5   gSystem->Load("libANALYSIS.so");
6   gSystem->Load("libANALYSISalice.so");
7   gSystem->Load("libTENDER.so");
8   gSystem->Load("libPWG0base.so");
9   gSystem->Load("libPWG0dep.so");
10   gSystem->Load("libPWG0selectors.so");
11   gSystem->Load("libPWG1.so");
12   gSystem->Load("libPWG2.so");
13   gSystem->Load("libPWG2forward.so");
14   
15  
16
17   
18
19   Bool_t doQAsym        = 1;   // output ok
20   Bool_t doVZERO        = 1;   // output ok but there is a 2nd file
21   Bool_t doVertex       = 1;   // output ok
22   Bool_t doSPD          = 1;   // output ok, needs RP   
23   Bool_t doFMD          = 1;   // output ok
24   Bool_t doTPC          = 1;   // output ok
25   Bool_t doEventStat    = 1;   // output ok
26   Bool_t doSDD          = 1;   // outout ok needs RP
27    //____________________________________________//
28   // Make the analysis manager
29   AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
30   mgr->SetDebugLevel(2);
31   
32
33   AliInputEventHandler* esdH = new AliESDInputHandlerRP();
34   esdH->SetActiveBranches("ESDfriend");
35   mgr->SetInputEventHandler(esdH);  
36
37   // Chain 
38   TChain* chain = new TChain("esdTree");
39   chain->AddFile("~/104321/AliESDs.root");
40   
41   //
42   // Wagons
43   //
44   //
45   // Collision Selector (static)
46   AliPhysicsSelection* colsel =  new AliPhysicsSelection();
47   colsel->AddBackgroundIdentification(new AliBackgroundSelection());
48
49   AliAnalysisTaskSE::SetCollisionSelector(colsel);
50   
51
52   // TPC QA (E. Sicking)
53   //
54   if (doQAsym) {
55       gROOT->LoadMacro("AddTaskQAsym.C");
56       AliAnalysisTaskSE* task1 = AddTaskQAsym();
57       task1->SelectCollisionCandidates();
58   }
59   
60   //
61   // VZERO QA  (C. Cheshkov)
62   //
63   if (doVZERO) {
64       gROOT->LoadMacro("AddTaskVZEROQA.C");
65       AliAnalysisTaskSE* task2 =  AddTaskVZEROQA(0);
66 //      task2->SelectCollisionCandidates();
67   }
68   
69   //
70   // Vertexing (A. Dainese)
71   // 
72   if (doVertex) {
73       gROOT->LoadMacro("$(ALICE_ROOT)/PWG1/macros/AddTaskVertexESD.C");
74       AliAnalysisTaskVertexESD* task3 =  AddTaskVertexESD();
75       task3->SelectCollisionCandidates();
76   }
77   
78   //
79   // SPD (A. Mastroserio)
80   //
81   if (doSPD) {
82       gROOT->LoadMacro("AliAnalysisTaskSPD.cxx++g");
83       gROOT->LoadMacro("AddTaskSPDQA.C");
84       AliAnalysisTaskSE* task4 = AddTaskSPDQA();
85       task4->SelectCollisionCandidates();
86   }
87
88   //
89   // SDD (F. Prino)
90   //
91   if (doSDD) {
92       gROOT->LoadMacro("AddSDDPoints.C");
93       AliAnalysisTaskSE* task5 = AddSDDPoints(run);
94       task5->SelectCollisionCandidates();
95   }
96   
97   //
98   // FMD (Hans Hjersing Dalsgaard)
99   //
100   if (doFMD) {
101       gROOT->LoadMacro("AddTaskFMD.C");
102       AliAnalysisTaskSE* task6 = AddTaskFMD();
103       task6->SelectCollisionCandidates();
104   }
105   
106   //
107   // TPC (Jacek Otwinowski)
108   //
109   if (doTPC) {
110       gROOT->LoadMacro("$(ALICE_ROOT)/PWG1/TPC/macros/AddTaskPerformanceTPCQA.C");
111       AliPerformanceTask *tpcQA = AddTaskPerformanceTPCQA(kFALSE, kTRUE);
112   }
113
114   //
115   // Event Statistics (Jan Fiete)
116   //
117
118   if (doEventStat) {
119       gROOT->LoadMacro("AddTaskEventStats.C");
120       evtStats = AddTaskEventStats();
121       evtStats->SetPhysicsSelection(colsel);
122       AliLog::SetClassDebugLevel("AliPhysicsSelection", AliLog::kDebug);
123   }
124
125   
126   
127   // Init
128   if (!mgr->InitAnalysis()) 
129       mgr->PrintStatus();
130   
131   // Run on dataset
132   mgr->StartAnalysis("local", chain);
133   timer.Stop();
134   timer.Print();
135 }
136