]> git.uio.no Git - u/mrichter/AliRoot.git/blame_incremental - STEER/AOD/AliAODInputHandler.h
Fix for track vertices without constraint
[u/mrichter/AliRoot.git] / STEER / AOD / AliAODInputHandler.h
... / ...
CommitLineData
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"
16class TList;
17class AliMCEvent;
18class TH2F;
19class AliMCEvent;
20class AliAODpidUtil;
21class AliPIDResponse;
22
23
24class AliAODInputHandler : public AliInputEventHandler {
25
26 public:
27 AliAODInputHandler();
28 AliAODInputHandler(const char* name, const char* title);
29 virtual ~AliAODInputHandler();
30 virtual Bool_t Init(Option_t* /*opt*/) {return kTRUE;}
31 virtual Bool_t Init(TTree* tree, Option_t* opt);
32 AliAODEvent *GetEvent() const {return fEvent;}
33 AliMCEvent *MCEvent() const {return fMCEvent;}
34 virtual void AddFriend(char* filename);
35 virtual Bool_t BeginEvent(Long64_t entry);
36 virtual Bool_t Notify() { return AliVEventHandler::Notify();};
37 virtual Bool_t Notify(const char* path);
38 virtual Bool_t FinishEvent();
39 Option_t *GetDataType() const;
40 // Get the statistics object (currently TH2). Option can be BIN0.
41 virtual TObject *GetStatistics(Option_t *option="") const;
42 // Provisions for event merging
43 void SetMergeEvents(Bool_t flag) {fMergeEvents = flag;}
44 Bool_t GetMergeEvents() const {return fMergeEvents;}
45 AliAODEvent* GetEventToMerge() {return fAODEventToMerge;}
46 TTree* GetTreeToMerge() const {return fTreeToMerge;}
47 void SetMergeOffset(Int_t ioff) {fMergeOffset = ioff;}
48 Int_t GetMergeOffset() const {return fMergeOffset;}
49 void SetMergeTracks(Bool_t flag) {fMergeTracks = flag;}
50 Bool_t GetMergeTracks() const {return fMergeTracks;}
51 void SetMergeEMCALClusters(Bool_t flag) {fMergeEMCALClusters = flag;}
52 Bool_t GetMergeEMCALClusters() const {return fMergeEMCALClusters;}
53 void SetMergeEMCALCells(Bool_t flag) {fMergeEMCALCells = flag;}
54 Bool_t GetMergeEMCALCells() const {return fMergeEMCALCells ;}
55 void SetMergePHOSClusters(Bool_t flag) {fMergePHOSClusters = flag;}
56 Bool_t GetMergePHOSClusters() const {return fMergePHOSClusters ;}
57 void SetMergePHOSCells(Bool_t flag) {fMergePHOSCells = flag;}
58 Bool_t GetMergePHOSCells() const {return fMergePHOSCells ;}
59 void SetMergeEMCALTrigger(Bool_t flag) {fMergeEMCALTrigger = flag;}
60 Bool_t GetMergeEMCALTrigger() const {return fMergeEMCALTrigger ;}
61 void SetMergePHOSTrigger(Bool_t flag) {fMergePHOSTrigger = flag;}
62 Bool_t GetMergePHOSTrigger() const {return fMergePHOSTrigger ;}
63 void SetMergeHMPIDrings(Bool_t flag) {fMergeHMPIDrings = flag;}
64 Bool_t GetMergeHMPIDrings() const {return fMergeHMPIDrings ;}
65
66 //PID response
67 virtual AliPIDResponse* GetPIDResponse() {return (AliPIDResponse*)fAODpidUtil;}
68 virtual void CreatePIDResponse(Bool_t isMC=kFALSE);
69 AliAODpidUtil *GetAODpidUtil() const { return fAODpidUtil; }
70
71 private:
72 void ConnectFriends();
73 AliAODInputHandler(const AliAODInputHandler& handler);
74 AliAODInputHandler& operator=(const AliAODInputHandler& handler);
75 private:
76 AliAODEvent *fEvent; //! Pointer to the event
77 AliMCEvent *fMCEvent; //! Pointer to the MCEvent
78 TList *fFriends; // List of friend trees
79 AliAODpidUtil *fAODpidUtil; //! Pointer to PID information
80
81// Support for merged events
82 Bool_t fMergeEvents; // Flag for event merging
83 Bool_t fMergeTracks; // Merge tracks
84 Bool_t fMergeEMCALClusters; // Merge PHOS cluster
85 Bool_t fMergePHOSClusters; // Merge EMCAL cluster
86 Bool_t fMergeEMCALCells; // Merge PHOS cluster
87 Bool_t fMergePHOSCells; // Merge EMCAL cluster
88 Bool_t fMergeEMCALTrigger; // Merge EMCAL cluster
89 Bool_t fMergePHOSTrigger; // Merge PHOS cluster
90 Bool_t fMergeHMPIDrings; // Merge HMPID rings information
91 Bool_t fFriendsConnected;// Friends are connected
92 TFile *fFileToMerge; //! File for merging
93 TTree *fTreeToMerge; //! Tree for merging
94 AliAODEvent *fAODEventToMerge; //! Event for merging
95 Int_t fMergeOffset; //! Event offset for merging
96 TH2F* fHistStatistics[2]; //! how many events are cut away why {all,bin 0}
97 ClassDef(AliAODInputHandler, 4);
98};
99
100#endif