ATLAS Offline Software
|
(For experts only) Calibration of TileCal channels and access to calibration factors. More...
#include <TileExpertToolEmscale.h>
Public Member Functions | |
TileExpertToolEmscale (const std::string &type, const std::string &name, const IInterface *parent) | |
virtual | ~TileExpertToolEmscale () |
float | channelCalib (unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT rawDataUnitIn, TileRawChannelUnit::UNIT rawDataUnitOut) const |
float | doCalibEms (unsigned int drawerIdx, unsigned int channel, float amplitude) const |
float | doCalibCes (unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr=true) const |
float | doCalibLas (unsigned int drawerIdx, unsigned int channel, float amplitude) const |
float | doCalibCis (unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const |
float | channelCalibOnl (unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT onlUnit) const |
float | doCalibEmsOnl (unsigned int drawerIdx, unsigned int channel, float amplitude) const |
float | doCalibCesOnl (unsigned int drawerIdx, unsigned int channel, float amplitude, bool applyLasCorr=true) const |
float | doCalibLasOnl (unsigned int drawerIdx, unsigned int channel, float amplitude) const |
float | doCalibCisOnl (unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude) const |
float | undoOnlCalib (unsigned int drawerIdx, unsigned int channel, unsigned int adc, float amplitude, TileRawChannelUnit::UNIT onlUnit) const |
float | getLasPartition (unsigned int drawerIdx) const |
void | setEmOptions (const TileEmscaleCalibOptions &emOptions) |
virtual StatusCode | initialize () override |
virtual StatusCode | finalize () override |
float | getCesRefLas (unsigned int drawerIdx, unsigned int channel, unsigned int adc) const |
Returns the PMT gain reference as measured by the laser system. More... | |
float | getCesRefHv (unsigned int drawerIdx, unsigned int channel) const |
Returns the reference PMT HV set in last cesium calibration. More... | |
float | getCesRefTemp (unsigned int drawerIdx, unsigned int channel) const |
Returns the drawer temperature as measured during last cesium equalization. More... | |
float | getLasFiber (unsigned int drawerIdx, unsigned int channel) const |
Returns laser fiber relative variation. More... | |
float | getLasRefHv (unsigned int drawerIdx, unsigned int channel) const |
Returns the reference PMT HV from appropriate laser calibration. More... | |
TileRawChannelUnit::UNIT | getOnlCacheUnit () const |
Returns the unit of cached online calibration constants. More... | |
ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | evtStore () const |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc . More... | |
const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc . More... | |
virtual StatusCode | sysInitialize () override |
Perform system initialization for an algorithm. More... | |
virtual StatusCode | sysStart () override |
Handle START transition. More... | |
virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
Return this algorithm's input handles. More... | |
virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
Return this algorithm's output handles. More... | |
Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T > &t) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKey &hndl, const std::string &doc, const SG::VarHandleKeyType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleBase &hndl, const std::string &doc, const SG::VarHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, SG::VarHandleKeyArray &hndArr, const std::string &doc, const SG::VarHandleKeyArrayType &) |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc, const SG::NotHandleType &) |
Declare a new Gaudi property. More... | |
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, T &property, const std::string &doc="none") |
Declare a new Gaudi property. More... | |
void | updateVHKA (Gaudi::Details::PropertyBase &) |
MsgStream & | msg () const |
MsgStream & | msg (const MSG::Level lvl) const |
bool | msgLvl (const MSG::Level lvl) const |
Static Public Member Functions | |
static const InterfaceID & | interfaceID () |
Protected Member Functions | |
void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
remove all handles from I/O resolution More... | |
std::enable_if_t< std::is_void_v< std::result_of_t< decltype(&T::renounce)(T)> > &&!std::is_base_of_v< SG::VarHandleKeyArray, T > &&std::is_base_of_v< Gaudi::DataHandle, T >, void > | renounce (T &h) |
void | extraDeps_update_handler (Gaudi::Details::PropertyBase &ExtraDeps) |
Add StoreName to extra input/output deps as needed. More... | |
Protected Attributes | |
SG::ReadCondHandleKey< TileEMScale > | m_emScaleKey |
Private Types | |
typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &) |
specialization for handling Gaudi::Property<SG::VarHandleKey> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &) |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &) |
specialization for handling Gaudi::Property<SG::VarHandleBase> More... | |
Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &) |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More... | |
Private Attributes | |
bool | m_setOnceCounter |
TileEmscaleCalibOptions | m_emOptions |
StoreGateSvc_t | m_evtStore |
Pointer to StoreGate (event store by default) More... | |
StoreGateSvc_t | m_detStore |
Pointer to StoreGate (detector store by default) More... | |
std::vector< SG::VarHandleKeyArray * > | m_vhka |
bool | m_varHandleArraysDeclared |
(For experts only) Calibration of TileCal channels and access to calibration factors.
This tool has the same functionality as the standard production TileCondToolEmscale tool. For the description of TileExpertToolEmscale methods please consult the file TileCondToolEmscale. The TileExpertToolEmscale tool is in addition able to switch on/off individual calibration corrections. This is set via TileIdentifier/TileEmscaleCalibOptions bitmap. If the calibration correction is switched on, the tool behaves exactly as TileCondToolEmscale, from which it inherits most of the methods. If the calibration correction is switched of (the relevant bit in m_emOptions bitmap is false), the relevant calibration method returns the input amplitude without any change. The value of the bitmap m_emOptions is set only once at the constructor.
Definition at line 26 of file TileExpertToolEmscale.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
TileExpertToolEmscale::TileExpertToolEmscale | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
Definition at line 20 of file TileExpertToolEmscale.cxx.
|
inlinevirtual |
Definition at line 31 of file TileExpertToolEmscale.h.
float TileExpertToolEmscale::channelCalib | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
unsigned int | adc, | ||
float | amplitude, | ||
TileRawChannelUnit::UNIT | rawDataUnitIn, | ||
TileRawChannelUnit::UNIT | rawDataUnitOut | ||
) | const |
Definition at line 31 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::channelCalibOnl | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
unsigned int | adc, | ||
float | amplitude, | ||
TileRawChannelUnit::UNIT | onlUnit | ||
) | const |
Definition at line 166 of file TileExpertToolEmscale.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
|
inlineprivateinherited |
specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray>
Definition at line 199 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleBase
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 245 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
hndl | Object holding the property value. |
doc | Documentation string for the property. |
This is the version for types that derive from SG::VarHandleKey
. The property value object is put on the input and output lists as appropriate; then we forward to the base class.
Definition at line 221 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 259 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This is the generic version, for types that do not derive from SG::VarHandleKey
. It just forwards to the base class version of declareProperty
.
Definition at line 333 of file AthCommonDataStore.h.
|
inlineinherited |
Declare a new Gaudi property.
name | Name of the property. |
property | Object holding the property value. |
doc | Documentation string for the property. |
This dispatches to either the generic declareProperty
or the one for VarHandle/Key/KeyArray.
Definition at line 352 of file AthCommonDataStore.h.
|
inlineinherited |
Definition at line 145 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc/DetectorStore
Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 95 of file AthCommonDataStore.h.
float TileExpertToolEmscale::doCalibCes | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
float | amplitude, | ||
bool | applyLasCorr = true |
||
) | const |
Definition at line 116 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::doCalibCesOnl | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
float | amplitude, | ||
bool | applyLasCorr = true |
||
) | const |
Definition at line 217 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::doCalibCis | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
unsigned int | adc, | ||
float | amplitude | ||
) | const |
Definition at line 147 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::doCalibCisOnl | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
unsigned int | adc, | ||
float | amplitude | ||
) | const |
Definition at line 241 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::doCalibEms | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
float | amplitude | ||
) | const |
Definition at line 105 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::doCalibEmsOnl | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
float | amplitude | ||
) | const |
Definition at line 205 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::doCalibLas | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
float | amplitude | ||
) | const |
Definition at line 128 of file TileExpertToolEmscale.cxx.
float TileExpertToolEmscale::doCalibLasOnl | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
float | amplitude | ||
) | const |
Definition at line 229 of file TileExpertToolEmscale.cxx.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 85 of file AthCommonDataStore.h.
|
inlineinherited |
The standard StoreGateSvc
(event store) Returns (kind of) a pointer to the StoreGateSvc
.
Definition at line 90 of file AthCommonDataStore.h.
|
protectedinherited |
Add StoreName to extra input/output deps as needed.
use the logic of the VarHandleKey to parse the DataObjID keys supplied via the ExtraInputs and ExtraOuputs Properties to add the StoreName if it's not explicitly given
|
overridevirtualinherited |
Definition at line 48 of file TileCondToolEmscale.cxx.
|
inherited |
Returns the reference PMT HV set in last cesium calibration.
drawerIdx | Drawer index |
channel | Tile channel |
Definition at line 170 of file TileCondToolEmscale.cxx.
|
inherited |
Returns the PMT gain reference as measured by the laser system.
Continous PMT gain measurements with the laser system enable to correct for PMT gain drifts between cesium calibration runs. Corrections are applied relative to the PMT gain measured by the laser system directly after the last cesium equalization.
drawerIdx | Drawer index |
channel | Tile channel |
adc | Gain |
Definition at line 161 of file TileCondToolEmscale.cxx.
|
inherited |
Returns the drawer temperature as measured during last cesium equalization.
drawerIdx | Drawer index |
channel | Tile channel |
Definition at line 179 of file TileCondToolEmscale.cxx.
|
inherited |
Returns laser fiber relative variation.
drawerIdx | Drawer index |
channel | Tile channel |
Definition at line 188 of file TileCondToolEmscale.cxx.
float TileExpertToolEmscale::getLasPartition | ( | unsigned int | drawerIdx | ) | const |
Definition at line 284 of file TileExpertToolEmscale.cxx.
|
inherited |
Returns the reference PMT HV from appropriate laser calibration.
drawerIdx | Drawer index |
channel | Tile channel |
Definition at line 206 of file TileCondToolEmscale.cxx.
|
inherited |
Returns the unit of cached online calibration constants.
Definition at line 216 of file TileCondToolEmscale.cxx.
|
overridevirtualinherited |
Definition at line 39 of file TileCondToolEmscale.cxx.
|
overridevirtualinherited |
Return this algorithm's input handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
static |
Definition at line 14 of file TileExpertToolEmscale.cxx.
|
inlineinherited |
Definition at line 24 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 27 of file AthCommonMsg.h.
|
inlineinherited |
Definition at line 30 of file AthCommonMsg.h.
|
overridevirtualinherited |
Return this algorithm's output handles.
We override this to include handle instances from key arrays if they have not yet been declared. See comments on updateVHKA.
|
inlineprotectedinherited |
Definition at line 380 of file AthCommonDataStore.h.
|
inlineprotectedinherited |
remove all handles from I/O resolution
Definition at line 364 of file AthCommonDataStore.h.
void TileExpertToolEmscale::setEmOptions | ( | const TileEmscaleCalibOptions & | emOptions | ) |
Definition at line 296 of file TileExpertToolEmscale.cxx.
|
overridevirtualinherited |
Perform system initialization for an algorithm.
We override this to declare all the elements of handle key arrays at the end of initialization. See comments on updateVHKA.
Reimplemented in DerivationFramework::CfAthAlgTool, AthCheckedComponent< AthAlgTool >, AthCheckedComponent<::AthAlgTool >, and asg::AsgMetadataTool.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
float TileExpertToolEmscale::undoOnlCalib | ( | unsigned int | drawerIdx, |
unsigned int | channel, | ||
unsigned int | adc, | ||
float | amplitude, | ||
TileRawChannelUnit::UNIT | onlUnit | ||
) | const |
Definition at line 253 of file TileExpertToolEmscale.cxx.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
Definition at line 58 of file TileExpertToolEmscale.h.
|
protectedinherited |
Definition at line 259 of file TileCondToolEmscale.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
private |
Definition at line 57 of file TileExpertToolEmscale.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.