AliRoot Core  3dc7879 (3dc7879)
AliAODInputHandler.h
Go to the documentation of this file.
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 
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 
26 
27  public:
29  AliAODInputHandler(const char* name, const char* title);
30  virtual ~AliAODInputHandler();
31  virtual Bool_t Init(Option_t* /*opt*/) {return kTRUE;}
32  virtual Bool_t Init(TTree* tree, Option_t* opt);
33  AliAODEvent *GetEvent() const {return fEvent;}
34  AliMCEvent *MCEvent() const {return fMCEvent;}
35  virtual void AddFriend(char* filename);
36  virtual Bool_t BeginEvent(Long64_t entry);
37  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  void SetMergeEvents(Bool_t flag) {fMergeEvents = flag;}
45  Bool_t GetMergeEvents() const {return fMergeEvents;}
47  TTree* GetTreeToMerge() const {return fTreeToMerge;}
48  void SetMergeOffset(Int_t ioff) {fMergeOffset = ioff;}
49  Int_t GetMergeOffset() const {return fMergeOffset;}
50  void SetMergeTracks(Bool_t flag) {fMergeTracks = flag;}
51  Bool_t GetMergeTracks() const {return fMergeTracks;}
52  void SetMergeEMCALClusters(Bool_t flag) {fMergeEMCALClusters = flag;}
53  Bool_t GetMergeEMCALClusters() const {return fMergeEMCALClusters;}
54  void SetMergeEMCALCells(Bool_t flag) {fMergeEMCALCells = flag;}
55  Bool_t GetMergeEMCALCells() const {return fMergeEMCALCells ;}
56  void SetMergePHOSClusters(Bool_t flag) {fMergePHOSClusters = flag;}
57  Bool_t GetMergePHOSClusters() const {return fMergePHOSClusters ;}
58  void SetMergePHOSCells(Bool_t flag) {fMergePHOSCells = flag;}
59  Bool_t GetMergePHOSCells() const {return fMergePHOSCells ;}
60  void SetMergeEMCALTrigger(Bool_t flag) {fMergeEMCALTrigger = flag;}
61  Bool_t GetMergeEMCALTrigger() const {return fMergeEMCALTrigger ;}
62  void SetMergePHOSTrigger(Bool_t flag) {fMergePHOSTrigger = flag;}
63  Bool_t GetMergePHOSTrigger() const {return fMergePHOSTrigger ;}
64  void SetMergeHMPIDrings(Bool_t flag) {fMergeHMPIDrings = flag;}
65  Bool_t GetMergeHMPIDrings() const {return fMergeHMPIDrings ;}
66 
67  //PID response
69  virtual void CreatePIDResponse(Bool_t isMC=kFALSE);
71 
72  private:
73  void ConnectFriends();
74  AliAODInputHandler(const AliAODInputHandler& handler);
76  private:
79  TList *fFriends;
81 
82 // Support for merged events
83  Bool_t fMergeEvents;
84  Bool_t fMergeTracks;
88  Bool_t fMergePHOSCells;
93  TFile *fFileToMerge;
94  TTree *fTreeToMerge;
96  Int_t fMergeOffset;
97  TH2F* fHistStatistics[2];
98  ClassDef(AliAODInputHandler, 4);
99 };
100 
101 #endif
Int_t GetMergeOffset() const
AliMCEvent * fMCEvent
! Pointer to the MCEvent
void SetMergePHOSTrigger(Bool_t flag)
virtual void AddFriend(char *filename)
Bool_t fFriendsConnected
Friends are connected.
void SetMergeEMCALCells(Bool_t flag)
Bool_t GetMergePHOSClusters() const
Bool_t GetMergePHOSCells() const
TFile * fFileToMerge
! File for merging
void SetMergeTracks(Bool_t flag)
virtual TObject * GetStatistics(Option_t *option="") const
virtual AliPIDResponse * GetPIDResponse()
TTree * GetTreeToMerge() const
Bool_t fMergeEvents
Flag for event merging.
void SetMergeEvents(Bool_t flag)
const char * path
virtual Bool_t Init(Option_t *)
AliAODpidUtil * fAODpidUtil
! Pointer to PID information
Bool_t fMergePHOSTrigger
Merge PHOS cluster.
Bool_t GetMergePHOSTrigger() const
Bool_t fMergePHOSClusters
Merge EMCAL cluster.
virtual Bool_t Notify()
virtual Bool_t BeginEvent(Long64_t entry)
Bool_t GetMergeEvents() const
void SetMergePHOSCells(Bool_t flag)
void SetMergeEMCALTrigger(Bool_t flag)
Bool_t GetMergeEMCALCells() const
TTree * tree
Bool_t fMergeHMPIDrings
Merge HMPID rings information.
TTree * fTreeToMerge
! Tree for merging
Bool_t GetMergeHMPIDrings() const
virtual Bool_t FinishEvent()
AliAODpidUtil * GetAODpidUtil() const
Bool_t GetMergeTracks() const
AliMCEvent * MCEvent() const
void SetMergeOffset(Int_t ioff)
Combined PID class.
Definition: AliAODpidUtil.h:25
AOD base class.
Definition: AliAODEvent.h:48
Bool_t GetMergeEMCALTrigger() const
void SetMergeEMCALClusters(Bool_t flag)
AliAODEvent * fEvent
! Pointer to the event
Bool_t fMergeTracks
Merge tracks.
Bool_t fMergePHOSCells
Merge EMCAL cluster.
Bool_t fMergeEMCALCells
Merge PHOS cluster.
void SetMergeHMPIDrings(Bool_t flag)
Int_t fMergeOffset
! Event offset for merging
AliAODEvent * GetEventToMerge()
virtual Bool_t Notify()
AliAODInputHandler & operator=(const AliAODInputHandler &handler)
void SetMergePHOSClusters(Bool_t flag)
Option_t * GetDataType() const
TH2F * fHistStatistics[2]
! how many events are cut away why {all,bin 0}
Bool_t fMergeEMCALTrigger
Merge EMCAL cluster.
AliAODEvent * GetEvent() const
Bool_t GetMergeEMCALClusters() const
AliAODEvent * fAODEventToMerge
! Event for merging
TList * fFriends
List of friend trees.
AOD Input Handler realisation of the AliVEventHandler interface.
virtual void CreatePIDResponse(Bool_t isMC=kFALSE)
Bool_t fMergeEMCALClusters
Merge PHOS cluster.