![]() |
AliRoot Core
v5-06-30 (35d6c57)
|
Make a 2DStore of pad statuses, using different sources of information. More...
#include <AliMUONPadStatusMaker.h>
Public Member Functions | |
AliMUONPadStatusMaker (const AliMUONCalibrationData &calibData) | |
virtual | ~AliMUONPadStatusMaker () |
const AliMUONCalibrationData & | CalibrationData () const |
Get the reference to the calibrationdata object we use. More... | |
AliMUONVStore * | StatusStore () const |
AliMUONVCalibParam * | PadStatus (Int_t detElemId, Int_t manuId) const |
Int_t | PadStatus (Int_t detElemId, Int_t manuId, Int_t manuChannel) const |
AliMUONVStore * | NeighboursStore () const |
AliMUONVCalibParam * | Neighbours (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... | |
AliMUONPadStatusMaker & | operator= (const AliMUONPadStatusMaker &) |
Not implemented. More... | |
AliMUONVCalibParam * | ComputeStatus (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 AliMUONCalibrationData & | fkCalibrationData |
! 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... | |
AliMUONVStore * | fStatus |
! statuses of the pads More... | |
TExMap * | fHV |
! cache of hv statuses More... | |
AliMUONVStore * | fPedestals |
! pedestal values More... | |
AliMUONVStore * | fGains |
! gain values More... | |
AliMUONVTrackerData * | fTrackerData |
! to get occupancies... More... | |
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.
Definition at line 31 of file AliMUONPadStatusMaker.h.
|
private |
Gain status.
Enumerator | |
---|---|
kGainOK | |
kGainA1TooLow | |
kGainA1TooHigh | |
kGainA2TooLow | |
kGainA2TooHigh | |
kGainThresTooLow | |
kGainThresTooHigh | |
kGainMissing |
Definition at line 155 of file AliMUONPadStatusMaker.h.
|
private |
|
private |
HV Error.
Enumerator | |
---|---|
kHVOK | |
kHVError | |
kHVTooLow | |
kHVTooHigh | |
kHVChannelOFF | |
kHVSwitchOFF | |
kHVMissing |
Definition at line 182 of file AliMUONPadStatusMaker.h.
|
private |
Other.
Enumerator | |
---|---|
kManuOccupancyTooLow | |
kManuOccupancyTooHigh | |
kBusPatchOccupancyTooLow | |
kBusPatchOccupancyTooHigh | |
kDEOccupancyTooLow | |
kDEOccupancyTooHigh |
Definition at line 195 of file AliMUONPadStatusMaker.h.
|
private |
Pedestal status.
Enumerator | |
---|---|
kPedOK | |
kPedMeanZero | |
kPedMeanTooLow | |
kPedMeanTooHigh | |
kPedSigmaTooLow | |
kPedSigmaTooHigh | |
kPedMissing |
Definition at line 169 of file AliMUONPadStatusMaker.h.
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.
|
virtual |
dtor.
Definition at line 105 of file AliMUONPadStatusMaker.cxx.
|
private |
Not implemented.
|
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().
|
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().
|
static |
Build a complete status from specific parts (ped,hv,gain)
Definition at line 183 of file AliMUONPadStatusMaker.cxx.
Referenced by ComputeStatus(), and GetBadChannels().
|
inline |
Get bus patch occupancy limits.
Definition at line 103 of file AliMUONPadStatusMaker.h.
|
inline |
Get the reference to the calibrationdata object we use.
Definition at line 38 of file AliMUONPadStatusMaker.h.
|
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().
|
static |
Decode complete status into specific parts (ped,hv,gain)
Definition at line 197 of file AliMUONPadStatusMaker.cxx.
Referenced by AsString().
|
inline |
Get DE occupancy limits.
Definition at line 108 of file AliMUONPadStatusMaker.h.
|
inline |
Return Low and High limits for a0 parameter of gain (linear slope)
Definition at line 59 of file AliMUONPadStatusMaker.h.
|
inline |
Set Low and High limits for a0 parameter of gain (linear slope)
Definition at line 74 of file AliMUONPadStatusMaker.h.
|
inline |
Return Low and High limits for a1 parameter of gain (parabolic term)
Definition at line 61 of file AliMUONPadStatusMaker.h.
|
inline |
Set Low and High limits for a1 parameter of gain (parabolic term)
Definition at line 76 of file AliMUONPadStatusMaker.h.
|
inline |
Return Low and High limits for thres parameter of gain.
Definition at line 63 of file AliMUONPadStatusMaker.h.
|
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().
|
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().
|
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().
|
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().
|
private |
Not implemented.
AliMUONVCalibParam * AliMUONPadStatusMaker::PadStatus | ( | Int_t | detElemId, |
Int_t | manuId | ||
) | const |
Get the status container for a given manu
Definition at line 614 of file AliMUONPadStatusMaker.cxx.
Referenced by CheckDE_BP_ManuPedestals(), AliMUONPadStatusMapMaker::ComputeStatusMap(), GetBadChannels(), AliMUONDigitCalibrator::PadStatus(), and Report().
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.
|
inline |
Return Low and High threshold for pedestal mean.
Definition at line 69 of file AliMUONPadStatusMaker.h.
|
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().
|
inline |
Set Low and High bus patch occupancy limits.
Definition at line 101 of file AliMUONPadStatusMaker.h.
Referenced by SetLimits().
|
inline |
Set Low and High DE occupancy limits.
Definition at line 106 of file AliMUONPadStatusMaker.h.
Referenced by SetLimits().
|
inline |
Set Low and High threshold for gain a0 term.
Definition at line 89 of file AliMUONPadStatusMaker.h.
Referenced by SetLimits().
|
inline |
Set Low and High threshold for gain a1 term.
Definition at line 91 of file AliMUONPadStatusMaker.h.
Referenced by SetLimits().
|
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().
|
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 | ) |
Set the limits from the recoparam
Definition at line 700 of file AliMUONPadStatusMaker.cxx.
Referenced by AddEventsSingleRun(), AliMUONCDB::CheckHV(), AliMUONDigitCalibrator::Ctor(), GetBadChannels(), MUONStatusMap(), and AliMUONCDB::ShowConfig().
|
inline |
Set Low and High manu occupancy limits.
Definition at line 96 of file AliMUONPadStatusMaker.h.
Referenced by SetLimits().
|
inline |
Set Low and High threshold for pedestal mean.
Definition at line 84 of file AliMUONPadStatusMaker.h.
Referenced by SetLimits().
|
inline |
Set Low and High threshold for pedestal sigma.
Definition at line 86 of file AliMUONPadStatusMaker.h.
Referenced by SetLimits().
|
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().
|
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().
|
private |
! Low and High buspatch occupancy limits
Definition at line 217 of file AliMUONPadStatusMaker.h.
Referenced by BuspatchOccupancyLimits(), OccupancyStatus(), and SetBuspatchOccupancyLimits().
|
private |
! Low and High DE occupancy limits
Definition at line 218 of file AliMUONPadStatusMaker.h.
Referenced by DEOccupancyLimits(), OccupancyStatus(), and SetDEOccupancyLimits().
|
private |
! Low and High threshold for gain a0 parameter
Definition at line 207 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus(), GainA1Limits(), and SetGainA1Limits().
|
private |
! Low and High threshold for gain a1 parameter
Definition at line 208 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus(), GainA2Limits(), and SetGainA2Limits().
|
private |
! gain values
Definition at line 225 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus().
|
private |
! Low and High threshold for gain threshold parameter
Definition at line 209 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus(), GainThresLimits(), and SetGainThresLimits().
|
mutableprivate |
! cache of hv statuses
Definition at line 222 of file AliMUONPadStatusMaker.h.
Referenced by HVSt12Status(), HVSt345Status(), HVStatus(), SetHVStatus(), and ~AliMUONPadStatusMaker().
|
private |
! Low thresholds for HV
Definition at line 211 of file AliMUONPadStatusMaker.h.
Referenced by HVLimit(), and SetHVLimit().
|
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().
|
private |
! Low and High manu occupancy limits
Definition at line 216 of file AliMUONPadStatusMaker.h.
Referenced by ManuOccupancyLimits(), OccupancyStatus(), and SetManuOccupancyLimits().
|
private |
! pedestal values
Definition at line 224 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus().
|
private |
! Low and High threshold for pedestal mean
Definition at line 213 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus(), PedMeanLimits(), and SetPedMeanLimits().
|
private |
! Low and High threshold for pedestal sigma
Definition at line 214 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus(), PedSigmaLimits(), and SetPedSigmaLimits().
|
private |
! statuses of the pads
Definition at line 220 of file AliMUONPadStatusMaker.h.
Referenced by ComputeStatus(), PadStatus(), StatusStore(), and ~AliMUONPadStatusMaker().
|
private |
! to get occupancies...
Definition at line 227 of file AliMUONPadStatusMaker.h.
Referenced by OccupancyStatus(), and ~AliMUONPadStatusMaker().