5 printf("*** Connect to AliEn ***\n");
6 //TGrid::Connect("alien://");
7 gSystem->Load("libProofPlayer");
8 gSystem->Load("libVMC");
9 gSystem->Load("libPhysics");
11 // Use par files only for PWG2 code
13 int usePWGCFParFiles = 0;
15 // Use precompiled libraries for the analysis framework
17 setupPar("STEERBase");
18 if (gSystem->Load("libSTEERBase")<0) {
19 cout << "Cannot load libSTEERBase.so . Exiting" << endl;
22 gSystem->Load("libVMC");
26 if (gSystem->Load("libESD")<0) {
27 cout << "Cannot load libESD.so . Exiting" << endl;
33 if (gSystem->Load("libAOD")<0) {
34 cout << "Cannot load libAOD.so . Exiting" << endl;
40 if (gSystem->Load("libANALYSIS")<0) {
41 cout << "Cannot load libANALYSIS.so . Exiting" << endl;
46 setupPar("ANALYSISalice");
47 if (gSystem->Load("libANALYSISalice")<0) {
48 cout << "Cannot load libANALYSISalice.so . Exiting" << endl;
52 //____________________________________________________//
53 //_____________Setting up PWG2AOD.par_________________//
54 //____________________________________________________//
55 if (usePWGCFParFiles) {
56 // char dynpath[10000];
57 // sprintf(dynpath, ".:%s", gSystem->GetDynamicPath());
58 // gSystem->SetDynamicPath(dynpath);
61 dynpath += gSystem->GetDynamicPath();
62 gSystem->SetDynamicPath(dynpath.Data());
65 //if (usePWGCFParFiles) {
66 // setupPar("PWGCFAOD");
67 //if (gSystem->Load("./PWGCFAOD/libPWGCFAOD")<0) {
68 // cout << "Cannot load local libPWGCFAOD.so . Exiting" << endl;
73 //if (gSystem->Load("libPWGCFAOD")<0) {
74 // cout << "Cannot load libPWGCFAOD.so . Exiting" << endl;
79 //____________________________________________________//
80 //_____________Setting up PWG2femtoscopy.par__________//
81 //____________________________________________________//
82 if (usePWGCFParFiles) {
83 setupPar("PWGCFfemtoscopy");
84 if (gSystem->Load("./PWGCFfemtoscopy/libPWGCFfemtoscopy")<0) {
85 cout << "Cannot load local libPWG2femtoscopy.so . Exiting" << endl;
90 if (gSystem->Load("libPWGCFfemtoscopy")<0) {
91 cout << "Cannot load libPWGCFfemtoscopy.so . Exiting" << endl;
96 //____________________________________________________//
97 //_____________Setting up PWG2femtoscopyUser.par______//
98 //____________________________________________________//
99 if (usePWGCFParFiles) {
100 setupPar("PWGCFfemtoscopyUser");
101 if (gSystem->Load("./PWGCFfemtoscopyUser/libPWGCFfemtoscopyUser")<0) {
102 cout << "Cannot load libPWGCFfemtoscopyUser.so . Exiting" << endl;
107 if (gSystem->Load("libPWGCFfemtoscopyUser")<0) {
108 cout << "Cannot load libPWGCFfemtoscopyUser.so . Exiting" << endl;
114 const char *collectionfile="wn.xml";
116 //____________________________________________//
117 //Usage of event tags
120 TChain *chain = new TChain("esdTree");
121 //chain->Add("../Data/PbPb/AOD/1/AliAOD.root");
123 //gROOT->LoadMacro("./CreateESDChain.C");
124 //TChain *chain = CreateESDChain("files.txt");
126 // ifstream *istr = new ifstream(collectionfile);
130 // while (!istr->eof()) {
133 // if (strlen(fname) > 10) {
134 // sprintf(pname, "alien://%s", fname);
135 // chain->Add(pname);
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");
156 AliESDInputHandler *esdH = new AliESDInputHandler;
157 esdH->SetReadFriends(kFALSE);
158 // mgr->SetInputEventHandler(esdH);
159 mgr->SetInputEventHandler(esdH);
161 // AliMCEventHandler *mcH = new AliMCEventHandler;
162 // mgr->SetMCtruthEventHandler(mcH);
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);
170 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPhysicsSelection.C");
171 AliPhysicsSelectionTask* physicsSelTask = AddTaskPhysicsSelection();
174 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
175 AliAnalysisTaskSE *pidresponse = AddTaskPIDResponse();
177 //____________________________________________//
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);
184 //____________________________________________//
186 if (!mgr->InitAnalysis()) return;
188 mgr->StartAnalysis("local",chain);
194 Int_t setupPar(const char* pararchivename) {
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);
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");
211 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
212 Error("runProcess","Cannot Build the PAR Archive! - Abort!");
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");
224 gSystem->ChangeDirectory("../");