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