From e910dd36827e91c2e36eb52c3d0e7b3c8a5c64a1 Mon Sep 17 00:00:00 2001 From: morsch Date: Thu, 7 Jun 2007 13:25:46 +0000 Subject: [PATCH] File opening for local and grid execution mode. AliAnalysisDataContainer must be used with output file name "default" if output is aod tree. --- STEER/AliAODHandler.cxx | 25 ++++++++++++++++++++++--- STEER/AliAODHandler.h | 8 +++++--- STEER/AliVirtualEventHandler.h | 10 ++++++---- 3 files changed, 33 insertions(+), 10 deletions(-) diff --git a/STEER/AliAODHandler.cxx b/STEER/AliAODHandler.cxx index 1657963da49..b6360e215ea 100644 --- a/STEER/AliAODHandler.cxx +++ b/STEER/AliAODHandler.cxx @@ -22,6 +22,8 @@ #include +#include + #include "AliAODHandler.h" #include "AliAODEvent.h" @@ -31,7 +33,9 @@ ClassImp(AliAODHandler) AliAODHandler::AliAODHandler() : AliVirtualEventHandler(), fAODEvent(NULL), - fTreeA(NULL) + fTreeA(NULL), + fFileA(NULL), + fName("") { // default constructor } @@ -40,7 +44,9 @@ AliAODHandler::AliAODHandler() : AliAODHandler::AliAODHandler(const char* name, const char* title): AliVirtualEventHandler(name, title), fAODEvent(NULL), - fTreeA(NULL) + fTreeA(NULL), + fFileA(NULL), + fName("") { } @@ -51,11 +57,24 @@ AliAODHandler::~AliAODHandler() } -Bool_t AliAODHandler::InitIO() +Bool_t AliAODHandler::InitIO(Option_t* opt) { // Initialize IO + // + // Create the AODevent object fAODEvent = new AliAODEvent(); fAODEvent->CreateStdContent(); + // + // File opening according to execution mode + + if (!(strcmp(opt, "proof"))) { + // proof + } else { + // local and grid + fFileA = new TFile(fName, "RECREATE"); + } + // + // Create the output tree CreateTree(); return kTRUE; diff --git a/STEER/AliAODHandler.h b/STEER/AliAODHandler.h index 2ec2030b324..fbdd54412da 100644 --- a/STEER/AliAODHandler.h +++ b/STEER/AliAODHandler.h @@ -24,7 +24,9 @@ class AliAODHandler : public AliVirtualEventHandler { AliAODHandler(); AliAODHandler(const char* name, const char* title); virtual ~AliAODHandler(); - virtual Bool_t InitIO(); + virtual void SetOutputFileName(char* fname) {fName = fname;} + virtual char* GetOutputFileName() {return fName;} + virtual Bool_t InitIO(Option_t* option); virtual Bool_t Fill(); virtual Bool_t Terminate(); virtual Bool_t TerminateIO(); @@ -41,8 +43,8 @@ class AliAODHandler : public AliVirtualEventHandler { private: AliAODEvent *fAODEvent; //! Pointer to the AOD event TTree *fTreeA; //! tree for AOD persistency - - + TFile *fFileA; //! Output file + char *fName; //! Output file name ClassDef(AliAODHandler, 1); }; diff --git a/STEER/AliVirtualEventHandler.h b/STEER/AliVirtualEventHandler.h index 69001b9c6bd..860443c8b84 100644 --- a/STEER/AliVirtualEventHandler.h +++ b/STEER/AliVirtualEventHandler.h @@ -19,10 +19,12 @@ class AliVirtualEventHandler : public TNamed { AliVirtualEventHandler(); AliVirtualEventHandler(const char* name, const char* title); virtual ~AliVirtualEventHandler(); - virtual Bool_t InitIO() = 0; - virtual Bool_t Fill() = 0; - virtual Bool_t Terminate() = 0; - virtual Bool_t TerminateIO() = 0; + virtual void SetOutputFileName(char* fname) = 0; + virtual char* GetOutputFileName() = 0; + virtual Bool_t InitIO(Option_t* opt) = 0; + virtual Bool_t Fill() = 0; + virtual Bool_t Terminate() = 0; + virtual Bool_t TerminateIO() = 0; private : ClassDef(AliVirtualEventHandler, 1); }; -- 2.43.0