ATLAS Offline Software
TriggerMenuMetaDataTool.cxx
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 // $Id: TriggerMenuMetaDataTool.cxx 683395 2015-07-16 11:11:56Z krasznaa $
6 
7 // System include(s):
8 #include <memory>
9 
10 #include <stdexcept>
11 
12 // Hack to initialise decoration accessors for Trigger EDM in offline jobs
13 // starting from ESD or later, see ATR-22421
14 #if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS)
16 #endif
17 
18 // Local include(s):
20 
21 namespace xAODMaker {
22 
24 
26  : asg::AsgMetadataTool( name ),
27  m_menu(), m_menuAux(), m_beginFileIncidentSeen( false ) {
28 
29 
30 
31 #ifndef XAOD_STANDALONE
32  declareInterface< ::IMetaDataTool >( this );
33 #endif // XAOD_STANDALONE
34 
35  declareProperty("InputKey", m_inputKey = "TriggerMenu");
36  declareProperty("OutputKey", m_outputKey = "TriggerMenu");
37  declareProperty("InputKeyJSON_HLT", m_inputKeyJSON_HLT = "TriggerMenuJson_HLT");
38  declareProperty("OutputKeyJSON_HLT", m_outputKeyJSON_HLT = "TriggerMenuJson_HLT");
39  declareProperty("InputKeyJSON_HLTMonitoring", m_inputKeyJSON_HLTMonitoring = "TriggerMenuJson_HLTMonitoring");
40  declareProperty("OutputKeyJSON_HLTMonitoring", m_outputKeyJSON_HLTMonitoring = "TriggerMenuJson_HLTMonitoring");
41  declareProperty("InputKeyJSON_L1", m_inputKeyJSON_L1 = "TriggerMenuJson_L1");
42  declareProperty("OutputKeyJSON_L1", m_outputKeyJSON_L1 = "TriggerMenuJson_L1");
43  declareProperty("InputKeyJSON_HLTPS", m_inputKeyJSON_HLTPS = "TriggerMenuJson_HLTPS");
44  declareProperty("OutputKeyJSON_HLTPS", m_outputKeyJSON_HLTPS = "TriggerMenuJson_HLTPS");
45  declareProperty("InputKeyJSON_L1PS", m_inputKeyJSON_L1PS = "TriggerMenuJson_L1PS");
46  declareProperty("OutputKeyJSON_L1PS", m_outputKeyJSON_L1PS = "TriggerMenuJson_L1PS");
47  declareProperty("InputKeyJSON_BG", m_inputKeyJSON_BG = "TriggerMenuJson_BG");
48  declareProperty("OutputKeyJSON_BG", m_outputKeyJSON_BG = "TriggerMenuJson_BG");
49  }
50 
52 
53  // Greet the user:
54  ATH_MSG_DEBUG( "Initialising TriggerMenuMetaDataTool" );
55 
56 
57  // Reset the internal variable(s):
58  m_menu.reset();
59  m_menuAux.reset();
60  m_menuJSON_hlt.reset();
61  m_menuJSON_hltAux.reset();
64  m_menuJSON_l1.reset();
65  m_menuJSON_l1Aux.reset();
66  m_menuJSON_hltps.reset();
67  m_menuJSON_hltpsAux.reset();
68  m_menuJSON_l1ps.reset();
69  m_menuJSON_l1psAux.reset();
70  m_menuJSON_bg.reset();
71  m_menuJSON_bgAux.reset();
72 
74 
75  // Return gracefully:
76  return StatusCode::SUCCESS;
77  }
78 
80  // Return gracefully:
81  return StatusCode::SUCCESS;
82  }
84  // Whatever happens, we've seen the first BeginInputFile incident now.
88  return StatusCode::SUCCESS;
89  }
90 
92  // If the input file doesn't have any trigger configuration metadata,
93  // then finish right away:
94  if( ! inputMetaStore()->contains< xAOD::TriggerMenuContainer >(
95  m_inputKey ) ) {
96  return StatusCode::SUCCESS;
97  }
98 
99  // Retrieve the input container:
100  const xAOD::TriggerMenuContainer* input = nullptr;
102 
103  // Create an internal container if it doesn't exist yet:
104  if( ( ! m_menu.get() ) && ( ! m_menuAux.get() ) ) {
105  ATH_MSG_DEBUG( "Creating internal container" );
106  m_menu = std::make_unique<xAOD::TriggerMenuContainer>( );
107  m_menuAux = std::make_unique<xAOD::TriggerMenuAuxContainer>( );
108  m_menu->setStore( m_menuAux.get() );
109  }
110 
111  // Copy (and de-duplicate) from the input collection to the internal collection
113 
114  // Return gracefully:
115  return StatusCode::SUCCESS;
116  }
117 
119  // Loop over the configurations of the copyFrom collection:
120  for( const xAOD::TriggerMenu* menu : *copyFrom ) {
121 
122  // Check if this configuration is already in the copyTo container:
123  bool exists = false;
124  for( const xAOD::TriggerMenu* existing : *copyTo ) {
125  if( ( existing->smk() == menu->smk() ) &&
126  ( existing->l1psk() == menu->l1psk() ) &&
127  ( existing->hltpsk() == menu->hltpsk() ) ) {
128  exists = true;
129  break;
130  }
131  }
132  if( exists ) {
133  continue;
134  }
135 
136  // If it's a new configuration, put it into the copyTo container:
137  ATH_MSG_VERBOSE( "Copying configuration with SMK: "
138  << menu->smk() << ", L1PSK: " << menu->l1psk()
139  << ", HLTPSK: " << menu->hltpsk() );
141  copyTo->push_back( out );
142  *out = *menu;
143  }
144  return StatusCode::SUCCESS;
145  }
146 
154  return StatusCode::SUCCESS;
155  }
156 
157  StatusCode TriggerMenuMetaDataTool::checkCopyJson(const std::string& inputMetaSGKey,
158  std::unique_ptr< xAOD::TriggerMenuJsonContainer >& internalContainer,
159  std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer >& internalAuxContainer)
160  {
161 
162  if( !inputMetaStore()->contains<xAOD::TriggerMenuJsonContainer>(inputMetaSGKey)) {
163  return StatusCode::SUCCESS;
164  }
165 
166  const xAOD::TriggerMenuJsonContainer* input = nullptr;
167  if (inputMetaStore()->retrieve( input, inputMetaSGKey ).isSuccess() ) {
168 
169  // Create an internal container if it doesn't exist yet:
170  if( ( ! internalContainer.get() ) && ( ! internalAuxContainer.get() ) ) {
171  ATH_MSG_DEBUG( "Creating internal container" );
172  internalContainer = std::make_unique<xAOD::TriggerMenuJsonContainer>( );
173  internalAuxContainer = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>( );
174  internalContainer->setStore( internalAuxContainer.get() );
175  }
176 
177  // Copy (and de-duplicate) from the input collection to the internal collection
178  ATH_CHECK( doCopyxAODTriggerMenuJson(inputMetaSGKey, input, internalContainer.get()) );
179  }
180  return StatusCode::SUCCESS;
181  }
182 
184  const xAOD::TriggerMenuJsonContainer* copyFrom,
186  {
187  // Loop over the configurations of the copyFrom input:
188  for( const xAOD::TriggerMenuJson* menuJson : *copyFrom ) {
189  // Check if this configuration is already in the copyTo container:
190  bool exists = false;
191  for( const xAOD::TriggerMenuJson* existing : *copyTo ) {
192  if (existing->key() == menuJson->key()) {
193  exists = true;
194  break;
195  }
196  }
197  if( exists ) {
198  continue;
199  }
200 
201  // If it's a new configuration, put it into the copyTo container:
202  ATH_MSG_VERBOSE( "Copying " << inputMetaSGKey << " configuration with Key: " << menuJson->key() );
204  copyTo->push_back( out );
205  *out = *menuJson;
206  }
207  return StatusCode::SUCCESS;
208  }
209 
211 
212  // In case the BeginInputFile incident was missed in standalone mode, make
213  // sure that the metadata from the first input file is collected at this
214  // point at least.
215  if( ! m_beginFileIncidentSeen ) {
217  }
218 
219  // Return gracefully:
220  return StatusCode::SUCCESS;
221  }
222 
224  // Note: Copying into a given collection in the output store should only be done
225  // by a single thread at a time.
226  std::scoped_lock lock(s_mutex);
227 
230  return StatusCode::SUCCESS;
231  }
232 
234  // The output may already have trigger configuration metadata in it.
235  // For instance from TrigConf::xAODMenuWriter or other instances of the
236  // TriggerMenuMetaDataTool in MP mode. Merge into the output
237 
238  // If we don't have an internal store then nothing to do
239  if( ( ! m_menu.get() ) && ( ! m_menuAux.get() ) ) {
240  ATH_MSG_DEBUG( "No internal xAOD::TriggerMenu store to save/merge to output. (Expected in Run 3)." );
241  return StatusCode::SUCCESS;
242  }
243 
244  if( not outputMetaStore()->contains<xAOD::TriggerMenuContainer>(m_outputKey) ) {
245  // No output yet - hand over ownership of our internal store
246  ATH_MSG_DEBUG( "Recording xAOD::TriggerMenu trigger configuration metadata container with " << m_menu->size() << " entries." );
247  ATH_CHECK( outputMetaStore()->record( m_menu.release(),
248  m_outputKey ) );
249  ATH_CHECK( outputMetaStore()->record( m_menuAux.release(),
250  m_outputKey + "Aux." ) );
251  } else {
252  // Merge into the existing output store
253  ATH_MSG_DEBUG( "Merging into existing output xAOD::TriggerMenu configuration metadata container" );
256  // Copy (and de-duplicate) from the internal collection to the output collection
258  }
259 
260  // Return gracefully:
261  return StatusCode::SUCCESS;
262  }
263 
271  return StatusCode::SUCCESS;
272  }
273 
274  StatusCode TriggerMenuMetaDataTool::checkExportJson(const std::string& outputMetaSGKey,
275  std::unique_ptr< xAOD::TriggerMenuJsonContainer >& internalContainer,
276  std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer >& internalAuxContainer)
277  {
278 
279  // The output may already have trigger configuration metadata in it.
280  // For instance from TrigConf::xAODMenuWriterMT or other instances of the
281  // TriggerMenuMetaDataTool in MP mode. Merge into the output
282 
283  // If we don't have an internal store then nothing to do
284  if( ( ! internalContainer.get() ) && ( ! internalAuxContainer.get() ) ) {
285  ATH_MSG_DEBUG( "No internal xAOD::TriggerJsonMenu " << outputMetaSGKey
286  << " store to save/merge to output. (Expected for Run 2 MC, release 21 data, or the BG data as this is not added as of Dec 21)." );
287  return StatusCode::SUCCESS;
288  }
289 
290  if( not outputMetaStore()->contains< xAOD::TriggerMenuJsonContainer >( outputMetaSGKey ) ) {
291  // No output yet - hand over ownership of our internal store
292  ATH_MSG_DEBUG( "Recording " << outputMetaSGKey << " xAOD::TriggerMenuJson trigger configuration metadata container with "
293  << internalContainer->size() << " entries" );
294  ATH_CHECK( outputMetaStore()->record( internalContainer.release(),
295  outputMetaSGKey ) );
296  ATH_CHECK( outputMetaStore()->record( internalAuxContainer.release(),
297  outputMetaSGKey + "Aux." ) );
298  } else {
299  // Merge into the existing output store
300  ATH_MSG_DEBUG( "Merging into existing " << outputMetaSGKey << " output xAOD::TriggerMenuJson configuration metadata container" );
302  ATH_CHECK( outputMetaStore()->retrieve( output, outputMetaSGKey ) );
303  // Copy (and de-duplicate) from the internal collection to the output collection
304  ATH_CHECK( doCopyxAODTriggerMenuJson(outputMetaSGKey, internalContainer.get(), output) );
305  }
306 
307  // Return gracefully:
308  return StatusCode::SUCCESS;
309  }
310 
311 } // namespace xAODMaker
python.PyKernel.retrieve
def retrieve(aClass, aKey=None)
Definition: PyKernel.py:110
xAODMaker::TriggerMenuMetaDataTool::m_inputKey
std::string m_inputKey
The key of the trigger menu in the input file.
Definition: TriggerMenuMetaDataTool.h:121
xAODMaker::TriggerMenuMetaDataTool::m_beginFileIncidentSeen
bool m_beginFileIncidentSeen
Internal status flag showing whether a BeginInputFile incident was seen already.
Definition: TriggerMenuMetaDataTool.h:175
xAODMaker::TriggerMenuMetaDataTool::m_menu
std::unique_ptr< xAOD::TriggerMenuContainer > m_menu
The merged trigger menu container.
Definition: TriggerMenuMetaDataTool.h:126
xAODMaker::TriggerMenuMetaDataTool::endInputFile
virtual StatusCode endInputFile()
Function called when the currently open input file got completely processed.
Definition: TriggerMenuMetaDataTool.cxx:79
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_l1Aux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_menuJSON_l1Aux
Definition: TriggerMenuMetaDataTool.h:160
xAODMaker::TriggerMenuMetaDataTool::m_outputKeyJSON_HLTMonitoring
std::string m_outputKeyJSON_HLTMonitoring
Definition: TriggerMenuMetaDataTool.h:139
xAODMaker::TriggerMenuMetaDataTool::beginInputFile
virtual StatusCode beginInputFile()
Function collecting the trigger configuration metadata from the input file.
Definition: TriggerMenuMetaDataTool.cxx:83
AthCommonDataStore< AthCommonMsg< AlgTool > >::declareProperty
Gaudi::Details::PropertyBase & declareProperty(Gaudi::Property< T > &t)
Definition: AthCommonDataStore.h:145
BeamSpot::mutex
std::mutex mutex
Definition: InDetBeamSpotVertex.cxx:18
python.TriggerConfig.menu
menu
Definition: TriggerConfig.py:836
asg
Definition: DataHandleTestTool.h:28
python.AthDsoLogger.out
out
Definition: AthDsoLogger.py:71
xAODMaker::TriggerMenuMetaDataTool::m_menuAux
std::unique_ptr< xAOD::TriggerMenuAuxContainer > m_menuAux
The merged trigger menu auxiliary container.
Definition: TriggerMenuMetaDataTool.h:128
asg::AsgMetadataTool::inputMetaStore
MetaStorePtr_t inputMetaStore() const
Accessor for the input metadata store.
Definition: AsgMetadataTool.cxx:88
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_hltmonitoringAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_menuJSON_hltmonitoringAux
Definition: TriggerMenuMetaDataTool.h:157
xAODMaker::TriggerMenuMetaDataTool::m_inputKeyJSON_HLT
std::string m_inputKeyJSON_HLT
Definition: TriggerMenuMetaDataTool.h:135
xAODMaker::TriggerMenuMetaDataTool::m_inputKeyJSON_L1PS
std::string m_inputKeyJSON_L1PS
Definition: TriggerMenuMetaDataTool.h:147
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_hltmonitoring
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_menuJSON_hltmonitoring
Definition: TriggerMenuMetaDataTool.h:156
ATH_MSG_VERBOSE
#define ATH_MSG_VERBOSE(x)
Definition: AthMsgStreamMacros.h:28
xAODMaker
Definition: StoreGateSvc.h:72
xAODMaker::TriggerMenuMetaDataTool::checkxAODTriggerMenu
StatusCode checkxAODTriggerMenu()
Perform the R2 data copy from the input metastore to the internal metastore.
Definition: TriggerMenuMetaDataTool.cxx:91
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_hltps
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_menuJSON_hltps
Definition: TriggerMenuMetaDataTool.h:162
xAODMaker::TriggerMenuMetaDataTool::doCopyxAODTriggerMenu
StatusCode doCopyxAODTriggerMenu(const xAOD::TriggerMenuContainer *copyFrom, xAOD::TriggerMenuContainer *copyTo)
Common code to copy and de-duplicate menus from the copyFrom collection into the copyTo collection.
Definition: TriggerMenuMetaDataTool.cxx:118
xAODMaker::TriggerMenuMetaDataTool::endxAODTriggerMenu
StatusCode endxAODTriggerMenu()
Perform the R2 data copy from the internal metastore to the output metastore.
Definition: TriggerMenuMetaDataTool.cxx:233
xAODMaker::TriggerMenuMetaDataTool::beginEvent
virtual StatusCode beginEvent()
Function used to make sure that file openings are not missed.
Definition: TriggerMenuMetaDataTool.cxx:210
xAODMaker::TriggerMenuMetaDataTool::m_inputKeyJSON_HLTPS
std::string m_inputKeyJSON_HLTPS
Definition: TriggerMenuMetaDataTool.h:144
xAODMaker::TriggerMenuMetaDataTool::checkCopyJson
StatusCode checkCopyJson(const std::string &inputMetaSGKey, std::unique_ptr< xAOD::TriggerMenuJsonContainer > &internalContainer, std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > &internalAuxContainer)
Helper function to do the R3 data copy to the internal store for a given JSON.
Definition: TriggerMenuMetaDataTool.cxx:157
xAODMaker::TriggerMenuMetaDataTool::m_outputKeyJSON_L1PS
std::string m_outputKeyJSON_L1PS
Definition: TriggerMenuMetaDataTool.h:148
xAODMaker::TriggerMenuMetaDataTool::m_inputKeyJSON_HLTMonitoring
std::string m_inputKeyJSON_HLTMonitoring
Definition: TriggerMenuMetaDataTool.h:138
xAODMaker::TriggerMenuMetaDataTool::m_inputKeyJSON_L1
std::string m_inputKeyJSON_L1
Definition: TriggerMenuMetaDataTool.h:141
menu
make the sidebar many part of the config
Definition: hcg.cxx:551
xAODMaker::TriggerMenuMetaDataTool::m_outputKeyJSON_L1
std::string m_outputKeyJSON_L1
Definition: TriggerMenuMetaDataTool.h:142
xAODMaker::TriggerMenuMetaDataTool::m_outputKeyJSON_BG
std::string m_outputKeyJSON_BG
Definition: TriggerMenuMetaDataTool.h:151
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_hltpsAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_menuJSON_hltpsAux
Definition: TriggerMenuMetaDataTool.h:163
xAODMaker::TriggerMenuMetaDataTool::endxAODTriggerMenuJson
StatusCode endxAODTriggerMenuJson()
Perform the R3 data copy from the internal metastore to the output metastore.
Definition: TriggerMenuMetaDataTool.cxx:264
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
xAODMaker::TriggerMenuMetaDataTool::m_inputKeyJSON_BG
std::string m_inputKeyJSON_BG
Definition: TriggerMenuMetaDataTool.h:150
ATH_MSG_DEBUG
#define ATH_MSG_DEBUG(x)
Definition: AthMsgStreamMacros.h:29
PlotPulseshapeFromCool.input
input
Definition: PlotPulseshapeFromCool.py:106
xAODMaker::TriggerMenuMetaDataTool::metaDataStop
virtual StatusCode metaDataStop()
Function writing out the collected metadata.
Definition: TriggerMenuMetaDataTool.cxx:223
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_hltAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_menuJSON_hltAux
Definition: TriggerMenuMetaDataTool.h:154
xAODMaker::TriggerMenuMetaDataTool::m_outputKey
std::string m_outputKey
The key of the trigger menu for the output file.
Definition: TriggerMenuMetaDataTool.h:123
ATH_CHECK
#define ATH_CHECK
Definition: AthCheckMacros.h:40
xAODMaker::TriggerMenuMetaDataTool::checkExportJson
StatusCode checkExportJson(const std::string &outputMetaSGKey, std::unique_ptr< xAOD::TriggerMenuJsonContainer > &internalContainer, std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > &internalAuxContainer)
Definition: TriggerMenuMetaDataTool.cxx:274
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
TriggerMenuMetaDataTool.h
merge.output
output
Definition: merge.py:17
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_l1ps
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_menuJSON_l1ps
Definition: TriggerMenuMetaDataTool.h:165
FPEAudit::s_mutex
std::mutex s_mutex
Definition: FPEAuditor.cxx:43
xAOD::TriggerMenu
TriggerMenu_v1 TriggerMenu
Define the latest version of the trigger menu class.
Definition: TriggerMenu.h:16
xAODMaker::TriggerMenuMetaDataTool::TriggerMenuMetaDataTool
TriggerMenuMetaDataTool(const std::string &name="TriggerMenuMetaDataTool")
Declare the correct constructor for Athena.
Definition: TriggerMenuMetaDataTool.cxx:25
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
xAODMaker::TriggerMenuMetaDataTool::checkxAODTriggerMenuJson
StatusCode checkxAODTriggerMenuJson()
Perform the R3 data copy from the input metastore to the internal metastore.
Definition: TriggerMenuMetaDataTool.cxx:147
xAOD::TriggerMenuJson_v1
Raw JSON data for a given type of menu file.
Definition: TriggerMenuJson_v1.h:26
xAODMaker::TriggerMenuMetaDataTool::doCopyxAODTriggerMenuJson
StatusCode doCopyxAODTriggerMenuJson(const std::string &inputMetaSGKey, const xAOD::TriggerMenuJsonContainer *copyFrom, xAOD::TriggerMenuJsonContainer *copyTo)
Common code to copy and de-duplicate menus from the copyFrom collection into the copyTo collection.
Definition: TriggerMenuMetaDataTool.cxx:183
TriggerEDMAuxAccessors.h
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_l1
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_menuJSON_l1
Definition: TriggerMenuMetaDataTool.h:159
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_bgAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_menuJSON_bgAux
Definition: TriggerMenuMetaDataTool.h:169
asg::AsgMetadataTool::outputMetaStore
MetaStorePtr_t outputMetaStore() const
Accessor for the output metadata store.
Definition: AsgMetadataTool.cxx:97
xAOD::TriggerMenuJson
TriggerMenuJson_v1 TriggerMenuJson
Define the latest version of the trigger menu JSON class.
Definition: TriggerMenuJson.h:15
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_bg
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_menuJSON_bg
Definition: TriggerMenuMetaDataTool.h:168
xAODMaker::TriggerMenuMetaDataTool::m_outputKeyJSON_HLTPS
std::string m_outputKeyJSON_HLTPS
Definition: TriggerMenuMetaDataTool.h:145
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_l1psAux
std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer > m_menuJSON_l1psAux
Definition: TriggerMenuMetaDataTool.h:166
xAODMaker::TriggerMenuMetaDataTool::initialize
virtual StatusCode initialize()
Function initialising the tool.
Definition: TriggerMenuMetaDataTool.cxx:51
python.dummyaccess.exists
def exists(filename)
Definition: dummyaccess.py:9
xAODMaker::TriggerMenuMetaDataTool::m_outputKeyJSON_HLT
std::string m_outputKeyJSON_HLT
Definition: TriggerMenuMetaDataTool.h:136
xAOD::TriggerMenu_v1
Class holding one particular trigger configuration.
Definition: TriggerMenu_v1.h:34
xAODMaker::TriggerMenuMetaDataTool::m_menuJSON_hlt
std::unique_ptr< xAOD::TriggerMenuJsonContainer > m_menuJSON_hlt
Definition: TriggerMenuMetaDataTool.h:153
DataVector::size
size_type size() const noexcept
Returns the number of elements in the collection.