]> git.uio.no Git - u/mrichter/AliRoot.git/blame - PWG3/muon/AliAODEventInfo.h
Warning fixed
[u/mrichter/AliRoot.git] / PWG3 / muon / AliAODEventInfo.h
CommitLineData
71b7d225 1#include "TClonesArray.h"
2
3#ifndef AliAODEventInfo_H
4#define AliAODEventInfo_H
5
6#include "AliAODEvent.h"
7
aba89748 8class AliAODHeader;
71b7d225 9
aba89748 10// AliAODEventInfo: a class for AODs for the MUON Arm of the ALICE Experiment
11// Author: P. Cortese, Universita' del Piemonte Orientale in Alessandria and
12// INFN of Torino - Italy
13//
14// This class provides additional information about the AliAODEvent, some
15// of this is specific to MUON. The information stored in this class will
16// follow the evolution of the framework (i.e. some data members may be
17// moved into the header in the future).
18//
19//
71b7d225 20
aba89748 21// 2007/11/06 v1.00 Initial version
22// 2007/12/18 v1.01 More compact information for what regards trigger info
23// 2008/02/01 v1.02 Apply coding conventions
71b7d225 24
25class AliAODEventInfo : public TNamed {
26public:
27 AliAODEventInfo();
28 ~AliAODEventInfo();
29
71b7d225 30 void SetBeamEnergy(Double_t BeamEnergy){ fBeamEnergy=BeamEnergy; };
aba89748 31 Double_t EBeam() const { return fBeamEnergy; };
32 Double_t SqrtS() const { return 2*fBeamEnergy; };
71b7d225 33
34 // -- Trigger information (to be updated in future)
aba89748 35 void SelectTriggerBits(UChar_t muonSingleLPtL0, UChar_t muonSingleHPtL0,
36 UChar_t muonLikeLPtL0, UChar_t muonLikeHPtL0,
37 UChar_t muonUnlikeLPtL0, UChar_t muonUnlikeHPtL0);
38
39 UChar_t GetBitSingleLPtL0() const { return fMuonSingleLPtL0; }
40 UChar_t GetBitSingleHPtL0() const { return fMuonSingleHPtL0; }
41 UChar_t GetBitLikeLPtL0() const { return fMuonLikeLPtL0; }
42 UChar_t GetBitLikeHPtL0() const { return fMuonLikeHPtL0; }
43 UChar_t GetBitUnlikeLPtL0() const { return fMuonUnlikeLPtL0; }
44 UChar_t GetBitUnlikeHPtL0() const { return fMuonUnlikeHPtL0; }
45
46 Bool_t MuonSingleLPtL0() const; // Test trigger pattern for MUON_Single_LPt_L0
47 Bool_t MuonSingleHPtL0() const; // Test trigger pattern for MUON_Single_HPt_L0
48 Bool_t MuonLikeLPtL0() const; // Test trigger pattern for MUON_Like_LPt_L0
49 Bool_t MuonLikeHPtL0() const; // Test trigger pattern for MUON_Like_HPt_L0
50 Bool_t MuonUnlikeLPtL0() const; // Test trigger pattern for MUON_Unlike_LPt_L0
51 Bool_t MuonUnlikeHPtL0() const; // Test trigger pattern for MUON_Unlike_HPt_L0
52
53 Int_t GetNDimuons() const { return (fDi!=0) ? ((TClonesArray*)fDi.GetObject())->GetSize() : 0;}
54 Int_t NDimu() const { return GetNDimuons();}
55
56 // Pointers
57 void SetEv(AliAODEvent *ev){ fEv=ev; }
58 void SetEi(AliAODEventInfo *ei){ fEi=ei; }
59 void SetHe(AliAODHeader *he){ fHe=he; }
60 void SetTr(TClonesArray *tr){ fTr=tr; }
61 void SetDi(TClonesArray *di){ fDi=di; }
62
63 AliAODEvent *GetEv() { return (fEv!=0) ? (AliAODEvent*)fEv.GetObject() : 0; }
64 AliAODEventInfo* GetEi() { return (fEi!=0) ? (AliAODEventInfo*)fEi.GetObject() : 0; }
65 TClonesArray *GetDi() { return (fDi!=0) ? (TClonesArray*)fDi.GetObject() : 0; } // Get dimuon array
66
67 AliAODEvent *Ev() { return (fEv!=0) ? (AliAODEvent*)fEv.GetObject() : 0; }
68 TClonesArray *Di() { return (fDi!=0) ? (TClonesArray*)fDi.GetObject() : 0; } // Get dimuon array
69 AliAODEventInfo* Ei() { return (fEi!=0) ? (AliAODEventInfo*)fEi.GetObject() : 0; }
70
71// AliAODHeader *GetHe() { return (fHe!=0) ? (AliAODHeader*)fHe.GetObject() : 0; }
72// AliAODTrack *GetTr();
73
74 Bool_t IsHeaderAccessible(Char_t *msg=0) const;
75
76 protected:
77 // Missing in AliAODHeader and added here
78 Double_t fBeamEnergy; // Add beam energy not present in AliAODHeader
79 UChar_t fMuonSingleLPtL0; // Decode trigger info
80 UChar_t fMuonSingleHPtL0; // Decode trigger info
81 UChar_t fMuonLikeLPtL0; // Decode trigger info
82 UChar_t fMuonLikeHPtL0; // Decode trigger info
83 UChar_t fMuonUnlikeLPtL0; // Decode trigger info
84 UChar_t fMuonUnlikeHPtL0; // Decode trigger info
85
86 // Data members to provide automatic access
87 TRef fEv; // Event
88 TRef fEi; // EventInfo
89 TRef fHe; // Header
90 TRef fTr; // Tracks
91 TRef fDi; // Dimuons
71b7d225 92
93 ClassDef(AliAODEventInfo,1) // Additional header for MUON arm
94};
95
96#endif