LCOV - code coverage report
Current view: top level - STEER/AOD - AliAODInputHandler.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 29 6.9 %
Date: 2016-06-14 17:26:59 Functions: 2 33 6.1 %

          Line data    Source code
       1             : #ifndef ALIAODINPUTHANDLER_H
       2             : #define ALIAODINPUTHANDLER_H
       3             : /* Copyright(c) 1998-2007, ALICE Experiment at CERN, All rights reserved. *
       4             :  * See cxx source for full Copyright notice                               */
       5             : 
       6             : /* $Id$ */
       7             : 
       8             : //-------------------------------------------------------------------------
       9             : //     AOD Input Handler realisation of the AliVEventHandler interface
      10             : //     Author: Andreas Morsch, CERN
      11             : //-------------------------------------------------------------------------
      12             : 
      13             : #include "AliInputEventHandler.h"
      14             : #include "AliAODEvent.h"
      15             : #include "AliMCEvent.h"
      16             : #include "AliAODMCHeader.h"
      17             : class TList;
      18             : class AliMCEvent;
      19             : class TH2F;
      20             : class AliMCEvent;
      21             : class AliAODpidUtil;
      22             : class AliPIDResponse;
      23             : 
      24             : 
      25             : class AliAODInputHandler : public AliInputEventHandler {
      26             : 
      27             :  public:
      28             :     AliAODInputHandler();
      29             :     AliAODInputHandler(const char* name, const char* title);
      30             :     virtual ~AliAODInputHandler();
      31           0 :     virtual Bool_t       Init(Option_t* /*opt*/) {return kTRUE;}
      32             :     virtual Bool_t       Init(TTree* tree, Option_t* opt);
      33           0 :     AliAODEvent         *GetEvent() const {return fEvent;}
      34           0 :     AliMCEvent          *MCEvent()  const {return fMCEvent;}
      35             :     virtual void         AddFriend(char* filename);
      36             :     virtual Bool_t       BeginEvent(Long64_t entry);
      37           0 :     virtual Bool_t       Notify() { return AliVEventHandler::Notify();};
      38             :     virtual Bool_t       Notify(const char* path);
      39             :     virtual Bool_t       FinishEvent();
      40             :     Option_t            *GetDataType() const;
      41             :     // Get the statistics object (currently TH2). Option can be BIN0.
      42             :     virtual TObject     *GetStatistics(Option_t *option="") const;
      43             :     // Provisions for event merging
      44           0 :     void                 SetMergeEvents(Bool_t flag) {fMergeEvents = flag;}
      45          14 :     Bool_t               GetMergeEvents() const {return fMergeEvents;}
      46           0 :     AliAODEvent*         GetEventToMerge() {return fAODEventToMerge;}
      47           0 :     TTree*               GetTreeToMerge()  const {return fTreeToMerge;}
      48           0 :     void                 SetMergeOffset(Int_t ioff) {fMergeOffset = ioff;}
      49           0 :     Int_t                GetMergeOffset()     const {return fMergeOffset;}
      50           0 :     void                 SetMergeTracks(Bool_t flag) {fMergeTracks = flag;}
      51           0 :     Bool_t               GetMergeTracks()      const {return fMergeTracks;}
      52           0 :     void                 SetMergeEMCALClusters(Bool_t flag) {fMergeEMCALClusters = flag;}
      53           0 :     Bool_t               GetMergeEMCALClusters()      const {return fMergeEMCALClusters;}
      54           0 :     void                 SetMergeEMCALCells(Bool_t flag)    {fMergeEMCALCells    = flag;}
      55           0 :     Bool_t               GetMergeEMCALCells()         const {return fMergeEMCALCells   ;} 
      56           0 :     void                 SetMergePHOSClusters(Bool_t flag) {fMergePHOSClusters   = flag;}
      57           0 :     Bool_t               GetMergePHOSClusters()      const {return fMergePHOSClusters  ;}
      58           0 :     void                 SetMergePHOSCells(Bool_t flag)    {fMergePHOSCells      = flag;}
      59           0 :     Bool_t               GetMergePHOSCells()         const {return fMergePHOSCells     ;}  
      60           0 :     void                 SetMergeEMCALTrigger(Bool_t flag)    {fMergeEMCALTrigger      = flag;}
      61           0 :     Bool_t               GetMergeEMCALTrigger()         const {return fMergeEMCALTrigger     ;}  
      62           0 :     void                 SetMergePHOSTrigger(Bool_t flag)    {fMergePHOSTrigger      = flag;}
      63           0 :     Bool_t               GetMergePHOSTrigger()         const {return fMergePHOSTrigger     ;}  
      64           0 :     void                 SetMergeHMPIDrings(Bool_t flag)    {fMergeHMPIDrings      = flag;}
      65           0 :     Bool_t               GetMergeHMPIDrings()         const {return fMergeHMPIDrings     ;}  
      66             : 
      67             :     //PID response
      68           0 :     virtual AliPIDResponse* GetPIDResponse() {return (AliPIDResponse*)fAODpidUtil;}
      69             :     virtual void CreatePIDResponse(Bool_t isMC=kFALSE);
      70           0 :     AliAODpidUtil *GetAODpidUtil() const { return fAODpidUtil; }
      71             :   
      72             :  private:
      73             :     void ConnectFriends();
      74             :     AliAODInputHandler(const AliAODInputHandler& handler);             
      75             :     AliAODInputHandler& operator=(const AliAODInputHandler& handler);  
      76             :  private:
      77             :     AliAODEvent    *fEvent;   //! Pointer to the event
      78             :     AliMCEvent     *fMCEvent; //! Pointer to the MCEvent
      79             :     TList          *fFriends; //  List of friend trees
      80             :     AliAODpidUtil  *fAODpidUtil; //! Pointer to PID information
      81             :   
      82             : // Support for merged events
      83             :     Bool_t          fMergeEvents;     // Flag for event merging
      84             :     Bool_t          fMergeTracks;        // Merge tracks
      85             :     Bool_t          fMergeEMCALClusters; // Merge PHOS  cluster
      86             :     Bool_t          fMergePHOSClusters;  // Merge EMCAL cluster
      87             :     Bool_t          fMergeEMCALCells;    // Merge PHOS  cluster
      88             :     Bool_t          fMergePHOSCells;     // Merge EMCAL cluster
      89             :     Bool_t          fMergeEMCALTrigger;    // Merge EMCAL  cluster
      90             :     Bool_t          fMergePHOSTrigger;     // Merge PHOS cluster
      91             :     Bool_t          fMergeHMPIDrings;      // Merge HMPID rings information
      92             :     Bool_t          fFriendsConnected;// Friends are connected
      93             :     TFile          *fFileToMerge;     //! File for merging
      94             :     TTree          *fTreeToMerge;     //! Tree for merging
      95             :     AliAODEvent    *fAODEventToMerge; //! Event for merging
      96             :     Int_t           fMergeOffset;     //! Event offset for merging
      97             :     TH2F*           fHistStatistics[2]; //! how many events are cut away why {all,bin 0}
      98         170 :     ClassDef(AliAODInputHandler, 4);
      99             : };
     100             : 
     101             : #endif

Generated by: LCOV version 1.11