class AliInputEventHandler : public AliVEventHandler {
public:
+ enum EInputHandlerFlags {
+ kUserCallSelectionMask = BIT(14) // Watch out for defining base class bits
+ };
AliInputEventHandler();
AliInputEventHandler(const char* name, const char* title);
virtual ~AliInputEventHandler();
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 GetEntry() {if(fMixingHandler) fMixingHandler->GetEntry(); 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;}
// Setters
virtual void SetInputTree(TTree* tree) {fTree = tree;}
virtual void SetEventSelection(AliVCuts* cuts) {fEventCuts = cuts;}
+ virtual void SetUserCallSelectionMask(Bool_t flag=kTRUE) {TObject::SetBit(kUserCallSelectionMask,flag);}
//
void SetInactiveBranches(const char* branches) {fBranches = branches;}
void SetActiveBranches (const char* branches) {fBranchesOn = branches;}
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 IsUserCallSelectionMask() const {return TObject::TestBit(kUserCallSelectionMask);}
virtual Bool_t NewEvent()
{Bool_t ne = fNewEvent; fNewEvent = kFALSE; return ne;}
- virtual Bool_t IsEventSelected()
- {return fIsSelected;}
+ virtual UInt_t IsEventSelected()
+ {return fIsSelectedResult;}
+ // Mixing
+ void SetMixingHandler(AliInputEventHandler* mixing)
+ {fMixingHandler = mixing;}
+ AliInputEventHandler* MixingHandler()
+ {return fMixingHandler;}
+
protected:
void SwitchOffBranches() const;
void SwitchOnBranches() const;
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);
+ UInt_t fIsSelectedResult; // Selection result
+ AliInputEventHandler* fMixingHandler; // Optionla plugin for mixing
+ ClassDef(AliInputEventHandler, 5);
};
#endif