AliRoot Core  7e03155 (7e03155)
 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 Types

enum  EGeneralStatus { kMissing = (1<<7) }
 General 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  ELVStatus { kLVOK = 0, kLVTooLow = (1<<3), kLVMissing = kMissing }
 LV 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), kBusPatchRemovedByPAR = (1<<7)
}
 Other. More...
 

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
 
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 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 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 LVStatus (Int_t detElemId, Int_t manuId) const
 
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 &lvStatus, Int_t &otherStatus)
 
static Int_t BuildStatus (Int_t pedStatus, Int_t hvStatus, Int_t lvStatus, Int_t otherStatus)
 

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
 
AliMUONVTrackerDataInternalTrackerData () const
 
TExMap * InternalHV () const
 
TExMap * InternalLV () const
 
void SetHVStatus (Int_t detElemId, Int_t index, Int_t status) const
 
Int_t CheckConfigConsistencyWithPedestalInformation (Int_t detElemId, Int_t manuId) const
 
AliMUONVStorePedestals () const
 
AliMUONVStoreConfig () const
 

Private Attributes

const AliMUONCalibrationDatafkCalibrationData
 ! helper class to get data access (not owner) 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 * fLV
 ! cache of lv statuses More...
 
TExMap * fHV
 ! cache of hv statuses More...
 
AliMUONVStorefPedestals
 ! pedestal values More...
 
AliMUONVStorefConfig
 ! readout configuration 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, LV values, and HV values.

Author
Laurent Aphecetche

Definition at line 31 of file AliMUONPadStatusMaker.h.

Member Enumeration Documentation

General status.

Enumerator
kMissing 

Definition at line 137 of file AliMUONPadStatusMaker.h.

HV Error.

Enumerator
kHVOK 
kHVError 
kHVTooLow 
kHVTooHigh 
kHVChannelOFF 
kHVSwitchOFF 
kHVMissing 

Definition at line 165 of file AliMUONPadStatusMaker.h.

LV status.

Enumerator
kLVOK 
kLVTooLow 
kLVMissing 

Definition at line 156 of file AliMUONPadStatusMaker.h.

Other.

Enumerator
kManuOccupancyTooLow 
kManuOccupancyTooHigh 
kBusPatchOccupancyTooLow 
kBusPatchOccupancyTooHigh 
kDEOccupancyTooLow 
kDEOccupancyTooHigh 
kBusPatchRemovedByPAR 

Definition at line 178 of file AliMUONPadStatusMaker.h.

Pedestal status.

Enumerator
kPedOK 
kPedMeanZero 
kPedMeanTooLow 
kPedMeanTooHigh 
kPedSigmaTooLow 
kPedSigmaTooHigh 
kPedMissing 

Definition at line 143 of file AliMUONPadStatusMaker.h.

Constructor & Destructor Documentation

AliMUONPadStatusMaker::AliMUONPadStatusMaker ( const AliMUONCalibrationData calibData)

ctor

Definition at line 75 of file AliMUONPadStatusMaker.cxx.

AliMUONPadStatusMaker::~AliMUONPadStatusMaker ( )
virtual

dtor.

Definition at line 94 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 157 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 106 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  lvStatus,
Int_t  otherStatus 
)
static

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

Definition at line 170 of file AliMUONPadStatusMaker.cxx.

Referenced by ComputeStatus(), and GetBadChannels().

TVector2 AliMUONPadStatusMaker::BuspatchOccupancyLimits ( ) const
inline

Get bus patch occupancy limits.

Definition at line 82 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.

Referenced by Report().

Int_t AliMUONPadStatusMaker::CheckConfigConsistencyWithPedestalInformation ( Int_t  detElemId,
Int_t  manuId 
) const
private

Check the consistency between the information from the MUON/Calib/Config and MUON/Calib/Pedestals objects.

manu missing both in config and pedestal run : that is expected

Definition at line 183 of file AliMUONPadStatusMaker.cxx.

Referenced by OccupancyStatus().

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, LV, and HV

Definition at line 623 of file AliMUONPadStatusMaker.cxx.

Referenced by PadStatus().

AliMUONVStore * AliMUONPadStatusMaker::Config ( ) const
private
void AliMUONPadStatusMaker::DecodeStatus ( Int_t  status,
Int_t &  pedStatus,
Int_t &  hvStatus,
Int_t &  lvStatus,
Int_t &  otherStatus 
)
static

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

Definition at line 234 of file AliMUONPadStatusMaker.cxx.

Referenced by AsString().

TVector2 AliMUONPadStatusMaker::DEOccupancyLimits ( ) const
inline

Get DE occupancy limits.

Definition at line 87 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 779 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 250 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 360 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 451 of file AliMUONPadStatusMaker.cxx.

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

TExMap * AliMUONPadStatusMaker::InternalHV ( ) const
private

Definition at line 906 of file AliMUONPadStatusMaker.cxx.

Referenced by HVStatus(), and SetHVStatus().

TExMap * AliMUONPadStatusMaker::InternalLV ( ) const
private

Definition at line 916 of file AliMUONPadStatusMaker.cxx.

Referenced by LVStatus().

AliMUONVTrackerData * AliMUONPadStatusMaker::InternalTrackerData ( ) const
private

Definition at line 896 of file AliMUONPadStatusMaker.cxx.

Referenced by OccupancyStatus().

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

Get LV status of one detection element

Definition at line 518 of file AliMUONPadStatusMaker.cxx.

Referenced by AliMUONTrackerLV::CheckLV(), and ComputeStatus().

TVector2 AliMUONPadStatusMaker::ManuOccupancyLimits ( ) const
inline

Get manu occupancy limits.

Definition at line 77 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 606 of file AliMUONPadStatusMaker.cxx.

Referenced by AliMUONPadStatusMapMaker::ComputeStatusMap().

AliMUONVStore * AliMUONPadStatusMaker::NeighboursStore ( ) const

Return the store containing all the neighbours

Definition at line 615 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 667 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 744 of file AliMUONPadStatusMaker.cxx.

AliMUONVStore * AliMUONPadStatusMaker::Pedestals ( ) const
private
TVector2 AliMUONPadStatusMaker::PedMeanLimits ( ) const
inline

Return Low and High threshold for pedestal mean.

Definition at line 62 of file AliMUONPadStatusMaker.h.

TVector2 AliMUONPadStatusMaker::PedSigmaLimits ( ) const
inline

Return Low and High threshold for pedestal sigma.

Definition at line 64 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 833 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 80 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 85 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 791 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 759 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 75 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 70 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 72 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 317 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 200 of file AliMUONPadStatusMaker.h.

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

AliMUONVStore* AliMUONPadStatusMaker::fConfig
mutableprivate

! readout configuration

Definition at line 209 of file AliMUONPadStatusMaker.h.

Referenced by CheckConfigConsistencyWithPedestalInformation(), and Config().

TVector2 AliMUONPadStatusMaker::fDEOccupancyLimits
private

! Low and High DE occupancy limits

Definition at line 201 of file AliMUONPadStatusMaker.h.

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

TExMap* AliMUONPadStatusMaker::fHV
mutableprivate

! cache of hv statuses

Definition at line 206 of file AliMUONPadStatusMaker.h.

Referenced by HVSt12Status(), HVSt345Status(), InternalHV(), and ~AliMUONPadStatusMaker().

Double_t AliMUONPadStatusMaker::fHVLimit[10]
private

! Low thresholds for HV

Definition at line 194 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 192 of file AliMUONPadStatusMaker.h.

Referenced by CalibrationData(), Config(), HVSt12Status(), HVSt345Status(), InternalHV(), InternalLV(), InternalTrackerData(), LVStatus(), Neighbours(), NeighboursStore(), and Pedestals().

TExMap* AliMUONPadStatusMaker::fLV
mutableprivate

! cache of lv statuses

Definition at line 205 of file AliMUONPadStatusMaker.h.

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

TVector2 AliMUONPadStatusMaker::fManuOccupancyLimits
private

! Low and High manu occupancy limits

Definition at line 199 of file AliMUONPadStatusMaker.h.

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

AliMUONVStore* AliMUONPadStatusMaker::fPedestals
mutableprivate

! pedestal values

Definition at line 208 of file AliMUONPadStatusMaker.h.

Referenced by Pedestals().

TVector2 AliMUONPadStatusMaker::fPedMeanLimits
private

! Low and High threshold for pedestal mean

Definition at line 196 of file AliMUONPadStatusMaker.h.

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

TVector2 AliMUONPadStatusMaker::fPedSigmaLimits
private

! Low and High threshold for pedestal sigma

Definition at line 197 of file AliMUONPadStatusMaker.h.

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

AliMUONVStore* AliMUONPadStatusMaker::fStatus
private

! statuses of the pads

Definition at line 203 of file AliMUONPadStatusMaker.h.

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

AliMUONVTrackerData* AliMUONPadStatusMaker::fTrackerData
mutableprivate

! to get occupancies...

Definition at line 211 of file AliMUONPadStatusMaker.h.

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


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