|
ATLAS Offline Software
|
Condition algorithm to prepare TileDCSState object and put it into condition store.
More...
#include <TileDCSCondAlg.h>
|
| 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 StatusCode | sysInitialize () override |
| Override sysInitialize. More...
|
|
virtual bool | isClonable () const override |
| Specify if the algorithm is clonable. More...
|
|
virtual unsigned int | cardinality () const override |
| Cardinality (Maximum number of clones that can exist) special value 0 means that algorithm is reentrant. More...
|
|
virtual StatusCode | sysExecute (const EventContext &ctx) override |
| Execute an algorithm. More...
|
|
virtual const DataObjIDColl & | extraOutputDeps () const override |
| Return the list of extra output dependencies. More...
|
|
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 . 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 | 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 |
|
|
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. More...
|
|
int | readBadHV (const std::string &fileName) |
| Read special deltas for few unstable PMTs. More...
|
|
StatusCode | fillReferenceHV (TileDCSState &dcsState, SG::WriteCondHandle< TileDCSState > &wh, const EventContext &ctx) const |
| Store reference HV from Tile CES or Laser DB folder in TileDCSState. More...
|
|
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 More...
|
|
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...
|
|
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.
◆ StoreGateSvc_t
◆ TileLimits
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.
◆ TileModuleType
Enumerator |
---|
LONG_BARREL | |
EXTENDED_BARREL | |
EXTENDED_BARREL_NO_D4 | |
EXTENDED_BARREL_SPECIAL_C10 | |
Definition at line 45 of file TileDCSCondAlg.h.
◆ TileDCSCondAlg()
TileDCSCondAlg::TileDCSCondAlg |
( |
const std::string & |
name, |
|
|
ISvcLocator * |
pSvcLocator |
|
) |
| |
◆ ~TileDCSCondAlg()
virtual TileDCSCondAlg::~TileDCSCondAlg |
( |
| ) |
|
|
virtualdefault |
◆ cardinality()
unsigned int AthReentrantAlgorithm::cardinality |
( |
| ) |
const |
|
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.
Override this to return 0 for reentrant algorithms.
Definition at line 55 of file AthReentrantAlgorithm.cxx.
◆ declareGaudiProperty() [1/4]
specialization for handling Gaudi::Property<SG::VarHandleKeyArray>
Definition at line 170 of file AthCommonDataStore.h.
175 hndl.documentation());
◆ declareGaudiProperty() [2/4]
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition at line 156 of file AthCommonDataStore.h.
161 hndl.documentation());
◆ declareGaudiProperty() [3/4]
specialization for handling Gaudi::Property<SG::VarHandleBase>
Definition at line 184 of file AthCommonDataStore.h.
189 hndl.documentation());
◆ declareGaudiProperty() [4/4]
◆ declareProperty() [1/6]
Declare a new Gaudi property.
- Parameters
-
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.
250 this->declare(hndl.
vhKey());
251 hndl.
vhKey().setOwner(
this);
◆ declareProperty() [2/6]
Declare a new Gaudi property.
- Parameters
-
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.
◆ declareProperty() [3/6]
◆ declareProperty() [4/6]
Declare a new Gaudi property.
- Parameters
-
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.
◆ declareProperty() [5/6]
Declare a new Gaudi property.
- Parameters
-
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.
◆ declareProperty() [6/6]
◆ detStore()
◆ evtStore() [1/2]
◆ evtStore() [2/2]
◆ execute()
StatusCode TileDCSCondAlg::execute |
( |
const EventContext & |
ctx | ) |
const |
|
overridevirtual |
Definition at line 111 of file TileDCSCondAlg.cxx.
115 if (dcsState.isValid()) {
116 ATH_MSG_DEBUG(
"Found valid TileDCSState: " << dcsState.key());
117 return StatusCode::SUCCESS;
120 std::unique_ptr<TileDCSState> dcsStateData = std::make_unique<TileDCSState>();
127 dcsState.addDependency(hv);
132 const std::pair<int, int> rosDrawerPair =
m_rosDrawerHV.at(coolChannel);
133 unsigned int ros = rosDrawerPair.first;
134 unsigned int drawer = rosDrawerPair.second;
138 <<
", COOL channel: " << coolChannel
139 <<
", payload: " << chanAttrListPair.second);
143 for (
const coral::Attribute& attribute : chanAttrListPair.second) {
157 dcsState.addDependency(hvSet);
163 unsigned int ros = rosDrawerPair.first;
164 unsigned int drawer = rosDrawerPair.second;
168 <<
", COOL channel: " << coolChannel
169 <<
", payload: " << chanAttrListPair.second);
173 for (
const coral::Attribute& attribute : chanAttrListPair.second) {
176 ATH_MSG_VERBOSE(
"HVSET[" << pmt0 <<
"] = " << attribute.data<
float>() );
190 dcsState.addDependency(
states);
196 unsigned int ros = rosDrawerPair.first;
197 unsigned int drawer = rosDrawerPair.second;
201 <<
", COOL channel: " << coolChannel
202 <<
", payload: " << chanAttrListPair.second);
204 for (
const coral::Attribute& attribute : chanAttrListPair.second) {
219 int specialModuleType(moduleType);
237 if (hvSet >= 1.0 && hv >= 0.0
238 && hvSet < 999.9 && hv < 999.9) {
240 std::map<int, std::pair<float, float>>::const_iterator itr =
246 std::fabs(hvSet + itr->second.second - hv) : std::fabs(hvSet - hv);
252 float hvGap = std::fabs(hvSet - hv);
277 <<
" Status = " << drawerStatus <<
endmsg;
286 <<
" pmt = " << pmt0 + 1
298 if(dcsState.record(std::move(dcsStateData)).isFailure()) {
302 <<
" with EventRange " << dcsState.getRange()
303 <<
" into Conditions Store");
305 return StatusCode::FAILURE;
310 <<
" with EventRange " << dcsState.getRange()
311 <<
" into Conditions Store");
314 return StatusCode::SUCCESS;
◆ extraDeps_update_handler()
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
◆ extraOutputDeps()
const DataObjIDColl & AthReentrantAlgorithm::extraOutputDeps |
( |
| ) |
const |
|
overridevirtualinherited |
Return the list of extra output dependencies.
This list is extended to include symlinks implied by inheritance relations.
Definition at line 79 of file AthReentrantAlgorithm.cxx.
86 return Algorithm::extraOutputDeps();
◆ fillReferenceHV()
Store reference HV from Tile CES or Laser DB folder in TileDCSState.
- Parameters
-
[out] | dcsState | TileDCSState to store reference HV |
[out] | eventRange | Event range within which reference HV is valid |
Definition at line 480 of file TileDCSCondAlg.cxx.
485 wh.addDependency(emScale);
487 float laserReferenceHV = -5.;
488 float cesReferenceHV = -5.;
499 cesReferenceHV = emScale->getCesiumReferenceHV(drawerIdx,
channel);
500 laserReferenceHV = emScale->getLaserReferenceHV(drawerIdx,
channel);
502 if (laserReferenceHV >= 0.) {
511 <<
" pmt = " << pmt0 + 1
514 if (laserReferenceHV >= 0.) {
516 << cesReferenceHV <<
" cesium value)" <<
endmsg;
525 return StatusCode::SUCCESS;
◆ filterPassed()
virtual bool AthReentrantAlgorithm::filterPassed |
( |
const EventContext & |
ctx | ) |
const |
|
inlinevirtualinherited |
◆ finalize()
StatusCode TileDCSCondAlg::finalize |
( |
| ) |
|
|
overridevirtual |
◆ getChannelKey()
unsigned int TileDCSCondAlg::getChannelKey |
( |
unsigned int |
ros, |
|
|
unsigned int |
drawer, |
|
|
unsigned int |
channel |
|
) |
| const |
|
inlineprivate |
@ 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
Definition at line 214 of file TileDCSCondAlg.h.
◆ initialize()
StatusCode TileDCSCondAlg::initialize |
( |
| ) |
|
|
overridevirtual |
Definition at line 30 of file TileDCSCondAlg.cxx.
55 return StatusCode::FAILURE;
62 unsigned int ros = roses[moduleType];
107 return StatusCode::SUCCESS;
◆ inputHandles()
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.
◆ isClonable()
bool AthReentrantAlgorithm::isClonable |
( |
| ) |
const |
|
overridevirtualinherited |
Specify if the algorithm is clonable.
Reentrant algorithms are clonable.
Reimplemented in Simulation::BeamEffectsAlg, InDet::SiTrackerSpacePointFinder, InDet::SCT_Clusterization, InDet::SiSPSeededTrackFinder, SCTRawDataProvider, InDet::GNNSeedingTrackMaker, SCT_PrepDataToxAOD, RoIBResultToxAOD, SCT_CablingCondAlgFromCoraCool, SCT_ReadCalibDataTestAlg, SCT_CablingCondAlgFromText, InDet::SiSPGNNTrackMaker, SCT_ReadCalibChipDataTestAlg, SCT_TestCablingAlg, SCT_ConfigurationConditionsTestAlg, ITkPixelCablingAlg, ITkStripCablingAlg, SCTEventFlagWriter, SCT_ConditionsSummaryTestAlg, SCT_ModuleVetoTestAlg, SCT_MonitorConditionsTestAlg, SCT_LinkMaskingTestAlg, SCT_MajorityConditionsTestAlg, SCT_RODVetoTestAlg, SCT_SensorsTestAlg, SCT_TdaqEnabledTestAlg, SCT_SiliconConditionsTestAlg, SCTSiLorentzAngleTestAlg, SCT_ByteStreamErrorsTestAlg, SCT_ConditionsParameterTestAlg, SCT_FlaggedConditionTestAlg, SCT_StripVetoTestAlg, SCT_RawDataToxAOD, and SCTSiPropertiesTestAlg.
Definition at line 44 of file AthReentrantAlgorithm.cxx.
◆ msg() [1/2]
◆ msg() [2/2]
◆ msgLvl()
◆ outputHandles()
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.
◆ readBadHV()
int TileDCSCondAlg::readBadHV |
( |
const std::string & |
fileName | ) |
|
|
private |
Read special deltas for few unstable PMTs.
- Parameters
-
fileName | name of file with special deltas for few unstable PMTs |
- Returns
- 0 in the case of success
Definition at line 386 of file TileDCSCondAlg.cxx.
389 std::ifstream
file(fullFileName.c_str());
390 if (!
file.is_open()) {
397 std::string partName[5] = {
"AUX",
"LBA",
"LBC",
"EBA",
"EBC" };
409 if (
file.eof() ||
file.fail())
break;
415 if (
pos != std::string::npos)
break;
429 if (
pos == std::string::npos) {
440 pos =
line.find(
"Step Value is");
441 if (
pos == std::string::npos) {
447 if (delta <= 0.0 || delta > 1000.0) {
453 if (
pos == std::string::npos) {
459 if (offset < -1000.0 || offset > 1000.0) {
466 <<
" delta = " << delta
467 <<
" offset = " <<
offset);
◆ readConfig()
int TileDCSCondAlg::readConfig |
( |
const std::string & |
fileName, |
|
|
const std::string & |
subStr, |
|
|
std::vector< std::pair< int, int >> & |
rosDrawer |
|
) |
| |
|
private |
Read mapping of DB COOL channels into Tile ROS and drawer pairs.
- Parameters
-
| 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 |
- Returns
- 0 in the case of success
Definition at line 321 of file TileDCSCondAlg.cxx.
326 std::ifstream
file(fullFileName.c_str());
327 if (!
file.is_open()) {
334 rosDrawer.resize(257, std::make_pair<int, int>(0xFFFF, 0xFFFF));
336 std::string
compName[5] = {
"XXX",
"ATLTILLV01",
"ATLTILLV02",
"ATLTILLV00",
"ATLTILLV03" };
346 if (
file.eof() ||
file.fail())
break;
350 if (
pos != std::string::npos)
break;
359 if (
pos == std::string::npos) {
372 if (rosDrawer.size() <=
ind) {
373 rosDrawer.resize(
ind + 1, std::make_pair<int, int> (0xFFFF, 0xFFFF));
376 rosDrawer[
ind] = std::make_pair<int, int>(
ros, (
module - 1));
◆ renounce()
◆ renounceArray()
◆ setFilterPassed()
virtual void AthReentrantAlgorithm::setFilterPassed |
( |
bool |
state, |
|
|
const EventContext & |
ctx |
|
) |
| const |
|
inlinevirtualinherited |
◆ sysExecute()
StatusCode AthReentrantAlgorithm::sysExecute |
( |
const EventContext & |
ctx | ) |
|
|
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 67 of file AthReentrantAlgorithm.cxx.
69 return Gaudi::Algorithm::sysExecute (ctx);
◆ sysInitialize()
StatusCode AthReentrantAlgorithm::sysInitialize |
( |
| ) |
|
|
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 InputMakerBase, and HypoBase.
Definition at line 96 of file AthReentrantAlgorithm.cxx.
107 if ( cs.retrieve().isFailure() ) {
109 return StatusCode::SUCCESS;
111 if (cs->regHandle(
this,*
h).isFailure()) {
112 sc = StatusCode::FAILURE;
113 ATH_MSG_ERROR(
"unable to register WriteCondHandle " <<
h->fullKey()
◆ sysStart()
Handle START transition.
We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.
◆ updateVHKA()
◆ m_cabling
◆ m_cablingSvc
Initial value:{ this,
"TileCablingSvc", "TileCablingSvc", "The Tile cabling service" }
Name of Tile cabling service.
Definition at line 194 of file TileDCSCondAlg.h.
◆ m_channel2pmt
◆ m_dcsChHvInCool
Gaudi::Property<std::string> TileDCSCondAlg::m_dcsChHvInCool |
|
private |
Initial value:{this,
"DCSChHVInCOOL", "DCSChHVInCOOL.dat",
"File name with mapping Tile DCS HV DB COOL channels to ROS and drawer"}
File name with mapping Tile DCS HV DB COOL channels to ROS and drawer.
Definition at line 173 of file TileDCSCondAlg.h.
◆ m_dcsChHvSetInCool
Gaudi::Property<std::string> TileDCSCondAlg::m_dcsChHvSetInCool |
|
private |
Initial value:{this,
"DCSChHVSETInCOOL", "DCSChHVSETInCOOL.dat",
"File name with mapping Tile DCS HVSET DB COOL channels to ROS and drawer"}
File name with mapping Tile DCS HVSET DB COOL channels to ROS and drawer.
Definition at line 180 of file TileDCSCondAlg.h.
◆ m_dcsChStatesInCool
Gaudi::Property<std::string> TileDCSCondAlg::m_dcsChStatesInCool |
|
private |
Initial value:{this,
"DCSChStatesInCOOL", "DCSChStatesInCOOL.dat",
"File name with mapping Tile DCS STATES DB COOL channels to ROS and drawer"}
File name with mapping Tile DCS STATES DB COOL channels to ROS and drawer.
Definition at line 187 of file TileDCSCondAlg.h.
◆ m_dcsStateKey
Initial value:{this,
"TileDCS", "TileDCS", "Output Tile DCS status"}
The name of TileDCSState object to produce and put into condition store.
Definition at line 111 of file TileDCSCondAlg.h.
◆ m_detStore
◆ m_emScaleKey
Initial value:{this,
"TileEMScale", "TileEMScale", "Input Tile EMS conditions"}
The name of TileEMScale object to get reference HV from Cesium or Laser folder.
Definition at line 117 of file TileDCSCondAlg.h.
◆ m_evtStore
◆ m_extendedExtraObjects
DataObjIDColl AthReentrantAlgorithm::m_extendedExtraObjects |
|
privateinherited |
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Empty if no symlinks were found.
Definition at line 153 of file AthReentrantAlgorithm.h.
◆ m_goodDrawer
Gaudi::Property<int> TileDCSCondAlg::m_goodDrawer |
|
private |
Initial value:{this, "GoodDrawer", 212222,
"Status is OK if Tile DCS drawer states is like this"}
Status is OK if Tile DCS drawer states is like this.
Definition at line 155 of file TileDCSCondAlg.h.
◆ m_goodHVLimit
Gaudi::Property<float> TileDCSCondAlg::m_goodHVLimit |
|
private |
Initial value:{this, "GoodHVLimit", 2.0F,
"Status is OK if HV difference is below this limit"}
Tile DCS Status is OK if difference between measured and requested HV is below this limit.
Definition at line 142 of file TileDCSCondAlg.h.
◆ m_hvKey
Initial value:{this,
"HV", "/TILE/DCS/HV", "The Tile DCS HV COOL folder name"}
The Tile DCS HV COOL folder name.
Definition at line 93 of file TileDCSCondAlg.h.
◆ m_hvSetKey
Initial value:{this,
"HVSET", "/TILE/DCS/HVSET", "The Tile DCS HVSET COOL folder name"}
The Tile DCS HVSET COOL folder name.
Definition at line 99 of file TileDCSCondAlg.h.
◆ m_isChannelUsed
◆ m_knownBadHV
std::map<int, std::pair<float,float> > TileDCSCondAlg::m_knownBadHV |
|
private |
◆ m_pmt2channel
◆ m_readHV
Gaudi::Property<bool> TileDCSCondAlg::m_readHV |
|
private |
Initial value:{this, "ReadHV", true,
"Flag to control reading Tile DCS HV folder from DB"}
Flag to control reading Tile DCS HV folder from DB.
Definition at line 123 of file TileDCSCondAlg.h.
◆ m_readHVSet
Gaudi::Property<bool> TileDCSCondAlg::m_readHVSet |
|
private |
Initial value:{this, "ReadHVSET", false,
"Flag to control reading Tile DCS HVSET folder from DB"}
Flag to control reading Tile DCS HVSET folder from DB.
Definition at line 129 of file TileDCSCondAlg.h.
◆ m_readStates
Gaudi::Property<bool> TileDCSCondAlg::m_readStates |
|
private |
Initial value:{this, "ReadSTATES", true,
"Flag to control reading Tile DCS STATES folder from DB"}
Flag to control reading Tile DCS STATES folder from DB.
Definition at line 135 of file TileDCSCondAlg.h.
◆ m_rosDrawerHV
std::vector<std::pair<int, int> > TileDCSCondAlg::m_rosDrawerHV |
|
private |
◆ m_rosDrawerHVSet
std::vector<std::pair<int, int> > TileDCSCondAlg::m_rosDrawerHVSet |
|
private |
◆ m_rosDrawerStates
std::vector<std::pair<int, int> > TileDCSCondAlg::m_rosDrawerStates |
|
private |
◆ m_statesKey
Initial value:{this,
"STATES", "/TILE/DCS/STATES", "The Tile DCS STATES COOL folder name"}
The Tile DCS STATES COOL folder name.
Definition at line 105 of file TileDCSCondAlg.h.
◆ m_varHandleArraysDeclared
◆ m_vhka
◆ m_warningDrawer
Gaudi::Property<std::vector<int> > TileDCSCondAlg::m_warningDrawer |
|
private |
Initial value:{this, "WarningDrawer",
{202221,
202222,
2222,
212020,
202020,
2020},
"Status is WARNING if Tile DCS drawer states is like this"}
Status is WARNING if Tile DCS drawer states is like this.
Definition at line 161 of file TileDCSCondAlg.h.
◆ m_warningHVLimit
Gaudi::Property<float> TileDCSCondAlg::m_warningHVLimit |
|
private |
Initial value:{this, "WarningHVLimit", 10.0F,
"Mask channels with HV difference above this limit"}
Mask channels with difference between measured and requested HV above this limit.
Definition at line 149 of file TileDCSCondAlg.h.
The documentation for this class was generated from the following files:
Gaudi::Property< std::string > m_dcsChHvSetInCool
File name with mapping Tile DCS HVSET DB COOL channels to ROS and drawer.
@ EXTENDED_BARREL_SPECIAL_C10
float getChannelHVSet(unsigned int ros, unsigned int drawer, unsigned int channel) const
Return requested HV reported by DCS for given Tile channel.
std::vector< std::pair< int, int > > m_rosDrawerStates
int m_channel2pmt[2][NUMBER_OF_HVSET_CHANNELS]
std::vector< std::pair< int, int > > m_rosDrawerHV
static std::string find_file(const std::string &logical_file_name, const std::string &search_path, SearchType search_type=LocalSearch)
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
float getChannelHV(unsigned int ros, unsigned int drawer, unsigned int channel) const
Return measured HV reported by DCS for given Tile channel.
void setDCSHVStatus(unsigned int ros, unsigned int drawer, unsigned int channel, TileDCSStatus status)
Store TileDCSstatus for given Tile channel determined by deviation between measured and requested HV.
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 setChannelHV(unsigned int ros, unsigned int drawer, unsigned int channel, float hv)
Store measured HV reported by DCS for given Tile channel.
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
std::vector< SG::VarHandleKeyArray * > m_vhka
Gaudi::Property< std::vector< int > > m_warningDrawer
Status is WARNING if Tile DCS drawer states is like this.
bool msgLvl(const MSG::Level lvl) const
TileDCSStatus getDCSHVStatus(unsigned int ros, unsigned int drawer, unsigned int channel) const
Return TileDCSstatus for given Tile channel determined by deviation between measured and requested HV...
#define ATH_MSG_VERBOSE(x)
const std::string & key() const
Return the StoreGate ID for the referenced object.
ChanAttrListMap::value_type ChanAttrListPair
int readBadHV(const std::string &fileName)
Read special deltas for few unstable PMTs.
Gaudi::Property< std::string > m_dcsChHvInCool
File name with mapping Tile DCS HV DB COOL channels to ROS and drawer.
Gaudi::Property< float > m_goodHVLimit
Tile DCS Status is OK if difference between measured and requested HV is below this limit.
const TileCablingService * m_cabling
static const unsigned int MAX_DRAWER
Number of drawers in ROS 1-4.
virtual void setOwner(IDataHandleHolder *o)=0
@ NUMBER_OF_SPECIAL_MODULE_TYPES
void setDrawerStates(unsigned int ros, unsigned int drawer, int states)
Store Tile drawer summary states per LVPS reported by DCS.
int m_pmt2channel[2][NUMBER_OF_HVSET_CHANNELS]
TileDCSStatus
Describes Tile DCS status.
StatusCode fillReferenceHV(TileDCSState &dcsState, SG::WriteCondHandle< TileDCSState > &wh, const EventContext &ctx) const
Store reference HV from Tile CES or Laser DB folder in TileDCSState.
AthReentrantAlgorithm()
Default constructor:
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.
SG::ReadCondHandleKey< CondAttrListCollection > m_hvSetKey
The Tile DCS HVSET COOL folder name.
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
void setChannelHVSet(unsigned int ros, unsigned int drawer, unsigned int channel, float hvSet)
Store requested HV reported by DCS for given Tile channel.
void setGoodDrawer(int goodDrawer)
Store good Tile drawer summary states per LVPS as reference.
::StatusCode StatusCode
StatusCode definition for legacy code.
void setWarningDrawer(const std::vector< int > &warningDrawer)
Store vector of warning Tile drawer summary states per LVPS as reference.
Gaudi::Property< bool > m_readHV
Flag to control reading Tile DCS HV folder from DB.
SG::ReadCondHandleKey< CondAttrListCollection > m_statesKey
The Tile DCS STATES COOL folder name.
SG::ReadCondHandleKey< CondAttrListCollection > m_hvKey
The Tile DCS HV COOL folder name.
Gaudi::Property< float > m_warningHVLimit
Mask channels with difference between measured and requested HV above this limit.
bool m_isChannelUsed[4][NUMBER_OF_CHANNELS]
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
static const unsigned int MAX_ROS
Number of ROSs
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
TileDCSStatus setDCSStatus(unsigned int ros, unsigned int drawer, unsigned int channel, TileDCSStatus status)
Store TileDCSstatus for given Tile channel determined by summary states per LVPS and deviation betwee...
double atof(std::string_view str)
Converts a string into a double / float.
virtual void renounce()=0
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Gaudi::Property< std::string > m_dcsChStatesInCool
File name with mapping Tile DCS STATES DB COOL channels to ROS and drawer.
std::vector< std::pair< int, int > > m_rosDrawerHVSet
virtual StatusCode sysInitialize() override
Override sysInitialize.
StatusCode initialize(bool used=true)
static std::string getDrawerString(unsigned int ros, unsigned int drawer)
Return the drawer name, e.g.
static bool C10_connected(int module)
#define ATH_MSG_WARNING(x)
ServiceHandle< TileCablingSvc > m_cablingSvc
Name of Tile cabling service.
static int channel2hole(int ros, int channel)
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
std::map< int, std::pair< float, float > > m_knownBadHV
SG::WriteCondHandleKey< TileDCSState > m_dcsStateKey
The name of TileDCSState object to produce and put into condition store.
static unsigned int getDrawerIdx(unsigned int ros, unsigned int drawer)
Returns a drawer hash.
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....
static const unsigned int MAX_CHAN
Number of channels in drawer.
Gaudi::Property< int > m_goodDrawer
Status is OK if Tile DCS drawer states is like this.
SG::ReadCondHandleKey< TileEMScale > m_emScaleKey
The name of TileEMScale object to get reference HV from Cesium or Laser folder.
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
@ NUMBER_OF_HVSET_CHANNELS
Gaudi::Property< bool > m_readStates
Flag to control reading Tile DCS STATES folder from DB.
Gaudi::Property< bool > m_readHVSet
Flag to control reading Tile DCS HVSET folder from DB.
TileDCSStatus getDCSStatus(unsigned int ros, unsigned int drawer) const
Return TileDCSstatus for given Tile drawer determined by summary states per LVPS.