From e5d42f45e9f5ce5e176d8d07df5a84a3acfc36f8 Mon Sep 17 00:00:00 2001 From: dainese Date: Wed, 3 Dec 2008 11:16:43 +0000 Subject: [PATCH] Added option for local or grid analysis (Renu) --- PWG3/vertexingHF/CreateStandardAODfromESD.C | 44 +++++++++++++++++---- 1 file changed, 36 insertions(+), 8 deletions(-) diff --git a/PWG3/vertexingHF/CreateStandardAODfromESD.C b/PWG3/vertexingHF/CreateStandardAODfromESD.C index 7bf31ccfe33..bc1cc62e045 100644 --- a/PWG3/vertexingHF/CreateStandardAODfromESD.C +++ b/PWG3/vertexingHF/CreateStandardAODfromESD.C @@ -8,11 +8,14 @@ #include "AliAnalysisDataContainer.h" #endif -void CreateStandardAODfromESD(const char *inFileName = "AliESDs.root", - const char *outFileName = "AliAOD.root", - Bool_t writeKineToAOD = kTRUE) +void CreateStandardAODfromESD() { - + + const char *inFileName = "AliESDs.root"; + const char *outFileName = "AliAOD.root"; + Bool_t writeKineToAOD = kTRUE; + TString mode="local"; // "grid" + gSystem->Load("libTree"); gSystem->Load("libGeom"); gSystem->Load("libPhysics"); @@ -25,9 +28,34 @@ void CreateStandardAODfromESD(const char *inFileName = "AliESDs.root", gSystem->Load("libANALYSISalice"); gSystem->Load("libPWG3muon"); - TChain *chain = new TChain("esdTree"); - // Steering input chain - chain->Add(inFileName); + TChain *chain=0; + if(mode=="local") { // local + chain = new TChain("esdTree"); + // Steering input chain + chain->Add(inFileName); + } else if(mode=="grid") { // grid + const char *collectionfile = "esd_coll1.xml"; + TGrid::Connect("alien:",0,0,"t") ; + //Create an AliRunTagCuts and an AliEventTagCuts Object and impose some selection criteria + AliRunTagCuts *runCuts = new AliRunTagCuts(); + AliEventTagCuts *eventCuts = new AliEventTagCuts(); + AliLHCTagCuts *lhcCuts = new AliLHCTagCuts(); + AliDetectorTagCuts *detCuts = new AliDetectorTagCuts(); + // eventCuts->SetMultiplicityRange(0,20000); + //Create an AliTagAnalysis Object and chain the tags + AliTagAnalysis *tagAna = new AliTagAnalysis(); + tagAna->SetType("ESD"); + TAlienCollection *coll = TAlienCollection::Open(collectionfile); + TGridResult *tagResult = coll->GetGridResult("",0,0); + tagResult->Print(); + tagAna->ChainGridTags(tagResult); + //Create a new esd chain and assign the chain that is returned by querying the tags + chain = tagAna->QueryTags(runCuts,lhcCuts,detCuts,eventCuts); + } else { + printf("ERROR: mode has to be \"local\" or \"grid\"\n"); + return; + } + AliAnalysisManager *mgr = new AliAnalysisManager("ESD to AOD", "Analysis Manager"); // Input @@ -92,7 +120,7 @@ void CreateStandardAODfromESD(const char *inFileName = "AliESDs.root", // mgr->InitAnalysis(); mgr->PrintStatus(); - mgr->StartAnalysis("local",chain); + mgr->StartAnalysis(mode.Data(),chain); return; } -- 2.43.0