ROOT logo
AliRoot » MUON » AliMUONPadStatusMaker

class AliMUONPadStatusMaker: public TObject

 \class AliMUONPadStatusMaker

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

 \author Laurent Aphecetche

Function Members (Methods)

public:
AliMUONPadStatusMaker(const AliMUONCalibrationData& calibData)
virtual~AliMUONPadStatusMaker()
voidTObject::AbstractMethod(const char* method) const
virtual voidTObject::AppendPad(Option_t* option = "")
static TStringAsCondition(Int_t status)
static TStringAsString(Int_t status)
virtual voidTObject::Browse(TBrowser* b)
static Int_tBuildStatus(Int_t pedStatus, Int_t hvStatus, Int_t gainStatus, Int_t otherStatus)
TVector2BuspatchOccupancyLimits() const
const AliMUONCalibrationData&CalibrationData() const
static TClass*Class()
virtual const char*TObject::ClassName() const
virtual voidTObject::Clear(Option_t* = "")
virtual TObject*TObject::Clone(const char* newname = "") const
virtual Int_tTObject::Compare(const TObject* obj) const
virtual voidTObject::Copy(TObject& object) const
static voidDecodeStatus(Int_t status, Int_t& pedStatus, Int_t& hvStatus, Int_t& gainStatus, Int_t& otherStatus)
virtual voidTObject::Delete(Option_t* option = "")MENU
TVector2DEOccupancyLimits() const
virtual Int_tTObject::DistancetoPrimitive(Int_t px, Int_t py)
virtual voidTObject::Draw(Option_t* option = "")
virtual voidTObject::DrawClass() constMENU
virtual TObject*TObject::DrawClone(Option_t* option = "") constMENU
virtual voidTObject::Dump() constMENU
virtual voidTObject::Error(const char* method, const char* msgfmt) const
virtual voidTObject::Execute(const char* method, const char* params, Int_t* error = 0)
virtual voidTObject::Execute(TMethod* method, TObjArray* params, Int_t* error = 0)
virtual voidTObject::ExecuteEvent(Int_t event, Int_t px, Int_t py)
virtual voidTObject::Fatal(const char* method, const char* msgfmt) const
virtual TObject*TObject::FindObject(const char* name) const
virtual TObject*TObject::FindObject(const TObject* obj) const
TVector2GainA1Limits() const
voidGainA1Limits(float low, float high)
TVector2GainA2Limits() const
voidGainA2Limits(float low, float high)
TVector2GainThresLimits() const
voidGainThresLimits(float low, float high)
virtual Option_t*TObject::GetDrawOption() const
static Long_tTObject::GetDtorOnly()
virtual const char*TObject::GetIconName() const
virtual const char*TObject::GetName() const
virtual char*TObject::GetObjectInfo(Int_t px, Int_t py) const
static Bool_tTObject::GetObjectStat()
virtual Option_t*TObject::GetOption() const
virtual const char*TObject::GetTitle() const
virtual UInt_tTObject::GetUniqueID() const
virtual Bool_tTObject::HandleTimer(TTimer* timer)
virtual ULong_tTObject::Hash() const
Double_tHVLimit(Int_t chamberId) const
Int_tHVStatus(Int_t detElemId, Int_t manuId) const
virtual voidTObject::Info(const char* method, const char* msgfmt) const
virtual Bool_tTObject::InheritsFrom(const char* classname) const
virtual Bool_tTObject::InheritsFrom(const TClass* cl) const
virtual voidTObject::Inspect() constMENU
voidTObject::InvertBit(UInt_t f)
virtual TClass*IsA() const
virtual Bool_tTObject::IsEqual(const TObject* obj) const
virtual Bool_tTObject::IsFolder() const
Bool_tTObject::IsOnHeap() const
virtual Bool_tTObject::IsSortable() const
Bool_tTObject::IsZombie() const
virtual voidTObject::ls(Option_t* option = "") const
TVector2ManuOccupancyLimits() const
voidTObject::MayNotUse(const char* method) const
AliMUONVCalibParam*Neighbours(Int_t detElemId, Int_t manuId) const
AliMUONVStore*NeighboursStore() const
virtual Bool_tTObject::Notify()
voidTObject::Obsolete(const char* method, const char* asOfVers, const char* removedFromVers) const
Int_tOccupancyStatus(Int_t detElemId, Int_t manuId) const
static voidTObject::operator delete(void* ptr)
static voidTObject::operator delete(void* ptr, void* vp)
static voidTObject::operator delete[](void* ptr)
static voidTObject::operator delete[](void* ptr, void* vp)
void*TObject::operator new(size_t sz)
void*TObject::operator new(size_t sz, void* vp)
void*TObject::operator new[](size_t sz)
void*TObject::operator new[](size_t sz, void* vp)
AliMUONVCalibParam*PadStatus(Int_t detElemId, Int_t manuId) const
Int_tPadStatus(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
virtual voidTObject::Paint(Option_t* option = "")
TVector2PedMeanLimits() const
TVector2PedSigmaLimits() const
virtual voidTObject::Pop()
virtual voidTObject::Print(Option_t* option = "") const
virtual Int_tTObject::Read(const char* name)
virtual voidTObject::RecursiveRemove(TObject* obj)
voidReport(UInt_t mask)
voidTObject::ResetBit(UInt_t f)
virtual voidTObject::SaveAs(const char* filename = "", Option_t* option = "") constMENU
virtual voidTObject::SavePrimitive(basic_ostream<char,char_traits<char> >& out, Option_t* option = "")
voidTObject::SetBit(UInt_t f)
voidTObject::SetBit(UInt_t f, Bool_t set)
voidSetBuspatchOccupancyLimits(float low, float high)
voidSetDEOccupancyLimits(float low, float high)
virtual voidTObject::SetDrawOption(Option_t* option = "")MENU
static voidTObject::SetDtorOnly(void* obj)
voidSetGainA1Limits(float low, float high)
voidSetGainA2Limits(float low, float high)
voidSetGainThresLimits(float low, float high)
voidSetHVLimit(Int_t chamberId, Double_t hv)
voidSetLimits(const AliMUONRecoParam& recoParams)
voidSetManuOccupancyLimits(float low, float high)
static voidTObject::SetObjectStat(Bool_t stat)
voidSetPedMeanLimits(float low, float high)
voidSetPedSigmaLimits(float low, float high)
virtual voidTObject::SetUniqueID(UInt_t uid)
virtual voidShowMembers(TMemberInspector&)
AliMUONVStore*StatusStore() const
virtual voidStreamer(TBuffer&)
voidStreamerNVirtual(TBuffer& ClassDef_StreamerNVirtual_b)
static Float_tSwitchValue(const TObjArray& dcsArray)
virtual voidTObject::SysError(const char* method, const char* msgfmt) const
Bool_tTObject::TestBit(UInt_t f) const
Int_tTObject::TestBits(UInt_t f) const
virtual voidTObject::UseCurrentStyle()
virtual voidTObject::Warning(const char* method, const char* msgfmt) const
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0)
virtual Int_tTObject::Write(const char* name = 0, Int_t option = 0, Int_t bufsize = 0) const
protected:
virtual voidTObject::DoError(int level, const char* location, const char* fmt, va_list va) const
voidTObject::MakeZombie()
private:
AliMUONPadStatusMaker(const AliMUONPadStatusMaker&)
AliMUONVCalibParam*ComputeStatus(Int_t detElemId, Int_t manuId) const
Bool_tHVSt12Status(Int_t detElemId, Int_t sector, Bool_t& hvChannelTooLow, Bool_t& hvChannelTooHigh, Bool_t& hvChannelON) const
Bool_tHVSt345Status(Int_t detElemId, Int_t pcbIndex, Bool_t& hvChannelTooLow, Bool_t& hvChannelTooHigh, Bool_t& hvChannelON, Bool_t& hvSwitchON) const
AliMUONPadStatusMaker&operator=(const AliMUONPadStatusMaker&)
voidSetHVStatus(Int_t detElemId, Int_t index, Int_t status) const

Data Members

public:
enum EGeneralStatus { kMissing
};
enum EGainStatus { kGainOK
kGainA1TooLow
kGainA1TooHigh
kGainA2TooLow
kGainA2TooHigh
kGainThresTooLow
kGainThresTooHigh
kGainMissing
};
enum EPedestalStatus { kPedOK
kPedMeanZero
kPedMeanTooLow
kPedMeanTooHigh
kPedSigmaTooLow
kPedSigmaTooHigh
kPedMissing
};
enum EHVError { kHVOK
kHVError
kHVTooLow
kHVTooHigh
kHVChannelOFF
kHVSwitchOFF
kHVMissing
};
enum EOccupancyStatus { kManuOccupancyTooLow
kManuOccupancyTooHigh
kBusPatchOccupancyTooLow
kBusPatchOccupancyTooHigh
kDEOccupancyTooLow
kDEOccupancyTooHigh
};
enum TObject::EStatusBits { kCanDelete
kMustCleanup
kObjInCanvas
kIsReferenced
kHasUUID
kCannotPick
kNoContextMenu
kInvalidObject
};
enum TObject::[unnamed] { kIsOnHeap
kNotDeleted
kZombie
kBitMask
kSingleKey
kOverwrite
kWriteDelete
};
private:
TVector2fBuspatchOccupancyLimits!< Low and High buspatch occupancy limits
TVector2fDEOccupancyLimits!< Low and High DE occupancy limits
TVector2fGainA1Limits!< Low and High threshold for gain a0 parameter
TVector2fGainA2Limits!< Low and High threshold for gain a1 parameter
TVector2fGainThresLimits!< Low and High threshold for gain threshold parameter
AliMUONVStore*fGains!< gain values
TExMap*fHV!< cache of hv statuses
Double_tfHVLimit[10]!< Low thresholds for HV
TVector2fManuOccupancyLimits!< Low and High manu occupancy limits
TVector2fPedMeanLimits!< Low and High threshold for pedestal mean
TVector2fPedSigmaLimits!< Low and High threshold for pedestal sigma
AliMUONVStore*fPedestals!< pedestal values
AliMUONVStore*fStatus!< statuses of the pads
AliMUONVTrackerData*fTrackerData!< to get occupancies...
const AliMUONCalibrationData&fkCalibrationData!< helper class to get data access (not owner)

Class Charts

Inheritance Chart:
TObject
AliMUONPadStatusMaker

Function documentation

AliMUONPadStatusMaker(const AliMUONCalibrationData& calibData)
 ctor
~AliMUONPadStatusMaker()
 dtor.
AsString(Int_t status)
 return a human readable version of the integer status
AsCondition(Int_t status)
 return a human readable version of the mask's equivalent condition
BuildStatus(Int_t pedStatus, Int_t hvStatus, Int_t gainStatus, Int_t otherStatus)
 Build a complete status from specific parts (ped,hv,gain)
DecodeStatus(Int_t status, Int_t& pedStatus, Int_t& hvStatus, Int_t& gainStatus, Int_t& otherStatus)
 Decode complete status into specific parts (ped,hv,gain)
HVSt12Status(Int_t detElemId, Int_t sector, Bool_t& hvChannelTooLow, Bool_t& hvChannelTooHigh, Bool_t& hvChannelON) const
 Get HV status for one HV sector of St12
SwitchValue(const TObjArray& dcsArray)
 Loop over the dcs value for a single switch to decide whether
 we should consider it on or off
HVSt345Status(Int_t detElemId, Int_t pcbIndex, Bool_t& hvChannelTooLow, Bool_t& hvChannelTooHigh, Bool_t& hvChannelON, Bool_t& hvSwitchON) const
 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).
HVStatus(Int_t detElemId, Int_t manuId) const
 Get HV status of one manu
Neighbours(Int_t detElemId, Int_t manuId) const
 Get the neighbours parameters for a given manu
NeighboursStore() const
 Return the store containing all the neighbours
ComputeStatus(Int_t detElemId, Int_t manuId) const
 Compute the status of a given manu, using all available information,
 i.e. pedestals, gains, and HV
OccupancyStatus(Int_t detElemId, Int_t manuId) const
 Get the "other" status for a given manu
PadStatus(Int_t detElemId, Int_t manuId) const
 Get the status container for a given manu
PadStatus(Int_t detElemId, Int_t manuId, Int_t manuChannel) const
 Get the status for a given channel
SetHVStatus(Int_t detElemId, Int_t index, Int_t status) const
 Assign status to all manus in a given HV "zone" (defined by index, meaning
 is different thing from St12 and St345)
HVLimit(Int_t chamberId) const
 Get HV limit for a given chamber
SetHVLimit(Int_t chamberId, Double_t hv)
 Set hv limit for a given chamber (or all if chamberId==-1)
SetLimits(const AliMUONRecoParam& recoParams)
 Set the limits from the recoparam
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)
AliMUONPadStatusMaker(const AliMUONCalibrationData& calibData)
AliMUONVStore* StatusStore() const
 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...

{ return fStatus; }
TVector2 GainA1Limits() const
 Return Low and High limits for a0 parameter of gain (linear slope)
{ return fGainA1Limits; }
TVector2 GainA2Limits() const
 Return Low and High limits for a1 parameter of gain (parabolic term)
{ return fGainA2Limits; }
TVector2 GainThresLimits() const
 Return Low and High limits for thres parameter of gain
{ return fGainThresLimits; }
TVector2 PedMeanLimits() const
 Return Low and High threshold for pedestal mean
{ return fPedMeanLimits; }
TVector2 PedSigmaLimits() const
 Return Low and High threshold for pedestal sigma
{ return fPedSigmaLimits; }
void GainA1Limits(float low, float high)
 Set Low and High limits for a0 parameter of gain (linear slope)
{ fGainA1Limits.Set(low,high); }
void GainA2Limits(float low, float high)
 Set Low and High limits for a1 parameter of gain (parabolic term)
{ fGainA2Limits.Set(low,high); }
void GainThresLimits(float low, float high)
 Set Low and High limits for thres parameter of gain
{ fGainThresLimits.Set(low,high); }
void SetPedMeanLimits(float low, float high)
 Set Low and High threshold for pedestal mean
{ fPedMeanLimits.Set(low,high); }
void SetPedSigmaLimits(float low, float high)
 Set Low and High threshold for pedestal sigma
{ fPedSigmaLimits.Set(low,high); }
void SetGainA1Limits(float low, float high)
 Set Low and High threshold for gain a0 term
{ fGainA1Limits.Set(low,high); }
void SetGainA2Limits(float low, float high)
 Set Low and High threshold for gain a1 term
{ fGainA2Limits.Set(low,high); }
void SetGainThresLimits(float low, float high)
 Set Low and High threshold for gain threshold term
{ fGainThresLimits.Set(low,high); }
void SetManuOccupancyLimits(float low, float high)
 Set Low and High manu occupancy limits
{ fManuOccupancyLimits.Set(low,high); }
TVector2 ManuOccupancyLimits() const
 Get manu occupancy limits
void SetBuspatchOccupancyLimits(float low, float high)
 Set Low and High bus patch occupancy limits
{ fBuspatchOccupancyLimits.Set(low,high); }
TVector2 BuspatchOccupancyLimits() const
 Get bus patch occupancy limits
void SetDEOccupancyLimits(float low, float high)
 Set Low and High DE occupancy limits
{ fDEOccupancyLimits.Set(low,high); }
TVector2 DEOccupancyLimits() const
 Get DE occupancy limits
{ return fDEOccupancyLimits; }
AliMUONPadStatusMaker& operator=(const AliMUONPadStatusMaker& )
 Not implemented