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

Algorithm used to write the light-weight xAOD configuration in the Run3 JSON format. More...

#include <xAODMenuWriterMT.h>

Inheritance diagram for TrigConf::xAODMenuWriterMT:
Collaboration diagram for TrigConf::xAODMenuWriterMT:

Public Member Functions

 xAODMenuWriterMT (const std::string &name, ISvcLocator *svcLoc)
 Regular Algorithm constructor. More...
 
virtual ~xAODMenuWriterMT () override=default
 
virtual StatusCode initialize () override
 Function initialising the algorithm. More...
 
virtual StatusCode execute (const EventContext &ctx) const override
 Function executing the algorithm. 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

typedef std::pair< uint32_t, std::pair< uint32_t, uint32_t > > TrigKey_t
 Trigger configuration key type (used just internally) More...
 
typedef ServiceHandle< StoreGateSvcStoreGateSvc_t
 

Private Member Functions

Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
 specialization for handling Gaudi::Property<SG::VarHandleKey> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleKeyArrayType &)
 specialization for handling Gaudi::Property<SG::VarHandleKeyArray> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &hndl, const SG::VarHandleType &)
 specialization for handling Gaudi::Property<SG::VarHandleBase> More...
 
Gaudi::Details::PropertyBase & declareGaudiProperty (Gaudi::Property< T > &t, const SG::NotHandleType &)
 specialization for handling everything that's not a Gaudi::Property<SG::VarHandleKey> or a <SG::VarHandleKeyArray> More...
 

Private Attributes

SG::ReadHandleKey< TrigConf::HLTMenum_HLTMenuKey
 
SG::ReadHandleKey< TrigConf::HLTMonitoringm_HLTMonitoringKey
 
SG::ReadHandleKey< TrigConf::L1Menum_L1MenuKey
 
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSetm_HLTPrescaleSetInputKey
 
SG::ReadCondHandleKey< TrigConf::L1PrescalesSetm_L1PrescaleSetInputKey
 
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSetm_bgInputKey
 
Gaudi::Property< std::string > m_metaNameJSON_hlt
 
Gaudi::Property< std::string > m_metaNameJSON_hltmonitoring
 
Gaudi::Property< std::string > m_metaNameJSON_l1
 
Gaudi::Property< std::string > m_metaNameJSON_hltps
 
Gaudi::Property< std::string > m_metaNameJSON_l1ps
 
Gaudi::Property< std::string > m_metaNameJSON_bg
 
ServiceHandle< StoreGateSvcm_metaStore
 
ToolHandle< IKeyWriterToolm_keyWriterTool
 
xAOD::TriggerMenuJsonContainer *m_menuJSON_hlt ATLAS_THREAD_SAFE
 
xAOD::TriggerMenuJsonContainer *m_menuJSON_hltmonitoring ATLAS_THREAD_SAFE
 
xAOD::TriggerMenuJsonContainer *m_menuJSON_l1 ATLAS_THREAD_SAFE
 
xAOD::TriggerMenuJsonContainer *m_menuJSON_hltps ATLAS_THREAD_SAFE
 
xAOD::TriggerMenuJsonContainer *m_menuJSON_l1ps ATLAS_THREAD_SAFE
 
xAOD::TriggerMenuJsonContainer *m_menuJSON_bg ATLAS_THREAD_SAFE
 
std::set< uint32_t > m_converted_smk ATLAS_THREAD_SAFE
 Trigger configuration keys that are already converted. More...
 
std::set< uint32_t > m_converted_hltpsk ATLAS_THREAD_SAFE
 
std::set< uint32_t > m_converted_l1psk ATLAS_THREAD_SAFE
 
std::set< uint32_t > m_converted_bg ATLAS_THREAD_SAFE
 
std::mutex m_mutex
 The mutex to prevent us from writing more than one configuration at a time. More...
 
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

Algorithm used to write the light-weight xAOD configuration in the Run3 JSON format.

   This algorithm needs to be scheduled in jobs that write xAOD
   files in Athena in order to write the trigger configuration
   into the output file.

   It puts a tiny amount of information into each event that is
   later used to find the correct configuration of the events,
   and also assembles the configuration metadata that is written
   into the metadata TTree of the xAOD file at the end of the job.
Author
Attila Krasznahorkay Attil.nosp@m.a.Kr.nosp@m.aszna.nosp@m.hork.nosp@m.ay@ce.nosp@m.rn.c.nosp@m.h
Tim Martin Tim.M.nosp@m.arti.nosp@m.n@cer.nosp@m.n.ch

Definition at line 54 of file xAODMenuWriterMT.h.

Member Typedef Documentation

◆ StoreGateSvc_t

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

Definition at line 388 of file AthCommonDataStore.h.

◆ TrigKey_t

typedef std::pair< uint32_t, std::pair< uint32_t, uint32_t > > TrigConf::xAODMenuWriterMT::TrigKey_t
private

Trigger configuration key type (used just internally)

Definition at line 113 of file xAODMenuWriterMT.h.

Constructor & Destructor Documentation

◆ xAODMenuWriterMT()

TrigConf::xAODMenuWriterMT::xAODMenuWriterMT ( const std::string &  name,
ISvcLocator *  svcLoc 
)

Regular Algorithm constructor.

Definition at line 38 of file xAODMenuWriterMT.cxx.

40  : AthReentrantAlgorithm(name, svcLoc),
41  m_metaStore("MetaDataStore", name)
42  {
43  }

◆ ~xAODMenuWriterMT()

virtual TrigConf::xAODMenuWriterMT::~xAODMenuWriterMT ( )
overridevirtualdefault

Member Function Documentation

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

Function executing the algorithm.

Definition at line 139 of file xAODMenuWriterMT.cxx.

140  {
141 
142  // Create the keys in the "internal format":
143  TrigKey_t ckeys;
144 
145  // Write to SG via writer tool.
146  // Get keys back via pass-by-reference
147  ATH_CHECK(m_keyWriterTool->writeKeys(ctx, /*SMK*/ ckeys.first, /*L1PSK*/ ckeys.second.first, /*HLTPSK*/ ckeys.second.second));
148 
149  uint32_t bunchgroupKey = 0;
150  ATH_CHECK(m_keyWriterTool->writeBunchgroupKey(ctx, bunchgroupKey));
151 
152  // The following code must only run on one event at a time
153  std::lock_guard<std::mutex> lock(m_mutex);
154 
155  if (!m_converted_smk.insert(ckeys.first).second) {
156  ATH_MSG_VERBOSE("Already converted SMK: " << ckeys.first);
157  } else {
158  ATH_MSG_DEBUG("Filling HLT Menu information for SMK:" << ckeys.first);
160  ATH_CHECK(hltMenuHandle.isValid());
161  std::stringstream hltTriggerMenuJson;
162  hltMenuHandle->printRaw(hltTriggerMenuJson);
164  m_menuJSON_hlt->push_back(hlt); // Now owned by MetaDataStore
165  hlt->setKey(ckeys.first);
166  hlt->setName(hltMenuHandle->name());
167  hlt->setPayload(hltTriggerMenuJson.str());
169  ATH_MSG_DEBUG("Filling HLT Monitoring information for SMK:" << ckeys.first);
171  if (hltMonitoringHandle.isValid()) {
172  std::stringstream hltMonitoringJson;
173  hltMonitoringHandle->printRaw(hltMonitoringJson);
174  xAOD::TriggerMenuJson *hltmonitoring = new xAOD::TriggerMenuJson();
175  m_menuJSON_hltmonitoring->push_back(hltmonitoring); // Now owned by MetaDataStore
176  hltmonitoring->setKey(ckeys.first);
177  hltmonitoring->setName(hltMonitoringHandle->name());
178  hltmonitoring->setPayload(hltMonitoringJson.str());
179  } else {
180  ATH_MSG_DEBUG("No HLT Monitoring JSON available - skipping.");
181  }
183  ATH_MSG_DEBUG("Filling L1 information for SMK:" << ckeys.first);
185  ATH_CHECK(l1MenuHandle.isValid());
186  std::stringstream l1TriggerMenuJson;
187  l1MenuHandle->printRaw(l1TriggerMenuJson);
189  m_menuJSON_l1->push_back(l1); // Now owned by MetaDataStore
190  l1->setKey(ckeys.first);
191  l1->setName(l1MenuHandle->name());
192  l1->setPayload(l1TriggerMenuJson.str());
193  }
194 
195  if (!m_converted_hltpsk.insert(ckeys.second.second).second) {
196  ATH_MSG_VERBOSE("Already converted HLTPSK: " << ckeys.second.second);
197  } else {
198  ATH_MSG_DEBUG("Filling prescale information for HLTPSK:" << ckeys.second.second);
200  ATH_CHECK(hltPSHandle.isValid());
201  std::stringstream hltPSJSON;
202  hltPSHandle->printRaw(hltPSJSON);
204  m_menuJSON_hltps->push_back(hltps); // Now owned by MetaDataStore
205  hltps->setKey(ckeys.second.second);
206  hltps->setName(hltPSHandle->name());
207  hltps->setPayload(hltPSJSON.str());
208  }
209 
210  if (!m_converted_l1psk.insert(ckeys.second.first).second) {
211  ATH_MSG_VERBOSE("Already converted LVL1PSK: " << ckeys.second.first);
212  } else {
213  ATH_MSG_DEBUG("Filling prescale information for LVL1PSK:" << ckeys.second.first);
215  ATH_CHECK(l1PSHandle.isValid());
216  std::stringstream l1PSJSON;
217  l1PSHandle->printRaw(l1PSJSON);
219  m_menuJSON_l1ps->push_back(l1ps); // Now owned by MetaDataStore
220  l1ps->setKey(ckeys.second.first);
221  l1ps->setName(l1PSHandle->name());
222  l1ps->setPayload(l1PSJSON.str());
223  }
224 
225  if (!m_converted_bg.insert(bunchgroupKey).second) {
226  ATH_MSG_VERBOSE("Already converted Bunchgroup Key: " << bunchgroupKey);
227  } else {
228  ATH_MSG_DEBUG("Filling prescale information for Bunchgroup Key:" << bunchgroupKey);
230  ATH_CHECK(bunchgroupHandle.isValid());
231  std::stringstream l1BunchgroupJSON;
232  bunchgroupHandle->printRaw(l1BunchgroupJSON);
234  m_menuJSON_bg->push_back(l1bg); // Now owned by MetaDataStore
235  l1bg->setKey(bunchgroupKey);
236  l1bg->setName(bunchgroupHandle->name());
237  l1bg->setPayload(l1BunchgroupJSON.str());
238  }
239 
240  // Return gracefully:
241  return StatusCode::SUCCESS;
242  }

◆ 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 TrigConf::xAODMenuWriterMT::initialize ( )
overridevirtual

Function initialising the algorithm.

Definition at line 45 of file xAODMenuWriterMT.cxx.

46  {
47 
48  // Greet the user:
49  ATH_MSG_INFO("Initialising");
50  ATH_MSG_VERBOSE("MetaDataStore = " << m_metaStore);
51 
52  // Retrieve the necessary service(s):
53  ATH_CHECK(m_metaStore.retrieve());
54 
55  ATH_CHECK(m_keyWriterTool.retrieve());
56 
57  ATH_CHECK(m_HLTMenuKey.initialize()); // ReadHandleKey, but DetStore (so renounce)
59  ATH_CHECK(m_HLTMonitoringKey.initialize()); // ReadHandleKey, but DetStore (so renounce)
61  ATH_CHECK(m_HLTPrescaleSetInputKey.initialize()); // ReadCondHandleKey
62 
63  ATH_CHECK(m_L1MenuKey.initialize()); // ReadHandleKey, but DetStore (so renounce)
65  ATH_CHECK(m_L1PrescaleSetInputKey.initialize()); // ReadCondHandleKey
66 
67  ATH_CHECK(m_bgInputKey.initialize()); // ReadCondHandleKey
68 
69  // HLT JSON object - contains HLT menus
70  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hlt = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
71  std::unique_ptr<xAOD::TriggerMenuJsonContainer> hlt = std::make_unique<xAOD::TriggerMenuJsonContainer>();
72  // cppcheck-suppress danglingLifetime; false positive
73  m_menuJSON_hlt = hlt.get(); // Keep a cached pointer from which we can add to the output metastore
74  // cppcheck-suppress danglingLifetime; false positive
75  m_menuJSON_hlt->setStore(aux_hlt.get());
76 
77  ATH_CHECK(m_metaStore->record(std::move(aux_hlt), m_metaNameJSON_hlt + "Aux."));
78  ATH_CHECK(m_metaStore->record(std::move(hlt), m_metaNameJSON_hlt));
79 
80  // HLT Monitoring JSON object - contains Monitoring groups for HLT menus
81  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
82  std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonContainer>();
83  // cppcheck-suppress danglingLifetime; false positive
84  m_menuJSON_hltmonitoring = hltmonitoring.get(); // Keep a cached pointer from which we can add to the output metastore
85  // cppcheck-suppress danglingLifetime; false positive
86  m_menuJSON_hltmonitoring->setStore(aux_hltmonitoring.get());
87 
88  ATH_CHECK(m_metaStore->record(std::move(aux_hltmonitoring), m_metaNameJSON_hltmonitoring + "Aux."));
89  ATH_CHECK(m_metaStore->record(std::move(hltmonitoring), m_metaNameJSON_hltmonitoring));
90 
91  // L1 JSON object - contains L1 menus
92  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1 = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
93  std::unique_ptr<xAOD::TriggerMenuJsonContainer> l1 = std::make_unique<xAOD::TriggerMenuJsonContainer>();
94  // cppcheck-suppress danglingLifetime; false positive
95  m_menuJSON_l1 = l1.get(); // Keep a cached pointer from which we can add to the output metastore
96  // cppcheck-suppress danglingLifetime; false positive
97  m_menuJSON_l1->setStore(aux_l1.get());
98 
99  ATH_CHECK(m_metaStore->record(std::move(aux_l1), m_metaNameJSON_l1 + "Aux."));
100  ATH_CHECK(m_metaStore->record(std::move(l1), m_metaNameJSON_l1));
101 
102  // HLT PS JSON object - contains prescales sets for HLT menus
103  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
104  std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
105  // cppcheck-suppress danglingLifetime; false positive
106  m_menuJSON_hltps = hltps.get(); // Keep a cached pointer from which we can add to the output metastore
107  // cppcheck-suppress danglingLifetime; false positive
108  m_menuJSON_hltps->setStore(aux_hltps.get());
109 
110  ATH_CHECK(m_metaStore->record(std::move(aux_hltps), m_metaNameJSON_hltps + "Aux."));
111  ATH_CHECK(m_metaStore->record(std::move(hltps), m_metaNameJSON_hltps));
112 
113  // L1 PS JSON object - contains prescales sets for L1 menus
114  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1ps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
115  std::unique_ptr<xAOD::TriggerMenuJsonContainer> l1ps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
116  // cppcheck-suppress danglingLifetime; false positive
117  m_menuJSON_l1ps = l1ps.get(); // Keep a cached pointer from which we can add to the output metastore
118  // cppcheck-suppress danglingLifetime; false positive
119  m_menuJSON_l1ps->setStore(aux_l1ps.get());
120 
121  ATH_CHECK(m_metaStore->record(std::move(aux_l1ps), m_metaNameJSON_l1ps + "Aux."));
122  ATH_CHECK(m_metaStore->record(std::move(l1ps), m_metaNameJSON_l1ps));
123 
124  // Bunchgroup JSON object - contains bungchgroup configuration
125  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_bg = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
126  std::unique_ptr<xAOD::TriggerMenuJsonContainer> bg = std::make_unique<xAOD::TriggerMenuJsonContainer>();
127  // cppcheck-suppress danglingLifetime; false positive
128  m_menuJSON_bg = bg.get(); // Keep a cached pointer from which we can add to the output metastore
129  // cppcheck-suppress danglingLifetime; false positive
130  m_menuJSON_bg->setStore( aux_bg.get() );
131 
132  ATH_CHECK( m_metaStore->record(std::move(aux_bg), m_metaNameJSON_bg + "Aux." ) );
133  ATH_CHECK( m_metaStore->record(std::move(bg), m_metaNameJSON_bg ) );
134 
135  // Return gracefully:
136  return StatusCode::SUCCESS;
137  }

◆ 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

◆ 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

◆ ATLAS_THREAD_SAFE [1/10]

xAOD::TriggerMenuJsonContainer* m_menuJSON_hlt TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 116 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [2/10]

xAOD::TriggerMenuJsonContainer* m_menuJSON_hltmonitoring TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 117 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [3/10]

xAOD::TriggerMenuJsonContainer* m_menuJSON_l1 TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 118 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [4/10]

xAOD::TriggerMenuJsonContainer* m_menuJSON_hltps TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 119 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [5/10]

xAOD::TriggerMenuJsonContainer* m_menuJSON_l1ps TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 120 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [6/10]

xAOD::TriggerMenuJsonContainer* m_menuJSON_bg TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 121 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [7/10]

std::set< uint32_t > m_converted_smk TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Trigger configuration keys that are already converted.

Definition at line 124 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [8/10]

std::set< uint32_t > m_converted_hltpsk TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 125 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [9/10]

std::set< uint32_t > m_converted_l1psk TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 126 of file xAODMenuWriterMT.h.

◆ ATLAS_THREAD_SAFE [10/10]

std::set< uint32_t > m_converted_bg TrigConf::xAODMenuWriterMT::ATLAS_THREAD_SAFE
mutableprivate

Definition at line 127 of file xAODMenuWriterMT.h.

◆ m_bgInputKey

SG::ReadCondHandleKey<TrigConf::L1BunchGroupSet> TrigConf::xAODMenuWriterMT::m_bgInputKey
private
Initial value:
{this, "L1BunchGroup", "L1BunchGroup",
"L1BunchGroupSet condition handl"}

Definition at line 85 of file xAODMenuWriterMT.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_HLTMenuKey

SG::ReadHandleKey<TrigConf::HLTMenu> TrigConf::xAODMenuWriterMT::m_HLTMenuKey
private
Initial value:
{this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu",
"HLT Menu key"}

Definition at line 70 of file xAODMenuWriterMT.h.

◆ m_HLTMonitoringKey

SG::ReadHandleKey<TrigConf::HLTMonitoring> TrigConf::xAODMenuWriterMT::m_HLTMonitoringKey
private
Initial value:
{this, "HLTMonitoringMenu", "DetectorStore+HLTMonitoringMenu",
"HLT Monitoring key"}

Definition at line 73 of file xAODMenuWriterMT.h.

◆ m_HLTPrescaleSetInputKey

SG::ReadCondHandleKey<TrigConf::HLTPrescalesSet> TrigConf::xAODMenuWriterMT::m_HLTPrescaleSetInputKey
private
Initial value:
{this, "HLTPrescales", "HLTPrescales",
"HLT prescales set condition handle"}

Definition at line 79 of file xAODMenuWriterMT.h.

◆ m_keyWriterTool

ToolHandle<IKeyWriterTool> TrigConf::xAODMenuWriterMT::m_keyWriterTool
private
Initial value:
{this, "KeyWriterTool", "KeyWriterTool/OfflineKeyWriterTool",
"Writes the keys which are configured when the trigger configuration is written to in-file metadata."}

Definition at line 109 of file xAODMenuWriterMT.h.

◆ m_L1MenuKey

SG::ReadHandleKey<TrigConf::L1Menu> TrigConf::xAODMenuWriterMT::m_L1MenuKey
private
Initial value:
{this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu",
"L1 Menu key"}

Definition at line 76 of file xAODMenuWriterMT.h.

◆ m_L1PrescaleSetInputKey

SG::ReadCondHandleKey<TrigConf::L1PrescalesSet> TrigConf::xAODMenuWriterMT::m_L1PrescaleSetInputKey
private
Initial value:
{this, "L1Prescales", "L1Prescales",
"L1 prescales set condition handle"}

Definition at line 82 of file xAODMenuWriterMT.h.

◆ m_metaNameJSON_bg

Gaudi::Property< std::string > TrigConf::xAODMenuWriterMT::m_metaNameJSON_bg
private
Initial value:
{this, "JSONMetaObjectNameBunchgroup", "TriggerMenuJson_BG",
"StoreGate key for the xAOD::TriggerMenuJson BunchGroup configuration object"}

Definition at line 103 of file xAODMenuWriterMT.h.

◆ m_metaNameJSON_hlt

Gaudi::Property< std::string > TrigConf::xAODMenuWriterMT::m_metaNameJSON_hlt
private
Initial value:
{this, "JSONMetaObjectNameHLT", "TriggerMenuJson_HLT",
"StoreGate key for the xAOD::TriggerMenuJson HLT configuration object"}

Definition at line 88 of file xAODMenuWriterMT.h.

◆ m_metaNameJSON_hltmonitoring

Gaudi::Property< std::string > TrigConf::xAODMenuWriterMT::m_metaNameJSON_hltmonitoring
private
Initial value:
{this, "JSONMetaObjectNameHLTMonitoring", "TriggerMenuJson_HLTMonitoring",
"StoreGate key for the xAOD::TriggerMenuJson HLT Monitoring configuration object"}

Definition at line 91 of file xAODMenuWriterMT.h.

◆ m_metaNameJSON_hltps

Gaudi::Property< std::string > TrigConf::xAODMenuWriterMT::m_metaNameJSON_hltps
private
Initial value:
{this, "JSONMetaObjectNameHLTPS", "TriggerMenuJson_HLTPS",
"StoreGate key for the xAOD::TriggerMenuJson HLT prescales configuration object"}

Definition at line 97 of file xAODMenuWriterMT.h.

◆ m_metaNameJSON_l1

Gaudi::Property< std::string > TrigConf::xAODMenuWriterMT::m_metaNameJSON_l1
private
Initial value:
{this, "JSONMetaObjectNameL1", "TriggerMenuJson_L1",
"StoreGate key for the xAOD::TriggerMenuJson L1 configuration object"}

Definition at line 94 of file xAODMenuWriterMT.h.

◆ m_metaNameJSON_l1ps

Gaudi::Property< std::string > TrigConf::xAODMenuWriterMT::m_metaNameJSON_l1ps
private
Initial value:
{this, "JSONMetaObjectNameL1PS", "TriggerMenuJson_L1PS",
"StoreGate key for the xAOD::TriggerMenuJson L1 prescales configuration object"}

Definition at line 100 of file xAODMenuWriterMT.h.

◆ m_metaStore

ServiceHandle< StoreGateSvc > TrigConf::xAODMenuWriterMT::m_metaStore
private
Initial value:
{this, "MetaDataStore", "MetaDataStore",
"The MetaDataStore"}

Definition at line 106 of file xAODMenuWriterMT.h.

◆ m_mutex

std::mutex TrigConf::xAODMenuWriterMT::m_mutex
mutableprivate

The mutex to prevent us from writing more than one configuration at a time.

Definition at line 130 of file xAODMenuWriterMT.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.


The documentation for this class was generated from the following files:
StandaloneBunchgroupHandler.bg
bg
Definition: StandaloneBunchgroupHandler.py:243
SG::ReadCondHandle
Definition: ReadCondHandle.h:44
ATH_MSG_INFO
#define ATH_MSG_INFO(x)
Definition: AthMsgStreamMacros.h:31
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
SG::ReadHandle
Definition: StoreGate/StoreGate/ReadHandle.h:70
AthCommonDataStore::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
xAOD::TriggerMenuJson_v1::setKey
void setKey(uint32_t value)
Set the key of this configuration.
TrigConf::xAODMenuWriterMT::m_keyWriterTool
ToolHandle< IKeyWriterTool > m_keyWriterTool
Definition: xAODMenuWriterMT.h:109
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::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
TrigConf::xAODMenuWriterMT::m_metaStore
ServiceHandle< StoreGateSvc > m_metaStore
Definition: xAODMenuWriterMT.h:106
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
TrigConf::xAODMenuWriterMT::m_L1PrescaleSetInputKey
SG::ReadCondHandleKey< TrigConf::L1PrescalesSet > m_L1PrescaleSetInputKey
Definition: xAODMenuWriterMT.h:82
TrigConf::xAODMenuWriterMT::m_metaNameJSON_hltps
Gaudi::Property< std::string > m_metaNameJSON_hltps
Definition: xAODMenuWriterMT.h:97
read_hist_ntuple.t
t
Definition: read_hist_ntuple.py:5
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
TrigConf::DataStructure::name
virtual const std::string & name() const final
Definition: DataStructure.cxx:109
TrigConf::xAODMenuWriterMT::m_HLTMonitoringKey
SG::ReadHandleKey< TrigConf::HLTMonitoring > m_HLTMonitoringKey
Definition: xAODMenuWriterMT.h:73
AthenaPoolTestRead.sc
sc
Definition: AthenaPoolTestRead.py:27
SG::VarHandleKeyArray::setOwner
virtual void setOwner(IDataHandleHolder *o)=0
IDTPMcnv.htype
htype
Definition: IDTPMcnv.py:27
TrigConf::xAODMenuWriterMT::m_bgInputKey
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > m_bgInputKey
Definition: xAODMenuWriterMT.h:85
SG::makeHandle
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Definition: ReadCondHandle.h:270
TrigConf::xAODMenuWriterMT::m_metaNameJSON_l1
Gaudi::Property< std::string > m_metaNameJSON_l1
Definition: xAODMenuWriterMT.h:94
python.utils.AtlRunQueryDQUtils.p
p
Definition: AtlRunQueryDQUtils.py:210
TrigConf::xAODMenuWriterMT::m_metaNameJSON_hltmonitoring
Gaudi::Property< std::string > m_metaNameJSON_hltmonitoring
Definition: xAODMenuWriterMT.h:91
AthCommonDataStore
Definition: AthCommonDataStore.h:52
AthReentrantAlgorithm::AthReentrantAlgorithm
AthReentrantAlgorithm()
Default constructor:
ATH_MSG_ERROR
#define ATH_MSG_ERROR(x)
Definition: AthMsgStreamMacros.h:33
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::outputHandles
virtual std::vector< Gaudi::DataHandle * > outputHandles() const override
Return this algorithm's output handles.
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
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
TrigConf::xAODMenuWriterMT::m_L1MenuKey
SG::ReadHandleKey< TrigConf::L1Menu > m_L1MenuKey
Definition: xAODMenuWriterMT.h:76
AthCommonDataStore< AthCommonMsg< Gaudi::Algorithm > >::m_detStore
StoreGateSvc_t m_detStore
Pointer to StoreGate (detector store by default)
Definition: AthCommonDataStore.h:393
SG::VarHandleKey::initialize
StatusCode initialize(bool used=true)
If this object is used as a property, then this should be called during the initialize phase.
Definition: AthToolSupport/AsgDataHandles/Root/VarHandleKey.cxx:103
SG::ReadHandle::isValid
virtual bool isValid() override final
Can the handle be successfully dereferenced?
AthReentrantAlgorithm::m_extendedExtraObjects
DataObjIDColl m_extendedExtraObjects
Extra output dependency collection, extended by AthAlgorithmDHUpdate to add symlinks.
Definition: AthReentrantAlgorithm.h:153
xAOD::TriggerMenuJson_v1::setPayload
void setPayload(const std::string &payload)
Set the JSON payload.
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
TrigConf::xAODMenuWriterMT::m_HLTMenuKey
SG::ReadHandleKey< TrigConf::HLTMenu > m_HLTMenuKey
Definition: xAODMenuWriterMT.h:70
TrigInDetValidation_Base_data.hlt
hlt
Definition: TrigInDetValidation_Base_data.py:79
merge_scale_histograms.doc
string doc
Definition: merge_scale_histograms.py:9
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:221
TrigConf::xAODMenuWriterMT::m_metaNameJSON_hlt
Gaudi::Property< std::string > m_metaNameJSON_hlt
Definition: xAODMenuWriterMT.h:88
AthReentrantAlgorithm::sysInitialize
virtual StatusCode sysInitialize() override
Override sysInitialize.
Definition: AthReentrantAlgorithm.cxx:96
TrigConf::DataStructure::printRaw
void printRaw(std::ostream &os=std::cout) const
Definition: DataStructure.cxx:265
xAOD::TriggerMenuJson_v1::setName
void setName(const std::string &name)
Set the name key of this configuration.
SG::CondHandleKey::initialize
StatusCode initialize(bool used=true)
xAOD::TriggerMenuJson_v1
Raw JSON data for a given type of menu file.
Definition: TriggerMenuJson_v1.h:26
a
TList * a
Definition: liststreamerinfos.cxx:10
h
TrigConf::xAODMenuWriterMT::m_mutex
std::mutex m_mutex
The mutex to prevent us from writing more than one configuration at a time.
Definition: xAODMenuWriterMT.h:130
TrigConf::xAODMenuWriterMT::m_metaNameJSON_l1ps
Gaudi::Property< std::string > m_metaNameJSON_l1ps
Definition: xAODMenuWriterMT.h:100
ATH_MSG_WARNING
#define ATH_MSG_WARNING(x)
Definition: AthMsgStreamMacros.h:32
xAOD::TriggerMenuJson
TriggerMenuJson_v1 TriggerMenuJson
Define the latest version of the trigger menu JSON class.
Definition: TriggerMenuJson.h:15
SG::VarHandleBase::vhKey
SG::VarHandleKey & vhKey()
Return a non-const reference to the HandleKey.
Definition: StoreGate/src/VarHandleBase.cxx:623
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:798
LHEF::Writer
Pythia8::Writer Writer
Definition: Prophecy4fMerger.cxx:12
skel.l1
l1
Definition: skel.GENtoEVGEN.py:398
TrigConf::xAODMenuWriterMT::m_HLTPrescaleSetInputKey
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSet > m_HLTPrescaleSetInputKey
Definition: xAODMenuWriterMT.h:79
AthCommonDataStore::declareGaudiProperty
Gaudi::Details::PropertyBase & declareGaudiProperty(Gaudi::Property< T > &hndl, const SG::VarHandleKeyType &)
specialization for handling Gaudi::Property<SG::VarHandleKey>
Definition: AthCommonDataStore.h:156
TrigConf::xAODMenuWriterMT::TrigKey_t
std::pair< uint32_t, std::pair< uint32_t, uint32_t > > TrigKey_t
Trigger configuration key type (used just internally)
Definition: xAODMenuWriterMT.h:113
fitman.k
k
Definition: fitman.py:528
TrigConf::xAODMenuWriterMT::m_metaNameJSON_bg
Gaudi::Property< std::string > m_metaNameJSON_bg
Definition: xAODMenuWriterMT.h:103
ServiceHandle< ICondSvc >