LCOV - code coverage report
Current view: top level - MUON/MUONcalib - AliMUONRejectList.h (source / functions) Hit Total Coverage
Test: coverage.info Lines: 2 3 66.7 %
Date: 2016-06-14 17:26:59 Functions: 3 7 42.9 %

          Line data    Source code
       1             : #ifndef ALIMUONREJECTLIST_H
       2             : #define ALIMUONREJECTLIST_H
       3             : 
       4             : /* Copyright(c) 1998-1999, ALICE Experiment at CERN, All rights reserved. *
       5             : * See cxx source for full Copyright notice                               */
       6             : 
       7             : // $Id$
       8             : 
       9             : /// \ingroup rec
      10             : /// \class AliMUONRejectList
      11             : /// \brief Object to hold the list of elements we want to reject
      12             : /// from the reconstruction
      13             : /// 
      14             : // Author Laurent Aphecetche
      15             : 
      16             : #ifndef ROOT_TObject
      17             : #  include "TObject.h"
      18             : #endif
      19             : 
      20             : class AliMUONVStore;
      21             : 
      22             : class AliMUONRejectList : public TObject
      23             : {
      24             : public:
      25             :   AliMUONRejectList(TRootIOCtor* ioCtor);
      26             :   AliMUONRejectList();
      27             :   AliMUONRejectList(const AliMUONRejectList& rl);
      28             :   AliMUONRejectList& operator=(const AliMUONRejectList& rl);
      29             :   virtual ~AliMUONRejectList();
      30             : 
      31             :   /// Clone this object
      32           0 :   virtual TObject* Clone(const char* /*name*/="") const { return new AliMUONRejectList(*this); }
      33             :   
      34             :   /// Whether or not all our probabilities are 0.0 or 1.0
      35           4 :   Bool_t IsBinary() const { return fIsBinary; }
      36             :   
      37             :   Float_t DetectionElementProbability(Int_t detElemId) const;
      38             :   Float_t BusPatchProbability(Int_t busPatchId) const;
      39             :   Float_t ManuProbability(Int_t detElemId, Int_t manuId) const;
      40             :   Float_t ChannelProbability(Int_t detElemId, Int_t manuId, Int_t manuChannel) const;
      41             :   
      42             :   void SetDetectionElementProbability(Int_t detElemId, Float_t proba=1.0);
      43             :   void SetBusPatchProbability(Int_t busPatchId, Float_t proba=1.0);
      44             :   void SetManuProbability(Int_t detElemId, Int_t manuId, Float_t proba=1.0);
      45             :   void SetChannelProbability(Int_t detElemId, Int_t manuId, Int_t manuChannel, Float_t proba=1.0);
      46             :   
      47             :   void SetPCBProbability(Int_t detElemId, Int_t pcbNumber, Float_t proba=1.0);
      48             :   void SetHVProbability(const char* dcsName, Float_t proba=1.0);
      49             :   
      50             :   void Print(Option_t* opt="") const;
      51             :   
      52             : private:
      53             :   void ZeroOrOne(Float_t proba);
      54             :   
      55             : private:
      56             :   
      57             :   Bool_t fIsBinary; ///< Whether or not we only store zeros and ones for probabilities  
      58             : 
      59             :   UInt_t fMaxNofDEs; ///< max number of detection elements (for allocation purposes)  
      60             :   UInt_t fMaxNofBPs; ///< max number of bus patches (for allocation purposes)
      61             :   UInt_t fMaxNofManus; ///< max number of manus (for allocation purposes)
      62             :   
      63             :   UInt_t fNofDEs; ///< actual number of detection elements for which we have probabilities
      64             :   UInt_t fNofBPs; ///< actual number of bus patches for which we have probabilities
      65             :   UInt_t fNofManus; ///< actual number of manus for which we have probabilities
      66             : 
      67             :   /// array of detection element ids
      68             :   UInt_t* fDEIds; //[fMaxNofDEs] 
      69             : 
      70             :   /// array of probabilities of DEs
      71             :   Float_t* fDEProbas; //[fMaxNofDEs] 
      72             : 
      73             :   /// array of bus patch ids
      74             :   UInt_t* fBPIds; //[fMaxNofBPs] 
      75             :   
      76             :   /// array of proba for bus patches
      77             :   Float_t* fBPProbas; //[fMaxNofBPs]
      78             : 
      79             :   /// array of manu ids
      80             :   UInt_t* fManuIds; //[fMaxNofManus]
      81             :   
      82             :   /// array of proba for manus
      83             :   Float_t* fManuProbas; //[fMaxNofManus]
      84             : 
      85             :   AliMUONVStore* fChannels; ///< probabilities for all channels
      86             :   
      87          34 :   ClassDef(AliMUONRejectList,1) // (probabilistic) Reject list for MUON Tracker
      88             : };
      89             : 
      90             : #endif

Generated by: LCOV version 1.11