]>
Commit | Line | Data |
---|---|---|
dd735cf0 | 1 | #ifndef AliESDVZERO_H |
2 | #define AliESDVZERO_H | |
3 | ||
4 | #include <TObject.h> | |
5 | ||
6 | class AliESDVZERO : public TObject | |
7 | { | |
8 | public: | |
9 | AliESDVZERO(); | |
10 | AliESDVZERO(const AliESDVZERO&); | |
d0502ab2 | 11 | AliESDVZERO(UInt_t BBtriggerV0A, UInt_t BGtriggerV0A, |
12 | UInt_t BBtriggerV0C, UInt_t BGtriggerV0C, | |
db0db003 | 13 | Float_t *Multiplicity, Float_t *Adc, |
14 | Float_t *Time, Float_t *Width, Bool_t *BBFlag, Bool_t *BGFlag); | |
732a24fe | 15 | |
a055ee24 | 16 | virtual ~AliESDVZERO() {}; |
b44c933e | 17 | |
18 | enum { | |
19 | kCorrectedLeadingTime = BIT(14), | |
20 | kTriggerBitsFilled = BIT(15), | |
21 | kDecisionFilled = BIT(16) | |
22 | }; | |
23 | enum Decision { kV0Invalid = -1, kV0Empty = 0, kV0BB, kV0BG, kV0Fake }; | |
dd735cf0 | 24 | |
d0502ab2 | 25 | // Setters |
a055ee24 | 26 | virtual void SetBBtriggerV0A(UInt_t BBtrigger) {fBBtriggerV0A=BBtrigger;} |
27 | virtual void SetBGtriggerV0A(UInt_t BGtrigger) {fBGtriggerV0A=BGtrigger;} | |
28 | virtual void SetBBtriggerV0C(UInt_t BBtrigger) {fBBtriggerV0C=BBtrigger;} | |
29 | virtual void SetBGtriggerV0C(UInt_t BGtrigger) {fBGtriggerV0C=BGtrigger;} | |
6c6d6114 | 30 | virtual void SetMultiplicity(Float_t Multiplicity[64]) |
a055ee24 | 31 | {for(Int_t i=0;i<64;i++) fMultiplicity[i]=Multiplicity[i];} |
db0db003 | 32 | virtual void SetADC(Float_t adc[64]) |
28fdf12c | 33 | {for(Int_t i=0;i<64;i++) fAdc[i]=adc[i];} |
db0db003 | 34 | virtual void SetTime(Float_t time[64]) |
28fdf12c | 35 | {for(Int_t i=0;i<64;i++) fTime[i]=time[i];} |
db0db003 | 36 | virtual void SetWidth(Float_t width[64]) |
d0502ab2 | 37 | {for(Int_t i=0;i<64;i++) fWidth[i]=width[i];} |
38 | virtual void SetBBFlag(Bool_t BBFlag[64]) | |
39 | {for(Int_t i=0;i<64;i++) fBBFlag[i]=BBFlag[i];} | |
40 | virtual void SetBGFlag(Bool_t BGFlag[64]) | |
41 | {for(Int_t i=0;i<64;i++) fBGFlag[i]=BGFlag[i];} | |
b44c933e | 42 | |
43 | void SetV0ATime(Float_t time) {fV0ATime = time;} | |
44 | void SetV0CTime(Float_t time) {fV0CTime = time;} | |
45 | void SetV0ATimeError(Float_t err) {fV0ATimeError = err;} | |
46 | void SetV0CTimeError(Float_t err) {fV0CTimeError = err;} | |
47 | ||
48 | void SetV0ADecision(Decision des) {fV0ADecision = des;} | |
49 | void SetV0CDecision(Decision des) {fV0CDecision = des;} | |
d0502ab2 | 50 | |
a055ee24 | 51 | // Getters |
6c6d6114 | 52 | Short_t GetNbPMV0A(); |
53 | Short_t GetNbPMV0C(); | |
54 | Float_t GetMTotV0A(); | |
55 | Float_t GetMTotV0C(); | |
56 | Float_t* GetMRingV0A(); | |
57 | Float_t* GetMRingV0C(); | |
58 | Float_t GetMRingV0A(Int_t ring); | |
59 | Float_t GetMRingV0C(Int_t ring); | |
28fdf12c | 60 | |
6c6d6114 | 61 | Float_t GetMultiplicity(Int_t i); |
62 | Float_t GetMultiplicityV0A(Int_t i); | |
63 | Float_t GetMultiplicityV0C(Int_t i); | |
db0db003 | 64 | Float_t GetAdc(Int_t i); |
65 | Float_t GetAdcV0A(Int_t i); | |
66 | Float_t GetAdcV0C(Int_t i); | |
67 | Float_t GetTime(Int_t i); | |
68 | Float_t GetTimeV0A(Int_t i); | |
69 | Float_t GetTimeV0C(Int_t i); | |
70 | Float_t GetWidth(Int_t i); | |
71 | Float_t GetWidthV0A(Int_t i); | |
72 | Float_t GetWidthV0C(Int_t i); | |
6c6d6114 | 73 | Bool_t BBTriggerV0A(Int_t i); |
74 | Bool_t BGTriggerV0A(Int_t i); | |
75 | Bool_t BBTriggerV0C(Int_t i); | |
76 | Bool_t BGTriggerV0C(Int_t i); | |
77 | Bool_t GetBBFlag(Int_t i); | |
78 | Bool_t GetBGFlag(Int_t i); | |
b44c933e | 79 | |
80 | Float_t GetV0ATime() const { return fV0ATime; } | |
81 | Float_t GetV0CTime() const { return fV0CTime; } | |
82 | Float_t GetV0ATimeError() const { return fV0ATimeError; } | |
83 | Float_t GetV0CTimeError() const { return fV0CTimeError; } | |
84 | ||
85 | Decision GetV0ADecision() const { return fV0ADecision; } | |
86 | Decision GetV0CDecision() const { return fV0CDecision; } | |
d0502ab2 | 87 | |
28fdf12c | 88 | Bool_t OutOfRange(Int_t i, const char *s, Int_t upper) const; |
a055ee24 | 89 | AliESDVZERO &operator=(const AliESDVZERO& source); |
dd735cf0 | 90 | |
91 | protected: | |
dd735cf0 | 92 | |
d0502ab2 | 93 | UInt_t fBBtriggerV0A; // bit mask for Beam-Beam trigger in V0A |
94 | UInt_t fBGtriggerV0A; // bit mask for Beam-Gas trigger in V0A | |
95 | UInt_t fBBtriggerV0C; // bit mask for Beam-Beam trigger in V0C | |
96 | UInt_t fBGtriggerV0C; // bit mask for Beam-Gas trigger in V0C | |
a055ee24 | 97 | |
6c6d6114 | 98 | Float_t fMultiplicity[64]; // multiplicity for each channel |
db0db003 | 99 | Float_t fAdc[64]; // adc for each channel |
100 | Float_t fTime[64]; // time for each channel | |
101 | Float_t fWidth[64]; // time width for each channel | |
d0502ab2 | 102 | Bool_t fBBFlag[64]; // BB Flags from Online V0 Electronics |
103 | Bool_t fBGFlag[64]; // BG Flags from Online V0 Electronics | |
b44c933e | 104 | |
105 | Float_t fV0ATime; // Average time in V0A | |
106 | Float_t fV0CTime; // Average time in V0C | |
107 | Float_t fV0ATimeError; // Error in the average time in V0A | |
108 | Float_t fV0CTimeError; // Error in the average time in V0C | |
109 | ||
110 | Decision fV0ADecision; // V0A final decision based on average time of channels | |
111 | Decision fV0CDecision; // V0C final decision based on average time of channels | |
112 | ||
113 | ClassDef(AliESDVZERO,8) | |
dd735cf0 | 114 | }; |
115 | ||
116 | #endif |