1 void runBatch(int Nevents=20000000, const char* outfilename="AnalysisResults.root", bool batchmode=kTRUE, const char* collectionfile="collection.xml") {
5 printf("*** Connect to AliEn ***\n");
6 TGrid::Connect("alien://");
8 gSystem->Load("libTree.so");
9 gSystem->Load("libGeom.so");
10 gSystem->Load("libVMC.so");
11 gSystem->Load("libPhysics.so");
12 //____________________________________________________//
13 //_____________Setting up required packages___________//
14 //____________________________________________________//
15 gSystem->Load("libSTEERBase.so");
16 gSystem->Load("libESD.so");
17 gSystem->Load("libAOD.so");
18 gSystem->Load("libANALYSIS.so");
19 gSystem->Load("libANALYSISalice.so");
20 gROOT->ProcessLine(".include $ALICE_ROOT/include");
22 // gROOT->LoadMacro("AliAnalysisCheck.cxx+g");
24 gROOT->LoadMacro("AliAnalysisTaskParticleEfficiency.cxx+g");
26 //gROOT->LoadMacro("$ALICE_ROOT/PWG0/CreateESDChain.C");
30 TChain *chain = new TChain("aodTree");
32 const char *collectionfile="wn.xml";
33 ifstream *istr = new ifstream(collectionfile);
37 while (!istr->eof()) {
40 if (strlen(fname) > 10) {
41 sprintf(pname, "alien://%s", fname);
47 //chain->Add("../../data/AOD/PbPb/AOD95/AliAOD.root");
48 //chain->Add("/opt/alice/workdir/TestConfig/data/Pythia/AOD/1/AliAOD.root");
49 //chain->Add("/opt/alice/workdir/TestConfig/data/AOD/PbPb/PbPb.LHC10h/AOD86/1/AliAOD.root");
50 //chain->Add("/opt/alice/workdir/TestConfig/data/AOD/PbPb/PbPb.LHC10h/AOD86/2/AliAOD.root");
51 // chain->Add("/opt/alice/workdir/TestConfig/data/AOD/PbPb/PbPb.LHC10h/AOD86/3/AliAOD.root");
52 //chain->Add("/opt/alice/workdir/TestConfig/data/AOD/PbPb/PbPb.LHC10h/AOD86/4/AliAOD.root");
53 // chain->Add("../../data/AOD/PbPb/New.PbPb.2012.01/AliAOD.root");
54 //chain->Add("../../data/AOD/PbPb/New.PbPb.2012.01.2/AliAOD.root");
58 // chain = CreateChainFromCollection(collectionfile, "esdTree");
62 //____________________________________________//
63 // Make the analysis manager
64 AliAnalysisManager *mgr = new AliAnalysisManager("TestManager");
66 AliAODInputHandler* aodH = new AliAODInputHandler;
67 mgr->SetInputEventHandler(aodH);
68 //____________________________________________//
73 gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDResponse.C");
74 Bool_t isMC=kTRUE; Bool_t tuneOnData = kTRUE; // kTRUE in case of MC
75 AddTaskPIDResponse(isMC,kTRUE,tuneOnData);
77 //gROOT->LoadMacro("$ALICE_ROOT/ANALYSIS/macros/AddTaskPIDqa.C");
80 AliAnalysisTaskParticleEfficiency *myTask = new AliAnalysisTaskParticleEfficiency("MyTask");
84 // Create containers for input/output
85 AliAnalysisDataContainer *cinput = mgr->GetCommonInputContainer();
86 AliAnalysisDataContainer *coutput2 = mgr->CreateContainer("MyList", TList::Class(),AliAnalysisManager::kOutputContainer,outfilename);
88 //____________________________________________//
89 mgr->ConnectInput(myTask,0,cinput);
90 mgr->ConnectOutput(myTask,1,coutput2);
92 if (!mgr->InitAnalysis()) return;
94 mgr->StartAnalysis("local",chain, Nevents);
100 //______________________________________________________________________________
101 TChain *CreateChainFromCollection(const char* xmlfile, const char *treeName="esdTree")
103 // Create a chain from an alien collection.
104 TAlienCollection * myCollection = TAlienCollection::Open(xmlfile);
107 ::Error("CreateChainSingle", "Cannot create an AliEn collection from %s", xmlfile) ;
111 TChain* chain = new TChain(treeName);
112 myCollection->Reset() ;
113 while ( myCollection->Next() ) chain->Add(myCollection->GetTURL("")) ;