LCOV - code coverage report
Current view: top level - STEER/ESD - AliESDInputHandler.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 9 21 42.9 %
Date: 2016-06-14 17:26:59 Functions: 10 25 40.0 %

          Line data    Source code
       1             : #ifndef ALIESDINPUTHANDLER_H
       2             : #define ALIESDINPUTHANDLER_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             : //     ESD Input Handler realisation of the AliVEventHandler interface
      10             : //     Author: Andreas Morsch, CERN
      11             : //-------------------------------------------------------------------------
      12             : 
      13             : #include "AliInputEventHandler.h"
      14             : #include "AliESDEvent.h"
      15             : class TChain;
      16             : class TTree;
      17             : class AliRunTag;
      18             : class AliEventTag;
      19             : class TMap;
      20             : class AliESDfriend;
      21             : class AliESDpid;
      22             : class AliESDEvent;
      23             : class AliPIDResponse;
      24             : 
      25             : 
      26             : class AliESDInputHandler : public AliInputEventHandler {
      27             : 
      28             :  public:
      29             :     AliESDInputHandler();
      30             :     AliESDInputHandler(const char* name, const char* title);
      31             :     virtual ~AliESDInputHandler();
      32           4 :     virtual Bool_t       Init(Option_t* opt) {return AliInputEventHandler::Init(opt);}
      33             :     virtual Bool_t       Init(TTree* tree, Option_t* opt);
      34             :     virtual Bool_t       BeginEvent(Long64_t entry);
      35           0 :     virtual Bool_t       Notify() { return AliInputEventHandler::Notify(); };
      36             :     virtual Bool_t       Notify(const char* path);
      37             :     virtual Bool_t       FinishEvent();
      38             :     void                 CheckSelectionMask();
      39          26 :     AliVEvent         *GetEvent()        const {return (AliVEvent*)fEvent;}
      40          16 :     Option_t            *GetAnalysisType() const {return fAnalysisType;}
      41             :     Option_t            *GetDataType() const;
      42             :     // Tag cut summary analysis
      43             :     Int_t                GetNEventAcceptedInFile();
      44             :     Int_t                GetNEventRejectedInFile();
      45             :     Bool_t               GetCutSummaryForChain(Int_t *aTotal, Int_t *aAccepted, Int_t *aRejected);
      46             :     Int_t                GetNFilesEmpty();
      47             :     // HLT  analysis
      48           0 :     AliESDEvent         *GetHLTEvent()     const {return fHLTEvent;}
      49           0 :     TTree               *GetHLTTree()      const {return fHLTTree;}    
      50           0 :     void                 SetReadHLT()            {Changed(); fUseHLT = kTRUE;}
      51           0 :     Bool_t               GetReadHLT()      const {return fUseHLT;}
      52             :     // Friends&Co
      53          56 :     AliESDfriend        *GetESDfriend()    const {return fFriend;}
      54           2 :     void                 SetReadFriends(Bool_t flag)   {Changed(); fReadFriends = flag;}
      55           0 :     Bool_t               GetReadFriends()  const {return fReadFriends;}
      56           0 :     void                 SetFriendFileName(const char *fname)  {Changed(); fFriendFileName = fname;}
      57           0 :     const char          *GetFriendFileName() const {return fFriendFileName;}
      58             :     // Tag analysis
      59           4 :     void                 SetReadTags()           {Changed(); fUseTags = kTRUE;}
      60           8 :     AliRunTag           *GetRunTag() const       {return fRunTag;}
      61           0 :     const AliEventTag   *GetEventTag() const     {return fEventTag;}
      62             :     // Get the statistics object (currently TH2). Option can be BIN0.
      63             :     virtual TObject     *GetStatistics(Option_t *option="") const;
      64             : 
      65             :     //PID response
      66           0 :     virtual AliPIDResponse* GetPIDResponse() {return (AliPIDResponse*)fESDpid;}
      67             :     virtual void CreatePIDResponse(Bool_t isMC=kFALSE);
      68          16 :     AliESDpid           *GetESDpid()       const {return fESDpid;}
      69           0 :     void                 SetESDpid(AliESDpid* pid)     {Changed(); fESDpid = pid;}
      70             : 
      71             :     //HLT
      72           0 :     virtual AliVfriendEvent*   GetVfriendEvent() const {return fFriend;};
      73             :   
      74             :  private:
      75             :     AliESDInputHandler(const AliESDInputHandler& handler);             
      76             :     AliESDInputHandler& operator=(const AliESDInputHandler& handler);  
      77             :     void                 ConnectFriends();
      78             :  protected:
      79             :     // ESD event
      80             :     AliESDEvent    *fEvent;         //! Pointer to the event
      81             :     AliESDfriend   *fFriend;        //! Pointer to the esd friend
      82             :     AliESDpid      *fESDpid;        //! Pointer to PID information
      83             :     Option_t       *fAnalysisType;  //! local, proof, grid
      84             :     Int_t           fNEvents;       //! Number of events in the current tree
      85             :     // HLT event
      86             :     AliESDEvent    *fHLTEvent;      //! Pointer to the HLT Event (if present)
      87             :     TTree          *fHLTTree;       //! Pointer to the HLT Event (if present)
      88             :     Bool_t          fUseHLT;        //  Flag to access HLT Events
      89             :     // ESD Tag Cut Summary
      90             :     TMap           *fTagCutSumm;    //! Tag cut summary map
      91             :     // ESD Tags (optional)
      92             :     Bool_t          fUseTags;       //  Flag to use tags
      93             :     TChain         *fChainT;        //! File with event tags
      94             :     TTree          *fTreeT;         //! Tree of tags
      95             :     AliRunTag      *fRunTag;        //! Pointer to the run tag
      96             :     const AliEventTag *fEventTag;      //! Current event tag
      97             :     // Friends
      98             :     Bool_t          fReadFriends;   //  Flag for friends reading 
      99             :     TString         fFriendFileName;//  Name of the file containing the frien tree (branch)
     100         180 :     ClassDef(AliESDInputHandler, 6);
     101             : };
     102             : 
     103             : #endif

Generated by: LCOV version 1.11