AliRoot Core  a565103 (a565103)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONPadStatusMapMaker Class Reference

Convert a pad status container into a pad status map container. More...

#include <AliMUONPadStatusMapMaker.h>

Inheritance diagram for AliMUONPadStatusMapMaker:

Public Member Functions

 AliMUONPadStatusMapMaker (const AliMUONPadStatusMaker &padStatusMaker, Int_t mask, Bool_t deferredInitialization=kTRUE)
 
virtual ~AliMUONPadStatusMapMaker ()
 
AliMUONVStoreStatusMap () const
 
Int_t StatusMap (Int_t detElemId, Int_t manuId, Int_t manuChannel) const
 
void RefreshRejectProbabilities ()
 

Static Public Member Functions

static Int_t SelfDeadMask ()
 Return status bit map to tell a pad is bad. More...
 

Private Types

enum  EBitNumbers {
  kLeftBottomBit = 6, kLeftBit = 7, kLeftTopBit = 8, kBottomBit = 11,
  kCenterBit = 12, kTopBit = 13, kRightBottomBit = 16, kRightBit = 17,
  kRightTopBit = 18
}
 Bit numbers. More...
 

Private Member Functions

 AliMUONPadStatusMapMaker (const AliMUONPadStatusMapMaker &)
 Not implemented. More...
 
AliMUONPadStatusMapMakeroperator= (const AliMUONPadStatusMapMaker &)
 Not implemented. More...
 
AliMUONVCalibParamComputeStatusMap (Int_t detElemId, Int_t manuId) const
 

Private Attributes

const AliMUONPadStatusMakerfkStatusMaker
 ! to access pad statuses More...
 
Int_t fMask
 ! mask to be tested More...
 
AliMUONVStorefStatusMap
 ! status map More...
 
AliMUONVStorefRejectProbabilities
 ! reject probabilities (channel based, computed once per run) More...
 
AliMUONVStorefRejectList
 ! reject list (which channels should be rejected, might change event-by-event for simulations) More...
 
Bool_t fComputeOnDemand
 ! whether we authorize to compute things on demand or not More...
 

Static Private Attributes

static Int_t fgkSelfDead = 1
 ! status bit map to tell a pad is bad More...
 

Detailed Description

Convert a pad status container into a pad status map container.

Convert a pad statuses into pad status maps.

A pad status is one 32-bits word describing whether this pad pedestal, lv, hv is correct or not.

A pad status map is one 32-bits (of which 24 only are used) word describing whether this pad neighbours are ok or not (whether a pad is ok or not is determined by applying a given bitmask to the pad status word). Each bit in this word is related to one neighbour, assuming the pad itself is at bit 0


| 3 | 5 | 8 |

| 2 | 0 | 7 |

| 1 | 4 | 6 |

Note that for instance in NonBending plane of slats, at the boundaries between two pad densities, the pictures is a bit different, e.g. (bits in () are always zero)

so some care must be taken when designing a mask to be tested ;-) if you want to go farther than immediate neighbours...

If a pad is at a physical boundary, is will for sure have some bits at 1 (i.e. a non-existing neighbour is considered = bad).

add something about the reject list/probabilities here... (LA)

Author
Laurent Aphecetche

Definition at line 23 of file AliMUONPadStatusMapMaker.h.

Member Enumeration Documentation

Bit numbers.

Enumerator
kLeftBottomBit 
kLeftBit 
kLeftTopBit 
kBottomBit 
kCenterBit 
kTopBit 
kRightBottomBit 
kRightBit 
kRightTopBit 

Definition at line 59 of file AliMUONPadStatusMapMaker.h.

Constructor & Destructor Documentation

AliMUONPadStatusMapMaker::AliMUONPadStatusMapMaker ( const AliMUONPadStatusMaker padStatusMaker,
Int_t  mask,
Bool_t  deferredInitialization = kTRUE 
)

ctor

Whatever the deferred flag is, we have to compute the reject probabilities here and now, for all channels.

Definition at line 84 of file AliMUONPadStatusMapMaker.cxx.

AliMUONPadStatusMapMaker::~AliMUONPadStatusMapMaker ( )
virtual

dtor

Definition at line 183 of file AliMUONPadStatusMapMaker.cxx.

AliMUONPadStatusMapMaker::AliMUONPadStatusMapMaker ( const AliMUONPadStatusMapMaker )
private

Not implemented.

Member Function Documentation

AliMUONVCalibParam * AliMUONPadStatusMapMaker::ComputeStatusMap ( Int_t  detElemId,
Int_t  manuId 
) const
private

Compute the status map for a given manu, and add it to our internal fStatusMap internal storage

Definition at line 193 of file AliMUONPadStatusMapMaker.cxx.

Referenced by StatusMap().

AliMUONPadStatusMapMaker& AliMUONPadStatusMapMaker::operator= ( const AliMUONPadStatusMapMaker )
private

Not implemented.

void AliMUONPadStatusMapMaker::RefreshRejectProbabilities ( )

From the (fixed) fRejectProbabilities, compute a fRejectList that will be valid for one event If fRejectProbabilities=0x0 it means we're dealing with trivial probabilities (0 or 1) and those are assumed to be already in fRejectList then.

Definition at line 257 of file AliMUONPadStatusMapMaker.cxx.

Referenced by AliMUONDigitCalibrator::Calibrate().

static Int_t AliMUONPadStatusMapMaker::SelfDeadMask ( )
inlinestatic
AliMUONVStore* AliMUONPadStatusMapMaker::StatusMap ( ) const
inline

Get access to internal status map store (for debug only, as it may not be complete, depending on whether you've already called StatusMap() for all possible de,manu,channel combinations or not...

Definition at line 35 of file AliMUONPadStatusMapMaker.h.

Referenced by MUONStatusMap(), AliMUONCDB::ShowConfig(), and AliMUONDigitCalibrator::StatusMap().

Int_t AliMUONPadStatusMapMaker::StatusMap ( Int_t  detElemId,
Int_t  manuId,
Int_t  manuChannel 
) const

Get the pad status map

Definition at line 304 of file AliMUONPadStatusMapMaker.cxx.

Member Data Documentation

Bool_t AliMUONPadStatusMapMaker::fComputeOnDemand
private

! whether we authorize to compute things on demand or not

Definition at line 77 of file AliMUONPadStatusMapMaker.h.

Referenced by StatusMap().

Int_t AliMUONPadStatusMapMaker::fgkSelfDead = 1
staticprivate

! status bit map to tell a pad is bad

Definition at line 56 of file AliMUONPadStatusMapMaker.h.

Referenced by SelfDeadMask(), and StatusMap().

const AliMUONPadStatusMaker& AliMUONPadStatusMapMaker::fkStatusMaker
private

! to access pad statuses

Definition at line 72 of file AliMUONPadStatusMapMaker.h.

Referenced by ComputeStatusMap().

Int_t AliMUONPadStatusMapMaker::fMask
private

! mask to be tested

Definition at line 73 of file AliMUONPadStatusMapMaker.h.

Referenced by ComputeStatusMap().

AliMUONVStore* AliMUONPadStatusMapMaker::fRejectList
private

! reject list (which channels should be rejected, might change event-by-event for simulations)

Definition at line 76 of file AliMUONPadStatusMapMaker.h.

Referenced by RefreshRejectProbabilities(), StatusMap(), and ~AliMUONPadStatusMapMaker().

AliMUONVStore* AliMUONPadStatusMapMaker::fRejectProbabilities
private

! reject probabilities (channel based, computed once per run)

Definition at line 75 of file AliMUONPadStatusMapMaker.h.

Referenced by RefreshRejectProbabilities(), and ~AliMUONPadStatusMapMaker().

AliMUONVStore* AliMUONPadStatusMapMaker::fStatusMap
mutableprivate

! status map

Definition at line 74 of file AliMUONPadStatusMapMaker.h.

Referenced by ComputeStatusMap(), StatusMap(), and ~AliMUONPadStatusMapMaker().


The documentation for this class was generated from the following files: