]>
Commit | Line | Data |
---|---|---|
71b7d225 | 1 | #include "TClonesArray.h" |
2 | ||
3 | #ifndef AliAODEventInfo_H | |
4 | #define AliAODEventInfo_H | |
5 | ||
6 | #include "AliAODEvent.h" | |
7 | ||
aba89748 | 8 | class 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 | |
25 | class AliAODEventInfo : public TNamed { | |
26 | public: | |
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 |