LCOV - code coverage report
Current view: top level - STEER/ESD - AliESDVZERO.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 32 38 84.2 %
Date: 2016-06-14 17:26:59 Functions: 35 44 79.5 %

          Line data    Source code
       1             : #ifndef ALIESDVZERO_H
       2             : #define ALIESDVZERO_H
       3             : 
       4             : //-------------------------------------------------------------------------
       5             : //     Container class for ESD VZERO data
       6             : //     Author: Brigitte Cheynis & Cvetan Cheshkov
       7             : //-------------------------------------------------------------------------
       8             : 
       9             : #include <AliVVZERO.h>
      10             : 
      11             : class AliESDVZERO : public AliVVZERO 
      12             : {
      13             : public:
      14             :   AliESDVZERO();
      15             :   AliESDVZERO(const AliESDVZERO&o);
      16             :   AliESDVZERO(UInt_t BBtriggerV0A,   UInt_t BGtriggerV0A,
      17             :               UInt_t BBtriggerV0C,   UInt_t BGtriggerV0C,
      18             :               Float_t *Multiplicity, Float_t *Adc, 
      19             :               Float_t *Time, Float_t *Width, Bool_t *BBFlag, Bool_t *BGFlag);
      20             :   void Copy(TObject &obj) const;
      21             : 
      22         168 :   virtual ~AliESDVZERO() {};
      23             : 
      24             :   // Setters
      25          16 :   void SetBBtriggerV0A(UInt_t BBtrigger) {fBBtriggerV0A=BBtrigger;}
      26          16 :   void SetBGtriggerV0A(UInt_t BGtrigger) {fBGtriggerV0A=BGtrigger;}
      27          16 :   void SetBBtriggerV0C(UInt_t BBtrigger) {fBBtriggerV0C=BBtrigger;}
      28          16 :   void SetBGtriggerV0C(UInt_t BGtrigger) {fBGtriggerV0C=BGtrigger;}
      29             :   void SetMultiplicity(const Float_t Multiplicity[64])
      30        1056 :     {for(Int_t i=0;i<64;i++) fMultiplicity[i]=Multiplicity[i];}
      31             :   void SetADC(const Float_t adc[64])
      32        1056 :     {for(Int_t i=0;i<64;i++) fAdc[i]=adc[i];}
      33             :   void SetTime(const Float_t time[64])
      34        1056 :     {for(Int_t i=0;i<64;i++) fTime[i]=time[i];}
      35             :   void SetWidth(const Float_t width[64])
      36        1056 :     {for(Int_t i=0;i<64;i++) fWidth[i]=width[i];}    
      37             :   void SetBBFlag(const Bool_t BBFlag[64])
      38        1056 :     {for(Int_t i=0;i<64;i++) fBBFlag[i]=BBFlag[i];} 
      39             :   void SetBGFlag(const Bool_t BGFlag[64])
      40        1056 :     {for(Int_t i=0;i<64;i++) fBGFlag[i]=BGFlag[i];}   
      41             : 
      42          16 :   void SetV0ATime(Float_t time) {fV0ATime = time;}
      43          16 :   void SetV0CTime(Float_t time) {fV0CTime = time;}
      44          16 :   void SetV0ATimeError(Float_t err) {fV0ATimeError = err;}
      45          16 :   void SetV0CTimeError(Float_t err) {fV0CTimeError = err;}
      46             : 
      47          32 :   void SetV0ADecision(Decision des) {fV0ADecision = des;}
      48          32 :   void SetV0CDecision(Decision des) {fV0CDecision = des;}
      49             : 
      50          16 :   void SetTriggerChargeA(UShort_t chargeA) {fTriggerChargeA = chargeA;}
      51          16 :   void SetTriggerChargeC(UShort_t chargeC) {fTriggerChargeC = chargeC;}
      52          16 :   void SetTriggerBits(UShort_t triggerBits) {fTriggerBits = triggerBits;}
      53             : 
      54       10752 :   void SetPFBBFlag(Int_t channel, Int_t clock, Bool_t flag) { fIsBB[channel][clock] = flag; }
      55       10752 :   void SetPFBGFlag(Int_t channel, Int_t clock, Bool_t flag) { fIsBG[channel][clock] = flag; }
      56             : 
      57             :   // Getters  
      58             :   virtual Short_t  GetNbPMV0A() const;
      59             :   virtual Short_t  GetNbPMV0C() const;
      60             :   virtual Float_t  GetMTotV0A() const;
      61             :   virtual Float_t  GetMTotV0C() const; 
      62             :   virtual Float_t  GetMRingV0A(Int_t ring) const;
      63             :   virtual Float_t  GetMRingV0C(Int_t ring) const;
      64             : 
      65             :   virtual Float_t  GetMultiplicity(Int_t i) const;
      66             :   virtual Float_t  GetMultiplicityV0A(Int_t i) const;
      67             :   virtual Float_t  GetMultiplicityV0C(Int_t i) const;    
      68             :   virtual Float_t  GetAdc(Int_t i) const;
      69             :   virtual Float_t  GetAdcV0A(Int_t i) const; 
      70             :   virtual Float_t  GetAdcV0C(Int_t i) const;   
      71             :   virtual Float_t  GetTime(Int_t i) const;
      72             :   virtual Float_t  GetTimeV0A(Int_t i) const;   
      73             :   virtual Float_t  GetTimeV0C(Int_t i) const;    
      74             :   virtual Float_t  GetWidth(Int_t i) const;
      75             :   virtual Float_t  GetWidthV0A(Int_t i) const;
      76             :   virtual Float_t  GetWidthV0C(Int_t i) const;
      77             :   virtual Bool_t   BBTriggerV0A(Int_t i) const;
      78             :   virtual Bool_t   BGTriggerV0A(Int_t i) const;
      79             :   virtual Bool_t   BBTriggerV0C(Int_t i) const;
      80             :   virtual Bool_t   BGTriggerV0C(Int_t i) const;  
      81             :   virtual Bool_t   GetBBFlag(Int_t i) const;
      82             :   virtual Bool_t   GetBGFlag(Int_t i) const;
      83             : 
      84          16 :   virtual Float_t  GetV0ATime() const { return fV0ATime; }
      85          16 :   virtual Float_t  GetV0CTime() const { return fV0CTime; }
      86           0 :   virtual Float_t  GetV0ATimeError() const { return fV0ATimeError; }
      87           0 :   virtual Float_t  GetV0CTimeError() const { return fV0CTimeError; }
      88             : 
      89         112 :   virtual Decision GetV0ADecision() const { return fV0ADecision; }
      90          84 :   virtual Decision GetV0CDecision() const { return fV0CDecision; }
      91             : 
      92          32 :   virtual UShort_t GetTriggerChargeA() const { return fTriggerChargeA; }
      93          32 :   virtual UShort_t GetTriggerChargeC() const { return fTriggerChargeC; }
      94          16 :   virtual UShort_t GetTriggerBits() const { return fTriggerBits; }
      95             :   
      96           0 :   virtual UInt_t   GetBBTriggerV0A() const { return fBBtriggerV0A; }
      97           0 :   virtual UInt_t   GetBGTriggerV0A() const { return fBGtriggerV0A; }
      98           0 :   virtual UInt_t   GetBBTriggerV0C() const { return fBBtriggerV0C; }
      99           0 :   virtual UInt_t   GetBGTriggerV0C() const { return fBGtriggerV0C; }
     100             : 
     101       21504 :   virtual Bool_t   GetPFBBFlag(Int_t channel, Int_t clock) const { return fIsBB[channel][clock]; } 
     102       21504 :   virtual Bool_t   GetPFBGFlag(Int_t channel, Int_t clock) const { return fIsBG[channel][clock]; }   
     103             : 
     104             :  AliESDVZERO &operator=(const AliESDVZERO& source);
     105             :     
     106             : protected:
     107             : 
     108             :   UInt_t  fBBtriggerV0A;     // bit mask for Beam-Beam trigger in V0A
     109             :   UInt_t  fBGtriggerV0A;     // bit mask for Beam-Gas trigger in V0A
     110             :   UInt_t  fBBtriggerV0C;     // bit mask for Beam-Beam trigger in V0C
     111             :   UInt_t  fBGtriggerV0C;     // bit mask for Beam-Gas trigger in V0C
     112             : 
     113             :   Float_t fMultiplicity[64]; //  multiplicity for each channel
     114             :   Float_t fAdc[64];          //  adc for each channel
     115             :   Float_t fTime[64];         //  time for each channel
     116             :   Float_t fWidth[64];        //  time width for each channel
     117             :   Bool_t  fBBFlag[64];       //  BB Flags from Online V0 Electronics
     118             :   Bool_t  fBGFlag[64];       //  BG Flags from Online V0 Electronics
     119             : 
     120             :   Float_t fV0ATime;          // Average time in V0A
     121             :   Float_t fV0CTime;          // Average time in V0C
     122             :   Float_t fV0ATimeError;     // Error in the average time in V0A
     123             :   Float_t fV0CTimeError;     // Error in the average time in V0C
     124             : 
     125             :   Decision fV0ADecision;     // V0A final decision based on average time of channels
     126             :   Decision fV0CDecision;     // V0C final decision based on average time of channels
     127             : 
     128             :   UShort_t fTriggerChargeA;  // Sum of the trigger (clock=10) charge on A side
     129             :   UShort_t fTriggerChargeC;  // Sum of the trigger (clock=10) charge on C side
     130             :   UShort_t fTriggerBits;     // V0 trigger bits as defined in the firmware
     131             : 
     132             :   Bool_t   fIsBB[64][21];  // 'Beam-Beam' flag for all channels and 21 clocks
     133             :   Bool_t   fIsBG[64][21];  // 'Beam-Gas' flag for all channels and 21 clocks
     134             : 
     135        1208 :   ClassDef(AliESDVZERO,11)
     136             : };
     137             : 
     138             : #endif

Generated by: LCOV version 1.11