Line data Source code
1 : #ifndef ALIAODVZERO_H
2 : #define ALIAODVZERO_H
3 :
4 : //-------------------------------------------------------------------------
5 : // Container class for AOD VZERO data
6 : // Author: Cvetan Cheshkov
7 : // cvetan.cheshkov@cern.ch 2/02/2011
8 : //-------------------------------------------------------------------------
9 :
10 : #include "AliVVZERO.h"
11 :
12 : class AliAODVZERO : public AliVVZERO
13 : {
14 : public:
15 : AliAODVZERO();
16 : AliAODVZERO(const AliAODVZERO& source);
17 : AliAODVZERO(const AliVVZERO& source);
18 : AliAODVZERO &operator=(const AliAODVZERO& source);
19 : AliAODVZERO &operator=(const AliVVZERO& source);
20 :
21 0 : virtual ~AliAODVZERO() {};
22 :
23 : void SetMultiplicity(Float_t Multiplicity[64])
24 0 : {for(Int_t i=0;i<64;i++) fMultiplicity[i]=Multiplicity[i];}
25 :
26 : // Getters
27 : virtual Short_t GetNbPMV0A() const;
28 : virtual Short_t GetNbPMV0C() const;
29 : virtual Float_t GetMTotV0A() const;
30 : virtual Float_t GetMTotV0C() const;
31 : virtual Float_t GetMRingV0A(Int_t ring) const;
32 : virtual Float_t GetMRingV0C(Int_t ring) const;
33 :
34 : virtual Float_t GetMultiplicity(Int_t i) const;
35 : virtual Float_t GetMultiplicityV0A(Int_t i) const;
36 : virtual Float_t GetMultiplicityV0C(Int_t i) const;
37 :
38 : virtual Bool_t BBTriggerV0A(Int_t i) const;
39 : virtual Bool_t BGTriggerV0A(Int_t i) const;
40 : virtual Bool_t BBTriggerV0C(Int_t i) const;
41 : virtual Bool_t BGTriggerV0C(Int_t i) const;
42 : virtual Bool_t GetBBFlag(Int_t i) const;
43 : virtual Bool_t GetBGFlag(Int_t i) const;
44 :
45 0 : virtual Float_t GetV0ATime() const { return fV0ATime; }
46 0 : virtual Float_t GetV0CTime() const { return fV0CTime; }
47 :
48 0 : virtual Decision GetV0ADecision() const { return fV0ADecision; }
49 0 : virtual Decision GetV0CDecision() const { return fV0CDecision; }
50 :
51 0 : virtual UShort_t GetTriggerChargeA() const { return fTriggerChargeA; }
52 0 : virtual UShort_t GetTriggerChargeC() const { return fTriggerChargeC; }
53 0 : virtual UShort_t GetTriggerBits() const { return fTriggerBits; }
54 :
55 0 : virtual Bool_t GetPFBBFlag(Int_t channel, Int_t clock) const { return fIsBB[channel][clock]; }
56 0 : virtual Bool_t GetPFBGFlag(Int_t channel, Int_t clock) const { return fIsBG[channel][clock]; }
57 :
58 : protected:
59 :
60 : UInt_t fBBtriggerV0A; // bit mask for Beam-Beam trigger in V0A
61 : UInt_t fBGtriggerV0A; // bit mask for Beam-Gas trigger in V0A
62 : UInt_t fBBtriggerV0C; // bit mask for Beam-Beam trigger in V0C
63 : UInt_t fBGtriggerV0C; // bit mask for Beam-Gas trigger in V0C
64 :
65 : Float_t fMultiplicity[64]; // multiplicity for each channel
66 :
67 : Bool_t fBBFlag[64]; // BB Flags from Online V0 Electronics
68 : Bool_t fBGFlag[64]; // BG Flags from Online V0 Electronics
69 :
70 : Float_t fV0ATime; // Average time in V0A
71 : Float_t fV0CTime; // Average time in V0C
72 :
73 : Decision fV0ADecision; // V0A final decision based on average time of channels
74 : Decision fV0CDecision; // V0C final decision based on average time of channels
75 :
76 : UShort_t fTriggerChargeA; // Sum of the trigger (clock=10) charge on A side
77 : UShort_t fTriggerChargeC; // Sum of the trigger (clock=10) charge on C side
78 : UShort_t fTriggerBits; // V0 trigger bits as defined in the firmware
79 :
80 : Bool_t fIsBB[64][21]; // 'Beam-Beam' flag for all channels and 21 clocks
81 : Bool_t fIsBG[64][21]; // 'Beam-Gas' flag for all channels and 21 clocks
82 :
83 294 : ClassDef(AliAODVZERO,3)
84 : };
85 :
86 : #endif
|