// association with MC truth (using MC info in AOD)\r
// A.Dainese, andrea.dainese@lnl.infn.it\r
//\r
+ TString mode="local"; // otherwise, "grid"\r
\r
gSystem->Load("libTree.so");\r
gSystem->Load("libGeom.so");\r
gSystem->Load("libPWG3vertexingHF.so");\r
\r
\r
- // Local files \r
- TChain *chain = new TChain("aodTree");\r
- chain->Add("./AliAOD.root");\r
+ TChain *chainAOD = 0;\r
+ TChain *chainAODfriend = 0;\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("AOD");\r
- TAlienCollection *coll = TAlienCollection::Open(collectionfile);\r
- TGridResult *tagResult = coll->GetGridResult("",0,0);\r
- tagResult->Print();\r
- tagAna->ChainGridTags(tagResult);\r
- //Create a new aod chain and assign the chain that is returned by querying the tags\r
- TChain* chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts);\r
- */\r
+ chainAOD = new TChain("aodTree");\r
+ chainAODfriend = new TChain("aodTree");\r
\r
+ if(mode=="local") {\r
+ // Local files \r
+ chainAOD->Add("./AliAOD.root");\r
+ chainAODfriend->Add("./AliAOD.VertexingHF.root");\r
+ // ... add more if needed\r
+ } else { // grid (NOT TESTED YET)\r
+ //Fetch files with AliEn\r
+ // xml: need to check the 1-to-1 correspondence\r
+ const char *collectionfileAOD = "CollectionAOD.xml";\r
+ const char *collectionfileAODfriend = "CollectionAODfriend.xml";\r
+ TGrid::Connect("alien://");\r
+ //Create an AliTagAnalysis Object and chain the tags\r
+ AliTagAnalysis *tagAna = new AliTagAnalysis();\r
+ chainAOD = tagAna->GetChainFromCollection(collectionfileAOD,"aodTree");\r
+ chainAODfriend = tagAna->GetChainFromCollection(collectionfileAODfriend,"aodTree");\r
+ }\r
+\r
+ // attach the friend chain\r
+ chainAOD->AddFriend(chainAODfriend);\r
\r
// Create the analysis manager\r
AliAnalysisManager *mgr = new AliAnalysisManager("My Manager","My Manager");\r
\r
// Input\r
AliAODInputHandler *inputHandler = new AliAODInputHandler();\r
- inputHandler->AddFriend("AliAOD.VertexingHF.root");\r
+ //inputHandler->AddFriend("AliAOD.VertexingHF.root");//should not be needed\r
mgr->SetInputEventHandler(inputHandler);\r
\r
\r
//\r
// Run the analysis\r
// \r
- printf("CHAIN HAS %d ENTRIES\n",(Int_t)chain->GetEntries());\r
+ printf("CHAIN HAS %d ENTRIES\n",(Int_t)chainAOD->GetEntries());\r
if(mgr->InitAnalysis()) {\r
mgr->PrintStatus();\r
- mgr->StartAnalysis("local",chain);\r
- //mgr->StartAnalysis("grid",chain);\r
+ mgr->StartAnalysis(mode.Data(),chainAOD);\r
}\r
\r
return;\r