AliRoot Core  v5-06-30 (35d6c57)
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
AliMUONPadStatusMaker Class Reference

Make a 2DStore of pad statuses, using different sources of information. More...

#include <AliMUONPadStatusMaker.h>

Inheritance diagram for AliMUONPadStatusMaker:

Public Member Functions

 AliMUONPadStatusMaker (const AliMUONCalibrationData &calibData)
 
virtual ~AliMUONPadStatusMaker ()
 
const AliMUONCalibrationDataCalibrationData () const
 Get the reference to the calibrationdata object we use. More...
 
AliMUONVStoreStatusStore () const
 
AliMUONVCalibParamPadStatus (Int_t detElemId, Int_t manuId) const
 
Int_t PadStatus (Int_t detElemId, Int_t manuId, Int_t manuChannel) const
 
AliMUONVStoreNeighboursStore () const
 
AliMUONVCalibParamNeighbours (Int_t detElemId, Int_t manuId) const
 
TVector2 GainA1Limits () const
 Return Low and High limits for a0 parameter of gain (linear slope) More...
 
TVector2 GainA2Limits () const
 Return Low and High limits for a1 parameter of gain (parabolic term) More...
 
TVector2 GainThresLimits () const
 Return Low and High limits for thres parameter of gain. More...
 
Double_t HVLimit (Int_t chamberId) const
 Return HV threshold. More...
 
TVector2 PedMeanLimits () const
 Return Low and High threshold for pedestal mean. More...
 
TVector2 PedSigmaLimits () const
 Return Low and High threshold for pedestal sigma. More...
 
void GainA1Limits (float low, float high)
 Set Low and High limits for a0 parameter of gain (linear slope) More...
 
void GainA2Limits (float low, float high)
 Set Low and High limits for a1 parameter of gain (parabolic term) More...
 
void GainThresLimits (float low, float high)
 Set Low and High limits for thres parameter of gain. More...
 
void SetHVLimit (Int_t chamberId, Double_t hv)
 Set HV limit. More...
 
void SetPedMeanLimits (float low, float high)
 Set Low and High threshold for pedestal mean. More...
 
void SetPedSigmaLimits (float low, float high)
 Set Low and High threshold for pedestal sigma. More...
 
void SetGainA1Limits (float low, float high)
 Set Low and High threshold for gain a0 term. More...
 
void SetGainA2Limits (float low, float high)
 Set Low and High threshold for gain a1 term. More...
 
void SetGainThresLimits (float low, float high)
 Set Low and High threshold for gain threshold term. More...
 
void SetManuOccupancyLimits (float low, float high)
 Set Low and High manu occupancy limits. More...
 
TVector2 ManuOccupancyLimits () const
 Get manu occupancy limits. More...
 
void SetBuspatchOccupancyLimits (float low, float high)
 Set Low and High bus patch occupancy limits. More...
 
TVector2 BuspatchOccupancyLimits () const
 Get bus patch occupancy limits. More...
 
void SetDEOccupancyLimits (float low, float high)
 Set Low and High DE occupancy limits. More...
 
TVector2 DEOccupancyLimits () const
 Get DE occupancy limits. More...
 
void SetLimits (const AliMUONRecoParam &recoParams)
 
void Report (UInt_t mask)
 
Int_t HVStatus (Int_t detElemId, Int_t manuId) const
 
Int_t OccupancyStatus (Int_t detElemId, Int_t manuId) const
 

Static Public Member Functions

static TString AsString (Int_t status)
 
static TString AsCondition (Int_t status)
 
static Float_t SwitchValue (const TObjArray &dcsArray)
 
static void DecodeStatus (Int_t status, Int_t &pedStatus, Int_t &hvStatus, Int_t &gainStatus, Int_t &otherStatus)
 
static Int_t BuildStatus (Int_t pedStatus, Int_t hvStatus, Int_t gainStatus, Int_t otherStatus)
 

Private Types

enum  EGeneralStatus { kMissing = (1<<7) }
 General status. More...
 
enum  EGainStatus {
  kGainOK = 0, kGainA1TooLow = (1<<1), kGainA1TooHigh = (1<<2), kGainA2TooLow = (1<<3),
  kGainA2TooHigh = (1<<4), kGainThresTooLow = (1<<5), kGainThresTooHigh = (1<<6), kGainMissing = kMissing
}
 Gain status. More...
 
enum  EPedestalStatus {
  kPedOK = 0, kPedMeanZero = (1<<1), kPedMeanTooLow = (1<<2), kPedMeanTooHigh = (1<<3),
  kPedSigmaTooLow = (1<<4), kPedSigmaTooHigh = (1<<5), kPedMissing = kMissing
}
 Pedestal status. More...
 
enum  EHVError {
  kHVOK = 0, kHVError = (1<<0), kHVTooLow = (1<<1), kHVTooHigh = (1<<2),
  kHVChannelOFF = (1<<3), kHVSwitchOFF = (1<<4), kHVMissing = kMissing
}
 HV Error. More...
 
enum  EOccupancyStatus {
  kManuOccupancyTooLow = (1<<1), kManuOccupancyTooHigh = (1<<2), kBusPatchOccupancyTooLow = (1<<3), kBusPatchOccupancyTooHigh = (1<<4),
  kDEOccupancyTooLow = (1<<5), kDEOccupancyTooHigh = (1<<6)
}
 Other. More...
 

Private Member Functions

 AliMUONPadStatusMaker (const AliMUONPadStatusMaker &)
 Not implemented. More...
 
AliMUONPadStatusMakeroperator= (const AliMUONPadStatusMaker &)
 Not implemented. More...
 
AliMUONVCalibParamComputeStatus (Int_t detElemId, Int_t manuId) const
 
Bool_t HVSt12Status (Int_t detElemId, Int_t sector, Bool_t &hvChannelTooLow, Bool_t &hvChannelTooHigh, Bool_t &hvChannelON) const
 
Bool_t HVSt345Status (Int_t detElemId, Int_t pcbIndex, Bool_t &hvChannelTooLow, Bool_t &hvChannelTooHigh, Bool_t &hvChannelON, Bool_t &hvSwitchON) const
 
void SetHVStatus (Int_t detElemId, Int_t index, Int_t status) const
 

Private Attributes

const AliMUONCalibrationDatafkCalibrationData
 ! helper class to get data access (not owner) More...
 
TVector2 fGainA1Limits
 ! Low and High threshold for gain a0 parameter More...
 
TVector2 fGainA2Limits
 ! Low and High threshold for gain a1 parameter More...
 
TVector2 fGainThresLimits
 ! Low and High threshold for gain threshold parameter More...
 
Double_t fHVLimit [10]
 ! Low thresholds for HV More...
 
TVector2 fPedMeanLimits
 ! Low and High threshold for pedestal mean More...
 
TVector2 fPedSigmaLimits
 ! Low and High threshold for pedestal sigma More...
 
TVector2 fManuOccupancyLimits
 ! Low and High manu occupancy limits More...
 
TVector2 fBuspatchOccupancyLimits
 ! Low and High buspatch occupancy limits More...
 
TVector2 fDEOccupancyLimits
 ! Low and High DE occupancy limits More...
 
AliMUONVStorefStatus
 ! statuses of the pads More...
 
TExMap * fHV
 ! cache of hv statuses More...
 
AliMUONVStorefPedestals
 ! pedestal values More...
 
AliMUONVStorefGains
 ! gain values More...
 
AliMUONVTrackerDatafTrackerData
 ! to get occupancies... More...
 

Detailed Description

Make a 2DStore of pad statuses, using different sources of information.

Make a 2DStore of pad statuses, using different sources of information, like pedestal values, gain values, and HV values.

Author
Laurent Aphecetche

Definition at line 31 of file AliMUONPadStatusMaker.h.

Member Enumeration Documentation

Gain status.

Enumerator
kGainOK 
kGainA1TooLow 
kGainA1TooHigh 
kGainA2TooLow 
kGainA2TooHigh 
kGainThresTooLow 
kGainThresTooHigh 
kGainMissing 

Definition at line 155 of file AliMUONPadStatusMaker.h.

General status.

Enumerator
kMissing 

Definition at line 149 of file AliMUONPadStatusMaker.h.

HV Error.

Enumerator
kHVOK 
kHVError 
kHVTooLow 
kHVTooHigh 
kHVChannelOFF 
kHVSwitchOFF 
kHVMissing 

Definition at line 182 of file AliMUONPadStatusMaker.h.

Other.

Enumerator
kManuOccupancyTooLow 
kManuOccupancyTooHigh 
kBusPatchOccupancyTooLow 
kBusPatchOccupancyTooHigh 
kDEOccupancyTooLow 
kDEOccupancyTooHigh 

Definition at line 195 of file AliMUONPadStatusMaker.h.

Pedestal status.

Enumerator
kPedOK 
kPedMeanZero 
kPedMeanTooLow 
kPedMeanTooHigh 
kPedSigmaTooLow 
kPedSigmaTooHigh 
kPedMissing 

Definition at line 169 of file AliMUONPadStatusMaker.h.

Constructor & Destructor Documentation

AliMUONPadStatusMaker::AliMUONPadStatusMaker ( const AliMUONCalibrationData calibData)

ctor

create a tracker data from the occupancy map

Only create the fHV internal store if there are some HV values available

Definition at line 73 of file AliMUONPadStatusMaker.cxx.

AliMUONPadStatusMaker::~AliMUONPadStatusMaker ( )
virtual

dtor.

Definition at line 105 of file AliMUONPadStatusMaker.cxx.

AliMUONPadStatusMaker::AliMUONPadStatusMaker ( const AliMUONPadStatusMaker )
private

Not implemented.

Member Function Documentation

TString AliMUONPadStatusMaker::AsCondition ( Int_t  status)
static

return a human readable version of the mask's equivalent condition

Definition at line 170 of file AliMUONPadStatusMaker.cxx.

Referenced by AliMUONRecoParam::Print(), and Report().

TString AliMUONPadStatusMaker::AsString ( Int_t  status)
static

return a human readable version of the integer status

Definition at line 116 of file AliMUONPadStatusMaker.cxx.

Referenced by AsCondition(), AliMUONCDB::CheckHV(), AliMUONPainterHelper::FormatValue(), and Report().

Int_t AliMUONPadStatusMaker::BuildStatus ( Int_t  pedStatus,
Int_t  hvStatus,
Int_t  gainStatus,
Int_t  otherStatus 
)
static

Build a complete status from specific parts (ped,hv,gain)

Definition at line 183 of file AliMUONPadStatusMaker.cxx.

Referenced by ComputeStatus(), and GetBadChannels().

TVector2 AliMUONPadStatusMaker::BuspatchOccupancyLimits ( ) const
inline

Get bus patch occupancy limits.

Definition at line 103 of file AliMUONPadStatusMaker.h.

const AliMUONCalibrationData& AliMUONPadStatusMaker::CalibrationData ( ) const
inline

Get the reference to the calibrationdata object we use.

Definition at line 38 of file AliMUONPadStatusMaker.h.

AliMUONVCalibParam * AliMUONPadStatusMaker::ComputeStatus ( Int_t  detElemId,
Int_t  manuId 
) const
private

Compute the status of a given manu, using all available information, i.e. pedestals, gains, and HV

Definition at line 499 of file AliMUONPadStatusMaker.cxx.

Referenced by PadStatus().

void AliMUONPadStatusMaker::DecodeStatus ( Int_t  status,
Int_t &  pedStatus,
Int_t &  hvStatus,
Int_t &  gainStatus,
Int_t &  otherStatus 
)
static

Decode complete status into specific parts (ped,hv,gain)

Definition at line 197 of file AliMUONPadStatusMaker.cxx.

Referenced by AsString().

TVector2 AliMUONPadStatusMaker::DEOccupancyLimits ( ) const
inline

Get DE occupancy limits.

Definition at line 108 of file AliMUONPadStatusMaker.h.

TVector2 AliMUONPadStatusMaker::GainA1Limits ( ) const
inline

Return Low and High limits for a0 parameter of gain (linear slope)

Definition at line 59 of file AliMUONPadStatusMaker.h.

void AliMUONPadStatusMaker::GainA1Limits ( float  low,
float  high 
)
inline

Set Low and High limits for a0 parameter of gain (linear slope)

Definition at line 74 of file AliMUONPadStatusMaker.h.

TVector2 AliMUONPadStatusMaker::GainA2Limits ( ) const
inline

Return Low and High limits for a1 parameter of gain (parabolic term)

Definition at line 61 of file AliMUONPadStatusMaker.h.

void AliMUONPadStatusMaker::GainA2Limits ( float  low,
float  high 
)
inline

Set Low and High limits for a1 parameter of gain (parabolic term)

Definition at line 76 of file AliMUONPadStatusMaker.h.

TVector2 AliMUONPadStatusMaker::GainThresLimits ( ) const
inline

Return Low and High limits for thres parameter of gain.

Definition at line 63 of file AliMUONPadStatusMaker.h.

void AliMUONPadStatusMaker::GainThresLimits ( float  low,
float  high 
)
inline

Set Low and High limits for thres parameter of gain.

Definition at line 78 of file AliMUONPadStatusMaker.h.

Double_t AliMUONPadStatusMaker::HVLimit ( Int_t  chamberId) const

Return HV threshold.

Get HV limit for a given chamber

Definition at line 665 of file AliMUONPadStatusMaker.cxx.

Referenced by HVSt12Status(), and HVSt345Status().

Bool_t AliMUONPadStatusMaker::HVSt12Status ( Int_t  detElemId,
Int_t  sector,
Bool_t &  hvChannelTooLow,
Bool_t &  hvChannelTooHigh,
Bool_t &  hvChannelON 
) const
private

Get HV status for one HV sector of St12

For a given PCB in a given DE, get the HV status (both the channel and the switch). Returns false if hv switch changed during the run.

Definition at line 213 of file AliMUONPadStatusMaker.cxx.

Referenced by HVStatus().

Bool_t AliMUONPadStatusMaker::HVSt345Status ( Int_t  detElemId,
Int_t  pcbIndex,
Bool_t &  hvChannelTooLow,
Bool_t &  hvChannelTooHigh,
Bool_t &  hvChannelON,
Bool_t &  hvSwitchON 
) const
private

For a given PCB in a given DE, get the HV status (both the channel and the switch). Returns false if something goes wrong (in particular if hv switch changed during the run).

Definition at line 323 of file AliMUONPadStatusMaker.cxx.

Referenced by HVStatus().

Int_t AliMUONPadStatusMaker::HVStatus ( Int_t  detElemId,
Int_t  manuId 
) const

Get HV status of one manu

Definition at line 414 of file AliMUONPadStatusMaker.cxx.

Referenced by AliMUONCDB::CheckHV(), and ComputeStatus().

TVector2 AliMUONPadStatusMaker::ManuOccupancyLimits ( ) const
inline

Get manu occupancy limits.

Definition at line 98 of file AliMUONPadStatusMaker.h.

AliMUONVCalibParam * AliMUONPadStatusMaker::Neighbours ( Int_t  detElemId,
Int_t  manuId 
) const

Get the neighbours parameters for a given manu

Definition at line 482 of file AliMUONPadStatusMaker.cxx.

Referenced by AliMUONPadStatusMapMaker::ComputeStatusMap().

AliMUONVStore * AliMUONPadStatusMaker::NeighboursStore ( ) const

Return the store containing all the neighbours

Definition at line 491 of file AliMUONPadStatusMaker.cxx.

Int_t AliMUONPadStatusMaker::OccupancyStatus ( Int_t  detElemId,
Int_t  manuId 
) const

Get the "other" status for a given manu

Definition at line 564 of file AliMUONPadStatusMaker.cxx.

Referenced by ComputeStatus().

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

Not implemented.

AliMUONVCalibParam * AliMUONPadStatusMaker::PadStatus ( Int_t  detElemId,
Int_t  manuId 
) const
Int_t AliMUONPadStatusMaker::PadStatus ( Int_t  detElemId,
Int_t  manuId,
Int_t  manuChannel 
) const

Get the status for a given channel

Definition at line 630 of file AliMUONPadStatusMaker.cxx.

TVector2 AliMUONPadStatusMaker::PedMeanLimits ( ) const
inline

Return Low and High threshold for pedestal mean.

Definition at line 69 of file AliMUONPadStatusMaker.h.

TVector2 AliMUONPadStatusMaker::PedSigmaLimits ( ) const
inline

Return Low and High threshold for pedestal sigma.

Definition at line 71 of file AliMUONPadStatusMaker.h.

void AliMUONPadStatusMaker::Report ( UInt_t  mask)

Report the number of bad pads, according to the mask, and the various reasons why they are bad (with occurence rates)

Definition at line 723 of file AliMUONPadStatusMaker.cxx.

Referenced by MUONStatusMap(), and AliMUONDigitCalibrator::~AliMUONDigitCalibrator().

void AliMUONPadStatusMaker::SetBuspatchOccupancyLimits ( float  low,
float  high 
)
inline

Set Low and High bus patch occupancy limits.

Definition at line 101 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetDEOccupancyLimits ( float  low,
float  high 
)
inline

Set Low and High DE occupancy limits.

Definition at line 106 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetGainA1Limits ( float  low,
float  high 
)
inline

Set Low and High threshold for gain a0 term.

Definition at line 89 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetGainA2Limits ( float  low,
float  high 
)
inline

Set Low and High threshold for gain a1 term.

Definition at line 91 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetGainThresLimits ( float  low,
float  high 
)
inline

Set Low and High threshold for gain threshold term.

Definition at line 93 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetHVLimit ( Int_t  chamberId,
Double_t  hv 
)

Set HV limit.

Set hv limit for a given chamber (or all if chamberId==-1)

Definition at line 677 of file AliMUONPadStatusMaker.cxx.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetHVStatus ( Int_t  detElemId,
Int_t  index,
Int_t  status 
) const
private

Assign status to all manus in a given HV "zone" (defined by index, meaning is different thing from St12 and St345)

Definition at line 645 of file AliMUONPadStatusMaker.cxx.

Referenced by HVStatus().

void AliMUONPadStatusMaker::SetLimits ( const AliMUONRecoParam recoParams)
void AliMUONPadStatusMaker::SetManuOccupancyLimits ( float  low,
float  high 
)
inline

Set Low and High manu occupancy limits.

Definition at line 96 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetPedMeanLimits ( float  low,
float  high 
)
inline

Set Low and High threshold for pedestal mean.

Definition at line 84 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

void AliMUONPadStatusMaker::SetPedSigmaLimits ( float  low,
float  high 
)
inline

Set Low and High threshold for pedestal sigma.

Definition at line 86 of file AliMUONPadStatusMaker.h.

Referenced by SetLimits().

AliMUONVStore* AliMUONPadStatusMaker::StatusStore ( ) const
inline

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

Definition at line 44 of file AliMUONPadStatusMaker.h.

Referenced by MUONStatusMap().

Float_t AliMUONPadStatusMaker::SwitchValue ( const TObjArray dcsArray)
static

Loop over the dcs value for a single switch to decide whether we should consider it on or off

switch = FALSE means the HV was flowding up to the PCB. i.e. switch = FALSE = ON

Definition at line 280 of file AliMUONPadStatusMaker.cxx.

Referenced by AliMUONTrackerConditionDataMaker::CreateHVStore(), and HVSt345Status().

Member Data Documentation

TVector2 AliMUONPadStatusMaker::fBuspatchOccupancyLimits
private

! Low and High buspatch occupancy limits

Definition at line 217 of file AliMUONPadStatusMaker.h.

Referenced by BuspatchOccupancyLimits(), OccupancyStatus(), and SetBuspatchOccupancyLimits().

TVector2 AliMUONPadStatusMaker::fDEOccupancyLimits
private

! Low and High DE occupancy limits

Definition at line 218 of file AliMUONPadStatusMaker.h.

Referenced by DEOccupancyLimits(), OccupancyStatus(), and SetDEOccupancyLimits().

TVector2 AliMUONPadStatusMaker::fGainA1Limits
private

! Low and High threshold for gain a0 parameter

Definition at line 207 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus(), GainA1Limits(), and SetGainA1Limits().

TVector2 AliMUONPadStatusMaker::fGainA2Limits
private

! Low and High threshold for gain a1 parameter

Definition at line 208 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus(), GainA2Limits(), and SetGainA2Limits().

AliMUONVStore* AliMUONPadStatusMaker::fGains
private

! gain values

Definition at line 225 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus().

TVector2 AliMUONPadStatusMaker::fGainThresLimits
private

! Low and High threshold for gain threshold parameter

Definition at line 209 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus(), GainThresLimits(), and SetGainThresLimits().

TExMap* AliMUONPadStatusMaker::fHV
mutableprivate

! cache of hv statuses

Definition at line 222 of file AliMUONPadStatusMaker.h.

Referenced by HVSt12Status(), HVSt345Status(), HVStatus(), SetHVStatus(), and ~AliMUONPadStatusMaker().

Double_t AliMUONPadStatusMaker::fHVLimit[10]
private

! Low thresholds for HV

Definition at line 211 of file AliMUONPadStatusMaker.h.

Referenced by HVLimit(), and SetHVLimit().

const AliMUONCalibrationData& AliMUONPadStatusMaker::fkCalibrationData
private

! helper class to get data access (not owner)

Definition at line 205 of file AliMUONPadStatusMaker.h.

Referenced by CalibrationData(), HVSt12Status(), HVSt345Status(), Neighbours(), and NeighboursStore().

TVector2 AliMUONPadStatusMaker::fManuOccupancyLimits
private

! Low and High manu occupancy limits

Definition at line 216 of file AliMUONPadStatusMaker.h.

Referenced by ManuOccupancyLimits(), OccupancyStatus(), and SetManuOccupancyLimits().

AliMUONVStore* AliMUONPadStatusMaker::fPedestals
private

! pedestal values

Definition at line 224 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus().

TVector2 AliMUONPadStatusMaker::fPedMeanLimits
private

! Low and High threshold for pedestal mean

Definition at line 213 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus(), PedMeanLimits(), and SetPedMeanLimits().

TVector2 AliMUONPadStatusMaker::fPedSigmaLimits
private

! Low and High threshold for pedestal sigma

Definition at line 214 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus(), PedSigmaLimits(), and SetPedSigmaLimits().

AliMUONVStore* AliMUONPadStatusMaker::fStatus
private

! statuses of the pads

Definition at line 220 of file AliMUONPadStatusMaker.h.

Referenced by ComputeStatus(), PadStatus(), StatusStore(), and ~AliMUONPadStatusMaker().

AliMUONVTrackerData* AliMUONPadStatusMaker::fTrackerData
private

! to get occupancies...

Definition at line 227 of file AliMUONPadStatusMaker.h.

Referenced by OccupancyStatus(), and ~AliMUONPadStatusMaker().


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