AliRoot Core  3dc7879 (3dc7879)
AliMUONRejectList.h
Go to the documentation of this file.
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 
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);
29  virtual ~AliMUONRejectList();
30 
32  virtual TObject* Clone(const char* /*name*/="") const { return new AliMUONRejectList(*this); }
33 
35  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;
58 
59  UInt_t fMaxNofDEs;
60  UInt_t fMaxNofBPs;
61  UInt_t fMaxNofManus;
62 
63  UInt_t fNofDEs;
64  UInt_t fNofBPs;
65  UInt_t fNofManus;
66 
68  UInt_t* fDEIds; //[fMaxNofDEs]
69 
71  Float_t* fDEProbas; //[fMaxNofDEs]
72 
74  UInt_t* fBPIds; //[fMaxNofBPs]
75 
77  Float_t* fBPProbas; //[fMaxNofBPs]
78 
80  UInt_t* fManuIds; //[fMaxNofManus]
81 
83  Float_t* fManuProbas; //[fMaxNofManus]
84 
86 
87  ClassDef(AliMUONRejectList,1) // (probabilistic) Reject list for MUON Tracker
88 };
89 
90 #endif
Float_t ManuProbability(Int_t detElemId, Int_t manuId) const
virtual TObject * Clone(const char *="") const
Clone this object.
UInt_t fMaxNofDEs
max number of detection elements (for allocation purposes)
void Print(Option_t *opt="") const
UInt_t * fDEIds
array of detection element ids
Float_t * fManuProbas
array of proba for manus
void SetHVProbability(const char *dcsName, Float_t proba=1.0)
UInt_t fMaxNofManus
max number of manus (for allocation purposes)
Float_t DetectionElementProbability(Int_t detElemId) const
void SetDetectionElementProbability(Int_t detElemId, Float_t proba=1.0)
UInt_t fNofManus
actual number of manus for which we have probabilities
Float_t * fDEProbas
array of probabilities of DEs
AliMUONVStore * fChannels
probabilities for all channels
Bool_t fIsBinary
Whether or not we only store zeros and ones for probabilities.
Float_t ChannelProbability(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
Bool_t IsBinary() const
Whether or not all our probabilities are 0.0 or 1.0.
void SetManuProbability(Int_t detElemId, Int_t manuId, Float_t proba=1.0)
AliMUONRejectList & operator=(const AliMUONRejectList &rl)
UInt_t fMaxNofBPs
max number of bus patches (for allocation purposes)
UInt_t * fManuIds
array of manu ids
UInt_t fNofDEs
actual number of detection elements for which we have probabilities
UInt_t * fBPIds
array of bus patch ids
void SetChannelProbability(Int_t detElemId, Int_t manuId, Int_t manuChannel, Float_t proba=1.0)
void ZeroOrOne(Float_t proba)
Object to hold the list of elements we want to reject from the reconstruction.
Float_t BusPatchProbability(Int_t busPatchId) const
Float_t * fBPProbas
array of proba for bus patches
Base class for MUON data stores.
Definition: AliMUONVStore.h:22
void SetPCBProbability(Int_t detElemId, Int_t pcbNumber, Float_t proba=1.0)
void SetBusPatchProbability(Int_t busPatchId, Float_t proba=1.0)
UInt_t fNofBPs
actual number of bus patches for which we have probabilities