]> git.uio.no Git - u/mrichter/AliRoot.git/blobdiff - STEER/AliAODInputHandler.h
Bug fix in buffer expansion size calculation, report 79334
[u/mrichter/AliRoot.git] / STEER / AliAODInputHandler.h
index 2f9d214e7dcb3874be9cca4ac4ea210d6230972e..bb95f6b12c949a5d22c58eef740a53e0671f5388 100644 (file)
 
 #include "AliInputEventHandler.h"
 #include "AliAODEvent.h"
-
+#include "AliMCEvent.h"
 class TList;
+class AliMCEvent;
+class TH2F;
+class AliMCEvent;
+
 
 class AliAODInputHandler : public AliInputEventHandler {
 
@@ -24,15 +28,37 @@ class AliAODInputHandler : public AliInputEventHandler {
     virtual Bool_t       Init(Option_t* /*opt*/) {return kTRUE;}
     virtual Bool_t       Init(TTree* tree, Option_t* opt);
     AliAODEvent         *GetEvent() const {return fEvent;}
+    AliMCEvent          *MCEvent()  const {return fMCEvent;}
     virtual void         AddFriend(char* filename);
     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();
+    Option_t            *GetDataType() const;
+    // Get the statistics object (currently TH2). Option can be BIN0.
+    virtual TObject     *GetStatistics(Option_t *option="") const;
+    // Provisions for event merging
+    void                 SetMergeEvents(Bool_t flag) {fMergeEvents = flag;}
+    Bool_t               GetMergeEvents() const {return fMergeEvents;}
+    AliAODEvent*         GetEventToMerge() {return fAODEventToMerge;}
+    void                 SetMergeOffset(Int_t ioff) {fMergeOffset = ioff;}
  private:
+    void ConnectFriends();
     AliAODInputHandler(const AliAODInputHandler& handler);             
     AliAODInputHandler& operator=(const AliAODInputHandler& handler);  
  private:
     AliAODEvent    *fEvent;   //! Pointer to the event
+    AliMCEvent     *fMCEvent; //! Pointer to the MCEvent
     TList          *fFriends; //  List of friend trees 
-    ClassDef(AliAODInputHandler, 1);
+// Support for merged events
+    Bool_t          fMergeEvents;     // Flag for event merging
+    Bool_t          fFriendsConnected;// Friends are connected
+    TFile          *fFileToMerge;     //! File for merging
+    TTree          *fTreeToMerge;     //! Tree for merging
+    AliAODEvent    *fAODEventToMerge; //! Event for merging
+    Int_t           fMergeOffset;     //! Event offset for merging
+    TH2F*           fHistStatistics[2]; //! how many events are cut away why {all,bin 0}
+    ClassDef(AliAODInputHandler, 3);
 };
 
 #endif