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

#include <NswCalibDbAlg.h>

Inheritance diagram for NswCalibDbAlg:
Collaboration diagram for NswCalibDbAlg:

Public Member Functions

virtual ~NswCalibDbAlg ()=default
 
virtual StatusCode initialize () override
 
virtual StatusCode execute (const EventContext &) const override
 
virtual bool isReEntrant () const override
 
 AthReentrantAlgorithm (const std::string &name, ISvcLocator *pSvcLocator)
 Constructor with parameters: More...
 
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 writeKeyTdoPdo_t = SG::WriteCondHandleKey< NswCalibDbTimeChargeData >
 
using writeKeyThr_t = SG::WriteCondHandleKey< NswCalibDbThresholdData >
 
using writeKeyMmT0_t = SG::WriteCondHandleKey< NswT0Data >
 
using readKey_t = SG::ReadCondHandleKey< CondAttrListCollection >
 
using writeHandleTdoPdo_t = SG::WriteCondHandle< NswCalibDbTimeChargeData >
 
using writeHandleThr_t = SG::WriteCondHandle< NswCalibDbThresholdData >
 
using writeHandleT0_t = SG::WriteCondHandle< NswT0Data >
 
using TimeChargeType = NswCalibDbTimeChargeData::CalibDataType
 
using TimeChargeTech = MuonCond::CalibTechType
 
using ThresholdTech = NswCalibDbThresholdData::ThrsldTechType
 
using T0Tech = MuonCond::CalibTechType
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

StatusCode processTdoPdoData (const EventContext &ctx) const
 
StatusCode processThrData (const EventContext &ctx) const
 
StatusCode processNSWT0Data (const EventContext &ctx) const
 
StatusCode loadTimeChargeData (const EventContext &ctx, const readKey_t &readKey, const TimeChargeTech, const TimeChargeType type, writeHandleTdoPdo_t &writeHandle, NswCalibDbTimeChargeData *writeCdo) const
 
StatusCode loadThresholdData (const EventContext &, const readKey_t &, const ThresholdTech, writeHandleThr_t &, NswCalibDbThresholdData *) const
 
StatusCode loadT0ToTree (const EventContext &ctx, const readKey_t &readKey, writeHandleT0_t &writeHandle, std::unique_ptr< TTree > &tree) const
 
StatusCode loadT0Data (const std::unique_ptr< TTree > &tree, NswT0Data *writeCdo, const T0Tech tech) const
 
bool buildChannelId (Identifier &channelId, unsigned int elinkId, unsigned int vmm, unsigned int channel) 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_isData {this, "isData" , true , "Processing data"}
 
ServiceHandle< ICondSvc > m_condSvc {this, "CondSvc", "CondSvc"}
 
ServiceHandle< Muon::IMuonIdHelperSvcm_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
 
writeKeyTdoPdo_t m_writeKey_tdopdo {this, "WriteKey_TdoPdo", "NswCalibDbTimeChargeData", "Key of output calibration data (TDOs and PDOs)" }
 
writeKeyThr_t m_writeKey_thr {this, "WriteKey_Thr" , "NswCalibDbThresholdData" , "Key of output calibration data (VMM thresholds)"}
 
writeKeyMmT0_t m_writeKey_nswT0 {this, "WriteKey_NswT0" , "NswT0Data" , "Key of output calibration data (NSW T0s)"}
 
readKey_t m_readKey_mm_sidea_tdo {this, "ReadKey_MM_SIDEA_TDO" , "/MDT/MM/TIME/SIDEA" , "Key of input MM condition data for side A data TDO"}
 
readKey_t m_readKey_mm_sidec_tdo {this, "ReadKey_MM_SIDEC_TDO" , "/MDT/MM/TIME/SIDEC" , "Key of input MM condition data for side C data TDO"}
 
readKey_t m_readKey_mm_sidea_pdo {this, "ReadKey_MM_SIDEA_PDO" , "/MDT/MM/CHARGE/SIDEA" , "Key of input MM condition data for side A data PDO"}
 
readKey_t m_readKey_mm_sidec_pdo {this, "ReadKey_MM_SIDEC_PDO" , "/MDT/MM/CHARGE/SIDEC" , "Key of input MM condition data for side C data PDO"}
 
readKey_t m_readKey_mm_sidea_thr {this, "ReadKey_MM_SIDEA_THR" , "/MDT/MM/THR/SIDEA" , "Key of input MM condition data for side A data THR"}
 
readKey_t m_readKey_mm_sidec_thr {this, "ReadKey_MM_SIDEC_THR" , "/MDT/MM/THR/SIDEC" , "Key of input MM condition data for side C data THR"}
 
readKey_t m_readKey_stgc_sidea_tdo {this, "ReadKey_STGC_SIDEA_TDO", "/TGC/NSW/TIME/SIDEA" , "Key of input sTGC condition data for side A data TDO"}
 
readKey_t m_readKey_stgc_sidec_tdo {this, "ReadKey_STGC_SIDEC_TDO", "/TGC/NSW/TIME/SIDEC" , "Key of input sTGC condition data for side C data TDO"}
 
readKey_t m_readKey_stgc_sidea_pdo {this, "ReadKey_STGC_SIDEA_PDO", "/TGC/NSW/CHARGE/SIDEA", "Key of input sTGC condition data for side A data PDO"}
 
readKey_t m_readKey_stgc_sidec_pdo {this, "ReadKey_STGC_SIDEC_PDO", "/TGC/NSW/CHARGE/SIDEC", "Key of input sTGC condition data for side C data PDO"}
 
readKey_t m_readKey_stgc_sidea_thr {this, "ReadKey_STGC_SIDEA_THR", "/TGC/NSW/THR/SIDEA" , "Key of input sTGC condition data for side A data THR"}
 
readKey_t m_readKey_stgc_sidec_thr {this, "ReadKey_STGC_SIDEC_THR", "/TGC/NSW/THR/SIDEC" , "Key of input sTGC condition data for side C data THR"}
 
Gaudi::Property< bool > m_loadMmT0Data {this, "loadMmT0Data", false, "Enable loading the sTgc T0Data"}
 
Gaudi::Property< bool > m_loadsTgcT0Data {this, "loadsTgcT0Data", false, "Enable loading the sTgcT0Data"}
 
readKey_t m_readKey_mm_t0 {this, "ReadKey_MM_T0", "" , "Key of input MM condition data for side A data T0"}
 
readKey_t m_readKey_stgc_t0 {this, "ReadKey_STGC_T0", "" , "Key of input sTGC condition data for side C data T0"}
 
Gaudi::Property< std::string > m_mmT0FilePath {this, "MmT0FileName", "", "Path to a file containing the MM T0 data, this will override the data from the conditions db"}
 
Gaudi::Property< std::string > m_stgcT0FilePath {this, "sTgcT0FileName", "", "Path to a file containing the sTGC T0 data, this will override the data from the conditions db"}
 
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 35 of file NswCalibDbAlg.h.

Member Typedef Documentation

◆ readKey_t

Definition at line 51 of file NswCalibDbAlg.h.

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

◆ T0Tech

Definition at line 68 of file NswCalibDbAlg.h.

◆ ThresholdTech

Definition at line 63 of file NswCalibDbAlg.h.

◆ TimeChargeTech

Definition at line 62 of file NswCalibDbAlg.h.

◆ TimeChargeType

Definition at line 61 of file NswCalibDbAlg.h.

◆ writeHandleT0_t

Definition at line 55 of file NswCalibDbAlg.h.

◆ writeHandleTdoPdo_t

Definition at line 53 of file NswCalibDbAlg.h.

◆ writeHandleThr_t

Definition at line 54 of file NswCalibDbAlg.h.

◆ writeKeyMmT0_t

Definition at line 50 of file NswCalibDbAlg.h.

◆ writeKeyTdoPdo_t

Definition at line 48 of file NswCalibDbAlg.h.

◆ writeKeyThr_t

Definition at line 49 of file NswCalibDbAlg.h.

Constructor & Destructor Documentation

◆ ~NswCalibDbAlg()

virtual NswCalibDbAlg::~NswCalibDbAlg ( )
virtualdefault

Member Function Documentation

◆ AthReentrantAlgorithm()

AthReentrantAlgorithm::AthReentrantAlgorithm

Constructor with parameters:

Definition at line 90 of file AthReentrantAlgorithm.cxx.

22  :
24 {
25 
26  // Set up to run AthAlgorithmDHUpdate in sysInitialize before
27  // merging depedency lists. This extends the output dependency
28  // list with any symlinks implied by inheritance relations.
29  m_updateDataHandles =
30  std::make_unique<AthenaBaseComps::AthAlgorithmDHUpdate>
32  std::move (m_updateDataHandles));
33 }

◆ buildChannelId()

bool NswCalibDbAlg::buildChannelId ( Identifier channelId,
unsigned int  elinkId,
unsigned int  vmm,
unsigned int  channel 
) const
private

Definition at line 493 of file NswCalibDbAlg.cxx.

493  {
494 
495  // return dummy Identifier
496  if(elinkId==0){
497  channelId = Identifier(0);
498  return true;
499  }
500 
501  // build NSWOfflineHelper
502  std::unique_ptr<Muon::nsw::NSWResourceId> resId = std::make_unique<Muon::nsw::NSWResourceId>((uint32_t) elinkId);
504 
505  std::string stationName;
506  if(resId->detId() == eformat::MUON_MMEGA_ENDCAP_A_SIDE || resId->detId() == eformat::MUON_MMEGA_ENDCAP_C_SIDE) {
507  stationName = resId->is_large_station () ? "MML" : "MMS";
508  } else if(resId->detId() == eformat::MUON_STGC_ENDCAP_A_SIDE || resId->detId() == eformat::MUON_STGC_ENDCAP_C_SIDE) {
509  stationName = resId->is_large_station () ? "STL" : "STS";
510  } else {
511  ATH_MSG_ERROR("NSWResource Id "<< elinkId << " does not yield detID that is either sTGC or MMG");
512  THROW_EXCEPTION("NSWCalibDbAlg buildChannelId called with detID that is neither sTGC or MMG");
513  }
514 
515  int8_t stationEta = resId->station_eta ();
516  uint8_t stationPhi = resId->station_phi ();
517  uint8_t multiLayer = resId->multi_layer ();
518  uint8_t gasGap = resId->gas_gap ();
519 
520  uint8_t channelType = helper.channel_type ();
521  uint16_t channelNumber = helper.channel_number();
522 
523  ATH_MSG_VERBOSE("Station name=" << stationName
524  << " Station eta=" << static_cast <int> (stationEta)
525  << " Station phi=" << static_cast <unsigned int> (stationPhi)
526  << " Multilayer=" << static_cast <unsigned int> (multiLayer)
527  << " Gas gap=" << static_cast <unsigned int> (gasGap)
528  << " Channel type=" << static_cast <unsigned int> (channelType)
529  << " Channel Number=" << channelNumber );
530 
531 
532  // MM
533  if(resId->detId() == eformat::MUON_MMEGA_ENDCAP_A_SIDE || resId->detId() == eformat::MUON_MMEGA_ENDCAP_C_SIDE){
534  bool isValid {false};
535  Identifier chnlId = m_idHelperSvc->mmIdHelper().channelID(stationName, static_cast<int>(stationEta), static_cast<int>(stationPhi), static_cast<int>(multiLayer), static_cast<int>(gasGap), static_cast<int>(channelNumber), isValid);
536  if(!isValid){
537  ATH_MSG_DEBUG("Could not extract valid channelId for MM elink "<<elinkId);
538  return false;
539  }
540  channelId = chnlId;
541  }
542  // sTGC
543  else if(resId->detId() == eformat::MUON_STGC_ENDCAP_A_SIDE || resId->detId() == eformat::MUON_STGC_ENDCAP_C_SIDE){
544  bool isValid {false};
545  Identifier chnlId = m_idHelperSvc->stgcIdHelper().channelID(stationName, static_cast<int>(stationEta), static_cast<int>(stationPhi), static_cast<int>(multiLayer), static_cast<int>(gasGap), static_cast<int>(channelType), static_cast<int>(channelNumber), isValid);
546  if(!isValid){
547  ATH_MSG_DEBUG("Could not extract valid channelId for STGC elink "<<elinkId);
548  return false;
549  }
550  channelId = chnlId;
551  }
552 
553  return true;
554 }

◆ 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 NswCalibDbAlg::execute ( const EventContext &  ctx) const
overridevirtual

Definition at line 64 of file NswCalibDbAlg.cxx.

64  {
65 
66  ATH_MSG_DEBUG( "execute " << name() );
67 
68  if(processTdoPdoData(ctx).isFailure()) return StatusCode::FAILURE;
69  if(processThrData (ctx).isFailure()) return StatusCode::FAILURE;
71 
72  return StatusCode::SUCCESS;
73 
74 }

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

◆ initialize()

StatusCode NswCalibDbAlg::initialize ( )
overridevirtual

Definition at line 24 of file NswCalibDbAlg.cxx.

24  {
25 
26  // retrievals
27  ATH_MSG_DEBUG( "initializing " << name() );
29  ATH_CHECK(m_idHelperSvc.retrieve());
30 
31  // initialize read keys
46 
49 
50  // write key for time/charge data
52 
53  // write key for threshold data
55 
57 
58  return StatusCode::SUCCESS;
59 }

◆ 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 NswCalibDbAlg::isReEntrant ( ) const
inlineoverridevirtual

Definition at line 43 of file NswCalibDbAlg.h.

43 { return false; }

◆ loadT0Data()

StatusCode NswCalibDbAlg::loadT0Data ( const std::unique_ptr< TTree > &  tree,
NswT0Data writeCdo,
const T0Tech  tech 
) const
private

Definition at line 281 of file NswCalibDbAlg.cxx.

281  {
282  int sector{0}, layer{0}, channel{0}, channelType{0}, stationEta{0};
283  double time{0};
284  tree->SetBranchAddress("sector" , &sector );
285  tree->SetBranchAddress("layer" , &layer );
286  tree->SetBranchAddress("channel", &channel );
287  tree->SetBranchAddress("mean" , &time );
288  tree->SetBranchAddress("stationEta" , &stationEta);
289  tree->SetBranchAddress("channel_type", &channelType);
290  if (msgLvl(MSG::VERBOSE)) {
291  tree->Print();
292  }
293 
294  ATH_MSG_DEBUG("NSW t0 calibration tree has "<< tree->GetEntries() <<" entries for tech " << (tech==T0Tech::MM ? "MM" : "sTGC"));
295 
296  for(uint i_channel=0; i_channel<tree->GetEntries(); i_channel++){
297  tree->GetEntry(i_channel);
298 
299  int stationPhi = ((std::abs(sector)-1)/2)+1;
300  uint multilayer = (layer<4 ? 1:2); // multilayer 1 corresponds to layers 0-3, ML 2 to layers 4-7
301  uint gasGap = layer - (multilayer-1)*4 + 1;
302 
303  Identifier id{0};
304 
305  if(tech==T0Tech::MM){
306  std::string stationName = (sector%2==1 ? "MML" : "MMS");
307  bool isValid{true};
308  id = m_idHelperSvc->mmIdHelper().channelID(stationName, stationEta, stationPhi,multilayer,gasGap, channel
309  // checking the validity of the identifier in production code is too expensiv, therefore only check it in debug build
310  #ifndef NDEBUG
311  , isValid
312  #endif
313  );
314 
315  if(!isValid){
316  ATH_MSG_ERROR("MM sector "<< sector <<" layer " << layer<< " channel "<< channel << " mean "<< time << " stationEta " << stationEta << " stationPhi " << stationPhi <<" stationName "<< stationName << " multilayer " << multilayer << " gas gap "<< gasGap << " channel " << channel);
317  ATH_MSG_ERROR("Failed to build identifier");
318  return StatusCode::FAILURE;
319  }
320  } else {
321  std::string stationName = (sector%2==1 ? "STL" : "STS");
322  bool isValid{true};
323  id = m_idHelperSvc->stgcIdHelper().channelID(stationName, stationEta, stationPhi, multilayer, gasGap, channelType, channel
324  // checking the validity of the identifier in production code is too expensiv, therefore only check it in debug build
325  #ifndef NDEBUG
326  , isValid
327  #endif
328  );
329  if(!isValid){
330  ATH_MSG_ERROR("Failed to build identifier");
331  ATH_MSG_DEBUG("STG sector "<< sector <<" layer " << layer<< " channel "<< channel << " mean "<< time << " stationEta " << stationEta << " stationPhi " << stationPhi <<" stationName "<< stationName << " multilayer " << multilayer << " gas gap "<< gasGap << " channel " << channel << " channel type" << channelType);
332  return StatusCode::FAILURE;
333  }
334  }
335 
336  writeCdo->setData(id, time);
337  }
338  return StatusCode::SUCCESS;
339 
340 }

◆ loadT0ToTree()

StatusCode NswCalibDbAlg::loadT0ToTree ( const EventContext &  ctx,
const readKey_t readKey,
writeHandleT0_t writeHandle,
std::unique_ptr< TTree > &  tree 
) const
private

Definition at line 250 of file NswCalibDbAlg.cxx.

250  {
251  // set up read handle
252  SG::ReadCondHandle<CondAttrListCollection> readHandle{readKey, ctx};
253  const CondAttrListCollection* readCdo{*readHandle};
254  if(!readCdo){
255  ATH_MSG_ERROR("Null pointer to the read conditions object");
256  return StatusCode::FAILURE;
257  }
258  writeHandle.addDependency(readHandle);
259  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
260  ATH_MSG_DEBUG("Range of input is " << readHandle.getRange() << ", range of output is " << writeHandle.getRange());
261 
262  // iterate through data
264  for(itr = readCdo->begin(); itr != readCdo->end(); ++itr) {
265 
266  // retrieve blob
267  const coral::AttributeList& atr = itr->second;
268  if(atr["data"].specification().type() != typeid(coral::Blob)) {
269  ATH_MSG_FATAL( "Data column is not of type blob!" );
270  return StatusCode::FAILURE;
271  }
272  coral::Blob blob = atr["data"].data<coral::Blob>();
274  ATH_MSG_FATAL( "Cannot retrieve data from coral blob!" );
275  return StatusCode::FAILURE;
276  }
277  }
278  return StatusCode::SUCCESS;
279 }

◆ loadThresholdData()

StatusCode NswCalibDbAlg::loadThresholdData ( const EventContext &  ctx,
const readKey_t readKey,
const ThresholdTech  tech,
writeHandleThr_t writeHandle,
NswCalibDbThresholdData writeCdo 
) const
private

Definition at line 345 of file NswCalibDbAlg.cxx.

345  {
346 
347  // set up read handle
348  SG::ReadCondHandle<CondAttrListCollection> readHandle{readKey, ctx};
349  const CondAttrListCollection* readCdo{*readHandle};
350  if(!readCdo){
351  ATH_MSG_ERROR("Null pointer to the read conditions object");
352  return StatusCode::FAILURE;
353  }
354  writeHandle.addDependency(readHandle);
355  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
356  ATH_MSG_DEBUG("Range of input is " << readHandle.getRange() << ", range of output is " << writeHandle.getRange());
357 
358  // iterate through data
360  unsigned int nObjs = 0;
361  for(itr = readCdo->begin(); itr != readCdo->end(); ++itr) {
362 
363  // retrieve blob
364  const coral::AttributeList& atr = itr->second;
365  if(atr["data"].specification().type() != typeid(coral::Blob)) {
366  ATH_MSG_FATAL( "Data column is not of type blob!" );
367  return StatusCode::FAILURE;
368  }
369  coral::Blob blob = atr["data"].data<coral::Blob>();
370  std::unique_ptr<TTree> tree;
372  ATH_MSG_FATAL( "Cannot retrieve data from coral blob!" );
373  return StatusCode::FAILURE;
374  }
375 
376  // parse tree
377  unsigned int elinkId{0}, vmm{0}, channel{0};
378  float threshold{0.};
379  tree->SetBranchAddress("vmm" , &vmm );
380  tree->SetBranchAddress("channel" , &channel );
381  tree->SetBranchAddress("elinkId" , &elinkId );
382  tree->SetBranchAddress("threshold" , &threshold );
383 
384  // loop over channels
385  unsigned int nChns = 0;
386  for(unsigned int iEvt=0; iEvt<tree->GetEntries(); ++iEvt){
387  tree->GetEntry(iEvt);
389  if(!buildChannelId(channelId, elinkId, vmm, channel)){
390  ATH_MSG_DEBUG("Could not find valid channelId for elink "<<elinkId<<" This is either caused by calibration data of a channel that is known to be not connected to the detector or might point to some issues in the identifier used for the calibration constants");
391  continue;
392  }
393  if(channelId.get_compact()==0){
394  writeCdo->setZero(tech, threshold);
395  ++nChns;
396  continue;
397  }
398  writeCdo->setData(channelId, threshold);
399  ++nChns;
400  }
401  ATH_MSG_VERBOSE("Retrieved data for "<<nChns<<" channels.");
402  ++nObjs;
403  }
404  ATH_MSG_VERBOSE("Retrieved data for "<<nObjs<<" objects.");
405 
406  return StatusCode::SUCCESS;
407 }

◆ loadTimeChargeData()

StatusCode NswCalibDbAlg::loadTimeChargeData ( const EventContext &  ctx,
const readKey_t readKey,
const TimeChargeTech  tech,
const TimeChargeType  type,
writeHandleTdoPdo_t writeHandle,
NswCalibDbTimeChargeData writeCdo 
) const
private

Definition at line 413 of file NswCalibDbAlg.cxx.

413  {
414 
415  // set up read handle
416  SG::ReadCondHandle<CondAttrListCollection> readHandle{readKey, ctx};
417  const CondAttrListCollection* readCdo{*readHandle};
418  if(!readCdo){
419  ATH_MSG_ERROR("Null pointer to the read conditions object");
420  return StatusCode::FAILURE;
421  }
422  writeHandle.addDependency(readHandle);
423  ATH_MSG_DEBUG("Size of CondAttrListCollection " << readHandle.fullKey() << " readCdo->size()= " << readCdo->size());
424  ATH_MSG_DEBUG("Range of input is " << readHandle.getRange() << ", range of output is " << writeHandle.getRange());
425 
426  // iterate through data
428  unsigned int nObjs = 0;
429  for(itr = readCdo->begin(); itr != readCdo->end(); ++itr) {
430 
431  // retrieve blob
432  const coral::AttributeList& atr = itr->second;
433  if(atr["data"].specification().type() != typeid(coral::Blob)) {
434  ATH_MSG_FATAL( "Data column is not of type blob!" );
435  return StatusCode::FAILURE;
436  }
437  coral::Blob blob = atr["data"].data<coral::Blob>();
438  std::unique_ptr<TTree> tree;
440  ATH_MSG_FATAL( "Cannot retrieve data from coral blob!" );
441  return StatusCode::FAILURE;
442  }
443  // parse tree
444  unsigned int elinkId{0}, vmm{0}, channel{0};
445  float slope{0}, intercept{0};
446  //float slope{0}, slopeError{0}, intercept{0},interceptError{0};
447 
448  tree->SetBranchAddress("vmm" , &vmm );
449  tree->SetBranchAddress("channel" , &channel );
450  tree->SetBranchAddress("elinkId" , &elinkId );
451  tree->SetBranchAddress("slope" , &slope );
452  //tree->SetBranchAddress("slopeError" , &slopeError ); // keep for later
453  tree->SetBranchAddress("intercept" , &intercept );
454  //tree->SetBranchAddress("interceptError", &interceptError);
455 
456 
457  // loop over channels
458  unsigned int nChns = 0;
459  for(unsigned int iEvt=0; iEvt<tree->GetEntries(); ++iEvt){
460  tree->GetEntry(iEvt);
462  if(!buildChannelId(channelId, elinkId, vmm, channel)){
463  ATH_MSG_DEBUG("Could not find valid channelId for elink "<<elinkId<<" This is either caused by calibration data of a channel that is known to be not connected to the detector or might point to some issues in the identifier used for the calibration constants");
464  continue;
465  }
466 
468  calib_data.slope = slope;
469  //calib_data.slopeError = slopeError; // keep for later
470  calib_data.intercept = intercept;
471  //calib_data.interceptError = interceptError;
472 
473  if(!channelId.get_compact()){
474  writeCdo->setZero(type, tech, calib_data);
475  ++nChns;
476  continue;
477  }
478 
479  writeCdo->setData(type, channelId, calib_data);
480  ++nChns;
481  }
482  ATH_MSG_VERBOSE("Retrieved data for "<<nChns<<" channels. "<<tree->GetName()<<" "<<tree->GetEntries());
483  ++nObjs;
484  }
485  ATH_MSG_VERBOSE("Retrieved data for "<<nObjs<<" objects.");
486 
487  return StatusCode::SUCCESS;
488 }

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

◆ processNSWT0Data()

StatusCode NswCalibDbAlg::processNSWT0Data ( const EventContext &  ctx) const
private

Definition at line 177 of file NswCalibDbAlg.cxx.

177  {
178  // set up write handles for MmT0 data
179  writeHandleT0_t wrHdl{m_writeKey_nswT0, ctx};
180  if (wrHdl.isValid()) {
181  ATH_MSG_DEBUG("CondHandle " << wrHdl.fullKey() << " is already valid."
182  << " In theory this should not be called, but may happen"
183  << " if multiple concurrent events are being processed out of order.");
184  return StatusCode::SUCCESS;
185  }
186  ATH_MSG_DEBUG("Range of MmT0 output is " << wrHdl.getRange());
187  std::unique_ptr<NswT0Data> wrCdo{std::make_unique<NswT0Data>(m_idHelperSvc.get())};
188  if(m_loadMmT0Data){
189  if(!m_mmT0FilePath.empty() ){ // let's read the constants from a file
190  ATH_MSG_INFO("processing MM T0 from file " << m_mmT0FilePath);
191  wrHdl.addDependency(EventIDRange(IOVInfiniteRange::infiniteTime()));
192  std::unique_ptr<TFile> file (TFile::Open(m_mmT0FilePath.value().c_str()));
193  if(!file || file->IsZombie()){
194  ATH_MSG_FATAL("Failed to open file containing the MM T0Data. Filepath: "<<m_mmT0FilePath);
195  return StatusCode::FAILURE;
196  }
197  std::unique_ptr<TTree> tree{(TTree*)file->Get("tree_ch")};
198  if(!tree){
199  ATH_MSG_FATAL("Failed to load tree containing the NswT0Data.");
200  return StatusCode::FAILURE;
201  }
202  ATH_CHECK(loadT0Data(tree, wrCdo.get(), T0Tech::MM));
203 
204  } else if(!m_readKey_mm_t0.empty()){
205  ATH_MSG_DEBUG("LOAD NSW MM T0 FROM DB");
206  std::unique_ptr<TTree> tree;
208  ATH_CHECK(loadT0Data(tree, wrCdo.get(), T0Tech::MM));
209 
210  } else {
211  ATH_MSG_ERROR("Neither a database folder nor a file have been provided to read the MM T0 constants");
212  return StatusCode::FAILURE;
213  }
214  }
215  if(m_loadsTgcT0Data){
216  if(!m_stgcT0FilePath.empty() ){ // let's read the constants from a file
217  ATH_MSG_INFO("processing sTGC T0 from file " << m_stgcT0FilePath);
218  wrHdl.addDependency(EventIDRange(IOVInfiniteRange::infiniteTime()));
219  std::unique_ptr<TFile> file (TFile::Open(m_stgcT0FilePath.value().c_str()));
220  if(!file || file->IsZombie()){
221  ATH_MSG_FATAL("Failed to open file containing the sTGC T0Data. Filepath: "<<m_stgcT0FilePath);
222  return StatusCode::FAILURE;
223  }
224  std::unique_ptr<TTree> tree{(TTree*)file->Get("tree_ch")};
225  if(!tree){
226  ATH_MSG_FATAL("Failed to load tree containing the NswT0Data.");
227  return StatusCode::FAILURE;
228  }
229  ATH_CHECK(loadT0Data(tree, wrCdo.get(), T0Tech::STGC));
230 
231  } else if(!m_readKey_stgc_t0.empty()){
232  ATH_MSG_DEBUG("LOAD NSW sTGC T0 FROM DB");
233  std::unique_ptr<TTree> tree;
235  ATH_CHECK(loadT0Data(tree, wrCdo.get(), T0Tech::STGC));
236 
237  } else {
238  ATH_MSG_ERROR("Neither a database folder nor a file have been provided to read the sTGC T0 constants");
239  return StatusCode::FAILURE;
240  }
241  }
242 
243  // insert/write data for NswT0Data data
244  ATH_CHECK(wrHdl.record(std::move(wrCdo)));
245  ATH_MSG_DEBUG("Recorded new " << wrHdl.key() << " with range " << wrHdl.getRange() << " into Conditions Store");
246 
247  return StatusCode::SUCCESS;
248 }

◆ processTdoPdoData()

StatusCode NswCalibDbAlg::processTdoPdoData ( const EventContext &  ctx) const
private

Definition at line 78 of file NswCalibDbAlg.cxx.

78  {
79 
80  // set up write handles for time/charge data
82  if (wrHdl.isValid()) {
83  ATH_MSG_DEBUG("CondHandle " << wrHdl.fullKey() << " is already valid."
84  << " In theory this should not be called, but may happen"
85  << " if multiple concurrent events are being processed out of order.");
86  return StatusCode::SUCCESS;
87  }
88  ATH_MSG_DEBUG("Range of time/charge output is " << wrHdl.getRange());
89  std::unique_ptr<NswCalibDbTimeChargeData> wrCdo{std::make_unique<NswCalibDbTimeChargeData>(m_idHelperSvc.get())};
90 
91  // MM
94  }
97  }
100  }
103  }
104 
105  // sTGC
108  }
111  }
114  }
117  }
118 
119  // insert/write data for time/charge data
120  if (wrHdl.record(std::move(wrCdo)).isFailure()) {
121  ATH_MSG_FATAL("Could not record " << wrHdl.key()
122  << " with EventRange " << wrHdl.getRange()
123  << " into Conditions Store");
124  return StatusCode::FAILURE;
125  }
126  ATH_MSG_DEBUG("Recorded new " << wrHdl.key() << " with range " << wrHdl.getRange() << " into Conditions Store");
127 
128  return StatusCode::SUCCESS; // nothing to do
129 
130 }

◆ processThrData()

StatusCode NswCalibDbAlg::processThrData ( const EventContext &  ctx) const
private

Definition at line 135 of file NswCalibDbAlg.cxx.

135  {
136 
137  if(m_isData) return StatusCode::SUCCESS; // nothing to do
138 
139  // set up write handles for threshold data
141  if (wrHdl.isValid()) {
142  ATH_MSG_DEBUG("CondHandle " << wrHdl.fullKey() << " is already valid."
143  << " In theory this should not be called, but may happen"
144  << " if multiple concurrent events are being processed out of order.");
145  return StatusCode::SUCCESS;
146  }
147  ATH_MSG_DEBUG("Range of threshold output is " << wrHdl.getRange());
148  std::unique_ptr<NswCalibDbThresholdData> wrCdo{std::make_unique<NswCalibDbThresholdData>(m_idHelperSvc.get())};
149 
152  }
155  }
158  }
161  }
162 
163  // insert/write data for threshold data
164  if (wrHdl.record(std::move(wrCdo)).isFailure()) {
165  ATH_MSG_FATAL("Could not record " << wrHdl.key()
166  << " with EventRange " << wrHdl.getRange()
167  << " into Conditions Store");
168  return StatusCode::FAILURE;
169  }
170  ATH_MSG_DEBUG("Recorded new " << wrHdl.key() << " with range " << wrHdl.getRange() << " into Conditions Store");
171 
172  return StatusCode::SUCCESS;
173 }

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

ServiceHandle<ICondSvc> NswCalibDbAlg::m_condSvc {this, "CondSvc", "CondSvc"}
private

Definition at line 76 of file NswCalibDbAlg.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> NswCalibDbAlg::m_idHelperSvc {this, "MuonIdHelperSvc", "Muon::MuonIdHelperSvc/MuonIdHelperSvc"}
private

Definition at line 77 of file NswCalibDbAlg.h.

◆ m_isData

Gaudi::Property<bool> NswCalibDbAlg::m_isData {this, "isData" , true , "Processing data"}
private

Definition at line 74 of file NswCalibDbAlg.h.

◆ m_loadMmT0Data

Gaudi::Property<bool> NswCalibDbAlg::m_loadMmT0Data {this, "loadMmT0Data", false, "Enable loading the sTgc T0Data"}
private

Definition at line 96 of file NswCalibDbAlg.h.

◆ m_loadsTgcT0Data

Gaudi::Property<bool> NswCalibDbAlg::m_loadsTgcT0Data {this, "loadsTgcT0Data", false, "Enable loading the sTgcT0Data"}
private

Definition at line 97 of file NswCalibDbAlg.h.

◆ m_mmT0FilePath

Gaudi::Property<std::string> NswCalibDbAlg::m_mmT0FilePath {this, "MmT0FileName", "", "Path to a file containing the MM T0 data, this will override the data from the conditions db"}
private

Definition at line 100 of file NswCalibDbAlg.h.

◆ m_readKey_mm_sidea_pdo

readKey_t NswCalibDbAlg::m_readKey_mm_sidea_pdo {this, "ReadKey_MM_SIDEA_PDO" , "/MDT/MM/CHARGE/SIDEA" , "Key of input MM condition data for side A data PDO"}
private

Definition at line 85 of file NswCalibDbAlg.h.

◆ m_readKey_mm_sidea_tdo

readKey_t NswCalibDbAlg::m_readKey_mm_sidea_tdo {this, "ReadKey_MM_SIDEA_TDO" , "/MDT/MM/TIME/SIDEA" , "Key of input MM condition data for side A data TDO"}
private

Definition at line 83 of file NswCalibDbAlg.h.

◆ m_readKey_mm_sidea_thr

readKey_t NswCalibDbAlg::m_readKey_mm_sidea_thr {this, "ReadKey_MM_SIDEA_THR" , "/MDT/MM/THR/SIDEA" , "Key of input MM condition data for side A data THR"}
private

Definition at line 87 of file NswCalibDbAlg.h.

◆ m_readKey_mm_sidec_pdo

readKey_t NswCalibDbAlg::m_readKey_mm_sidec_pdo {this, "ReadKey_MM_SIDEC_PDO" , "/MDT/MM/CHARGE/SIDEC" , "Key of input MM condition data for side C data PDO"}
private

Definition at line 86 of file NswCalibDbAlg.h.

◆ m_readKey_mm_sidec_tdo

readKey_t NswCalibDbAlg::m_readKey_mm_sidec_tdo {this, "ReadKey_MM_SIDEC_TDO" , "/MDT/MM/TIME/SIDEC" , "Key of input MM condition data for side C data TDO"}
private

Definition at line 84 of file NswCalibDbAlg.h.

◆ m_readKey_mm_sidec_thr

readKey_t NswCalibDbAlg::m_readKey_mm_sidec_thr {this, "ReadKey_MM_SIDEC_THR" , "/MDT/MM/THR/SIDEC" , "Key of input MM condition data for side C data THR"}
private

Definition at line 88 of file NswCalibDbAlg.h.

◆ m_readKey_mm_t0

readKey_t NswCalibDbAlg::m_readKey_mm_t0 {this, "ReadKey_MM_T0", "" , "Key of input MM condition data for side A data T0"}
private

Definition at line 98 of file NswCalibDbAlg.h.

◆ m_readKey_stgc_sidea_pdo

readKey_t NswCalibDbAlg::m_readKey_stgc_sidea_pdo {this, "ReadKey_STGC_SIDEA_PDO", "/TGC/NSW/CHARGE/SIDEA", "Key of input sTGC condition data for side A data PDO"}
private

Definition at line 91 of file NswCalibDbAlg.h.

◆ m_readKey_stgc_sidea_tdo

readKey_t NswCalibDbAlg::m_readKey_stgc_sidea_tdo {this, "ReadKey_STGC_SIDEA_TDO", "/TGC/NSW/TIME/SIDEA" , "Key of input sTGC condition data for side A data TDO"}
private

Definition at line 89 of file NswCalibDbAlg.h.

◆ m_readKey_stgc_sidea_thr

readKey_t NswCalibDbAlg::m_readKey_stgc_sidea_thr {this, "ReadKey_STGC_SIDEA_THR", "/TGC/NSW/THR/SIDEA" , "Key of input sTGC condition data for side A data THR"}
private

Definition at line 93 of file NswCalibDbAlg.h.

◆ m_readKey_stgc_sidec_pdo

readKey_t NswCalibDbAlg::m_readKey_stgc_sidec_pdo {this, "ReadKey_STGC_SIDEC_PDO", "/TGC/NSW/CHARGE/SIDEC", "Key of input sTGC condition data for side C data PDO"}
private

Definition at line 92 of file NswCalibDbAlg.h.

◆ m_readKey_stgc_sidec_tdo

readKey_t NswCalibDbAlg::m_readKey_stgc_sidec_tdo {this, "ReadKey_STGC_SIDEC_TDO", "/TGC/NSW/TIME/SIDEC" , "Key of input sTGC condition data for side C data TDO"}
private

Definition at line 90 of file NswCalibDbAlg.h.

◆ m_readKey_stgc_sidec_thr

readKey_t NswCalibDbAlg::m_readKey_stgc_sidec_thr {this, "ReadKey_STGC_SIDEC_THR", "/TGC/NSW/THR/SIDEC" , "Key of input sTGC condition data for side C data THR"}
private

Definition at line 94 of file NswCalibDbAlg.h.

◆ m_readKey_stgc_t0

readKey_t NswCalibDbAlg::m_readKey_stgc_t0 {this, "ReadKey_STGC_T0", "" , "Key of input sTGC condition data for side C data T0"}
private

Definition at line 99 of file NswCalibDbAlg.h.

◆ m_stgcT0FilePath

Gaudi::Property<std::string> NswCalibDbAlg::m_stgcT0FilePath {this, "sTgcT0FileName", "", "Path to a file containing the sTGC T0 data, this will override the data from the conditions db"}
private

Definition at line 101 of file NswCalibDbAlg.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_nswT0

writeKeyMmT0_t NswCalibDbAlg::m_writeKey_nswT0 {this, "WriteKey_NswT0" , "NswT0Data" , "Key of output calibration data (NSW T0s)"}
private

Definition at line 81 of file NswCalibDbAlg.h.

◆ m_writeKey_tdopdo

writeKeyTdoPdo_t NswCalibDbAlg::m_writeKey_tdopdo {this, "WriteKey_TdoPdo", "NswCalibDbTimeChargeData", "Key of output calibration data (TDOs and PDOs)" }
private

Definition at line 79 of file NswCalibDbAlg.h.

◆ m_writeKey_thr

writeKeyThr_t NswCalibDbAlg::m_writeKey_thr {this, "WriteKey_Thr" , "NswCalibDbThresholdData" , "Key of output calibration data (VMM thresholds)"}
private

Definition at line 80 of file NswCalibDbAlg.h.


The documentation for this class was generated from the following files:
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
NswCalibDbTimeChargeData::setData
void setData(CalibDataType type, const Identifier &chnlId, CalibConstants constants)
Definition: NswCalibDbTimeChargeData.cxx:41
checkFileSG.nObjs
nObjs
Definition: checkFileSG.py:90
Muon::nsw::STGTPSegments::moduleIDBits::stationPhi
constexpr uint8_t stationPhi
station Phi 1 to 8
Definition: NSWSTGTPDecodeBitmaps.h:161
dumpTgcDigiDeadChambers.gasGap
list gasGap
Definition: dumpTgcDigiDeadChambers.py:33
NswCalibDbAlg::loadThresholdData
StatusCode loadThresholdData(const EventContext &, const readKey_t &, const ThresholdTech, writeHandleThr_t &, NswCalibDbThresholdData *) const
Definition: NswCalibDbAlg.cxx:345
ATH_MSG_FATAL
#define ATH_MSG_FATAL(x)
Definition: AthMsgStreamMacros.h:34
NswCalibDbTimeChargeData::CalibConstants
Helper struct to cache all calibration constants in a common place of the memory.
Definition: NswCalibDbTimeChargeData.h:28
Muon::nsw::NSWResourceId::multi_layer
uint8_t multi_layer() const
Definition: NSWResourceId.h:120
plotting.yearwise_efficiency.channel
channel
Definition: yearwise_efficiency.py:24
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint8_t
uint8_t
Definition: Muon_v1.cxx:557
NswCalibDbTimeChargeData::CalibDataType::PDO
@ PDO
dumpTgcDigiDeadChambers.stationName
dictionary stationName
Definition: dumpTgcDigiDeadChambers.py:30
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
NswCalibDbAlg::m_readKey_stgc_sidea_tdo
readKey_t m_readKey_stgc_sidea_tdo
Definition: NswCalibDbAlg.h:89
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
NswCalibDbAlg::initialize
virtual StatusCode initialize() override
Definition: NswCalibDbAlg.cxx:24
NswCalibDbAlg::processTdoPdoData
StatusCode processTdoPdoData(const EventContext &ctx) const
Definition: NswCalibDbAlg.cxx:78
Muon::nsw::NSWResourceId::detId
uint8_t detId() const
Definition: NSWResourceId.h:71
tree
TChain * tree
Definition: tile_monitor.h:30
NswCalibDbAlg::m_readKey_stgc_sidea_pdo
readKey_t m_readKey_stgc_sidea_pdo
Definition: NswCalibDbAlg.h:91
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
NswCalibDbAlg::m_stgcT0FilePath
Gaudi::Property< std::string > m_stgcT0FilePath
Definition: NswCalibDbAlg.h:101
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
AthCommonMsg< Gaudi::Algorithm >::msgLvl
bool msgLvl(const MSG::Level lvl) const
Definition: AthCommonMsg.h:30
NswCalibDbAlg::m_idHelperSvc
ServiceHandle< Muon::IMuonIdHelperSvc > m_idHelperSvc
Definition: NswCalibDbAlg.h:77
NswCalibDbAlg::m_readKey_mm_sidec_tdo
readKey_t m_readKey_mm_sidec_tdo
Definition: NswCalibDbAlg.h:84
python.subdetectors.tile.Blob
Blob
Definition: tile.py:17
NswCalibDbAlg::m_loadsTgcT0Data
Gaudi::Property< bool > m_loadsTgcT0Data
Definition: NswCalibDbAlg.h:97
Muon::nsw::NSWResourceId::station_eta
int8_t station_eta() const
Definition: NSWResourceId.h:99
NswCalibDbThresholdData::ThrsldTechType::STGC
@ STGC
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)
Av: we implement here an ATLAS-sepcific convention: all particles which are 99xxxxx are fine.
Definition: AtlasPID.h:620
Muon::nsw::helper::NSWOfflineHelper
Definition: NSWOfflineHelper.h:19
THROW_EXCEPTION
#define THROW_EXCEPTION(MSG)
Definition: MMReadoutElement.cxx:48
SG::VarHandleKey::empty
bool empty() const
Test if the key is blank.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:150
CondAttrListCollection
This class is a collection of AttributeLists where each one is associated with a channel number....
Definition: CondAttrListCollection.h:52
empty
bool empty(TH1 *h)
Definition: computils.cxx:295
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
NswCalibDbAlg::buildChannelId
bool buildChannelId(Identifier &channelId, unsigned int elinkId, unsigned int vmm, unsigned int channel) const
Definition: NswCalibDbAlg.cxx:493
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:29
NswCalibDbTimeChargeData::setZero
void setZero(CalibDataType type, MuonCond::CalibTechType tech, CalibConstants constants)
Definition: NswCalibDbTimeChargeData.cxx:75
runBeamSpotCalibration.helper
helper
Definition: runBeamSpotCalibration.py:112
NswCalibDbAlg::m_readKey_stgc_t0
readKey_t m_readKey_stgc_t0
Definition: NswCalibDbAlg.h:99
uint
unsigned int uint
Definition: LArOFPhaseFill.cxx:20
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
NswCalibDbAlg::m_writeKey_nswT0
writeKeyMmT0_t m_writeKey_nswT0
Definition: NswCalibDbAlg.h:81
AthCommonDataStore
Definition: AthCommonDataStore.h:52
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
NswCalibDbThresholdData::setData
void setData(const Identifier &, const float)
Definition: NswCalibDbThresholdData.cxx:22
xAOD::uint16_t
setWord1 uint16_t
Definition: eFexEMRoI_v1.cxx:93
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
NswCalibDbAlg::loadT0ToTree
StatusCode loadT0ToTree(const EventContext &ctx, const readKey_t &readKey, writeHandleT0_t &writeHandle, std::unique_ptr< TTree > &tree) const
Definition: NswCalibDbAlg.cxx:250
NswCalibDbAlg::m_writeKey_thr
writeKeyThr_t m_writeKey_thr
Definition: NswCalibDbAlg.h:80
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
Muon::nsw::NSWResourceId::is_large_station
bool is_large_station() const
Definition: NSWResourceId.h:93
TRT::Hit::layer
@ layer
Definition: HitInfo.h:79
NswCalibDbThresholdData::ThrsldTechType::MM
@ MM
Muon::nsw::NSWResourceId::station_phi
uint8_t station_phi() const
Definition: NSWResourceId.h:114
NswCalibDbAlg::m_readKey_stgc_sidec_tdo
readKey_t m_readKey_stgc_sidec_tdo
Definition: NswCalibDbAlg.h:90
file
TFile * file
Definition: tile_monitor.h:29
NswCalibDbAlg::writeHandleT0_t
SG::WriteCondHandle< NswT0Data > writeHandleT0_t
Definition: NswCalibDbAlg.h:55
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
NswCalibDbTimeChargeData::CalibDataType::TDO
@ TDO
NswCalibDbAlg::m_readKey_mm_sidea_tdo
readKey_t m_readKey_mm_sidea_tdo
Definition: NswCalibDbAlg.h:83
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
NswCalibDbAlg::m_readKey_mm_sidec_thr
readKey_t m_readKey_mm_sidec_thr
Definition: NswCalibDbAlg.h:88
CoralUtilities::readBlobAsTTree
bool readBlobAsTTree(const coral::Blob &, std::unique_ptr< TTree > &)
Definition: blobaccess.cxx:107
CaloCondBlobAlgs_fillNoiseFromASCII.channelId
channelId
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:122
NswCalibDbAlg::m_readKey_stgc_sidec_pdo
readKey_t m_readKey_stgc_sidec_pdo
Definition: NswCalibDbAlg.h:92
NswCalibDbTimeChargeData::CalibConstants::slope
float slope
Definition: NswCalibDbTimeChargeData.h:29
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
NswCalibDbAlg::m_isData
Gaudi::Property< bool > m_isData
Definition: NswCalibDbAlg.h:74
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
NswCalibDbAlg::loadTimeChargeData
StatusCode loadTimeChargeData(const EventContext &ctx, const readKey_t &readKey, const TimeChargeTech, const TimeChargeType type, writeHandleTdoPdo_t &writeHandle, NswCalibDbTimeChargeData *writeCdo) const
Definition: NswCalibDbAlg.cxx:413
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:228
threshold
Definition: chainparser.cxx:74
NswCalibDbAlg::m_loadMmT0Data
Gaudi::Property< bool > m_loadMmT0Data
Definition: NswCalibDbAlg.h:96
AthReentrantAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthReentrantAlgorithm.cxx:96
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
NswCalibDbAlg::m_mmT0FilePath
Gaudi::Property< std::string > m_mmT0FilePath
Definition: NswCalibDbAlg.h:100
MuonCond::CalibTechType::STGC
@ STGC
NswCalibDbAlg::m_readKey_mm_t0
readKey_t m_readKey_mm_t0
Definition: NswCalibDbAlg.h:98
a
TList * a
Definition: liststreamerinfos.cxx:10
h
NswCalibDbAlg::m_readKey_mm_sidea_pdo
readKey_t m_readKey_mm_sidea_pdo
Definition: NswCalibDbAlg.h:85
CaloSwCorrections.time
def time(flags, cells_name, *args, **kw)
Definition: CaloSwCorrections.py:242
NswCalibDbAlg::m_writeKey_tdopdo
writeKeyTdoPdo_t m_writeKey_tdopdo
Definition: NswCalibDbAlg.h:79
NswCalibDbAlg::m_readKey_stgc_sidec_thr
readKey_t m_readKey_stgc_sidec_thr
Definition: NswCalibDbAlg.h:94
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
CondAttrListCollection::const_iterator
ChanAttrListMap::const_iterator const_iterator
Definition: CondAttrListCollection.h:63
NswT0Data::setData
void setData(const Identifier &channelId, const float channelT0)
Definition: NswT0Data.cxx:39
NswCalibDbThresholdData::setZero
void setZero(ThrsldTechType, const float)
Definition: NswCalibDbThresholdData.cxx:31
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
NswCalibDbAlg::processNSWT0Data
StatusCode processNSWT0Data(const EventContext &ctx) const
Definition: NswCalibDbAlg.cxx:177
NswCalibDbAlg::m_readKey_stgc_sidea_thr
readKey_t m_readKey_stgc_sidea_thr
Definition: NswCalibDbAlg.h:93
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
NswCalibDbAlg::processThrData
StatusCode processThrData(const EventContext &ctx) const
Definition: NswCalibDbAlg.cxx:135
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
IOVInfiniteRange::infiniteTime
static EventIDRange infiniteTime()
Produces an EventIDRange that is inifinite in Time and invalid in RunLumi.
Definition: IOVInfiniteRange.h:47
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
python.Constants.VERBOSE
int VERBOSE
Definition: Control/AthenaCommon/python/Constants.py:14
Muon::nsw::STGTPSegments::moduleIDBits::stationEta
constexpr uint8_t stationEta
1 to 3
Definition: NSWSTGTPDecodeBitmaps.h:159
NswCalibDbAlg::m_readKey_mm_sidea_thr
readKey_t m_readKey_mm_sidea_thr
Definition: NswCalibDbAlg.h:87
sTgcDigitEffiDump.multiLayer
int multiLayer
Definition: sTgcDigitEffiDump.py:36
NswCalibDbAlg::m_condSvc
ServiceHandle< ICondSvc > m_condSvc
Definition: NswCalibDbAlg.h:76
SG::WriteCondHandle
Definition: WriteCondHandle.h:26
NswCalibDbAlg::loadT0Data
StatusCode loadT0Data(const std::unique_ptr< TTree > &tree, NswT0Data *writeCdo, const T0Tech tech) const
Definition: NswCalibDbAlg.cxx:281
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
NswCalibDbAlg::m_readKey_mm_sidec_pdo
readKey_t m_readKey_mm_sidec_pdo
Definition: NswCalibDbAlg.h:86
MuonCond::CalibTechType::MM
@ MM
CaloCondBlobAlgs_fillNoiseFromASCII.blob
blob
Definition: CaloCondBlobAlgs_fillNoiseFromASCII.py:96
Muon::nsw::NSWResourceId::gas_gap
uint8_t gas_gap() const
Definition: NSWResourceId.h:126
fitman.k
k
Definition: fitman.py:528
ServiceHandle< ICondSvc >
Identifier
Definition: IdentifierFieldParser.cxx:14