//-------------------------------------------------------------------------
#include "AliVEventHandler.h"
+#include <TTree.h>
+
-class TChain;
class AliVEvent;
+class AliVCuts;
+class AliRunTag;
+
class AliInputEventHandler : public AliVEventHandler {
AliInputEventHandler();
AliInputEventHandler(const char* name, const char* title);
virtual ~AliInputEventHandler();
- virtual void SetOutputFileName(char* /*fname*/) {;}
- virtual char *GetOutputFileName() {return 0;}
- virtual Bool_t InitIO(Option_t* /*opt*/) {return kTRUE;}
- virtual Bool_t BeginEvent() {return kTRUE;}
- virtual Bool_t Notify(const char */*path*/) {return kTRUE;}
- virtual Bool_t FinishEvent() {return kTRUE;}
- virtual Bool_t Terminate() {return kTRUE;}
- virtual Bool_t TerminateIO() {return kTRUE;}
+ virtual void SetOutputFileName(const char* /*fname*/) {;}
+ virtual const char *GetOutputFileName() {return 0;}
+ virtual Bool_t Init(Option_t* /*opt*/) {return kTRUE;}
+ virtual Bool_t Init(TTree* /*tree*/, Option_t* /*opt*/) {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() {return kTRUE;}
+ virtual Bool_t Terminate() {return kTRUE;}
+ virtual Bool_t TerminateIO() {return kTRUE;}
// Setters
- virtual void SetInputTree(TTree* tree) {fTree = tree;}
- // Getters
- virtual AliVEvent *GetEvent() const {return fEvent;}
- virtual TTree *GetChain() const {return fTree;}
+ virtual void SetInputTree(TTree* tree) {fTree = tree;}
+ virtual void SetEventSelection(AliVCuts* cuts) {fEventCuts = cuts;}
+ //
+ void SetInactiveBranches(const char* branches) {fBranches = branches;}
+ void SetActiveBranches (const char* branches) {fBranchesOn = branches;}
+ // Getters
+ virtual AliVEvent *GetEvent() const {return 0;}
+ virtual AliRunTag *GetRunTag() const {return 0;}
+ virtual Option_t *GetAnalysisType() const {return 0;}
+ virtual TTree *GetTree( ) const {return fTree;}
+ virtual AliVCuts *GetEventSelection() const {return fEventCuts;}
+ virtual Long64_t GetReadEntry() const;
+ virtual Bool_t NewEvent()
+ {Bool_t ne = fNewEvent; fNewEvent = kFALSE; return ne;}
+ virtual Bool_t IsEventSelected()
+ {return fIsSelected;}
+ protected:
+ void SwitchOffBranches() const;
+ void SwitchOnBranches() const;
+ private:
+ AliInputEventHandler(const AliInputEventHandler& handler);
+ AliInputEventHandler& operator=(const AliInputEventHandler& handler);
protected:
- AliVEvent *fEvent; //! Pointer to the event
- TTree *fTree; //! Pointer to the tree
- ClassDef(AliInputEventHandler, 1);
+ TTree *fTree; //! Pointer to the tree
+ TString fBranches; // List of branches to be switched off (separated by space)
+ TString fBranchesOn; // List of branches to be switched on (separated by space)
+ Bool_t fNewEvent; // New event flag
+ AliVCuts* fEventCuts; // Cuts on the event level
+ Bool_t fIsSelected; // Selection result
+ ClassDef(AliInputEventHandler, 3);
};
#endif