]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliESDInputHandler.h
Removing the hard-wired particle masses (B. Hippolyte)
[u/mrichter/AliRoot.git] / STEER / AliESDInputHandler.h
index 9c9da7cd482adf4273c982e851c3fce9df1987c0..6a0f39a221de3b7dd7a55057cad4ec1ace9cd8a6 100644 (file)
 
 #include "AliInputEventHandler.h"
 #include "AliESDEvent.h"
+class TChain;
+class TTree;
+class AliRunTag;
+
 
 class AliESDInputHandler : public AliInputEventHandler {
 
@@ -19,12 +23,39 @@ class AliESDInputHandler : public AliInputEventHandler {
     AliESDInputHandler();
     AliESDInputHandler(const char* name, const char* title);
     virtual ~AliESDInputHandler();
-    virtual Bool_t       InitIO(Option_t* opt);
-    virtual Bool_t       BeginEvent();
-    AliESDEvent         *GetEvent() const {return fEvent;}
-    private:
-    AliESDEvent    *fEvent;   //! Pointer to the event 
-    ClassDef(AliESDInputHandler, 1);
+    virtual Bool_t       Init(Option_t* /*opt*/) {return kTRUE;}
+    virtual Bool_t       Init(TTree* tree, Option_t* opt);
+    virtual Bool_t       BeginEvent(Long64_t entry);
+    virtual Bool_t       Notify() { return AliVEventHandler::Notify(); };
+    virtual Bool_t       Notify(const char* path);
+    virtual Bool_t       FinishEvent();
+    AliESDEvent         *GetEvent()        const {return fEvent;}
+    Option_t            *GetAnalysisType() const {return fAnalysisType;}
+    //
+    void SetInactiveBranches(const char* branches) {fBranches   = branches;}
+    void SetActiveBranches  (const char* branches) {fBranchesOn = branches;}
+    // Tag analysis
+    void SetReadTags() {fUseTags = kTRUE;}
+    AliRunTag           *GetRunTag() const {return fRunTag;}
+           
+ private:
+    void SwitchOffBranches() const;
+    void SwitchOnBranches()  const;
+    AliESDInputHandler(const AliESDInputHandler& handler);             
+    AliESDInputHandler& operator=(const AliESDInputHandler& handler);  
+ private:
+    // ESD event
+    AliESDEvent    *fEvent;        //! Pointer to the event
+    TString         fBranches;     //  List of branches to be switched off (separated by space)
+    TString         fBranchesOn;   //  List of branches to be switched on  (separated by space)
+    Option_t       *fAnalysisType; //! local, proof, grid
+    
+    // ESD Tags (optional)
+    Bool_t          fUseTags;    //  Flag to use tags
+    TChain         *fChainT;     //! File with event tags
+    TTree          *fTreeT;      //! Tree of tags
+    AliRunTag      *fRunTag;     //! Pointer to the run tag
+    ClassDef(AliESDInputHandler, 3);
 };
 
 #endif