ATLAS Offline Software
Public Member Functions | Protected Member Functions | Private Types | Private Member Functions | Private Attributes | List of all members
MdtCondDbAlg Class Reference

#include <MdtCondDbAlg.h>

Inheritance diagram for MdtCondDbAlg:
Collaboration diagram for MdtCondDbAlg:

Public Member Functions

 MdtCondDbAlg (const std::string &name, ISvcLocator *svc)
 
virtual ~MdtCondDbAlg ()=default
 
virtual StatusCode initialize () override
 
virtual StatusCode execute (const EventContext &) const override
 
virtual bool isReEntrant () const 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
 

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...
 

Private Types

using writeHandle_t = SG::WriteCondHandle< MdtCondDbData >
 
using dataBaseKey_t = SG::ReadCondHandleKey< CondAttrListCollection >
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode loadDependencies (const EventContext &ctx, writeHandle_t &wh) const
 
StatusCode addDHDependency (const EventContext &ctx, const dataBaseKey_t &key, writeHandle_t &wh) const
 
StatusCode loadDataPsHv (const EventContext &ctx, MdtCondDbData &dataOut) const
 
StatusCode loadDataPsLv (const EventContext &ctx, MdtCondDbData &dataOut) const
 
StatusCode loadDataHv (const EventContext &ctx, MdtCondDbData &dataOut) const
 
StatusCode loadDataLv (const EventContext &ctx, MdtCondDbData &dataOut) const
 
StatusCode loadDroppedChambers (const EventContext &ctx, MdtCondDbData &dataOut, bool isMC) const
 
StatusCode loadMcDeadElements (const EventContext &ctx, MdtCondDbData &dataOut) const
 
StatusCode loadMcDeadTubes (const EventContext &ctx, MdtCondDbData &dataOut) const
 
StatusCode loadMcNoisyChannels (const EventContext &ctx, MdtCondDbData &dataOut) const
 
Identifier identifyChamber (std::string chamber) const
 
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

Gaudi::Property< bool > m_isOnline {this, "isOnline", false}
 
Gaudi::Property< bool > m_isData {this, "isData", false}
 
Gaudi::Property< bool > m_isRun1 {this, "isRun1", false}
 
Gaudi::Property< bool > m_checkOnSetPoint {this, "useRun1SetPoints", false}
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 
SG::WriteCondHandleKey< MdtCondDbDatam_writeKey {this, "WriteKey", "MdtCondDbData", "Key of output MDT condition data"}
 
dataBaseKey_t m_readKey_folder_da_pshv
 
dataBaseKey_t m_readKey_folder_da_psv0
 
dataBaseKey_t m_readKey_folder_da_psv1
 
dataBaseKey_t m_readKey_folder_da_pslv
 
dataBaseKey_t m_readKey_folder_da_droppedChambers
 
dataBaseKey_t m_readKey_folder_da_hv
 
dataBaseKey_t m_readKey_folder_da_lv
 
dataBaseKey_t m_readKey_folder_mc_droppedChambers
 
dataBaseKey_t m_readKey_folder_mc_deadElements
 
dataBaseKey_t m_readKey_folder_mc_deadTubes
 
dataBaseKey_t m_readKey_folder_mc_noisyChannels
 
std::map< std::string, Identifierm_chamberNames {}
 
DataObjIDColl m_extendedExtraObjects
 Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks. More...
 
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
 

Detailed Description

Definition at line 19 of file MdtCondDbAlg.h.

Member Typedef Documentation

◆ dataBaseKey_t

Definition at line 29 of file MdtCondDbAlg.h.

◆ StoreGateSvc_t

typedef ServiceHandle<StoreGateSvc> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::StoreGateSvc_t
privateinherited

Definition at line 388 of file AthCommonDataStore.h.

◆ writeHandle_t

Definition at line 28 of file MdtCondDbAlg.h.

Constructor & Destructor Documentation

◆ MdtCondDbAlg()

MdtCondDbAlg::MdtCondDbAlg ( const std::string &  name,
ISvcLocator *  svc 
)

Definition at line 18 of file MdtCondDbAlg.cxx.

18  :
19  AthReentrantAlgorithm(name, pSvcLocator) {}

◆ ~MdtCondDbAlg()

virtual MdtCondDbAlg::~MdtCondDbAlg ( )
virtualdefault

Member Function Documentation

◆ addDHDependency()

StatusCode MdtCondDbAlg::addDHDependency ( const EventContext &  ctx,
const dataBaseKey_t key,
writeHandle_t wh 
) const
private

Definition at line 74 of file MdtCondDbAlg.cxx.

74  {
75  if (key.empty()) {
76  ATH_MSG_VERBOSE("Key is empty");
77  return StatusCode::SUCCESS;
78  }
80  if (!readHandle.isValid()) {
81  ATH_MSG_FATAL("Failed to load conditions from "<<key.fullKey());
82  return StatusCode::FAILURE;
83  }
84  wh.addDependency(readHandle);
85  return StatusCode::SUCCESS;
86 }

◆ 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.

56 {
57  return 0;
58 }

◆ declareGaudiProperty() [1/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyArrayType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKeyArray>

Definition at line 170 of file AthCommonDataStore.h.

172  {
173  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
174  hndl.value(),
175  hndl.documentation());
176 
177  }

◆ declareGaudiProperty() [2/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleKeyType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleKey>

Definition at line 156 of file AthCommonDataStore.h.

158  {
159  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
160  hndl.value(),
161  hndl.documentation());
162 
163  }

◆ declareGaudiProperty() [3/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  hndl,
const SG::VarHandleType  
)
inlineprivateinherited

specialization for handling Gaudi::Property<SG::VarHandleBase>

Definition at line 184 of file AthCommonDataStore.h.

186  {
187  return *AthCommonDataStore<PBASE>::declareProperty(hndl.name(),
188  hndl.value(),
189  hndl.documentation());
190  }

◆ declareGaudiProperty() [4/4]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareGaudiProperty ( Gaudi::Property< T > &  t,
const SG::NotHandleType  
)
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.

200  {
201  return PBASE::declareProperty(t);
202  }

◆ declareProperty() [1/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleBase hndl,
const std::string &  doc,
const SG::VarHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

249  {
250  this->declare(hndl.vhKey());
251  hndl.vhKey().setOwner(this);
252 
253  return PBASE::declareProperty(name,hndl,doc);
254  }

◆ declareProperty() [2/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKey hndl,
const std::string &  doc,
const SG::VarHandleKeyType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
hndlObject holding the property value.
docDocumentation 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.

225  {
226  this->declare(hndl);
227  hndl.setOwner(this);
228 
229  return PBASE::declareProperty(name,hndl,doc);
230  }

◆ declareProperty() [3/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( const std::string &  name,
SG::VarHandleKeyArray hndArr,
const std::string &  doc,
const SG::VarHandleKeyArrayType  
)
inlineinherited

Definition at line 259 of file AthCommonDataStore.h.

263  {
264 
265  // std::ostringstream ost;
266  // ost << Algorithm::name() << " VHKA declareProp: " << name
267  // << " size: " << hndArr.keys().size()
268  // << " mode: " << hndArr.mode()
269  // << " vhka size: " << m_vhka.size()
270  // << "\n";
271  // debug() << ost.str() << endmsg;
272 
273  hndArr.setOwner(this);
274  m_vhka.push_back(&hndArr);
275 
276  Gaudi::Details::PropertyBase* p = PBASE::declareProperty(name, hndArr, doc);
277  if (p != 0) {
278  p->declareUpdateHandler(&AthCommonDataStore<PBASE>::updateVHKA, this);
279  } else {
280  ATH_MSG_ERROR("unable to call declareProperty on VarHandleKeyArray "
281  << name);
282  }
283 
284  return p;
285 
286  }

◆ declareProperty() [4/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc,
const SG::NotHandleType  
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

337  {
338  return PBASE::declareProperty(name, property, doc);
339  }

◆ declareProperty() [5/6]

Gaudi::Details::PropertyBase* AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( const std::string &  name,
T &  property,
const std::string &  doc = "none" 
)
inlineinherited

Declare a new Gaudi property.

Parameters
nameName of the property.
propertyObject holding the property value.
docDocumentation 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.

355  {
356  typedef typename SG::HandleClassifier<T>::type htype;
357  return declareProperty (name, property, doc, htype());
358  }

◆ declareProperty() [6/6]

Gaudi::Details::PropertyBase& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::declareProperty ( Gaudi::Property< T > &  t)
inlineinherited

Definition at line 145 of file AthCommonDataStore.h.

145  {
146  typedef typename SG::HandleClassifier<T>::type htype;
148  }

◆ detStore()

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::detStore ( ) const
inlineinherited

The standard StoreGateSvc/DetectorStore Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 95 of file AthCommonDataStore.h.

95 { return m_detStore; }

◆ evtStore() [1/2]

ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( )
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 85 of file AthCommonDataStore.h.

85 { return m_evtStore; }

◆ evtStore() [2/2]

const ServiceHandle<StoreGateSvc>& AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::evtStore ( ) const
inlineinherited

The standard StoreGateSvc (event store) Returns (kind of) a pointer to the StoreGateSvc.

Definition at line 90 of file AthCommonDataStore.h.

90 { return m_evtStore; }

◆ execute()

StatusCode MdtCondDbAlg::execute ( const EventContext &  ctx) const
overridevirtual

Definition at line 103 of file MdtCondDbAlg.cxx.

103  {
104  ATH_MSG_DEBUG("execute " << name());
105 
106  if (m_isOnline) {
107  ATH_MSG_DEBUG("IsOnline is set to True; nothing to do!");
108  return StatusCode::SUCCESS;
109  }
110 
111  // launching Write Cond Handle
113  if (writeHandle.isValid()) {
114  ATH_MSG_DEBUG("CondHandle " << writeHandle.fullKey() << " is already valid."
115  << " In theory this should not be called, but may happen"
116  << " if multiple concurrent events are being processed out of order.");
117  return StatusCode::SUCCESS;
118  }
119  std::unique_ptr<MdtCondDbData> writeCdo{std::make_unique<MdtCondDbData>(m_idHelperSvc->mdtIdHelper())};
120  ATH_CHECK(loadDependencies(ctx, writeHandle));
121  // retrieving data
122  if (m_isData && m_isRun1) {
123  ATH_CHECK(loadDataPsHv(ctx, *writeCdo));
124  ATH_CHECK(loadDataPsLv(ctx, *writeCdo));
125  ATH_CHECK(loadDroppedChambers(ctx, *writeCdo, false));
126  } else if (m_isData && !m_isRun1) {
127  ATH_CHECK(loadDataHv(ctx, *writeCdo));
128  ATH_CHECK(loadDataLv(ctx, *writeCdo));
129  } else {
130  ATH_CHECK(loadDroppedChambers(ctx, *writeCdo, true));
131  ATH_CHECK(loadMcNoisyChannels(ctx, *writeCdo));
132  // ATH_CHECK(loadMcDeadElements (rangeW, writeCdo.get(),ctx));// keep for future development
133  // ATH_CEHCK(loadMcDeadTubes (rangeW, writeCdo.get(),ctx));// keep for future development
134  }
135 
136  ATH_CHECK(writeHandle.record(std::move(writeCdo)));
137  ATH_MSG_DEBUG("Recorded new " << writeHandle.key() << " with range " << writeHandle.getRange() << " into Conditions Store");
138 
139  return StatusCode::SUCCESS;
140 }

◆ extraDeps_update_handler()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::extraDeps_update_handler ( Gaudi::Details::PropertyBase &  ExtraDeps)
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

◆ 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.

80 {
81  // If we didn't find any symlinks to add, just return the collection
82  // from the base class. Otherwise, return the extended collection.
83  if (!m_extendedExtraObjects.empty()) {
85  }
86  return Algorithm::extraOutputDeps();
87 }

◆ filterPassed()

virtual bool AthReentrantAlgorithm::filterPassed ( const EventContext &  ctx) const
inlinevirtualinherited

Definition at line 135 of file AthReentrantAlgorithm.h.

135  {
136  return execState( ctx ).filterPassed();
137  }

◆ identifyChamber()

Identifier MdtCondDbAlg::identifyChamber ( std::string  chamber) const
private

Definition at line 520 of file MdtCondDbAlg.cxx.

520  {
521  if (chamber[2] == 'Y' || chamber[2] == 'X') chamber[2] = 'S';
522  auto itr = m_chamberNames.find(chamber.substr(0, chamber.find('_')));
523  if (itr != m_chamberNames.end()) return itr->second;
524  ATH_MSG_DEBUG("The chamber "<<chamber<<" is unknown.");
525  return Identifier{};
526 }

◆ initialize()

StatusCode MdtCondDbAlg::initialize ( )
overridevirtual

m_readKey_folder_mc_deadElements.empty() && !m_isData

m_readKey_folder_mc_deadTubes.empty() && !m_isData

Definition at line 22 of file MdtCondDbAlg.cxx.

22  {
23  ATH_MSG_DEBUG("initializing " << name());
24 
25  ATH_CHECK(m_idHelperSvc.retrieve());
36  // The calls to the functions that use these two are commented out,
37  // so don't declare a dependencies on them.
40 
41  IGeoModelSvc* geoModel{nullptr};
42  ATH_CHECK(service("GeoModelSvc", geoModel));
43 
44  std::string AtlasVersion = geoModel->atlasVersion();
45  std::string MuonVersion = geoModel->muonVersionOverride();
46  std::string detectorKey = MuonVersion.empty() ? AtlasVersion : MuonVersion;
47  std::string detectorNode = MuonVersion.empty() ? "ATLAS" : "MuonSpectrometer";
48 
49  IRDBAccessSvc* accessSvc{nullptr};
50  ATH_CHECK(service("RDBAccessSvc", accessSvc));
51 
52  IRDBRecordset_ptr switchSet = accessSvc->getRecordsetPtr("HwSwIdMapping", detectorKey, detectorNode);
53 
54  if ((*switchSet).size() == 0) {
55  ATH_MSG_WARNING("Old Atlas Version : " << AtlasVersion << " Only Online Identifier. Falling back to HwSwIdMapping-00 tag");
56  switchSet = accessSvc->getRecordsetPtr("HwSwIdMapping", "HwSwIdMapping-00");
57  }
58 
59  for (unsigned int irow = 0; irow < (*switchSet).size(); ++irow) {
60  const IRDBRecord* switches = (*switchSet)[irow];
61  std::string hardwareName = switches->getString("HARDNAME");
62  std::string stName = switches->getString("SOFTNAME");
63  int stPhi = switches->getInt("SOFTOCTANT");
64  int stEta = switches->getInt("SOFTIZ");
65  bool isValid{false};
66  Identifier ChamberId = m_idHelperSvc->mdtIdHelper().elementID(stName, stEta, stPhi, isValid);
67  if (!isValid) continue;
68 
69  m_chamberNames[hardwareName] = ChamberId;
70  }
71 
72  return StatusCode::SUCCESS;
73 }

◆ inputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::inputHandles ( ) const
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.

◆ isClonable()

bool AthReentrantAlgorithm::isClonable ( ) const
overridevirtualinherited

◆ isReEntrant()

virtual bool MdtCondDbAlg::isReEntrant ( ) const
inlineoverridevirtual

Definition at line 25 of file MdtCondDbAlg.h.

25 { return false; }

◆ loadDataHv()

StatusCode MdtCondDbAlg::loadDataHv ( const EventContext &  ctx,
MdtCondDbData dataOut 
) const
private

Definition at line 304 of file MdtCondDbAlg.cxx.

304  {
306 
307  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readCdo.fullKey() << " readCdo->size()= " << readCdo->size());
308  for (const auto& [chanNum, atr] : **readCdo) {
309  if (!atr.size()) { continue; }
310 
311  const std::string& hv_payload = readCdo->chanName(chanNum);
312  const std::string& hv_name_ml1{*(static_cast<const std::string*>((atr["fsmCurrentState_ML1"]).addressOfData()))};
313  const std::string& hv_name_ml2{*(static_cast<const std::string*>((atr["fsmCurrentState_ML2"]).addressOfData()))};
314  const float hv_v0_ml1{*(static_cast<const float*>((atr["v0set_ML1"]).addressOfData()))};
315  const float hv_v1_ml1{*(static_cast<const float*>((atr["v1set_ML1"]).addressOfData()))};
316  const float hv_v0_ml2{*(static_cast<const float*>((atr["v0set_ML2"]).addressOfData()))};
317  const float hv_v1_ml2{*(static_cast<const float*>((atr["v1set_ML2"]).addressOfData()))};
318 
319  Identifier chamberId = identifyChamber(hv_payload);
320  if (!chamberId.is_valid()) continue;
321  auto addChamber = [&](const DcsFsmState& dcsState,
322  const float standbyVolt,
323  const float readyVolt,
324  const int multiLayer) {
325  const MdtIdHelper& idHelper{m_idHelperSvc->mdtIdHelper()};
326  if (multiLayer > idHelper.numberOfMultilayers(chamberId)) return;
327  const Identifier mlId = idHelper.multilayerID(chamberId, multiLayer);
328  constexpr std::array<DcsFsmState, 3> goodStates{DcsFsmState::ON, DcsFsmState::STANDBY, DcsFsmState::UNKNOWN};
329  if ( (std::find(goodStates.begin(), goodStates.end(), dcsState) == goodStates.end()) ||
330  (dcsState != DcsFsmState::ON && readyVolt != standbyVolt)) {
331  writeCdo.setDeadMultilayer(mlId);
332  }
333  writeCdo.setHvState(mlId, dcsState, standbyVolt, readyVolt);
334  };
335  addChamber(getFsmStateEnum(hv_name_ml1), hv_v0_ml1, hv_v1_ml1, 1);
336  addChamber(getFsmStateEnum(hv_name_ml2), hv_v0_ml2, hv_v1_ml2, 2);
337  }
338  return StatusCode::SUCCESS;
339 }

◆ loadDataLv()

StatusCode MdtCondDbAlg::loadDataLv ( const EventContext &  ctx,
MdtCondDbData dataOut 
) const
private

Definition at line 342 of file MdtCondDbAlg.cxx.

342  {
344  const CondAttrListCollection* readCdo{*readHandle};
345  if (!readCdo) {
346  ATH_MSG_ERROR("Null pointer to the read conditions object");
347  return StatusCode::FAILURE;
348  }
349  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
350 
351  for (const auto& [chanNum, atr] : *readCdo) {
352  if (!atr.size()) { continue; }
353  const std::string& lv_payload = readCdo->chanName(chanNum);
354  const std::string& lv_name{*static_cast<const std::string*>((atr["fsmCurrentState_LV"]).addressOfData())};
355  if (lv_payload.empty() || lv_name.empty()){
356  ATH_MSG_WARNING("The read data with chanNum "<<chanNum<<", lv_payload: "<<lv_payload<<", hv_name: "<<lv_name
357  <<". Does not have any fsmCurrentState_LV attribute. "
358  <<"May be this is related to ATLASRECTS-6920 / ATLASRECTS-6879. Skip it");
359  continue;
360  }
361  ATH_MSG_VERBOSE("Channel "<<lv_name<<" "<<lv_payload);
362  auto tokens = tokenize(lv_name, " ");
363 
364  if (tokens[0] != "ON") {
365  Identifier ChamberId = identifyChamber(lv_payload);
366  writeCdo.setDeadChamber(ChamberId);
367  }
368  }
369 
370  return StatusCode::SUCCESS;
371 }

◆ loadDataPsHv()

StatusCode MdtCondDbAlg::loadDataPsHv ( const EventContext &  ctx,
MdtCondDbData dataOut 
) const
private

Definition at line 143 of file MdtCondDbAlg.cxx.

143  {
145  const CondAttrListCollection* readCdo{*readHandle};
146  if (!readCdo) {
147  ATH_MSG_ERROR("Null pointer to the read conditions object");
148  return StatusCode::FAILURE;
149  }
150 
151  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
152 
153  std::vector<Identifier> cachedDeadMultiLayersId_standby;
154  for (const readOutPair& itr : *readCdo) {
155  const unsigned int chanNum = itr.first;
156  const coral::AttributeList& atr = itr.second;
157  const std::string& hv_payload = readCdo->chanName(chanNum);
158  std::string hv_name;
159 
160  if (atr.size() == 1) {
161  hv_name = *(static_cast<const std::string*>((atr["fsm_currentState"]).addressOfData()));
162 
163  auto tokens = tokenize(hv_name, " ");
164  auto tokens2 = tokenize(hv_payload, "_");
165 
166  if (tokens[0] != "ON" && tokens[0] != "STANDBY" && tokens[0] != "UNKNOWN") {
167  int multilayer = atoi(tokens2[3]);
168  const auto &chamber_name = tokens2[2];
169  Identifier ChamberId = identifyChamber(chamber_name);
170  if (ChamberId.is_valid()) {
171  Identifier MultiLayerId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, multilayer, 1, 1);
172  writeCdo.setDeadMultilayer(MultiLayerId);
173  writeCdo.setDeadChamber(ChamberId);
174  cachedDeadMultiLayersId_standby.push_back(MultiLayerId);
175  }
176  }
177  if (tokens[0] == "STANDBY") {
178  int multilayer = atoi(tokens2[3]);
179  const auto &chamber_name = tokens2[2];
180  Identifier ChamberId = identifyChamber(chamber_name);
181  if (ChamberId.is_valid()) {
182  Identifier MultiLayerId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, multilayer, 1, 1);
183  writeCdo.setDeadMultilayer(MultiLayerId);
184  writeCdo.setDeadChamber(ChamberId);
185  cachedDeadMultiLayersId_standby.push_back(MultiLayerId);
186  }
187  }
188  }
189  }
190 
191  // moving on to SetPoints
192  if (!m_checkOnSetPoint) return StatusCode::SUCCESS;
193 
194  std::map<Identifier, float> chamberML_V1;
195  std::map<Identifier, float> chamberML_V0;
196 
197  // V0 handle
199  const CondAttrListCollection* readCdo_v0{*readHandle_v0};
200  if (!readCdo_v0) {
201  ATH_MSG_ERROR("Null pointer to the read conditions object");
202  return StatusCode::FAILURE;
203  }
204 
205  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle_v0.fullKey() << " readCdo->size()= " << readCdo_v0->size());
206 
207  // V1
209  const CondAttrListCollection* readCdo_v1{*readHandle_v1};
210  if (!readCdo_v1) {
211  ATH_MSG_ERROR("Null pointer to the read conditions object");
212  return StatusCode::FAILURE;
213  }
214 
215  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle_v1.fullKey() << " readCdo->size()= " << readCdo_v1->size());
216 
217  // V0 iteration
218  for (const readOutPair& itr_v0 : *readCdo_v0) {
219  const unsigned int chanNum = itr_v0.first;
220  const coral::AttributeList& atr_v0 = itr_v0.second;
221  const std::string& setPointsV0_payload = readCdo_v0->chanName(chanNum);
222  float setPointsV0_name{0.};
223 
224  if (atr_v0.size() == 1) {
225  setPointsV0_name = *(static_cast<const float*>((atr_v0["readBackSettings_v0"]).addressOfData()));
226 
227  auto tokens2 = tokenize(setPointsV0_payload, "_");
228 
229  int multilayer = atoi(tokens2[3]);
230  const auto &chamber_name = tokens2[2];
231  Identifier ChamberId = identifyChamber(chamber_name);
232  Identifier MultiLayerId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, multilayer, 1, 1);
233  chamberML_V0[MultiLayerId] = setPointsV0_name;
234  }
235  }
236 
237  // V1 iteration
239  for (const readOutPair& itr_v1 : *readCdo_v1) {
240  const unsigned int chanNum = itr_v1.first;
241  const coral::AttributeList& atr_v1 = itr_v1.second;
242  const std::string& setPointsV1_payload = readCdo_v1->chanName(chanNum);
243  float setPointsV1_name{0.};
244 
245  if (atr_v1.size() == 1) {
246  setPointsV1_name = *(static_cast<const float*>((atr_v1["readBackSettings_v1"]).addressOfData()));
247 
248 
249  auto tokens2= tokenize(setPointsV1_payload, "_");
250 
251  int multilayer = atoi(tokens2[3]);
252  const auto &chamber_name = tokens2[2];
253  Identifier ChamberId = identifyChamber(chamber_name);
254  Identifier MultiLayerId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, multilayer, 1, 1);
255  chamberML_V1[MultiLayerId] = setPointsV1_name;
256  }
257  }
258 
259  // check for chamber standby the correct value of Setpoint V0 vs SetpointV1
260  // for chamber StandBy --> V0==V1 to be on
261  for (const Identifier& MultilayerId_ch : cachedDeadMultiLayersId_standby) {
262  if (chamberML_V1.find(MultilayerId_ch)->second == chamberML_V0.find(MultilayerId_ch)->second) {
263  ATH_MSG_DEBUG("Chamber has correct Voltage V1 = " << chamberML_V1.find(MultilayerId_ch)->second
264  << " V0= " << chamberML_V0.find(MultilayerId_ch)->second);
265  } else {
266  ATH_MSG_DEBUG("Chamber has wrong correct Voltage V1 = " << chamberML_V1.find(MultilayerId_ch)->second
267  << " V0= " << chamberML_V0.find(MultilayerId_ch)->second);
268  ATH_MSG_DEBUG("Has to be masked!!!");
269  writeCdo.setDeadMultilayer(MultilayerId_ch);
270  }
271  }
272 
273  return StatusCode::SUCCESS;
274 }

◆ loadDataPsLv()

StatusCode MdtCondDbAlg::loadDataPsLv ( const EventContext &  ctx,
MdtCondDbData dataOut 
) const
private

Definition at line 277 of file MdtCondDbAlg.cxx.

277  {
279  const CondAttrListCollection* readCdo{*readHandle};
280  if (!readCdo) {
281  ATH_MSG_ERROR("Null pointer to the read conditions object");
282  return StatusCode::FAILURE;
283  }
284  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
285  for (const auto& [chanNum, atr] : *readCdo) {
286  const std::string& hv_payload = readCdo->chanName(chanNum);
287  std::string hv_name;
288 
289  if (!atr.size()) { continue; }
290  hv_name = *(static_cast<const std::string*>((atr["fsm_currentState"]).addressOfData()));
291 
292  auto tokens = tokenize(hv_name, " ");
293  auto tokens2 = tokenize(hv_payload, "_");
294  if (tokens[0] != "ON") {
295  const auto &chamber_name = tokens2[2];
296  Identifier ChamberId = identifyChamber(chamber_name);
297  if (ChamberId.is_valid()) { writeCdo.setDeadChamber(ChamberId); }
298  }
299  }
300 
301  return StatusCode::SUCCESS;
302 }

◆ loadDependencies()

StatusCode MdtCondDbAlg::loadDependencies ( const EventContext &  ctx,
writeHandle_t wh 
) const
private

◆ loadDroppedChambers()

StatusCode MdtCondDbAlg::loadDroppedChambers ( const EventContext &  ctx,
MdtCondDbData dataOut,
bool  isMC 
) const
private

Definition at line 374 of file MdtCondDbAlg.cxx.

374  {
377  const CondAttrListCollection* readCdo{*readHandle};
378  if (!readCdo) {
379  ATH_MSG_ERROR("Null pointer to the read conditions object");
380  return StatusCode::FAILURE;
381  }
382  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
383 
384  for (const readOutPair& itr : *readCdo) {
385  const coral::AttributeList& atr = itr.second;
386  const std::string& chamber_dropped{*(static_cast<const std::string*>((atr["Chambers_disabled"]).addressOfData()))};
387 
388  auto tokens = tokenize(chamber_dropped, " ");
389  for (auto & token : tokens) {
390  if (token != "0") {
391  const auto &chamber_name = token;
392  Identifier ChamberId = identifyChamber(chamber_name);
393  if (ChamberId.is_valid()) { writeCdo.setDeadChamber(ChamberId); }
394  }
395  }
396  }
397  return StatusCode::SUCCESS;
398 }

◆ loadMcDeadElements()

StatusCode MdtCondDbAlg::loadMcDeadElements ( const EventContext &  ctx,
MdtCondDbData dataOut 
) const
private

Definition at line 401 of file MdtCondDbAlg.cxx.

401  {
403  const CondAttrListCollection* readCdo{*readHandle};
404  if (!readCdo) {
405  ATH_MSG_ERROR("Null pointer to the read conditions object");
406  return StatusCode::FAILURE;
407  }
408 
409  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
410 
411  for (const readOutPair& itr : *readCdo) {
412  const coral::AttributeList& atr = itr.second;
413  const std::string& chamber_name{*(static_cast<const std::string*>((atr["Chambers_Name"]).addressOfData()))};
414  const std::string& list_mlayer{*(static_cast<const std::string*>((atr["Dead_multilayer"]).addressOfData()))};
415  const std::string& list_layer{*(static_cast<const std::string*>((atr["Dead_layer"]).addressOfData()))};
416  const std::string& list_tube{*(static_cast<const std::string*>((atr["Dead_tube"]).addressOfData()))};
417 
418  Identifier ChamberId = identifyChamber(chamber_name);
419  auto tokens = tokenize(list_tube, " ");
420  auto tokens_mlayer = tokenize(list_mlayer, " ");
421  auto tokens_layer = tokenize(list_layer, " ");
422 
423  for (auto & token : tokens) {
424 
425  if (token != "0") {
426  int ml = atoi(token.substr(0, 1));
427  int layer = atoi(token.substr(1, 2));
428  int tube = atoi(token.substr(2));
429  Identifier ChannelId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, ml, layer, tube);
430  writeCdo.setDeadTube(ChannelId);
431  writeCdo.setDeadChamber(ChamberId);
432  }
433  }
434 
435  for (unsigned int i = 0; i < tokens_mlayer.size(); i++) {
436  if (tokens_mlayer[i] != "0") {
437  int ml = atoi(tokens_mlayer[i].substr(0));
438  Identifier ChannelId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, ml, 1, 1);
439  writeCdo.setDeadMultilayer(ChannelId);
440  writeCdo.setDeadChamber(ChamberId);
441  }
442  }
443 
444  for (unsigned int i = 0; i < tokens_layer.size(); i++) {
445  if (tokens_layer[i] != "0") {
446  int ml = atoi(tokens_layer[i].substr(0, 1));
447  int layer = atoi(tokens_layer[i].substr(1));
448  Identifier ChannelId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, ml, layer, 1);
449  writeCdo.setDeadLayer(ChannelId);
450  writeCdo.setDeadChamber(ChamberId);
451  }
452  }
453  }
454 
455  return StatusCode::SUCCESS;
456 }

◆ loadMcDeadTubes()

StatusCode MdtCondDbAlg::loadMcDeadTubes ( const EventContext &  ctx,
MdtCondDbData dataOut 
) const
private

Definition at line 459 of file MdtCondDbAlg.cxx.

459  {
461  const CondAttrListCollection* readCdo{*readHandle};
462  if (!readCdo) {
463  ATH_MSG_ERROR("Null pointer to the read conditions object");
464  return StatusCode::FAILURE;
465  }
466 
467  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
468 
469  for (const readOutPair& itr : *readCdo) {
470  const coral::AttributeList& atr = itr.second;
471 
472  std::string dead_tube = *(static_cast<const std::string*>((atr["DeadTube_List"]).addressOfData()));
473  std::string chamber_name = *(static_cast<const std::string*>((atr["Chamber_Name"]).addressOfData()));
474 
475  auto tokens = tokenize(dead_tube, " ");
476  Identifier ChamberId = identifyChamber(chamber_name);
477 
478  for (auto & token : tokens) {
479  int ml = atoi(token.substr(0, 1));
480  int layer = atoi(token.substr(1, 2));
481  int tube = atoi(token.substr(2));
482  Identifier ChannelId = m_idHelperSvc->mdtIdHelper().channelID(ChamberId, ml, layer, tube);
483  writeCdo.setDeadTube(ChannelId);
484  }
485  writeCdo.setDeadChamber(ChamberId);
486  }
487 
488  return StatusCode::SUCCESS;
489 }

◆ loadMcNoisyChannels()

StatusCode MdtCondDbAlg::loadMcNoisyChannels ( const EventContext &  ctx,
MdtCondDbData dataOut 
) const
private

Definition at line 492 of file MdtCondDbAlg.cxx.

492  {
494  const CondAttrListCollection* readCdo{*readHandle};
495  if (!readCdo) {
496  ATH_MSG_ERROR("Null pointer to the read conditions object");
497  return StatusCode::FAILURE;
498  }
499 
500  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
501  for (const auto &[chanNum, atr] : *readCdo) {
502  if (!atr.size()) {
503  continue;
504  }
505  const std::string& hv_payload = readCdo->chanName(chanNum);
506  const std::string& hv_name{*(static_cast<const std::string*>((atr["fsm_currentState"]).addressOfData()))};
507 
508  auto tokens = tokenize(hv_name, " ");
509 
510  auto tokens2 = tokenize(hv_payload, "_");
511 
512  if (tokens[0] != "ON") {
513  Identifier ChamberId = identifyChamber(tokens2[2]);
514  writeCdo.setDeadChamber(ChamberId);
515  }
516 
517  }
518  return StatusCode::SUCCESS;
519 }

◆ msg() [1/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::msg ( ) const
inlineinherited

Definition at line 24 of file AthCommonMsg.h.

24  {
25  return this->msgStream();
26  }

◆ msg() [2/2]

MsgStream& AthCommonMsg< Gaudi::Algorithm >::msg ( const MSG::Level  lvl) const
inlineinherited

Definition at line 27 of file AthCommonMsg.h.

27  {
28  return this->msgStream(lvl);
29  }

◆ msgLvl()

bool AthCommonMsg< Gaudi::Algorithm >::msgLvl ( const MSG::Level  lvl) const
inlineinherited

Definition at line 30 of file AthCommonMsg.h.

30  {
31  return this->msgLevel(lvl);
32  }

◆ outputHandles()

virtual std::vector<Gaudi::DataHandle*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles ( ) const
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.

◆ renounce()

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> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounce ( T &  h)
inlineprotectedinherited

Definition at line 380 of file AthCommonDataStore.h.

381  {
382  h.renounce();
383  PBASE::renounce (h);
384  }

◆ renounceArray()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::renounceArray ( SG::VarHandleKeyArray handlesArray)
inlineprotectedinherited

remove all handles from I/O resolution

Definition at line 364 of file AthCommonDataStore.h.

364  {
365  handlesArray.renounce();
366  }

◆ setFilterPassed()

virtual void AthReentrantAlgorithm::setFilterPassed ( bool  state,
const EventContext &  ctx 
) const
inlinevirtualinherited

Definition at line 139 of file AthReentrantAlgorithm.h.

139  {
140  execState( ctx ).setFilterPassed( state );
141  }

◆ 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.

68 {
69  return Gaudi::Algorithm::sysExecute (ctx);
70 }

◆ 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.

96  {
98 
99  if (sc.isFailure()) {
100  return sc;
101  }
102 
103  ServiceHandle<ICondSvc> cs("CondSvc",name());
104  for (auto h : outputHandles()) {
105  if (h->isCondition() && h->mode() == Gaudi::DataHandle::Writer) {
106  // do this inside the loop so we don't create the CondSvc until needed
107  if ( cs.retrieve().isFailure() ) {
108  ATH_MSG_WARNING("no CondSvc found: won't autoreg WriteCondHandles");
109  return StatusCode::SUCCESS;
110  }
111  if (cs->regHandle(this,*h).isFailure()) {
112  sc = StatusCode::FAILURE;
113  ATH_MSG_ERROR("unable to register WriteCondHandle " << h->fullKey()
114  << " with CondSvc");
115  }
116  }
117  }
118  return sc;
119 }

◆ sysStart()

virtual StatusCode AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::sysStart ( )
overridevirtualinherited

Handle START transition.

We override this in order to make sure that conditions handle keys can cache a pointer to the conditions container.

◆ updateVHKA()

void AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::updateVHKA ( Gaudi::Details::PropertyBase &  )
inlineinherited

Definition at line 308 of file AthCommonDataStore.h.

308  {
309  // debug() << "updateVHKA for property " << p.name() << " " << p.toString()
310  // << " size: " << m_vhka.size() << endmsg;
311  for (auto &a : m_vhka) {
312  std::vector<SG::VarHandleKey*> keys = a->keys();
313  for (auto k : keys) {
314  k->setOwner(this);
315  }
316  }
317  }

Member Data Documentation

◆ m_chamberNames

std::map<std::string, Identifier> MdtCondDbAlg::m_chamberNames {}
private

Definition at line 77 of file MdtCondDbAlg.h.

◆ m_checkOnSetPoint

Gaudi::Property<bool> MdtCondDbAlg::m_checkOnSetPoint {this, "useRun1SetPoints", false}
private

Definition at line 46 of file MdtCondDbAlg.h.

◆ m_detStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
privateinherited

Pointer to StoreGate (detector store by default)

Definition at line 393 of file AthCommonDataStore.h.

◆ m_evtStore

StoreGateSvc_t AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
privateinherited

Pointer to StoreGate (event store by default)

Definition at line 390 of file AthCommonDataStore.h.

◆ 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_idHelperSvc

ServiceHandle<Muon::IMuonIdHelperSvc> MdtCondDbAlg::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
private

Definition at line 48 of file MdtCondDbAlg.h.

◆ m_isData

Gaudi::Property<bool> MdtCondDbAlg::m_isData {this, "isData", false}
private

Definition at line 44 of file MdtCondDbAlg.h.

◆ m_isOnline

Gaudi::Property<bool> MdtCondDbAlg::m_isOnline {this, "isOnline", false}
private

Definition at line 43 of file MdtCondDbAlg.h.

◆ m_isRun1

Gaudi::Property<bool> MdtCondDbAlg::m_isRun1 {this, "isRun1", false}
private

Definition at line 45 of file MdtCondDbAlg.h.

◆ m_readKey_folder_da_droppedChambers

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_da_droppedChambers
private
Initial value:
{
this, "ReadKey_DataR1_DC", "/MDT/DCS/DROPPEDCH", "Key of input MDT condition data for Run 1 data dropped chambers"}

Definition at line 60 of file MdtCondDbAlg.h.

◆ m_readKey_folder_da_hv

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_da_hv
private
Initial value:
{this, "ReadKey_DataR2_HV", "/MDT/DCS/HV",
"Key of input MDT condition data for Run 2 data HV"}

Definition at line 62 of file MdtCondDbAlg.h.

◆ m_readKey_folder_da_lv

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_da_lv
private
Initial value:
{this, "ReadKey_DataR2_LV", "/MDT/DCS/LV",
"Key of input MDT condition data for Run 2 data LV"}

Definition at line 64 of file MdtCondDbAlg.h.

◆ m_readKey_folder_da_pshv

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_da_pshv
private
Initial value:
{this, "ReadKey_DataR1_HV", "/MDT/DCS/PSHVMLSTATE",
"Key of input MDT condition data for Run 1 data HV"}

Definition at line 52 of file MdtCondDbAlg.h.

◆ m_readKey_folder_da_pslv

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_da_pslv
private
Initial value:
{this, "ReadKey_DataR1_LV", "/MDT/DCS/PSLVCHSTATE",
"Key of input MDT condition data for Run 1 data LV"}

Definition at line 58 of file MdtCondDbAlg.h.

◆ m_readKey_folder_da_psv0

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_da_psv0
private
Initial value:
{this, "ReadKey_DataR1_V0", "/MDT/DCS/PSV0SETPOINTS",
"Key of input MDT condition data for Run 1 data V0"}

Definition at line 54 of file MdtCondDbAlg.h.

◆ m_readKey_folder_da_psv1

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_da_psv1
private
Initial value:
{this, "ReadKey_DataR1_V1", "/MDT/DCS/PSV1SETPOINTS",
"Key of input MDT condition data for Run 1 data V1"}

Definition at line 56 of file MdtCondDbAlg.h.

◆ m_readKey_folder_mc_deadElements

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_mc_deadElements
private
Initial value:
{this, "ReadKey_MC_DE", "/MDT/DQMF/DEAD_ELEMENT",
"Key of input MDT condition data for MC dead elements"}

Definition at line 68 of file MdtCondDbAlg.h.

◆ m_readKey_folder_mc_deadTubes

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_mc_deadTubes
private
Initial value:
{this, "ReadKey_MC_DT", "/MDT/TUBE_STATUS/DEAD_TUBE",
"Key of input MDT condition data for MC dead tubes"}

Definition at line 70 of file MdtCondDbAlg.h.

◆ m_readKey_folder_mc_droppedChambers

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_mc_droppedChambers
private
Initial value:
{
this, "ReadKey_MC_DC", "/MDT/DCS/DROPPEDCH", "Key of input MDT condition data for MC dropped chambers"}

Definition at line 66 of file MdtCondDbAlg.h.

◆ m_readKey_folder_mc_noisyChannels

dataBaseKey_t MdtCondDbAlg::m_readKey_folder_mc_noisyChannels
private
Initial value:
{
this, "ReadKey_MC_NC", "/MDT/DCS/PSLVCHSTATE", "Key of input MDT condition data for MC noisy channels"}

Definition at line 72 of file MdtCondDbAlg.h.

◆ m_varHandleArraysDeclared

bool AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_varHandleArraysDeclared
privateinherited

Definition at line 399 of file AthCommonDataStore.h.

◆ m_vhka

std::vector<SG::VarHandleKeyArray*> AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
privateinherited

Definition at line 398 of file AthCommonDataStore.h.

◆ m_writeKey

SG::WriteCondHandleKey<MdtCondDbData> MdtCondDbAlg::m_writeKey {this, "WriteKey", "MdtCondDbData", "Key of output MDT condition data"}
private

Definition at line 50 of file MdtCondDbAlg.h.


The documentation for this class was generated from the following files:
IRDBRecord::getInt
virtual int getInt(const std::string &fieldName) const =0
Get int field value.
python.StoreID.UNKNOWN
int UNKNOWN
Definition: StoreID.py:16
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
python.PerfMonSerializer.p
def p
Definition: PerfMonSerializer.py:743
readOutPair
CondAttrListCollection::ChanAttrListPair readOutPair
Definition: MdtCondDbAlg.cxx:14
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
find
std::string find(const std::string &s)
return a remapped string
Definition: hcg.cxx:135
IGeoModelSvc
Definition: IGeoModelSvc.h:17
calibdata.chamber
chamber
Definition: calibdata.py:32
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
MdtCondDbAlg::m_readKey_folder_da_droppedChambers
dataBaseKey_t m_readKey_folder_da_droppedChambers
Definition: MdtCondDbAlg.h:60
CxxUtils::tokenize
std::vector< std::string > tokenize(const std::string &the_str, std::string_view delimiters)
Splits the string into smaller substrings.
Definition: Control/CxxUtils/Root/StringUtils.cxx:15
IRDBRecord::getString
virtual const std::string & getString(const std::string &fieldName) const =0
Get string field value.
AthCommonDataStore::renounce
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)
Definition: AthCommonDataStore.h:380
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_evtStore
StoreGateSvc_t m_evtStore
Pointer to StoreGate (event store by default)
Definition: AthCommonDataStore.h:390
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_vhka
std::vector< SG::VarHandleKeyArray * > m_vhka
Definition: AthCommonDataStore.h:398
MdtCondDbAlg::identifyChamber
Identifier identifyChamber(std::string chamber) const
Definition: MdtCondDbAlg.cxx:520
MdtCondDbAlg::loadDataLv
StatusCode loadDataLv(const EventContext &ctx, MdtCondDbData &dataOut) const
Definition: MdtCondDbAlg.cxx:342
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
python.PyKernel.AttributeList
AttributeList
Definition: PyKernel.py:36
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
isValid
bool isValid(const T &p)
Definition: AtlasPID.h:214
beamspotman.tokens
tokens
Definition: beamspotman.py:1284
MdtCondDbAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: MdtCondDbAlg.h:48
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
MdtCondDbAlg::loadMcNoisyChannels
StatusCode loadMcNoisyChannels(const EventContext &ctx, MdtCondDbData &dataOut) const
Definition: MdtCondDbAlg.cxx:492
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
MuonCond::DcsFsmState
DcsFsmState
Definition: MuonSpectrometer/MuonConditions/MuonCondGeneral/MuonCondData/MuonCondData/Defs.h:15
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
MdtCondDbAlg::m_isData
Gaudi::Property< bool > m_isData
Definition: MdtCondDbAlg.h:44
MdtCondDbAlg::addDHDependency
StatusCode addDHDependency(const EventContext &ctx, const dataBaseKey_t &key, writeHandle_t &wh) const
Definition: MdtCondDbAlg.cxx:74
createDCubeDigitHistograms_withSel.chamber_name
chamber_name
Definition: createDCubeDigitHistograms_withSel.py:109
MdtCondDbAlg::m_readKey_folder_mc_deadTubes
dataBaseKey_t m_readKey_folder_mc_deadTubes
Definition: MdtCondDbAlg.h:70
MdtCondDbAlg::m_readKey_folder_mc_deadElements
dataBaseKey_t m_readKey_folder_mc_deadElements
Definition: MdtCondDbAlg.h:68
AthCommonDataStore
Definition: AthCommonDataStore.h:52
EventInfoWrite.AtlasVersion
AtlasVersion
Definition: EventInfoWrite.py:17
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
checkCoolLatestUpdate.chanNum
chanNum
Definition: checkCoolLatestUpdate.py:27
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
MdtCondDbAlg::m_checkOnSetPoint
Gaudi::Property< bool > m_checkOnSetPoint
Definition: MdtCondDbAlg.h:46
lumiFormat.i
int i
Definition: lumiFormat.py:92
MdtCondDbAlg::m_readKey_folder_da_pshv
dataBaseKey_t m_readKey_folder_da_pshv
Definition: MdtCondDbAlg.h:52
IRDBAccessSvc
IRDBAccessSvc is an abstract interface to the athena service that provides the following functionalit...
Definition: IRDBAccessSvc.h:45
MdtCondDbAlg::m_readKey_folder_da_psv0
dataBaseKey_t m_readKey_folder_da_psv0
Definition: MdtCondDbAlg.h:54
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
MdtCondDbAlg::m_readKey_folder_da_pslv
dataBaseKey_t m_readKey_folder_da_pslv
Definition: MdtCondDbAlg.h:58
MdtCondDbAlg::loadDataPsLv
StatusCode loadDataPsLv(const EventContext &ctx, MdtCondDbData &dataOut) const
Definition: MdtCondDbAlg.cxx:277
MdtIdHelper
Definition: MdtIdHelper.h:61
parseDir.wh
wh
Definition: parseDir.py:46
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
MdtCondDbAlg::loadDroppedChambers
StatusCode loadDroppedChambers(const EventContext &ctx, MdtCondDbData &dataOut, bool isMC) const
Definition: MdtCondDbAlg.cxx:374
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
MdtCondDbAlg::loadDependencies
StatusCode loadDependencies(const EventContext &ctx, writeHandle_t &wh) const
Definition: MdtCondDbAlg.cxx:87
IRDBRecordset_ptr
std::shared_ptr< IRDBRecordset > IRDBRecordset_ptr
Definition: IRDBAccessSvc.h:25
MdtCondDbAlg::m_isOnline
Gaudi::Property< bool > m_isOnline
Definition: MdtCondDbAlg.h:43
AthReentrantAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Definition: AthReentrantAlgorithm.h:153
SG::VarHandleKeyArray::renounce
virtual void renounce()=0
SG::HandleClassifier::type
std::conditional< std::is_base_of< SG::VarHandleKeyArray, T >::value, VarHandleKeyArrayType, type2 >::type type
Definition: HandleClassifier.h:54
MdtCondDbAlg::m_readKey_folder_da_hv
dataBaseKey_t m_readKey_folder_da_hv
Definition: MdtCondDbAlg.h:62
MdtCondDbAlg::m_writeKey
SG::WriteCondHandleKey< MdtCondDbData > m_writeKey
Definition: MdtCondDbAlg.h:50
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
MdtCondDbAlg::loadDataPsHv
StatusCode loadDataPsHv(const EventContext &ctx, MdtCondDbData &dataOut) const
Definition: MdtCondDbAlg.cxx:143
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:195
MdtCondDbAlg::m_readKey_folder_mc_droppedChambers
dataBaseKey_t m_readKey_folder_mc_droppedChambers
Definition: MdtCondDbAlg.h:66
AthReentrantAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthReentrantAlgorithm.cxx:96
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
MdtCondDbAlg::m_readKey_folder_da_lv
dataBaseKey_t m_readKey_folder_da_lv
Definition: MdtCondDbAlg.h:64
MdtCondDbAlg::loadDataHv
StatusCode loadDataHv(const EventContext &ctx, MdtCondDbData &dataOut) const
Definition: MdtCondDbAlg.cxx:304
a
TList * a
Definition: liststreamerinfos.cxx:10
h
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:63
IRDBRecord
IRDBRecord is one record in the IRDBRecordset object.
Definition: IRDBRecord.h:27
MuonCond::getFsmStateEnum
DcsFsmState getFsmStateEnum(const std::string &fsmState)
Definition: Defs.cxx:8
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:616
EventInfoRead.isMC
isMC
Definition: EventInfoRead.py:11
declareProperty
#define declareProperty(n, p, h)
Definition: BaseFakeBkgTool.cxx:15
CxxUtils::atoi
int atoi(std::string_view str)
Helper functions to unpack numbers decoded in string into integers and doubles The strings are requir...
Definition: Control/CxxUtils/Root/StringUtils.cxx:85
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
MdtCondDbAlg::m_readKey_folder_mc_noisyChannels
dataBaseKey_t m_readKey_folder_mc_noisyChannels
Definition: MdtCondDbAlg.h:72
MdtCondDbAlg::m_chamberNames
std::map< std::string, Identifier > m_chamberNames
Definition: MdtCondDbAlg.h:77
sTgcDigitEffiDump.multiLayer
int multiLayer
Definition: sTgcDigitEffiDump.py:36
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
MdtCondDbAlg::m_readKey_folder_da_psv1
dataBaseKey_t m_readKey_folder_da_psv1
Definition: MdtCondDbAlg.h:56
calibdata.tube
tube
Definition: calibdata.py:31
MdtCondDbAlg::m_isRun1
Gaudi::Property< bool > m_isRun1
Definition: MdtCondDbAlg.h:45
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
mapkey::key
key
Definition: TElectronEfficiencyCorrectionTool.cxx:37