class TExMap;
class AliMUONCalibrationData;
+class AliMUONRecoParam;
class AliMUONVCalibParam;
class AliMUONVTrackerData;
class AliMUONVStore;
public:
AliMUONPadStatusMaker(const AliMUONCalibrationData& calibData);
virtual ~AliMUONPadStatusMaker();
-
+
+ /// Get the reference to the calibrationdata object we use.
+ const AliMUONCalibrationData& CalibrationData() const { return fkCalibrationData; }
+
/** 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...
void SetManuOccupancyLimits(float low, float high) { fManuOccupancyLimits.Set(low,high); }
/// Get manu occupancy limits
TVector2 ManuOccupancyLimits() const { return fManuOccupancyLimits; }
+
+ /// Set Low and High bus patch occupancy limits
+ void SetBuspatchOccupancyLimits(float low, float high) { fBuspatchOccupancyLimits.Set(low,high); }
+ /// Get bus patch occupancy limits
+ TVector2 BuspatchOccupancyLimits() const { return fBuspatchOccupancyLimits; }
+
+ /// Set Low and High DE occupancy limits
+ void SetDEOccupancyLimits(float low, float high) { fDEOccupancyLimits.Set(low,high); }
+ /// Get DE occupancy limits
+ TVector2 DEOccupancyLimits() const { return fDEOccupancyLimits; }
+
+ void SetLimits(const AliMUONRecoParam& recoParams);
+
+ void Report(UInt_t mask);
+
+ static Float_t SwitchValue(const TObjArray& dcsArray);
private:
/// Not implemented
Int_t HVStatus(Int_t detElemId, Int_t manuId) const;
- Int_t OtherStatus(Int_t detElemId, Int_t manuId) const;
+ Int_t OccupancyStatus(Int_t detElemId, Int_t manuId) const;
void SetHVStatus(Int_t detElemId, Int_t index, Int_t status) const;
};
/// Other
- enum EOtherStatus
+ enum EOccupancyStatus
{
kManuOccupancyTooLow = (1<<1),
- kManuOccupancyTooHigh = (1<<2)
+ kManuOccupancyTooHigh = (1<<2),
+ kBusPatchOccupancyTooLow = (1<<3),
+ kBusPatchOccupancyTooHigh = (1<<4),
+ kDEOccupancyTooLow = (1<<5),
+ kDEOccupancyTooHigh = (1<<6)
};
const AliMUONCalibrationData& fkCalibrationData; //!< helper class to get data access (not owner)
TVector2 fPedSigmaLimits; //!< Low and High threshold for pedestal sigma
TVector2 fManuOccupancyLimits; //!< Low and High manu occupancy limits
+ TVector2 fBuspatchOccupancyLimits; //!< Low and High buspatch occupancy limits
+ TVector2 fDEOccupancyLimits; //!< Low and High DE occupancy limits
AliMUONVStore* fStatus; //!< statuses of the pads