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