]> git.uio.no Git - u/mrichter/AliRoot.git/blame - STEER/AOD/AliAODInputHandler.h
AliAODEvent::GetHeader now return AliVHeader
[u/mrichter/AliRoot.git] / STEER / AOD / AliAODInputHandler.h
CommitLineData
397596ed 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"
fedd7a0d 14#include "AliAODEvent.h"
ddf019ae 15#include "AliMCEvent.h"
4e0b0eb8 16#include "AliAODMCHeader.h"
26772015 17class TList;
04a79fa0 18class AliMCEvent;
70908d05 19class TH2F;
5e6a3170 20class AliMCEvent;
9006fe9c 21class AliAODpidUtil;
22class AliPIDResponse;
5e6a3170 23
26772015 24
397596ed 25class AliAODInputHandler : public AliInputEventHandler {
26
27 public:
28 AliAODInputHandler();
29 AliAODInputHandler(const char* name, const char* title);
30 virtual ~AliAODInputHandler();
300d5701 31 virtual Bool_t Init(Option_t* /*opt*/) {return kTRUE;}
32 virtual Bool_t Init(TTree* tree, Option_t* opt);
87d395bd 33 AliAODEvent *GetEvent() const {return fEvent;}
04a79fa0 34 AliMCEvent *MCEvent() const {return fMCEvent;}
fbb264e0 35 virtual void AddFriend(char* filename);
36 virtual Bool_t BeginEvent(Long64_t entry);
b890a10d 37 virtual Bool_t Notify() { return AliVEventHandler::Notify();};
38 virtual Bool_t Notify(const char* path);
39 virtual Bool_t FinishEvent();
c2b6979d 40 Option_t *GetDataType() const;
70908d05 41 // Get the statistics object (currently TH2). Option can be BIN0.
42 virtual TObject *GetStatistics(Option_t *option="") const;
1f842495 43 // Provisions for event merging
44 void SetMergeEvents(Bool_t flag) {fMergeEvents = flag;}
45 Bool_t GetMergeEvents() const {return fMergeEvents;}
46 AliAODEvent* GetEventToMerge() {return fAODEventToMerge;}
1fbe12d4 47 TTree* GetTreeToMerge() const {return fTreeToMerge;}
04daa8bf 48 void SetMergeOffset(Int_t ioff) {fMergeOffset = ioff;}
1fbe12d4 49 Int_t GetMergeOffset() const {return fMergeOffset;}
abf59beb 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 ;}
720f7306 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 ;}
b541b806 64 void SetMergeHMPIDrings(Bool_t flag) {fMergeHMPIDrings = flag;}
65 Bool_t GetMergeHMPIDrings() const {return fMergeHMPIDrings ;}
720f7306 66
9006fe9c 67 //PID response
68 virtual AliPIDResponse* GetPIDResponse() {return (AliPIDResponse*)fAODpidUtil;}
69 virtual void CreatePIDResponse(Bool_t isMC=kFALSE);
70 AliAODpidUtil *GetAODpidUtil() const { return fAODpidUtil; }
71
87d395bd 72 private:
25c90fa8 73 void ConnectFriends();
87d395bd 74 AliAODInputHandler(const AliAODInputHandler& handler);
75 AliAODInputHandler& operator=(const AliAODInputHandler& handler);
fedd7a0d 76 private:
4195c9c9 77 AliAODEvent *fEvent; //! Pointer to the event
04a79fa0 78 AliMCEvent *fMCEvent; //! Pointer to the MCEvent
9006fe9c 79 TList *fFriends; // List of friend trees
80 AliAODpidUtil *fAODpidUtil; //! Pointer to PID information
81
1f842495 82// Support for merged events
83 Bool_t fMergeEvents; // Flag for event merging
abf59beb 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
720f7306 89 Bool_t fMergeEMCALTrigger; // Merge EMCAL cluster
90 Bool_t fMergePHOSTrigger; // Merge PHOS cluster
b541b806 91 Bool_t fMergeHMPIDrings; // Merge HMPID rings information
25c90fa8 92 Bool_t fFriendsConnected;// Friends are connected
1f842495 93 TFile *fFileToMerge; //! File for merging
94 TTree *fTreeToMerge; //! Tree for merging
95 AliAODEvent *fAODEventToMerge; //! Event for merging
04daa8bf 96 Int_t fMergeOffset; //! Event offset for merging
70908d05 97 TH2F* fHistStatistics[2]; //! how many events are cut away why {all,bin 0}
b541b806 98 ClassDef(AliAODInputHandler, 4);
397596ed 99};
100
101#endif