]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODHandler.h
adding first version of common HLT track data struct for barrel tracks
[u/mrichter/AliRoot.git] / STEER / AliAODHandler.h
index 957b3109257c4d6404fde808fdbf5cfc9e91e7de..7f154ad822775d82aacd8163fd636ce7861109ba 100644 (file)
@@ -24,29 +24,69 @@ class AliAODHandler : public AliVEventHandler {
     AliAODHandler();
     AliAODHandler(const char* name, const char* title);
     virtual ~AliAODHandler();
-    virtual void         SetOutputFileName(char* fname) {fName = fname;}
-    virtual char*        GetOutputFileName() {return fName;}
-    virtual Bool_t       InitIO(Option_t* option);
-    virtual Bool_t       BeginEvent(){ return kTRUE;}
+    virtual void         SetOutputFileName(const char* fname);
+    virtual const char*  GetOutputFileName();
+    virtual Bool_t       Init(Option_t* option);
+    virtual Bool_t       Init(TTree* /*tree*/, Option_t* /*option*/)  {return kTRUE;}
+    virtual Bool_t       BeginEvent(Long64_t /*entry*/)  {return kTRUE;}
+    virtual Bool_t       Notify() { return AliVEventHandler::Notify(); };
     virtual Bool_t       Notify(const char * /* path */) {return kTRUE;}
     virtual Bool_t       FinishEvent();
     virtual Bool_t       Terminate();
     virtual Bool_t       TerminateIO();
     //
+    virtual void         SetCreateNonStandardAOD()   {fIsStandard = kFALSE;}
+    virtual void         SetNeedsHeaderReplication() {fNeedsHeaderReplication = kTRUE;}
+    virtual void         SetNeedsTracksBranchReplication() {fNeedsTracksBranchReplication = kTRUE;}
+    virtual void         SetNeedsVerticesBranchReplication() {fNeedsVerticesBranchReplication = kTRUE;}
+    virtual void         SetNeedsV0sBranchReplication() {fNeedsV0sBranchReplication = kTRUE;}
+    virtual void         SetNeedsTrackletsBranchReplication() {fNeedsTrackletsBranchReplication = kTRUE;}
+    virtual void         SetNeedsPMDClustersBranchReplication() {fNeedsPMDClustersBranchReplication = kTRUE;}
+    virtual void         SetNeedsJetsBranchReplication() {fNeedsJetsBranchReplication = kTRUE;}
+    virtual void         SetNeedsFMDClustersBranchReplication() {fNeedsFMDClustersBranchReplication = kTRUE;}
+    virtual void         SetNeedsCaloClustersBranchReplication() {fNeedsCaloClustersBranchReplication = kTRUE;}
+    virtual void         SetAODIsReplicated() {fAODIsReplicated = kTRUE;}
+    //
     AliAODEvent*         GetAOD()  {return fAODEvent;}
-    TTree*               GetTree() {return fTreeA;}
-    void                 CreateTree();
+    virtual TTree*       GetTree() const {return fTreeA;}
+    void                 CreateTree(Int_t flag);
     void                 FillTree();
     void                 AddAODtoTreeUserInfo();
+    void                 AddBranch(const char* cname, void* addobj);
+    Bool_t               IsStandard() {return fIsStandard;}
+    Bool_t               NeedsHeaderReplication() {return  fNeedsHeaderReplication;}
+    Bool_t               NeedsTracksBranchReplication() {return  fNeedsTracksBranchReplication;}
+    Bool_t               NeedsVerticesBranchReplication() {return  fNeedsVerticesBranchReplication;}
+    Bool_t               NeedsV0sBranchReplication() {return  fNeedsV0sBranchReplication;}
+    Bool_t               NeedsTrackletsBranchReplication() {return  fNeedsTrackletsBranchReplication;}
+    Bool_t               NeedsPMDClustersBranchReplication() {return  fNeedsPMDClustersBranchReplication;}
+    Bool_t               NeedsJetsBranchReplication() {return  fNeedsJetsBranchReplication;}
+    Bool_t               NeedsFMDClustersBranchReplication() {return  fNeedsFMDClustersBranchReplication;}
+    Bool_t               NeedsCaloClustersBranchReplication() {return  fNeedsCaloClustersBranchReplication;}
+    Bool_t               AODIsReplicated() {return fAODIsReplicated;}
+    //
+    void                 SetInputTree(TTree* /*tree*/) {;}
  private:
     AliAODHandler(const AliAODHandler&);             // Not implemented
     AliAODHandler& operator=(const AliAODHandler&);  // Not implemented
  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);
+    Bool_t                   fIsStandard;                         // Flag for standard aod creation
+    Bool_t                   fNeedsHeaderReplication;             // Flag for header replication
+    Bool_t                   fNeedsTracksBranchReplication;       // Flag for tracks replication
+    Bool_t                   fNeedsVerticesBranchReplication;     // Flag for vertices replication
+    Bool_t                   fNeedsV0sBranchReplication;          // Flag for V0s replication
+    Bool_t                   fNeedsTrackletsBranchReplication;    // Flag for Tracklets replication
+    Bool_t                   fNeedsPMDClustersBranchReplication;  // Flag for PMDClusters replication
+    Bool_t                   fNeedsJetsBranchReplication;         // Flag for Jets replication
+    Bool_t                   fNeedsFMDClustersBranchReplication;  // Flag for FMDClusters replication
+    Bool_t                   fNeedsCaloClustersBranchReplication; // Flag for CaloClusters replication
+    Bool_t                   fAODIsReplicated;                    // Flag true if replication as been executed
+    
+    AliAODEvent             *fAODEvent;               //! Pointer to the AOD event
+    TTree                   *fTreeA;                  //! tree for AOD persistency
+    TFile                   *fFileA;                  //! Output file
+    TString                  fFileName;               //  Output file name
+    ClassDef(AliAODHandler, 2);
 };
 
 #endif