1 //_________________________________
3 //_________________________________
10 //______ connect to Alien
11 printf("*** Connect to AliEn ***\n");
12 TGrid::Connect("alien://");
15 gSystem->Load("libProofPlayer");
16 gSystem->Load("libVMC");
19 //_______ Load libraries
20 gSystem->Load("libAOD");
21 gSystem->Load("libANALYSIS");
22 gSystem->Load("libANALYSISalice");
24 Bool_t useParFiles = kFALSE;
25 Bool_t useTenderPars = kFALSE;
26 Bool_t usePWGCFParFiles = kFALSE;
28 Bool_t useMC = kFALSE;
30 TString format = "aod";
34 //______ Dynamic Path ______
35 if (usePWGCFParFiles) {
36 TString dynpath(".:");
37 dynpath += gSystem->GetDynamicPath();
38 gSystem->SetDynamicPath(dynpath);
39 //char dynpath[10000];
40 //sprintf(dynpath, ".:%s", gSystem->GetDynamicPath());
41 //gSystem->SetDynamicPath(dynpath);
44 // Use precompiled libraries for the analysis framework
46 setupPar("STEERBase");
47 if (gSystem->Load("libSTEERBase")<0) {
48 cout << "Cannot load libSTEERBase.so . Exiting" << endl;
51 gSystem->Load("libVMC");
55 if (gSystem->Load("libESD")<0) {
56 cout << "Cannot load libESD.so . Exiting" << endl;
62 if (gSystem->Load("libAOD")<0) {
63 cout << "Cannot load libAOD.so . Exiting" << endl;
69 if (gSystem->Load("libANALYSIS")<0) {
70 cout << "Cannot load libANALYSIS.so . Exiting" << endl;
75 setupPar("ANALYSISalice");
76 if (gSystem->Load("libANALYSISalice")<0) {
77 cout << "Cannot load libANALYSISalice.so . Exiting" << endl;
82 //____________________________________________________//
83 //_____________Setting up PWGCFAOD.par_________________//
85 // if (usePWGCFParFiles)
86 // setupPar("PWGCFAOD");
87 // if (gSystem->Load("libPWGCFAOD")<0) {
88 // cout << "Cannot load libPWGCFAOD.so . Exiting" << endl;
91 //____________________________________________________//
92 //_____________Setting up PWGCFfemtoscopy.par__________//
94 setupPar("PWGCFfemtoscopy");
95 if (gSystem->Load("libPWGCFfemtoscopy")<0) {
96 cout << "Cannot load libPWGCFfemtoscopy.so . Exiting" << endl;
99 //____________________________________________________//
100 //_____________Setting up PWGCFfemtoscopyUser.par______//
101 if (usePWGCFParFiles)
102 setupPar("PWGCFfemtoscopyUser");
103 if (gSystem->Load("libPWGCFfemtoscopyUser")<0) {
104 cout << "Cannot load libPWGCFfemtoscopyUser.so . Exiting" << endl;
110 cout <<"_____GetDynamicPath______\n " <<gSystem->GetDynamicPath() <<endl;
113 //____________ include path
114 gSystem->AddIncludePath(Form("-I\"%s/include\"", gSystem->Getenv("ALICE_ROOT")));
115 gROOT->ProcessLine(Form(".include %s/include", gSystem->ExpandPathName("$ALICE_ROOT")));
121 //_________________________________________________
122 //_______Create chain for Alien data collection __________
124 const char *collectionfile="wn.xml";
126 //____________________________________________//
127 //Usage of event tags
128 // AliTagAnalysis *analysis = new AliTagAnalysis();
129 // TChain *chain = 0x0;
130 // chain = analysis->CreateChainFromCollection(collectionfile,"esdTree");
132 // gROOT->LoadMacro("./CreateESDChain.C");
133 // const char* chainlistfile = "./list.ESD.txt";
134 // chain = CreateESDChain(chainlistfile,500);
136 TChain *chain = new TChain("aodTree");
137 //chain->Add("../Data/LHC10h/AOD/139465/AliAOD.root");
138 ifstream *istr = new ifstream(collectionfile);
142 while (!istr->eof()) {
145 if (strlen(fname) > 10) {
146 sprintf(pname, "alien://%s", fname);
153 //__________________________________________________
154 //___________Create chain for Local data files ____________
156 gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
157 TChain* chain = CreateESDChain("files.txt", 2);
162 //___________ Analysis __________________________
164 //______ Make the analysis manager
165 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
167 //______ Set ESD InputHandler
168 AliAODInputHandler* aodH = new AliAODInputHandler;
169 mgr->SetInputEventHandler(aodH);
171 //AliESDInputHandler* esdH = new AliESDInputHandler;
172 //mgr->SetInputEventHandler(esdH);
174 //______ Set MC EventHandler
175 //AliMCEventHandler *mcH = new AliMCEventHandler;
176 //mgr->SetMCtruthEventHandler(mcH);
178 //______ Set Print Debug Level
179 mgr->SetDebugLevel(0); //0, 1, 2, 3 ...
184 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
185 AliAnalysisTaskSE *pidresponse = AddTaskPIDResponse(kTRUE,kFALSE);
188 //gROOT->LoadMacro("$ALICE_ROOT/OADB/macros/AddTaskCentrality.C");
189 //AliCentralitySelectionTask *centrality = AddTaskCentrality();
191 //________AddTaskFemto_______________
192 gROOT->LoadMacro("AddTaskFemto.C");
193 AliAnalysisTaskFemto *taskfemto = AddTaskFemto("ConfigFemtoAnalysis.C");
194 taskfemto->SelectCollisionCandidates(AliVEvent::kCentral|AliVEvent::kSemiCentral|AliVEvent::kMB);
195 //taskfemto->SelectCollisionCandidates(AliVEvent::kMB);
197 //____________________________________________//
199 if (!mgr->InitAnalysis()) return;
201 mgr->StartAnalysis("local",chain);
208 //*********************************************
209 //____________________________________________
210 Int_t setupPar(const char* pararchivename) {
214 if (pararchivename) {
215 char processline[1024];
216 sprintf(processline,".! tar xvzf %s.par",pararchivename);
217 gROOT->ProcessLine(processline);
218 const char* ocwd = gSystem->WorkingDirectory();
219 gSystem->ChangeDirectory(pararchivename);
221 // check for BUILD.sh and execute
222 if (!gSystem->AccessPathName("PROOF-INF/BUILD.sh")) {
223 printf("*******************************\n");
224 printf("*** Building PAR archive ***\n");
225 printf("*******************************\n");
227 if (gSystem->Exec("PROOF-INF/BUILD.sh")) {
228 Error("runProcess","Cannot Build the PAR Archive! - Abort!");
232 // check for SETUP.C and execute
233 if (!gSystem->AccessPathName("PROOF-INF/SETUP.C")) {
234 printf("*******************************\n");
235 printf("*** Setup PAR archive ***\n");
236 printf("*******************************\n");
237 gROOT->Macro("PROOF-INF/SETUP.C");
240 gSystem->ChangeDirectory("../");