5 printf("*** Connect to AliEn ***\n");
6 TGrid::Connect("alien://");
7 gSystem->Load("libProofPlayer.so");
8 gSystem->Load("libVMC.so");
9 gSystem->Load("libPhysics.so");
11 // Use par files only for PWG2 code
13 int usePWG2ParFiles = 1;
15 // Use precompiled libraries for the analysis framework
17 setupPar("STEERBase");
18 if (gSystem->Load("libSTEERBase.so")<0) {
19 cout << "Cannot load libSTEERBase.so . Exiting" << endl;
22 gSystem->Load("libVMC.so");
26 if (gSystem->Load("libESD.so")<0) {
27 cout << "Cannot load libESD.so . Exiting" << endl;
33 if (gSystem->Load("libAOD.so")<0) {
34 cout << "Cannot load libAOD.so . Exiting" << endl;
40 if (gSystem->Load("libANALYSIS.so")<0) {
41 cout << "Cannot load libANALYSIS.so . Exiting" << endl;
46 setupPar("ANALYSISalice");
47 if (gSystem->Load("libANALYSISalice.so")<0) {
48 cout << "Cannot load libANALYSISalice.so . Exiting" << endl;
52 //____________________________________________________//
53 //_____________Setting up PWG2AOD.par_________________//
54 //____________________________________________________//
55 if (usePWG2ParFiles) {
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 (usePWG2ParFiles) {
67 if (gSystem->Load("./PWG2AOD/libPWG2AOD.so")<0) {
68 cout << "Cannot load local libPWG2AOD.so . Exiting" << endl;
73 if (gSystem->Load("libPWG2AOD.so")<0) {
74 cout << "Cannot load libPWG2AOD.so . Exiting" << endl;
79 //____________________________________________________//
80 //_____________Setting up PWG2femtoscopy.par__________//
81 //____________________________________________________//
82 if (usePWG2ParFiles) {
83 setupPar("PWG2femtoscopy");
84 if (gSystem->Load("./PWG2femtoscopy/libPWG2femtoscopy.so")<0) {
85 cout << "Cannot load local libPWG2femtoscopy.so . Exiting" << endl;
90 if (gSystem->Load("libPWG2femtoscopy.so")<0) {
91 cout << "Cannot load libPWG2femtoscopy.so . Exiting" << endl;
96 //____________________________________________________//
97 //_____________Setting up PWG2femtoscopyUser.par______//
98 //____________________________________________________//
99 if (usePWG2ParFiles) {
100 setupPar("PWG2femtoscopyUser");
101 if (gSystem->Load("./PWG2femtoscopyUser/libPWG2femtoscopyUser.so")<0) {
102 cout << "Cannot load libPWG2femtoscopyUser.so . Exiting" << endl;
107 if (gSystem->Load("libPWG2femtoscopyUser.so")<0) {
108 cout << "Cannot load libPWG2femtoscopyUser.so . Exiting" << endl;
114 const char *collectionfile="wn.xml";
116 //____________________________________________//
117 //Usage of event tags
118 // AliTagAnalysis *analysis = new AliTagAnalysis();
119 // TChain *chain = 0x0;
120 // chain = analysis->CreateChainFromCollection(collectionfile,"esdTree");
122 TChain *chain = new TChain("aodTree");;
123 // gROOT->LoadMacro("CreateESDChain.C");
124 // const char *collectionfile="/home/akisiel/LHC10h.esds.txt";
126 ifstream *istr = new ifstream(collectionfile);
130 while (!istr->eof()) {
133 if (strlen(fname) > 10) {
134 sprintf(pname, "alien://%s", fname);
140 // chain->Add("data/AliAOD.root");
142 // chain->Add("Data121040/AliESDs.root");
144 // chain->Add("alien:///alice/sim/LHC10g1a/130844/001/AliESDs.root");
145 // chain->Add("alien:///alice/sim/LHC10g1a/130844/002/AliESDs.root");
146 // chain->Add("alien:///alice/sim/LHC10g1a/130844/003/AliESDs.root");
147 // chain->Add("alien:///alice/sim/LHC10g1a/130844/004/AliESDs.root");
148 // chain->Add("alien:///alice/sim/LHC10g1a/130844/005/AliESDs.root");
149 // chain->Add("alien:///alice/sim/LHC10g1a/130844/006/AliESDs.root");
150 // chain->Add("alien:///alice/sim/LHC10g1a/130844/007/AliESDs.root");
151 // chain->Add("alien:///alice/sim/LHC10g1a/130844/008/AliESDs.root");
152 // chain->Add("alien:///alice/sim/LHC10g1a/130844/009/AliESDs.root");
153 // chain->Add("alien:///alice/sim/LHC10g1a/130844/010/AliESDs.root");
154 // chain->Add("alien:///alice/sim/LHC10g1a/130844/011/AliESDs.root");
155 // chain->Add("alien:///alice/sim/LHC10g1a/130844/012/AliESDs.root");
156 // chain->Add("alien:///alice/sim/LHC10g1a/130844/013/AliESDs.root");
157 // chain->Add("alien:///alice/sim/LHC10g1a/130844/014/AliESDs.root");
158 // chain->Add("alien:///alice/sim/LHC10g1a/130844/015/AliESDs.root");
159 // chain->Add("alien:///alice/sim/LHC10g1a/130844/016/AliESDs.root");
160 // chain->Add("alien:///alice/sim/LHC10g1a/130844/017/AliESDs.root");
161 // chain->Add("alien:///alice/sim/LHC10g1a/130844/018/AliESDs.root");
162 // chain->Add("alien:///alice/sim/LHC10g1a/130844/019/AliESDs.root");
163 // chain->Add("alien:///alice/sim/LHC10g1a/130844/020/AliESDs.root");
164 // chain->Add("ESDs/AliESDs.101.root");
166 //____________________________________________//
167 // Make the analysis manager
168 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
169 // AliESDInputHandler* esdH = new AliESDInputHandler;
170 // esdH->SetInactiveBranches("FMD CaloCluster");
171 // esdH->SetReadFriends(kFALSE);
172 AliAODInputHandler *aodH = new AliAODInputHandler;
173 // mgr->SetInputEventHandler(esdH);
174 mgr->SetInputEventHandler(aodH);
176 // AliMCEventHandler *mcH = new AliMCEventHandler;
177 // mgr->SetMCtruthEventHandler(mcH);
179 // gROOT->LoadMacro("AddTaskPhysicsSelection.C");
180 // AliPhysicsSelectionTask* physSelTask = AddTaskPhysicsSelection(0, 0);
181 //physSelTask->GetPhysicsSelection()->SetUseBXNumbers(kFALSE);
183 // AOD output handler
184 // AliAODHandler* aodHandler = new AliAODHandler();
185 // aodHandler->SetOutputFileName("AliAOD.root");
186 // //aodHandler->SetFillAOD(kFALSE);
187 // aodHandler->SetFillAODforRun(kFALSE);
188 // mgr->SetOutputEventHandler(aodHandler);
190 // AliCentralitySelectionTask *centralityTask = new AliCentralitySelectionTask("CentralitySelection");
191 // centralityTask->SetPass(2);
192 // mgr->AddTask(centralityTask);
193 // mgr->ConnectInput(centralityTask, 0, mgr->GetCommonInputContainer());
195 // AliAnalysisDataContainer *outputCentrality = mgr->CreateContainer("outputCentrality", TList::Class(),
196 // AliAnalysisManager::kOutputContainer, "CentralityOutput.root");
197 // mgr->ConnectOutput(centralityTask, 1, outputCentrality);
199 // ESD filter task configuration.
200 // gROOT->LoadMacro("AddTaskESDFilter.C");
201 // TODO usually requires muon filter libs
202 // AliAnalysisTaskESDfilter *taskesdfilter = AddTaskESDFilter(kFALSE, kFALSE, kFALSE, kTRUE, kTRUE);
205 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
206 AliAnalysisTaskSE *pidresponse = AddTaskPIDResponse();
208 //____________________________________________//
210 gROOT->LoadMacro("AddTaskFemto.C");
211 AliAnalysisTaskFemto *taskfemto = AddTaskFemto("./ConfigFemtoAnalysis.C");
213 //____________________________________________//
215 if (!mgr->InitAnalysis()) return;
217 mgr->StartAnalysis("local",chain);
223 Int_t setupPar(const char* pararchivename) {
227 if (pararchivename) {
228 char processline[1024];
229 sprintf(processline,".! tar xvzf %s.par",pararchivename);
230 gROOT->ProcessLine(processline);
231 const char* ocwd = gSystem->WorkingDirectory();
232 gSystem->ChangeDirectory(pararchivename);
234 // check for BUILD.sh and execute
235 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
236 printf("*******************************\n");
237 printf("*** Building PAR archive ***\n");
238 printf("*******************************\n");
240 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
241 Error("runProcess","Cannot Build the PAR Archive! - Abort!");
245 // check for SETUP.C and execute
246 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
247 printf("*******************************\n");
248 printf("*** Setup PAR archive ***\n");
249 printf("*******************************\n");
250 gROOT->Macro("PROOF-INF/SETUP.C");
253 gSystem->ChangeDirectory("../");