]>
Commit | Line | Data |
---|---|---|
aa2494a4 | 1 | #ifndef ALIVVZERO_H |
2 | #define ALIVVZERO_H | |
3 | ||
4 | //------------------------------------------------------------------------- | |
5 | // Base class for ESD and AOD VZERO data | |
6 | // Author: Cvetan Cheshkov | |
7 | // cvetan.cheshkov@cern.ch 2/02/2011 | |
8 | //------------------------------------------------------------------------- | |
9 | ||
10 | #include "TObject.h" | |
01789fbf | 11 | #include "TMath.h" |
aa2494a4 | 12 | |
13 | class AliVVZERO : public TObject | |
14 | { | |
15 | public: | |
16 | AliVVZERO() { } | |
17 | AliVVZERO(const AliVVZERO& source); | |
18 | AliVVZERO &operator=(const AliVVZERO& source); | |
19 | ||
20 | virtual ~AliVVZERO() { } | |
21 | ||
22 | enum { | |
23 | kCorrectedLeadingTime = BIT(14), | |
24 | kTriggerBitsFilled = BIT(15), | |
25 | kDecisionFilled = BIT(16), | |
26 | kOnlineBitsFilled = BIT(17), | |
7bf5b178 | 27 | kCorrectedForSaturation = BIT(18), |
18b2dabf | 28 | kRobustMeanTime = BIT(19), |
29 | kTriggerChargeBitsFilled = BIT(20) | |
aa2494a4 | 30 | }; |
31 | enum Decision { kV0Invalid = -1, kV0Empty = 0, kV0BB, kV0BG, kV0Fake }; | |
889c27e3 | 32 | enum TriggerBits { |
33 | kBBAandBBC = 0, | |
34 | kBBAorBBC = 1, | |
35 | kBGAandBBC = 2, | |
36 | kBGA = 3, | |
37 | kBGCandBBA = 4, | |
38 | kBGC = 5, | |
39 | kCTA1andCTC1 = 6, | |
40 | kCTA1orCTC1 = 7, | |
41 | kCTA2andCTC2 = 8, | |
42 | kCTA2orCTC2 = 9, | |
43 | kMTAandMTC = 10, | |
44 | kMTAorMTC = 11, | |
45 | kBBA = 12, | |
46 | kBBC = 13, | |
47 | kBGAorBGC = 14, | |
48 | kBGAandBBCorBGCandBBA = 15 | |
49 | }; | |
aa2494a4 | 50 | |
51 | virtual Short_t GetNbPMV0A() const = 0; | |
52 | virtual Short_t GetNbPMV0C() const = 0; | |
53 | virtual Float_t GetMTotV0A() const = 0; | |
54 | virtual Float_t GetMTotV0C() const = 0; | |
55 | virtual Float_t GetMRingV0A(Int_t ring) const = 0; | |
56 | virtual Float_t GetMRingV0C(Int_t ring) const = 0; | |
57 | ||
58 | virtual Float_t GetMultiplicity(Int_t i) const = 0; | |
59 | virtual Float_t GetMultiplicityV0A(Int_t i) const = 0; | |
60 | virtual Float_t GetMultiplicityV0C(Int_t i) const = 0; | |
61 | ||
62 | virtual Bool_t BBTriggerV0A(Int_t i) const = 0; | |
63 | virtual Bool_t BGTriggerV0A(Int_t i) const = 0; | |
64 | virtual Bool_t BBTriggerV0C(Int_t i) const = 0; | |
65 | virtual Bool_t BGTriggerV0C(Int_t i) const = 0; | |
66 | virtual Bool_t GetBBFlag(Int_t i) const = 0; | |
67 | virtual Bool_t GetBGFlag(Int_t i) const = 0; | |
68 | ||
69 | virtual Float_t GetV0ATime() const = 0; | |
70 | virtual Float_t GetV0CTime() const = 0; | |
71 | ||
72 | virtual Decision GetV0ADecision() const = 0; | |
73 | virtual Decision GetV0CDecision() const = 0; | |
b734abbe | 74 | |
18b2dabf | 75 | virtual UShort_t GetTriggerChargeA() const = 0; |
76 | virtual UShort_t GetTriggerChargeC() const = 0; | |
77 | virtual UShort_t GetTriggerBits() const = 0; | |
78 | ||
01789fbf | 79 | static Float_t GetVZEROAvgPhi(Int_t channel) |
80 | { return TMath::Pi() / 8 + TMath::Pi() / 4 * (channel%8); } | |
81 | static Float_t GetVZEROEtaMin(Int_t channel); | |
82 | static Float_t GetVZEROEtaMax(Int_t channel); | |
83 | ||
b734abbe | 84 | protected: |
85 | ||
aa2494a4 | 86 | Bool_t OutOfRange(Int_t i, const char *s, Int_t upper) const; |
87 | ||
18b2dabf | 88 | ClassDef(AliVVZERO,2) |
aa2494a4 | 89 | }; |
90 | ||
91 | #endif |