Update VZERO reco in order to deal with high lumi data. Weighted mean on V0 A and...
[u/mrichter/AliRoot.git] / STEER / AliVVZERO.h
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"
11
12 class AliVVZERO : public TObject 
13 {
14 public:
15   AliVVZERO() { }
16   AliVVZERO(const AliVVZERO& source);
17   AliVVZERO &operator=(const AliVVZERO& source);
18
19   virtual ~AliVVZERO() { }
20
21   enum {
22     kCorrectedLeadingTime = BIT(14),
23     kTriggerBitsFilled = BIT(15),
24     kDecisionFilled = BIT(16),
25     kOnlineBitsFilled = BIT(17),
26     kCorrectedForSaturation = BIT(18),
27     kRobustMeanTime = BIT(19)
28   };
29   enum Decision { kV0Invalid = -1, kV0Empty = 0, kV0BB, kV0BG, kV0Fake };
30
31   virtual Short_t  GetNbPMV0A() const = 0;
32   virtual Short_t  GetNbPMV0C() const = 0;
33   virtual Float_t  GetMTotV0A() const = 0;
34   virtual Float_t  GetMTotV0C() const = 0; 
35   virtual Float_t  GetMRingV0A(Int_t ring) const = 0;
36   virtual Float_t  GetMRingV0C(Int_t ring) const = 0;
37
38   virtual Float_t  GetMultiplicity(Int_t i) const = 0;
39   virtual Float_t  GetMultiplicityV0A(Int_t i) const = 0;
40   virtual Float_t  GetMultiplicityV0C(Int_t i) const = 0;    
41
42   virtual Bool_t   BBTriggerV0A(Int_t i) const = 0;
43   virtual Bool_t   BGTriggerV0A(Int_t i) const = 0;
44   virtual Bool_t   BBTriggerV0C(Int_t i) const = 0;
45   virtual Bool_t   BGTriggerV0C(Int_t i) const = 0;  
46   virtual Bool_t   GetBBFlag(Int_t i) const = 0;
47   virtual Bool_t   GetBGFlag(Int_t i) const = 0;
48
49   virtual Float_t  GetV0ATime() const = 0;
50   virtual Float_t  GetV0CTime() const = 0;
51
52   virtual Decision GetV0ADecision() const = 0;
53   virtual Decision GetV0CDecision() const = 0;
54
55 protected:  
56
57   Bool_t OutOfRange(Int_t i, const char *s, Int_t upper) const;
58     
59   ClassDef(AliVVZERO,1)
60 };
61
62 #endif