]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWGCF/FEMTOSCOPY/macros/Train/DEtaDPhi/PID/ESD/runBatch.C
.so cleanup: removed from gSystem->Load()
[u/mrichter/AliRoot.git] / PWGCF / FEMTOSCOPY / macros / Train / DEtaDPhi / PID / ESD / runBatch.C
CommitLineData
17d3288c 1void runBatch() {
2 TStopwatch timer;
3 timer.Start();
4
5 printf("*** Connect to AliEn ***\n");
6 //TGrid::Connect("alien://");
4070f709 7 gSystem->Load("libProofPlayer");
8 gSystem->Load("libVMC");
9 gSystem->Load("libPhysics");
17d3288c 10
11 // Use par files only for PWG2 code
12 int useParFiles = 0;
13 int usePWGCFParFiles = 0;
14
15 // Use precompiled libraries for the analysis framework
16 if (useParFiles)
17 setupPar("STEERBase");
18 if (gSystem->Load("libSTEERBase.so")<0) {
19 cout << "Cannot load libSTEERBase.so . Exiting" << endl;
20 exit(0);
21 }
4070f709 22 gSystem->Load("libVMC");
17d3288c 23
24 if (useParFiles)
25 setupPar("ESD");
26 if (gSystem->Load("libESD.so")<0) {
27 cout << "Cannot load libESD.so . Exiting" << endl;
28 exit(0);
29 }
30
31 if (useParFiles)
32 setupPar("AOD");
33 if (gSystem->Load("libAOD.so")<0) {
34 cout << "Cannot load libAOD.so . Exiting" << endl;
35 exit(0);
36 }
37
38 if (useParFiles)
39 setupPar("ANALYSIS");
40 if (gSystem->Load("libANALYSIS.so")<0) {
41 cout << "Cannot load libANALYSIS.so . Exiting" << endl;
42 exit(0);
43 }
44
45 if (useParFiles)
46 setupPar("ANALYSISalice");
47 if (gSystem->Load("libANALYSISalice.so")<0) {
48 cout << "Cannot load libANALYSISalice.so . Exiting" << endl;
49 exit(0);
50 }
51
52 //____________________________________________________//
53 //_____________Setting up PWG2AOD.par_________________//
54 //____________________________________________________//
55 if (usePWGCFParFiles) {
56 // char dynpath[10000];
57 // sprintf(dynpath, ".:%s", gSystem->GetDynamicPath());
58 // gSystem->SetDynamicPath(dynpath);
59 TString dynpath;
60 dynpath = ".:";
61 dynpath += gSystem->GetDynamicPath();
62 gSystem->SetDynamicPath(dynpath.Data());
63 }
64
65 //if (usePWGCFParFiles) {
66 // setupPar("PWGCFAOD");
67 //if (gSystem->Load("./PWGCFAOD/libPWGCFAOD.so")<0) {
68 // cout << "Cannot load local libPWGCFAOD.so . Exiting" << endl;
69 // exit(0);
70 // }
71 // }
72 //else {
73 //if (gSystem->Load("libPWGCFAOD.so")<0) {
74 // cout << "Cannot load libPWGCFAOD.so . Exiting" << endl;
75 //exit(0);
76 //}
77 //}
78
79 //____________________________________________________//
80 //_____________Setting up PWG2femtoscopy.par__________//
81 //____________________________________________________//
82 if (usePWGCFParFiles) {
83 setupPar("PWGCFfemtoscopy");
84 if (gSystem->Load("./PWGCFfemtoscopy/libPWGCFfemtoscopy.so")<0) {
85 cout << "Cannot load local libPWG2femtoscopy.so . Exiting" << endl;
86 exit(0);
87 }
88 }
89 else {
90 if (gSystem->Load("libPWGCFfemtoscopy.so")<0) {
91 cout << "Cannot load libPWGCFfemtoscopy.so . Exiting" << endl;
92 exit(0);
93 }
94 }
95
96 //____________________________________________________//
97 //_____________Setting up PWG2femtoscopyUser.par______//
98 //____________________________________________________//
99 if (usePWGCFParFiles) {
100 setupPar("PWGCFfemtoscopyUser");
101 if (gSystem->Load("./PWGCFfemtoscopyUser/libPWGCFfemtoscopyUser.so")<0) {
102 cout << "Cannot load libPWGCFfemtoscopyUser.so . Exiting" << endl;
103 exit(0);
104 }
105 }
106 else {
107 if (gSystem->Load("libPWGCFfemtoscopyUser.so")<0) {
108 cout << "Cannot load libPWGCFfemtoscopyUser.so . Exiting" << endl;
109 exit(0);
110 }
111 }
112
113 //ANALYSIS PART
114 const char *collectionfile="wn.xml";
115
116 //____________________________________________//
117 //Usage of event tags
118
119
120 TChain *chain = new TChain("esdTree");
121 //chain->Add("../Data/PbPb/AOD/1/AliAOD.root");
122
123 //gROOT->LoadMacro("./CreateESDChain.C");
124 //TChain *chain = CreateESDChain("files.txt");
125
126 // ifstream *istr = new ifstream(collectionfile);
127
128 // char fname[2000];
129 // char pname[2000];
130 // while (!istr->eof()) {
131 // fname[0] = '\0';
132 // (*istr) >> fname;
133 // if (strlen(fname) > 10) {
134 // sprintf(pname, "alien://%s", fname);
135 // chain->Add(pname);
136
137 // }
138 // }
139
140 chain->Add("/opt/alice/workdir/TestConfig/data/ESD/pp/LHC10e/pass2/AliESDs.root");
141 // chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/1/AliESDs.root");
142 // chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/2/AliESDs.root");
143 // chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/3/AliESDs.root");
144 // chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/4/AliESDs.root");
145 // chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/5/AliESDs.root");
146 // chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/6/AliESDs.root");
147 // chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/7/AliESDs.root");
148 //chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/8/AliESDs.root");
149 //chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/9/AliESDs.root");
150 //____________________________________________//
151 // Make the analysis manager
152 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
153 //AliESDInputHandler* esdH = new AliESDInputHandler;
154// esdH->SetInactiveBranches("FMD CaloCluster");
155
156 AliESDInputHandler *esdH = new AliESDInputHandler;
157 esdH->SetReadFriends(kFALSE);
158 // mgr->SetInputEventHandler(esdH);
159 mgr->SetInputEventHandler(esdH);
160
161// AliMCEventHandler *mcH = new AliMCEventHandler;
162// mgr->SetMCtruthEventHandler(mcH);
163
164
165 // ESD filter task configuration.
166 // gROOT->LoadMacro("AddTaskESDFilter.C");
167 // TODO usually requires muon filter libs
168 // AliAnalysisTaskESDfilter *taskesdfilter = AddTaskESDFilter(kFALSE, kFALSE, kFALSE, kTRUE, kTRUE);
169
170 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
171 AliPhysicsSelectionTask* physicsSelTask = AddTaskPhysicsSelection();
172
173 //AddTaskPIDResponse
174 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
175 AliAnalysisTaskSE *pidresponse = AddTaskPIDResponse();
176
177 //____________________________________________//
178 // 1st Pt task
179 gROOT->LoadMacro("AddTaskFemto.C");
180 AliAnalysisTaskFemto *taskfemto = AddTaskFemto("./ConfigFemtoAnalysis.C");
181 //taskfemto->SelectCollisionCandidates(AliVEvent::kCentral|AliVEvent::kSemiCentral|AliVEvent::kMB);
182 taskfemto->SelectCollisionCandidates(AliVEvent::kMB);
183
184 //____________________________________________//
185 // Run the analysis
186 if (!mgr->InitAnalysis()) return;
187 mgr->PrintStatus();
188 mgr->StartAnalysis("local",chain);
189
190 timer.Stop();
191 timer.Print();
192}
193
194Int_t setupPar(const char* pararchivename) {
195 ///////////////////
196 // Setup PAR File//
197 ///////////////////
198 if (pararchivename) {
199 char processline[1024];
200 sprintf(processline,".! tar xvzf %s.par",pararchivename);
201 gROOT->ProcessLine(processline);
202 const char* ocwd = gSystem->WorkingDirectory();
203 gSystem->ChangeDirectory(pararchivename);
204
205 // check for BUILD.sh and execute
206 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
207 printf("*******************************\n");
208 printf("*** Building PAR archive ***\n");
209 printf("*******************************\n");
210
211 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
212 Error("runProcess","Cannot Build the PAR Archive! - Abort!");
213 return -1;
214 }
215 }
216 // check for SETUP.C and execute
217 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
218 printf("*******************************\n");
219 printf("*** Setup PAR archive ***\n");
220 printf("*******************************\n");
221 gROOT->Macro("PROOF-INF/SETUP.C");
222 }
223
224 gSystem->ChangeDirectory("../");
225 }
226
227 return 1;
228}