// A.Dainese, andrea.dainese@lnl.infn.it\r
//\r
Bool_t inputAOD=kTRUE; // otherwise, ESD\r
-\r
+ TString mode="local"; // otherwise, "grid" \r
\r
gSystem->Load("libTree.so");\r
gSystem->Load("libGeom.so");\r
gSystem->Load("libPWG3base.so");\r
gSystem->Load("libPWG3vertexingHF.so");\r
\r
+ TChain *chain = 0;\r
\r
- // Local files \r
- TString treeName,fileName;\r
- if(inputAOD) {\r
- treeName="aodTree"; \r
- fileName="AliAOD.root";\r
+ if(mode=="local") {\r
+ // Local files \r
+ TString treeName,fileName;\r
+ if(inputAOD) {\r
+ treeName="aodTree"; \r
+ fileName="AliAOD.root";\r
+ } else {\r
+ treeName="esdTree"; \r
+ fileName="AliESDs.root";\r
+ }\r
+ chain = new TChain(treeName.Data());\r
+ chain->Add(fileName.Data());\r
+\r
+ } else if (mode=="grid") {\r
+ //Fetch files with AliEn :\r
+ const char *collectionfile = "Collection.xml";\r
+ TGrid::Connect("alien://") ;\r
+ TAlienCollection *coll = TAlienCollection::Open(collectionfile);\r
+ if(inputAOD) { // input AOD\r
+ chain = new TChain("aodTree");\r
+ while(coll->Next()) chain->Add(coll->GetTURL(""));\r
+ } else { // input ESD\r
+ //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria\r
+ AliRunTagCuts *runCuts = new AliRunTagCuts();\r
+ AliEventTagCuts *eventCuts = new AliEventTagCuts();\r
+ AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();\r
+ AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();\r
+ eventCuts->SetMultiplicityRange(0,20000);\r
+ //Create an AliTagAnalysis Object and chain the tags\r
+ AliTagAnalysis *tagAna = new AliTagAnalysis();\r
+ tagAna->SetType("ESD");\r
+ TGridResult *tagResult = coll->GetGridResult("",0,0);\r
+ tagResult->Print();\r
+ tagAna->ChainGridTags(tagResult);\r
+ //Create a new esd chain and assign the chain that is returned by querying the tags\r
+ chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);\r
+ }\r
} else {\r
- treeName="esdTree"; \r
- fileName="AliESDs.root";\r
+ printf("ERROR: mode has to be \"local\" or \"grid\" \n");\r
+ return;\r
}\r
- TChain *chain = new TChain(treeName.Data());\r
- chain->Add(fileName.Data());\r
-\r
- // or:\r
- /*\r
- //Fetch files with AliEn :\r
- const char *collectionfile = "CollectionTags.xml";\r
- TGrid::Connect("alien://") ;\r
- //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria\r
- AliRunTagCuts *runCuts = new AliRunTagCuts();\r
- AliEventTagCuts *eventCuts = new AliEventTagCuts();\r
- AliLHCTagCuts *lhcCuts = new AliLHCTagCuts();\r
- AliDetectorTagCuts *detCuts = new AliDetectorTagCuts();\r
- eventCuts->SetMultiplicityRange(0,20000);\r
- //Create an AliTagAnalysis Object and chain the tags\r
- AliTagAnalysis *tagAna = new AliTagAnalysis();\r
- tagAna->SetType("ESD");\r
- TAlienCollection *coll = TAlienCollection::Open(collectionfile);\r
- TGridResult *tagResult = coll->GetGridResult("",0,0);\r
- tagResult->Print();\r
- tagAna->ChainGridTags(tagResult);\r
- //Create a new esd chain and assign the chain that is returned by querying the tags\r
- TChain* chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);\r
- */\r
\r
\r
// Create the analysis manager\r
// Run the analysis\r
// \r
printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());\r
- if(mgr->InitAnalysis()) {\r
- mgr->PrintStatus();\r
- mgr->StartAnalysis("local",chain);\r
- //mgr->StartAnalysis("grid",chain);\r
- }\r
+ if(!mgr->InitAnalysis()) return;\r
+\r
+ mgr->PrintStatus();\r
+\r
+ mgr->StartAnalysis(mode.Data(),chain);\r
\r
return;\r
}\r