![]() |
ATLAS Offline Software
|
Condition algorithm to prepare TileDCSState object and put it into condition store. More...
#include <TileDCSCondAlg.h>
Public Member Functions | |
| TileDCSCondAlg (const std::string &name, ISvcLocator *pSvcLocator) | |
| virtual | ~TileDCSCondAlg ()=default |
| virtual StatusCode | initialize () override |
| virtual StatusCode | execute (const EventContext &ctx) const override |
| virtual StatusCode | finalize () override |
| virtual bool | isReEntrant () const override |
| Avoid scheduling algorithm multiple times. | |
| virtual StatusCode | sysInitialize () override |
| Override sysInitialize. | |
| virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. | |
| virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. | |
| virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. | |
| virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. | |
| virtual bool | filterPassed (const EventContext &ctx) const |
| virtual void | setFilterPassed (bool state, const EventContext &ctx) const |
| ServiceHandle< StoreGateSvc > & | evtStore () |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc. | |
| const ServiceHandle< StoreGateSvc > & | detStore () const |
The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc. | |
| virtual StatusCode | sysStart () override |
| Handle START transition. | |
| virtual std::vector< Gaudi::DataHandle * > | inputHandles () const override |
| Return this algorithm's input handles. | |
| virtual std::vector< Gaudi::DataHandle * > | outputHandles () const override |
| Return this algorithm's output handles. | |
| Gaudi::Details::PropertyBase & | declareProperty (Gaudi::Property< T, V, H > &t) |
| void | updateVHKA (Gaudi::Details::PropertyBase &) |
| MsgStream & | msg () const |
| bool | msgLvl (const MSG::Level lvl) const |
Protected Member Functions | |
| void | renounceArray (SG::VarHandleKeyArray &handlesArray) |
| remove all handles from I/O resolution | |
| 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. | |
Private Types | |
| enum | TileModuleType { LONG_BARREL = 0 , EXTENDED_BARREL = 1 , EXTENDED_BARREL_NO_D4 = 2 , EXTENDED_BARREL_SPECIAL_C10 = 3 } |
| enum | TileLimits { NUMBER_OF_CHANNELS = 48 , NUMBER_OF_HVSET_CHANNELS = 68 , NUMBER_OF_MODULE_TYPES = 2 , NUMBER_OF_SPECIAL_MODULE_TYPES = 4 } |
| typedef ServiceHandle< StoreGateSvc > | StoreGateSvc_t |
Private Member Functions | |
| int | readConfig (const std::string &fileName, const std::string &subStr, std::vector< std::pair< int, int > > &rosDrawer) |
| Read mapping of DB COOL channels into Tile ROS and drawer pairs. | |
| int | readBadHV (const std::string &fileName) |
| Read special deltas for few unstable PMTs. | |
| StatusCode | fillReferenceHV (TileDCSState &dcsState, SG::WriteCondHandle< TileDCSState > &wh, const EventContext &ctx) const |
| Store reference HV from Tile CES or Laser DB folder in TileDCSState. | |
| unsigned int | getChannelKey (unsigned int ros, unsigned int drawer, unsigned int channel) const |
| @ brief Return Tile channel key used as index in internal caches @ ros Tile ROS in range [1..4] @ drawer Tile drawer number in range [0..63] @ channel Tile channel number | |
| Gaudi::Details::PropertyBase & | declareGaudiProperty (Gaudi::Property< T, V, H > &hndl, const SG::VarHandleKeyType &) |
| specialization for handling Gaudi::Property<SG::VarHandleKey> | |
Private Attributes | |
| SG::ReadCondHandleKey< CondAttrListCollection > | m_hvKey |
| The Tile DCS HV COOL folder name. | |
| SG::ReadCondHandleKey< CondAttrListCollection > | m_hvSetKey |
| The Tile DCS HVSET COOL folder name. | |
| SG::ReadCondHandleKey< CondAttrListCollection > | m_statesKey |
| The Tile DCS STATES COOL folder name. | |
| SG::WriteCondHandleKey< TileDCSState > | m_dcsStateKey |
| The name of TileDCSState object to produce and put into condition store. | |
| SG::ReadCondHandleKey< TileEMScale > | m_emScaleKey |
| The name of TileEMScale object to get reference HV from Cesium or Laser folder. | |
| Gaudi::Property< bool > | m_readHV |
| Flag to control reading Tile DCS HV folder from DB. | |
| Gaudi::Property< bool > | m_readHVSet |
| Flag to control reading Tile DCS HVSET folder from DB. | |
| Gaudi::Property< bool > | m_readStates |
| Flag to control reading Tile DCS STATES folder from DB. | |
| Gaudi::Property< float > | m_goodHVLimit |
| Tile DCS Status is OK if difference between measured and requested HV is below this limit. | |
| Gaudi::Property< float > | m_warningHVLimit |
| Mask channels with difference between measured and requested HV above this limit. | |
| Gaudi::Property< int > | m_goodDrawer |
| Status is OK if Tile DCS drawer states is like this. | |
| Gaudi::Property< std::vector< int > > | m_warningDrawer |
| Status is WARNING if Tile DCS drawer states is like this. | |
| Gaudi::Property< std::string > | m_dcsChHvInCool |
| File name with mapping Tile DCS HV DB COOL channels to ROS and drawer. | |
| Gaudi::Property< std::string > | m_dcsChHvSetInCool |
| File name with mapping Tile DCS HVSET DB COOL channels to ROS and drawer. | |
| Gaudi::Property< std::string > | m_dcsChStatesInCool |
| File name with mapping Tile DCS STATES DB COOL channels to ROS and drawer. | |
| ServiceHandle< TileCablingSvc > | m_cablingSvc |
| Name of Tile cabling service. | |
| const TileCablingService * | m_cabling {} |
| std::vector< std::pair< int, int > > | m_rosDrawerHV |
| std::vector< std::pair< int, int > > | m_rosDrawerHVSet |
| std::vector< std::pair< int, int > > | m_rosDrawerStates |
| std::map< int, std::pair< float, float > > | m_knownBadHV |
| int | m_channel2pmt [2][NUMBER_OF_HVSET_CHANNELS] = {} |
| int | m_pmt2channel [2][NUMBER_OF_HVSET_CHANNELS] = {} |
| bool | m_isChannelUsed [4][NUMBER_OF_CHANNELS] = {} |
| DataObjIDColl | m_extendedExtraObjects |
| Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. | |
| StoreGateSvc_t | m_evtStore |
| Pointer to StoreGate (event store by default) | |
| StoreGateSvc_t | m_detStore |
| Pointer to StoreGate (detector store by default) | |
| std::vector< SG::VarHandleKeyArray * > | m_vhka |
| bool | m_varHandleArraysDeclared |
Condition algorithm to prepare TileDCSState object and put it into condition store.
This condition algorithm reads information from Tile DCS DB. Reference HV can be get from Tile calibration Cesium or Laser DB folder (by default) instead of from Tile DCS DB. In this case reference HV is used from Laser folder if it is not negative otherwise reference HV is used from Cesium folder. Using this information the algorithm prepares TileDCSState condition object and put it into condition store.
Definition at line 33 of file TileDCSCondAlg.h.
|
privateinherited |
Definition at line 388 of file AthCommonDataStore.h.
|
private |
| Enumerator | |
|---|---|
| NUMBER_OF_CHANNELS | |
| NUMBER_OF_HVSET_CHANNELS | |
| NUMBER_OF_MODULE_TYPES | |
| NUMBER_OF_SPECIAL_MODULE_TYPES | |
Definition at line 51 of file TileDCSCondAlg.h.
|
private |
| Enumerator | |
|---|---|
| LONG_BARREL | |
| EXTENDED_BARREL | |
| EXTENDED_BARREL_NO_D4 | |
| EXTENDED_BARREL_SPECIAL_C10 | |
Definition at line 45 of file TileDCSCondAlg.h.
| TileDCSCondAlg::TileDCSCondAlg | ( | const std::string & | name, |
| ISvcLocator * | pSvcLocator ) |
Definition at line 22 of file TileDCSCondAlg.cxx.
|
virtualdefault |
|
overridevirtualinherited |
Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant.
Override this to return 0 for reentrant algorithms.
Definition at line 75 of file AthCommonReentrantAlgorithm.cxx.
|
inlineprivateinherited |
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 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.
|
inlineinherited |
The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.
Definition at line 85 of file AthCommonDataStore.h.
|
overridevirtual |
Definition at line 111 of file TileDCSCondAlg.cxx.
|
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 |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 94 of file AthCommonReentrantAlgorithm.cxx.
|
private |
Store reference HV from Tile CES or Laser DB folder in TileDCSState.
| [out] | dcsState | TileDCSState to store reference HV |
| [out] | eventRange | Event range within which reference HV is valid |
Definition at line 481 of file TileDCSCondAlg.cxx.
|
inlinevirtualinherited |
Definition at line 96 of file AthCommonReentrantAlgorithm.h.
|
overridevirtual |
Definition at line 530 of file TileDCSCondAlg.cxx.
|
inlineprivate |
|
overridevirtual |
Definition at line 30 of file TileDCSCondAlg.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.
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in InDet::GNNSeedingTrackMaker, InDet::SCT_Clusterization, InDet::SiSPGNNTrackMaker, InDet::SiSPSeededTrackFinder, InDet::SiTrackerSpacePointFinder, ITkPixelCablingAlg, ITkStripCablingAlg, RoIBResultToxAOD, SCT_ByteStreamErrorsTestAlg, SCT_CablingCondAlgFromCoraCool, SCT_CablingCondAlgFromText, SCT_ConditionsParameterTestAlg, SCT_ConditionsSummaryTestAlg, SCT_ConfigurationConditionsTestAlg, SCT_FlaggedConditionTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_PrepDataToxAOD, SCT_RawDataToxAOD, SCT_ReadCalibChipDataTestAlg, SCT_ReadCalibDataTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_SiliconConditionsTestAlg, SCT_StripVetoTestAlg, SCT_TdaqEnabledTestAlg, SCT_TestCablingAlg, SCTEventFlagWriter, SCTRawDataProvider, SCTSiLorentzAngleTestAlg, SCTSiPropertiesTestAlg, and Simulation::BeamEffectsAlg.
Definition at line 68 of file AthCommonReentrantAlgorithm.cxx.
|
inlineoverridevirtualinherited |
Avoid scheduling algorithm multiple times.
With multiple concurrent events, conditions objects often expire simultaneously for all slots. To avoid that the scheduler runs the CondAlg in each slot, we declare it as "non-reentrant". This ensures that the conditions objects are only created once.
In case a particular CondAlg should behave differently, it can override this method again and return true.
Definition at line 39 of file AthCondAlgorithm.h.
|
inlineinherited |
Definition at line 24 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.
|
private |
Read special deltas for few unstable PMTs.
| fileName | name of file with special deltas for few unstable PMTs |
Definition at line 387 of file TileDCSCondAlg.cxx.
|
private |
Read mapping of DB COOL channels into Tile ROS and drawer pairs.
| fileName | name of file with mapping of COOL channels to Tile ROS and drawer pairs | |
| subStr | sub string to look for | |
| [out] | rosDrawer | vector of Tile ROS and drawer pairs indexed by COOL channel |
Definition at line 321 of file TileDCSCondAlg.cxx.
|
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.
|
inlinevirtualinherited |
Definition at line 100 of file AthCommonReentrantAlgorithm.h.
|
overridevirtualinherited |
Execute an algorithm.
We override this in order to work around an issue with the Algorithm base class storing the event context in a member variable that can cause crashes in MT jobs.
Definition at line 85 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Override sysInitialize.
Override sysInitialize from the base class.
Loop through all output handles, and if they're WriteCondHandles, automatically register them and this Algorithm with the CondSvc
Scan through all outputHandles, and if they're WriteCondHandles, register them with the CondSvc
Reimplemented from AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >.
Reimplemented in HypoBase, and InputMakerBase.
Definition at line 61 of file AthCommonReentrantAlgorithm.cxx.
|
overridevirtualinherited |
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
|
inlineinherited |
Definition at line 308 of file AthCommonDataStore.h.
|
private |
Definition at line 197 of file TileDCSCondAlg.h.
|
private |
Definition at line 194 of file TileDCSCondAlg.h.
|
private |
Definition at line 205 of file TileDCSCondAlg.h.
|
private |
File name with mapping Tile DCS HV DB COOL channels to ROS and drawer.
Definition at line 173 of file TileDCSCondAlg.h.
|
private |
File name with mapping Tile DCS HVSET DB COOL channels to ROS and drawer.
Definition at line 180 of file TileDCSCondAlg.h.
|
private |
File name with mapping Tile DCS STATES DB COOL channels to ROS and drawer.
Definition at line 187 of file TileDCSCondAlg.h.
|
private |
The name of TileDCSState object to produce and put into condition store.
Definition at line 111 of file TileDCSCondAlg.h.
|
privateinherited |
Pointer to StoreGate (detector store by default)
Definition at line 393 of file AthCommonDataStore.h.
|
private |
The name of TileEMScale object to get reference HV from Cesium or Laser folder.
Definition at line 117 of file TileDCSCondAlg.h.
|
privateinherited |
Pointer to StoreGate (event store by default)
Definition at line 390 of file AthCommonDataStore.h.
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 114 of file AthCommonReentrantAlgorithm.h.
|
private |
Status is OK if Tile DCS drawer states is like this.
Definition at line 155 of file TileDCSCondAlg.h.
|
private |
Tile DCS Status is OK if difference between measured and requested HV is below this limit.
Definition at line 142 of file TileDCSCondAlg.h.
|
private |
The Tile DCS HV COOL folder name.
Definition at line 93 of file TileDCSCondAlg.h.
|
private |
The Tile DCS HVSET COOL folder name.
Definition at line 99 of file TileDCSCondAlg.h.
|
private |
Definition at line 207 of file TileDCSCondAlg.h.
|
private |
Definition at line 203 of file TileDCSCondAlg.h.
|
private |
Definition at line 206 of file TileDCSCondAlg.h.
|
private |
Flag to control reading Tile DCS HV folder from DB.
Definition at line 123 of file TileDCSCondAlg.h.
|
private |
Flag to control reading Tile DCS HVSET folder from DB.
Definition at line 129 of file TileDCSCondAlg.h.
|
private |
Flag to control reading Tile DCS STATES folder from DB.
Definition at line 135 of file TileDCSCondAlg.h.
|
private |
Definition at line 199 of file TileDCSCondAlg.h.
|
private |
Definition at line 200 of file TileDCSCondAlg.h.
|
private |
Definition at line 201 of file TileDCSCondAlg.h.
|
private |
The Tile DCS STATES COOL folder name.
Definition at line 105 of file TileDCSCondAlg.h.
|
privateinherited |
Definition at line 399 of file AthCommonDataStore.h.
|
privateinherited |
Definition at line 398 of file AthCommonDataStore.h.
|
private |
Status is WARNING if Tile DCS drawer states is like this.
Definition at line 161 of file TileDCSCondAlg.h.
|
private |
Mask channels with difference between measured and requested HV above this limit.
Definition at line 149 of file TileDCSCondAlg.h.