12#include <klm/dataobjects/KLMChannelMapValue.h>
13#include <klm/dbobjects/KLMChannelStatus.h>
16#include <calibration/CalibrationAlgorithm.h>
231 unsigned int minimalHitNumberSingleHotChannel)
249 double minimalHitNumberRatioHotChannel)
291 double averageHitsActiveSector);
Base class for calibration algorithms.
EResult
The result of calibration.
unsigned int getHitNumberBKLM() const
Get number of hits in BKLM.
unsigned int m_HitNumberEKLM
Number of hits in EKLM.
KLMChannelStatus * m_ChannelStatus
Channel status.
unsigned int getTotalHitNumber() const
Get total hit number.
KLMChannelMapValue< unsigned int > m_HitMapModuleNoHot
Module hit map (no hit channels).
unsigned int m_TotalHitNumber
Total hit number.
KLMChannelStatus & getModuleStatus() const
Get module status (last calibration).
KLMChannelMapValue< unsigned int > m_HitMapSectorNoHot
Sector hit map (no hot channels).
KLMChannelMapValue< unsigned int > m_HitMapChannel
Channel hit map.
const KLMChannelMapValue< unsigned int > & getModuleActiveChannelMap() const
Get module active-channel map.
KLMChannelMapValue< unsigned int > m_ModuleActiveChannelMap
Module active-channel map (number of active channels in module).
const KLMChannelMapValue< unsigned int > & getHitMapSector() const
Get sector hit map.
const KLMChannelMapValue< unsigned int > & getHitMapSectorNoHot() const
Get sector hit map (no hot channels).
const KLMChannelMapValue< unsigned int > & getHitMapModule() const
Get module hit map.
KLMChannelStatus & getChannelStatus() const
Get channel status (last calibration).
unsigned int m_HitNumberBKLM
Number of hits in BKLM.
KLMChannelMapValue< unsigned int > m_HitMapModule
Module hit map.
unsigned int getHitNumberEKLM() const
Get number of hits in EKLM.
KLMChannelMapValue< unsigned int > m_HitMapSector
Sector hit map.
unsigned int m_HitNumberBKLMNoHot
Number of hits in BKLM (no hot channels).
const KLMChannelMapValue< unsigned int > & getHitMapModuleNoHot() const
Get module hit map (no hot channels).
unsigned int m_HitNumberEKLMNoHot
Number of hits in EKLM (no hot channels).
KLMChannelStatus * m_ModuleStatus
Module status.
const KLMChannelMapValue< unsigned int > & getHitMapChannel() const
Get channel hit map.
KLM channel status calibration algorithm.
void setForcedCalibration(bool forcedCalibration)
Set whether the calibration is forced (calibrate even for insufficient average number of hits).
double getMinimalAverageHitNumber() const
Get minimal average number of hits per channel required for calibration.
void setMinimalModuleHitNumber(unsigned int minimalModuleHitNumber)
Set minimal number of hits per module for module-based calibration.
~KLMChannelStatusAlgorithm()
Destructor.
bool markHotChannel(KLMChannelNumber channel, unsigned int moduleHits, int activeChannels)
Mark hot channel.
double m_MinimalAverageHitNumber
Minimal average number of hits per channel required for calibration.
bool m_ForcedCalibration
Whether the calibration is forced (calibrate even for insufficient average number of hits).
const KLMElementNumbers * m_ElementNumbers
Element numbers.
void setMinimalHitNumberHotChannel(unsigned int minimalHitNumberHotChannel)
Set inimal number of hits to mark to mark the channel as hot.
unsigned int m_MinimalModuleHitNumber
Minimal module hit number for module-based calibration.
void calibrateChannel(KLMChannelNumber channel)
Calibrate channel.
double m_MinimalHitNumberRatioHotChannel
Minimal ratio of number of hits in this channel and average over other channels in this module to mar...
const Results * getResults() const
Get results.
unsigned int m_MinimalHitNumberHotChannel
Minimal number of hits to mark to mark the channel as hot.
Results m_Results
Calibration results.
void calibrateSector(KLMSectorNumber sector, double averageHitsActiveSector)
Caliobrate sector.
void calibrateModule(KLMModuleNumber module)
Calibrate module.
void setMinimalAverageHitNumber(double minimalAverageHitNumber)
Set minimal average number of hits per channel required for calibration.
void setMaximalLogSectorHitsRatio(double maximalLogSectorHitsRatio)
Set maximal absolute value of the logarithm (base 10) of the ratio of the number of hits in this sect...
KLMChannelStatusAlgorithm()
Constructor.
double m_MaximalLogSectorHitsRatio
Maximal absolute value of the logarithm (base 10) of the ratio of the number of hits in this sector a...
CalibrationAlgorithm::EResult calibrate() override
Calibration.
unsigned int m_MinimalHitNumberSingleHotChannel
Minimal number of hits in a single channel to mark it as hot.
void setMinimalHitNumberRatioHotChannel(double minimalHitNumberRatioHotChannel)
Minimal ratio of number of hits in this channel and average over other channels in this module to mar...
void setMinimalHitNumberSingleHotChannel(unsigned int minimalHitNumberSingleHotChannel)
Set minimal number of hits in a single channel to mark it as hot.
uint16_t KLMSectorNumber
Sector number.
uint16_t KLMChannelNumber
Channel number.
uint16_t KLMModuleNumber
Module number.
Abstract base class for different kinds of events.