|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TILECONDITIONS_TILEEMSCALE_H
6 #define TILECONDITIONS_TILEEMSCALE_H
128 float amplitude,
bool applyLasCorr =
true)
const;
170 float amplitude)
const;
182 float amplitude)
const;
194 float amplitude)
const;
232 float amplitude,
bool applyLasCorr =
true)
const;
254 float amplitude)
const;
441 return m_onlCacheUnit;
464 #endif // TILECONDITIONS_TILEEMSCALE_H
void setCalibOnlLas(std::unique_ptr< TileCalibDataFlt > calibData)
std::vector< float > m_onlCache
Condition object to keep calibration factors of TileCal channels.
TileRawChannelUnit::UNIT m_onlCacheUnit
float getCesiumReferenceTemperature(unsigned int drawerIdx, unsigned int channel) const
Return the drawer temperature as measured during last cesium equalization.
bool checkIfOflLaserLinearCalibrationUsed() const
Check if offline linear laser calibration will be used.
float applyOnlineCesiumCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr=true) const
Apply online cesium calibration constant.
void setCalibOnlEms(std::unique_ptr< TileCalibDataFlt > calibData)
Hold mappings of ranges to condition objects.
std::unique_ptr< TileCalibDataFlt > m_calibOnlLas
float getCesiumReferenceLaserGain(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Return the PMT gain reference as measured by the laser system.
float applyOnlineEMScaleCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Calibrate online chnnel to EM scale: Equalized pC -> MeV.
float getOnlineCalibration(unsigned int drawerIdx, unsigned int channel, unsigned int adc, TileRawChannelUnit::UNIT onlUnit) const
Return the calibration constant applied in the DSP.
float applyLaserCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Apply laser correction.
TileRawChannelUnit::UNIT getOnlineCacheUnit() const
Return the unit of cached online calibration constants.
float applyChargeNonLinearCalibration(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const
Apply CIS non-linear calibration: ADC counts -> pC.
void setCalibOflCes(std::unique_ptr< TileCalibDataFlt > calibData)
std::unique_ptr< TileCalibDataFlt > m_calibOnlCis
float applyChargLinearCalibration(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const
Apply CIS linear calibration: ADC counts -> pC.
void setOnlineCacheUnit(TileRawChannelUnit::UNIT onlCacheUnit)
Set online cache unit.
float applyOnlineLaserCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Apply online laser (PMT linearity) correction.
unsigned int m_drawerCacheSize
void setMaxChannels(unsigned int maxChannels)
void setCalibOflCisNln(std::unique_ptr< TileCalibDataFlt > calibData)
void setMaxGains(unsigned int maxGains)
std::unique_ptr< TileCalibDataFlt > m_calibOnlCes
float calibrateChannel(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT rawDataUnitIn, TileRawChannelUnit::UNIT rawDataUnitOut) const
Calibrate a Tile channel.
std::unique_ptr< TileCalibDataFlt > m_calibOflCes
void setCalibOnlCis(std::unique_ptr< TileCalibDataFlt > calibData)
float getLaserReferenceHV(unsigned int drawerIdx, unsigned int channel) const
Returns the reference PMT HV from appropriate laser calibration.
void setCalibOflLasLin(std::unique_ptr< TileCalibDataFlt > calibData)
float applyChargeCalibration(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const
Apply CIS calibration: ADC counts -> pC.
std::unique_ptr< TileCalibDataFlt > m_calibOflLasNln
std::unique_ptr< TileCalibDataFlt > m_calibOflEms
float applyLaserLinearCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Apply laser (PMT linearity) correction.
CONDCONT_DEF(TileEMScale, 177875727)
void setCalibOnlCes(std::unique_ptr< TileCalibDataFlt > calibData)
std::unique_ptr< TileCalibDataFlt > m_calibOflCisLin
std::unique_ptr< TileCalibDataFlt > m_calibOflLasLin
float applyCesiumCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr=true) const
Apply cesium calibration constant.
void setCalibOflEms(std::unique_ptr< TileCalibDataFlt > calibData)
float getLaserPartitionVariation(unsigned int drawerIdx) const
Return laser partition relative variation.
float getLaserFiberVariation(unsigned int drawerIdx, unsigned int channel) const
Return laser fiber relative variation.
std::unique_ptr< TileCalibDataFlt > m_calibOflCisNln
void setCalibOflCisLin(std::unique_ptr< TileCalibDataFlt > calibData)
std::unique_ptr< TileCalibDataFlt > m_calibOnlEms
float applyLaserNonLinearCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Apply laser (PMT nonlinearity) correction.
float undoOnlineChannelCalibration(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT onlUnit) const
Undo the calibration applied in ROD signal reconstruction.
void setCalibOflLasFib(std::unique_ptr< TileCalibDataFlt > calibData)
float applyOnlineChargeCalibration(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const
Apply online CIS calibration: ADC counts -> pC.
#define CLASS_DEF(NAME, CID, VERSION)
associate a clid and a version to a type eg
void resetOnlineCache()
Recache the total online calibration constant applied in ROD.
float calibrateOnlineChannel(unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT onlUnit) const
Calibrate an online Tile channel from OnlineADCcounts to an arbitrary Online unit,...
bool checkIfOflLaserNonLinearCalibrationUsed() const
Check if offline nonlinear laser calibration will be used.
unsigned int m_maxChannels
float getCesiumReferenceHV(unsigned int drawerIdx, unsigned int channel) const
Return the reference PMT HV set in last cesium calibration.
macros to associate a CLID to a type
float applyEMScaleCalibration(unsigned int drawerIdx, unsigned int channel, float amplitude) const
Calibrate a Tile channel to EM scale: Equalized pC -> MeV.
void setCalibOflLasNln(std::unique_ptr< TileCalibDataFlt > calibData)
unsigned int getCacheIndex(unsigned int drawerIdx, unsigned int channel, unsigned int adc) const
Return cache index used for online calibration constants.
std::unique_ptr< TileCalibDataFlt > m_calibOflLasFib