ATLAS Offline Software
xAODConfigSvc.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 #ifndef TRIGCONFXAOD_XAODCONFIGSVC_H
8 #define TRIGCONFXAOD_XAODCONFIGSVC_H
9 
10 // Gaudi/Athena include(s):
13 #include "GaudiKernel/IIncidentListener.h"
14 #include "GaudiKernel/ServiceHandle.h"
15 #include "StoreGate/StoreGateSvc.h"
16 
17 // Trigger include(s):
23 
24 #include "TrigConfData/HLTMenu.h"
26 #include "TrigConfData/L1Menu.h"
30 
31 // xAOD include(s):
40 
41 #include <shared_mutex>
42 
43 namespace TrigConf {
44 
53  struct MenuPtrWrapper {
54  MenuPtrWrapper() : m_ptr(nullptr) {}
56  };
57 
64  };
65 
75  class xAODConfigSvc : public extends<AthService, ITrigConfigSvc, IIncidentListener> {
76 
77  public:
79  xAODConfigSvc( const std::string& name, ISvcLocator* svcLoc );
80 
82  virtual StatusCode initialize() override;
84  virtual StatusCode finalize() override;
85 
88 
90  virtual const CTPConfig* ctpConfig() const override;
91 
93  virtual const ThresholdConfig* thresholdConfig() const override {
94  return 0;
95  }
96 
98  virtual const BunchGroupSet* bunchGroupSet() const override;
99 
101  virtual uint32_t lvl1PrescaleKey() const override;
102 
104  virtual uint32_t bunchGroupSetKey() const override;
105 
107 
110 
112  virtual const HLTChainList& chains() const override;
113 
115  virtual const HLTSequenceList& sequences() const override;
116 
118  virtual uint32_t masterKey() const override;
119 
121  virtual uint32_t hltPrescaleKey() const override;
122 
124 
127 
129  virtual const Muctpi* muctpiConfig() const override {
130  return 0;
131  }
132 
134 
137 
139  virtual const HLTMenu& hltMenu(const EventContext& ctx = Gaudi::Hive::currentContext()) const override;
140 
142  virtual const HLTMonitoring& hltMonitoring(const EventContext& ctx = Gaudi::Hive::currentContext()) const override;
143 
145  virtual const L1Menu& l1Menu(const EventContext& ctx = Gaudi::Hive::currentContext()) const override;
146 
148  virtual const HLTPrescalesSet& hltPrescalesSet(const EventContext& ctx = Gaudi::Hive::currentContext()) const override;
149 
151  virtual const L1PrescalesSet& l1PrescalesSet(const EventContext& ctx = Gaudi::Hive::currentContext()) const override;
152 
154  virtual const L1BunchGroupSet& l1BunchGroupSet(const EventContext& ctx = Gaudi::Hive::currentContext()) const override;
155 
157 
159  virtual void handle( const Incident& inc ) override;
160 
161  std::string configurationSource() const override {
162  return "";
163  }
164 
165  private:
170 
173 
175  StatusCode prepareEventRun3Athena(const EventContext& context);
176 
178  StatusCode prepareEventxAODTriggerMenuJson(const xAOD::TrigConfKeys* keys, const xAOD::BunchConfKey* bgKey, const EventContext& context);
179 
181  StatusCode prepareEventxAODTriggerMenu(const xAOD::TrigConfKeys* keys, const EventContext& context);
182 
190  StatusCode loadPtree(const std::string& humanName,
191  const xAOD::TriggerMenuJsonContainer* metaContainer,
192  const uint32_t keyToCheck,
193  TriggerMenuJsonPtrWrapper& cacheOfLoadedMenuPtr,
194  DataStructure& dataStructure,
195  const bool optional = false);
196 
197  SG::ReadHandleKey<xAOD::TrigConfKeys> m_eventKey{this, "EventObjectName", "TrigConfKeys",
198  "Key for the event-level configuration identifier object"};
199 
200  SG::ReadHandleKey<xAOD::BunchConfKey> m_eventBGKey{this, "BGKeysObjectName", "BunchConfKey",
201  "Key for the event-level bunchgroup configuration identifier object. Only written from late 2021, optional input."};
202 
205  Gaudi::Property<std::string> m_metaName{this, "MetaObjectName", "TriggerMenu",
206  "Key for the trigger configuration metadata object"};
208 
211  Gaudi::Property< std::string > m_metaNameJSON_hlt {this, "JSONMetaObjectNameHLT", "TriggerMenuJson_HLT",
212  "StoreGate key for the xAOD::TriggerMenuJson HLT configuration object"};
213 
214  Gaudi::Property< std::string > m_metaNameJSON_hltmonitoring {this, "JSONMetaObjectNameHLTMonitoring", "TriggerMenuJson_HLTMonitoring",
215  "StoreGate key for the xAOD::TriggerMenuJson HLT monitoring configuration object"};
216 
217  Gaudi::Property< std::string > m_metaNameJSON_l1 {this, "JSONMetaObjectNameL1", "TriggerMenuJson_L1",
218  "StoreGate key for the xAOD::TriggerMenuJson L1 configuration object"};
219 
220  Gaudi::Property< std::string > m_metaNameJSON_hltps {this, "JSONMetaObjectNameHLTPS", "TriggerMenuJson_HLTPS",
221  "StoreGate key for the xAOD::TriggerMenuJson HLT prescales configuration object"};
222 
223  Gaudi::Property< std::string > m_metaNameJSON_l1ps {this, "JSONMetaObjectNameL1PS", "TriggerMenuJson_L1PS",
224  "StoreGate key for the xAOD::TriggerMenuJson L1 prescales configuration object"};
225 
226  Gaudi::Property< std::string > m_metaNameJSON_bg {this, "JSONMetaObjectNameBunchgroup", "TriggerMenuJson_BG",
227  "StoreGate key for the xAOD::TriggerMenuJson BunchGroup configuration object"};
229 
232 
233  SG::ReadHandleKey<HLTMenu> m_hltMenuKey{this, "HLTTriggerMenu", "DetectorStore+HLTTriggerMenu",
234  "HLT Menu Key, for when UseInFileMetadata=False. From the DetectorStore."};
235 
236  SG::ReadHandleKey<L1Menu> m_l1MenuKey{this, "L1TriggerMenu", "DetectorStore+L1TriggerMenu",
237  "L1 Menu Key, for when UseInFileMetadata=False. From the DetectorStore"};
238 
240  "HLT prescales set condition handle, for when UseInFileMetadata=False"};
241 
243  "L1 prescales set condition handle, for when UseInFileMetadata=False"};
244 
245  SG::ReadCondHandleKey<TrigConf::L1BunchGroupSet> m_L1BunchGroupSetKey{this, "L1BunchGroup", "L1BunchGroup", "L1 Bunch groups"};
247 
248  Gaudi::Property<bool> m_useInFileMetadata{this, "UseInFileMetadata", true, "Flag for reading all configuration from the input POOL file(s). "
249  "This mode should be used everywhere except for: RAWtoALL from bytestream. "
250  "If set to false, only the R3 configuration is supported."};
251 
252  Gaudi::Property<bool> m_stopOnFailure{this, "StopOnFailure", true, "Flag for stopping the job in case of a failure"};
254  bool m_isInFailure{false};
255 
259  std::unique_ptr<xAOD::TriggerMenuAuxContainer> m_tmcAux;
260  std::unique_ptr<xAOD::TriggerMenuContainer> m_tmc;
261 
262  // The menu currently being used by each slot (wrapped 'const xAOD::TriggerMenu' ptr)
265 
269  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> m_hltJsonAux;
270  std::unique_ptr<xAOD::TriggerMenuJsonContainer> m_hltJson;
271  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> m_hltmonitoringJsonAux;
272  std::unique_ptr<xAOD::TriggerMenuJsonContainer> m_hltmonitoringJson;
273  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> m_l1JsonAux;
274  std::unique_ptr<xAOD::TriggerMenuJsonContainer> m_l1Json;
275  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> m_hltpsJsonAux;
276  std::unique_ptr<xAOD::TriggerMenuJsonContainer> m_hltpsJson;
277  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> m_l1psJsonAux;
278  std::unique_ptr<xAOD::TriggerMenuJsonContainer> m_l1psJson;
279  std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> m_bgJsonAux;
280  std::unique_ptr<xAOD::TriggerMenuJsonContainer> m_bgJson;
281 
282  // The menu JSONs being used in the current event by each slot (wrapped 'const xAOD::TriggerMenuJson' ptr)
289 
290  // The decoded menu JSON data stored in ptree objects
298 
300  std::shared_mutex m_sharedMutex;
301 
302 
315 
317  ServiceHandle< StoreGateSvc > m_metaStore{this, "MetaDataStore", "InputMetaDataStore"};
318 
323 
324  }; // class xAODConfigSvc
325 
326 } // namespace TrigConf
327 
328 
329 
330 #endif // TRIGCONFXAOD_XAODCONFIGSVC_H
TrigConf::BunchGroupSet
Definition: BunchGroupSet.h:19
TrigConf::xAODConfigSvc::hltPrescalesSet
virtual const HLTPrescalesSet & hltPrescalesSet(const EventContext &ctx=Gaudi::Hive::currentContext()) const override
Returns the JSON configured HLT prescales ptree.
Definition: xAODConfigSvc.cxx:355
TrigConf::TriggerMenuJsonPtrWrapper::TriggerMenuJsonPtrWrapper
TriggerMenuJsonPtrWrapper()
Definition: xAODConfigSvc.h:62
TrigConf::Muctpi
Definition: Muctpi.h:12
TrigConf::ThresholdConfig
Definition: ThresholdConfig.h:17
CTPConfig.h
HLTPrescalesSet.h
TrigConf::xAODConfigSvc::m_bgJsonAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_bgJsonAux
Definition: xAODConfigSvc.h:279
TrigConf::xAODConfigSvc::m_currentL1
SG::SlotSpecificObj< L1Menu > m_currentL1
Definition: xAODConfigSvc.h:293
HLTChainList.h
TrigConf::xAODConfigSvc::m_L1PrescaleSetKey
SG::ReadCondHandleKey< TrigConf::L1PrescalesSet > m_L1PrescaleSetKey
Definition: xAODConfigSvc.h:242
TrigConf::xAODConfigSvc::readMetadata
StatusCode readMetadata()
Function reading in a new metadata object from the input.
Definition: xAODConfigSvc.cxx:449
TrigConf::xAODConfigSvc::copyMetadataToPersonalStore
void copyMetadataToPersonalStore(const xAOD::TriggerMenuJsonContainer *input, xAOD::TriggerMenuJsonContainer *existing)
Helper function for copying into the service's private data store.
Definition: xAODConfigSvc.cxx:614
TrigConf::xAODConfigSvc::m_currentBg
SG::SlotSpecificObj< L1BunchGroupSet > m_currentBg
Definition: xAODConfigSvc.h:296
TrigConf::xAODConfigSvc::prepareEvent
StatusCode prepareEvent()
Function setting up the service for a new event.
Definition: xAODConfigSvc.cxx:634
TrigConf::HLTMenu
HLT menu configuration.
Definition: HLTMenu.h:21
TrigConf::xAODConfigSvc::ctpConfig
virtual const CTPConfig * ctpConfig() const override
Get the LVL1 trigger menu.
Definition: xAODConfigSvc.cxx:112
TrigConf::xAODConfigSvc::m_currentL1ps
SG::SlotSpecificObj< L1PrescalesSet > m_currentL1ps
Definition: xAODConfigSvc.h:295
TrigConf::xAODConfigSvc::prepareEventxAODTriggerMenu
StatusCode prepareEventxAODTriggerMenu(const xAOD::TrigConfKeys *keys, const EventContext &context)
Do per-event decoding for R2 in-file serialised xAOD::TriggerMenu metadata.
Definition: xAODConfigSvc.cxx:679
TrigConf::xAODConfigSvc::m_hltJson
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_hltJson
Definition: xAODConfigSvc.h:270
TriggerMenuJson.h
TrigConf::xAODConfigSvc::m_menu
SG::SlotSpecificObj< MenuPtrWrapper > m_menu
Definition: xAODConfigSvc.h:263
xAOD::uint32_t
setEventNumber uint32_t
Definition: EventInfo_v1.cxx:127
TrigConf::xAODConfigSvc::hltMenu
virtual const HLTMenu & hltMenu(const EventContext &ctx=Gaudi::Hive::currentContext()) const override
Returns the JSON configured HLTMenu ptree.
Definition: xAODConfigSvc.cxx:310
TrigConf::xAODConfigSvc::m_sharedMutex
std::shared_mutex m_sharedMutex
The mutex used to to restrict access to m_tmc when it is being written to.
Definition: xAODConfigSvc.h:300
TrigConf::xAODConfigSvc::m_metaNameJSON_hltps
Gaudi::Property< std::string > m_metaNameJSON_hltps
Definition: xAODConfigSvc.h:220
TrigConf::xAODConfigSvc::m_currentHltps
SG::SlotSpecificObj< HLTPrescalesSet > m_currentHltps
Definition: xAODConfigSvc.h:294
TrigConf::xAODConfigSvc::m_chainList
SG::SlotSpecificObj< HLTChainList > m_chainList
The "translated" HLT configuration object.
Definition: xAODConfigSvc.h:309
TrigConf::xAODConfigSvc::m_useInFileMetadata
Gaudi::Property< bool > m_useInFileMetadata
Definition: xAODConfigSvc.h:248
TrigConf::xAODConfigSvc::m_metaNameJSON_hltmonitoring
Gaudi::Property< std::string > m_metaNameJSON_hltmonitoring
Definition: xAODConfigSvc.h:214
TrigConf::xAODConfigSvc::m_currentL1psJson
SG::SlotSpecificObj< TriggerMenuJsonPtrWrapper > m_currentL1psJson
Definition: xAODConfigSvc.h:287
TrigConf::xAODConfigSvc::m_currentHltJson
SG::SlotSpecificObj< TriggerMenuJsonPtrWrapper > m_currentHltJson
Definition: xAODConfigSvc.h:283
TriggerMenuAuxContainer.h
TrigConf::xAODConfigSvc::m_l1Json
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_l1Json
Definition: xAODConfigSvc.h:274
ITrigConfigSvc.h
TrigConf::xAODConfigSvc::m_ctpConfig
SG::SlotSpecificObj< CTPConfig > m_ctpConfig
Definition: xAODConfigSvc.h:307
TrigConf::xAODConfigSvc::bunchGroupSetKey
virtual uint32_t bunchGroupSetKey() const override
Get the LVL1 bunch group set key.
Definition: xAODConfigSvc.cxx:247
TrigConf::L1Menu
L1 menu configuration.
Definition: L1Menu.h:28
L1PrescalesSet.h
TrigConf::xAODConfigSvc::initialize
virtual StatusCode initialize() override
Function initialising the service.
Definition: xAODConfigSvc.cxx:34
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition: StoreGate/StoreGate/ReadHandleKey.h:39
TrigConf::MenuPtrWrapper::MenuPtrWrapper
MenuPtrWrapper()
Definition: xAODConfigSvc.h:54
TrigConf::xAODConfigSvc::lvl1PrescaleKey
virtual uint32_t lvl1PrescaleKey() const override
Get the LVL1 prescale key.
Definition: xAODConfigSvc.cxx:208
TrigConf::xAODConfigSvc::m_bgSet
SG::SlotSpecificObj< BunchGroupSet > m_bgSet
The "translated" bunch group set object.
Definition: xAODConfigSvc.h:313
TrigConf::xAODConfigSvc::m_metaNameJSON_l1ps
Gaudi::Property< std::string > m_metaNameJSON_l1ps
Definition: xAODConfigSvc.h:223
TrigConf
Forward iterator to traverse the main components of the trigger configuration.
Definition: Config.h:22
SG::SlotSpecificObj
Maintain a set of objects, one per slot.
Definition: AthenaKernel/AthenaKernel/SlotSpecificObj.h:70
TrigConf::xAODConfigSvc::m_eventBGKey
SG::ReadHandleKey< xAOD::BunchConfKey > m_eventBGKey
Definition: xAODConfigSvc.h:200
TrigConf::xAODConfigSvc::handle
virtual void handle(const Incident &inc) override
Function handling the incoming incidents.
Definition: xAODConfigSvc.cxx:405
TrigConf::HLTChainList
list of all HLT chains in a trigger menu
Definition: HLTChainList.h:56
TrigConf::xAODConfigSvc::m_tmc
std::unique_ptr< xAOD::TriggerMenuContainer > m_tmc
Definition: xAODConfigSvc.h:260
TrigConf::xAODConfigSvc::m_l1psJson
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_l1psJson
Definition: xAODConfigSvc.h:278
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
TriggerMenuJsonAuxContainer.h
TrigConf::xAODConfigSvc::m_eventKey
SG::ReadHandleKey< xAOD::TrigConfKeys > m_eventKey
Definition: xAODConfigSvc.h:197
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
TrigConf::xAODConfigSvc::muctpiConfig
virtual const Muctpi * muctpiConfig() const override
Get the MuCTPI's online configuration.
Definition: xAODConfigSvc.h:129
TrigConf::xAODConfigSvc::m_hltMenuKey
SG::ReadHandleKey< HLTMenu > m_hltMenuKey
Definition: xAODConfigSvc.h:233
TrigConf::xAODConfigSvc::m_triggerMenuContainerAvailable
bool m_triggerMenuContainerAvailable
Is decoded R2 format data available?
Definition: xAODConfigSvc.h:320
TrigConf::xAODConfigSvc::m_hltpsJson
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_hltpsJson
Definition: xAODConfigSvc.h:276
TrigConf::xAODConfigSvc::thresholdConfig
virtual const ThresholdConfig * thresholdConfig() const override
Get the LVL1 threshold configuruation (not available from xAOD)
Definition: xAODConfigSvc.h:93
TrigConf::xAODConfigSvc::masterKey
virtual uint32_t masterKey() const override
Get the Super Master Key.
Definition: xAODConfigSvc.cxx:173
TriggerMenuJsonContainer.h
TrigConf::xAODConfigSvc::m_metaNameJSON_hlt
Gaudi::Property< std::string > m_metaNameJSON_hlt
Definition: xAODConfigSvc.h:211
TrigConf::xAODConfigSvc::finalize
virtual StatusCode finalize() override
Function finalising the service.
Definition: xAODConfigSvc.cxx:106
TrigConf::xAODConfigSvc::prepareEventxAODTriggerMenuJson
StatusCode prepareEventxAODTriggerMenuJson(const xAOD::TrigConfKeys *keys, const xAOD::BunchConfKey *bgKey, const EventContext &context)
Do per-event decoding for R3 in-file serialised xAOD::TriggerMenuJson metadata.
Definition: xAODConfigSvc.cxx:848
TrigConf::xAODConfigSvc::m_l1psJsonAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_l1psJsonAux
Definition: xAODConfigSvc.h:277
TrigConf::xAODConfigSvc::m_hltpsJsonAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_hltpsJsonAux
Definition: xAODConfigSvc.h:275
TrigConf::L1BunchGroupSet
L1 board configuration.
Definition: L1BunchGroupSet.h:71
TrigConf::xAODConfigSvc::m_hltmonitoringJsonAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_hltmonitoringJsonAux
Definition: xAODConfigSvc.h:271
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TrigConf::xAODConfigSvc::m_menuJSONContainerAvailable
bool m_menuJSONContainerAvailable
Is decoded R3 format data available?
Definition: xAODConfigSvc.h:322
TrigConf::xAODConfigSvc::m_HLTPrescaleSetKey
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSet > m_HLTPrescaleSetKey
Definition: xAODConfigSvc.h:239
TrigConf::name
Definition: HLTChainList.h:35
TriggerMenu.h
TrigConf::L1PrescalesSet
L1 menu configuration.
Definition: L1PrescalesSet.h:19
TrigConf::xAODConfigSvc::m_metaStore
ServiceHandle< StoreGateSvc > m_metaStore
Connection to the metadata store.
Definition: xAODConfigSvc.h:317
TriggerMenuContainer.h
BunchGroupSet.h
L1BunchGroupSet.h
TrigConf::xAODConfigSvc::m_isInFailure
bool m_isInFailure
Internal state of the service.
Definition: xAODConfigSvc.h:254
TrigConf::xAODConfigSvc
Trigger configuration service used when reading an xAOD file.
Definition: xAODConfigSvc.h:75
TrigConf::xAODConfigSvc::m_stopOnFailure
Gaudi::Property< bool > m_stopOnFailure
Definition: xAODConfigSvc.h:252
TrigConf::xAODConfigSvc::m_currentBgJson
SG::SlotSpecificObj< TriggerMenuJsonPtrWrapper > m_currentBgJson
Definition: xAODConfigSvc.h:288
xAOD::TrigConfKeys_v1
Class describing the configuration used in a given event.
Definition: TrigConfKeys_v1.h:32
TrigConf::DataStructure
Base class for Trigger configuration data and wrapper around underlying representation.
Definition: DataStructure.h:37
TrigConf::xAODConfigSvc::chains
virtual const HLTChainList & chains() const override
Get the HLT chains.
Definition: xAODConfigSvc.cxx:143
xAOD::TriggerMenuJson_v1
Raw JSON data for a given type of menu file.
Definition: TriggerMenuJson_v1.h:26
TrigConf::HLTMonitoring
HLT monitoring configuration.
Definition: HLTMonitoring.h:27
TrigConf::xAODConfigSvc::m_hltJsonAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_hltJsonAux
Definition: xAODConfigSvc.h:269
SG::ReadCondHandleKey< TrigConf::HLTPrescalesSet >
TrigConf::xAODConfigSvc::m_L1BunchGroupSetKey
SG::ReadCondHandleKey< TrigConf::L1BunchGroupSet > m_L1BunchGroupSetKey
Definition: xAODConfigSvc.h:245
TrigConf::xAODConfigSvc::m_tmcAux
std::unique_ptr< xAOD::TriggerMenuAuxContainer > m_tmcAux
Definition: xAODConfigSvc.h:259
TrigConf::xAODConfigSvc::m_currentHlt
SG::SlotSpecificObj< HLTMenu > m_currentHlt
Definition: xAODConfigSvc.h:291
TrigConf::TriggerMenuJsonPtrWrapper::m_ptr
const xAOD::TriggerMenuJson * m_ptr
Definition: xAODConfigSvc.h:63
TrigConf::xAODConfigSvc::bunchGroupSet
virtual const BunchGroupSet * bunchGroupSet() const override
Get the LVL1 bunch group set.
Definition: xAODConfigSvc.cxx:127
TrigConf::xAODConfigSvc::hltMonitoring
virtual const HLTMonitoring & hltMonitoring(const EventContext &ctx=Gaudi::Hive::currentContext()) const override
Returns the JSON configured HLTMonitoring ptree.
Definition: xAODConfigSvc.cxx:327
TrigConf::xAODConfigSvc::m_hltmonitoringJson
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_hltmonitoringJson
Definition: xAODConfigSvc.h:272
TrigConf::TriggerMenuJsonPtrWrapper
Small utility class to wrap a pointer to a const xAOD::TriggerMenuJson.
Definition: xAODConfigSvc.h:61
TrigConf::xAODConfigSvc::l1PrescalesSet
virtual const L1PrescalesSet & l1PrescalesSet(const EventContext &ctx=Gaudi::Hive::currentContext()) const override
Returns the JSON configured L1 prescales ptree.
Definition: xAODConfigSvc.cxx:372
TrigConf::xAODConfigSvc::m_metaName
Gaudi::Property< std::string > m_metaName
Definition: xAODConfigSvc.h:205
TrigConf::xAODConfigSvc::m_bgJson
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_bgJson
Definition: xAODConfigSvc.h:280
HLTSequenceList.h
TrigConf::xAODConfigSvc::sequences
virtual const HLTSequenceList & sequences() const override
Get the HLT sequences.
Definition: xAODConfigSvc.cxx:158
TrigConf::xAODConfigSvc::m_metaNameJSON_l1
Gaudi::Property< std::string > m_metaNameJSON_l1
Definition: xAODConfigSvc.h:217
TrigConfKeys.h
TrigConf::xAODConfigSvc::prepareEventRun3Athena
StatusCode prepareEventRun3Athena(const EventContext &context)
Do per-event updating of R3 JSON-based metadata, reading the data direct from the Conditions and Dete...
Definition: xAODConfigSvc.cxx:727
TrigConf::xAODConfigSvc::m_currentHltpsJson
SG::SlotSpecificObj< TriggerMenuJsonPtrWrapper > m_currentHltpsJson
Definition: xAODConfigSvc.h:286
TrigConf::xAODConfigSvc::m_currentHltmonitoring
SG::SlotSpecificObj< HLTMonitoring > m_currentHltmonitoring
Definition: xAODConfigSvc.h:292
TrigConf::CTPConfig
Definition: CTPConfig.h:27
TrigConf::MenuPtrWrapper
Small utility class to wrap a pointer to a const xAOD::TriggerMenu.
Definition: xAODConfigSvc.h:53
AthService.h
SlotSpecificObj.h
Maintain a set of objects, one per slot.
HLTMenu.h
BunchConfKey.h
python.Bindings.keys
keys
Definition: Control/AthenaPython/python/Bindings.py:790
TrigConf::xAODConfigSvc::loadPtree
StatusCode loadPtree(const std::string &humanName, const xAOD::TriggerMenuJsonContainer *metaContainer, const uint32_t keyToCheck, TriggerMenuJsonPtrWrapper &cacheOfLoadedMenuPtr, DataStructure &dataStructure, const bool optional=false)
Helper function to find a JSON in a given TriggerMenuJsonContainer using a given key,...
Definition: xAODConfigSvc.cxx:955
TrigConf::xAODConfigSvc::xAODConfigSvc
xAODConfigSvc(const std::string &name, ISvcLocator *svcLoc)
Standard service constructor.
Definition: xAODConfigSvc.cxx:27
L1Menu.h
TrigConf::HLTPrescalesSet
HLT menu configuration.
Definition: HLTPrescalesSet.h:19
xAOD::TriggerMenu_v1
Class holding one particular trigger configuration.
Definition: TriggerMenu_v1.h:34
TrigConf::xAODConfigSvc::m_l1JsonAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_l1JsonAux
Definition: xAODConfigSvc.h:273
TrigConf::xAODConfigSvc::l1Menu
virtual const L1Menu & l1Menu(const EventContext &ctx=Gaudi::Hive::currentContext()) const override
Returns the JSON configured L1 ptree.
Definition: xAODConfigSvc.cxx:338
TrigConf::xAODConfigSvc::m_l1MenuKey
SG::ReadHandleKey< L1Menu > m_l1MenuKey
Definition: xAODConfigSvc.h:236
TrigConf::xAODConfigSvc::configurationSource
std::string configurationSource() const override
Definition: xAODConfigSvc.h:161
TrigConf::xAODConfigSvc::hltPrescaleKey
virtual uint32_t hltPrescaleKey() const override
Get the HLT prescale key.
Definition: xAODConfigSvc.cxx:270
StoreGateSvc.h
TrigConf::xAODConfigSvc::m_metaNameJSON_bg
Gaudi::Property< std::string > m_metaNameJSON_bg
Definition: xAODConfigSvc.h:226
TrigConf::xAODConfigSvc::m_currentHltmonitoringJson
SG::SlotSpecificObj< TriggerMenuJsonPtrWrapper > m_currentHltmonitoringJson
Definition: xAODConfigSvc.h:284
TrigConf::xAODConfigSvc::m_currentL1Json
SG::SlotSpecificObj< TriggerMenuJsonPtrWrapper > m_currentL1Json
Definition: xAODConfigSvc.h:285
TrigConf::xAODConfigSvc::l1BunchGroupSet
virtual const L1BunchGroupSet & l1BunchGroupSet(const EventContext &ctx=Gaudi::Hive::currentContext()) const override
Returns the JSON configured bunchgroup ptree.
Definition: xAODConfigSvc.cxx:389
ServiceHandle< StoreGateSvc >
xAOD::BunchConfKey_v1
Class identifying the bunch configuration of a given event.
Definition: BunchConfKey_v1.h:29
TrigConf::MenuPtrWrapper::m_ptr
const xAOD::TriggerMenu * m_ptr
Definition: xAODConfigSvc.h:55
HLTMonitoring.h
TrigConf::xAODConfigSvc::m_sequenceList
SG::SlotSpecificObj< HLTSequenceList > m_sequenceList
The "translated" HLT configuration object.
Definition: xAODConfigSvc.h:311
TrigConf::HLTSequenceList
list of HLT sequences
Definition: HLTSequenceList.h:40