14 #if !defined(XAOD_STANDALONE) && !defined(XAOD_ANALYSIS)
27 m_menu(), m_menuAux(), m_beginFileIncidentSeen( false ) {
31 #ifndef XAOD_STANDALONE
32 declareInterface< ::IMetaDataTool >(
this );
33 #endif // XAOD_STANDALONE
76 return StatusCode::SUCCESS;
81 return StatusCode::SUCCESS;
88 return StatusCode::SUCCESS;
96 return StatusCode::SUCCESS;
106 m_menu = std::make_unique<xAOD::TriggerMenuContainer>( );
107 m_menuAux = std::make_unique<xAOD::TriggerMenuAuxContainer>( );
115 return StatusCode::SUCCESS;
125 if( ( existing->smk() ==
menu->smk() ) &&
126 ( existing->l1psk() ==
menu->l1psk() ) &&
127 ( existing->hltpsk() ==
menu->hltpsk() ) ) {
138 <<
menu->smk() <<
", L1PSK: " <<
menu->l1psk()
139 <<
", HLTPSK: " <<
menu->hltpsk() );
141 copyTo->push_back(
out );
144 return StatusCode::SUCCESS;
154 return StatusCode::SUCCESS;
158 std::unique_ptr< xAOD::TriggerMenuJsonContainer >& internalContainer,
159 std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer >& internalAuxContainer)
162 if( !
inputMetaStore()->contains<xAOD::TriggerMenuJsonContainer>(inputMetaSGKey)) {
163 return StatusCode::SUCCESS;
170 if( ( ! internalContainer.get() ) && ( ! internalAuxContainer.get() ) ) {
172 internalContainer = std::make_unique<xAOD::TriggerMenuJsonContainer>( );
173 internalAuxContainer = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>( );
174 internalContainer->setStore( internalAuxContainer.get() );
180 return StatusCode::SUCCESS;
192 if (existing->key() == menuJson->key()) {
202 ATH_MSG_VERBOSE(
"Copying " << inputMetaSGKey <<
" configuration with Key: " << menuJson->key() );
204 copyTo->push_back(
out );
207 return StatusCode::SUCCESS;
220 return StatusCode::SUCCESS;
226 std::scoped_lock lock(
s_mutex);
230 return StatusCode::SUCCESS;
240 ATH_MSG_DEBUG(
"No internal xAOD::TriggerMenu store to save/merge to output. (Expected in Run 3)." );
241 return StatusCode::SUCCESS;
246 ATH_MSG_DEBUG(
"Recording xAOD::TriggerMenu trigger configuration metadata container with " <<
m_menu->size() <<
" entries." );
253 ATH_MSG_DEBUG(
"Merging into existing output xAOD::TriggerMenu configuration metadata container" );
261 return StatusCode::SUCCESS;
271 return StatusCode::SUCCESS;
275 std::unique_ptr< xAOD::TriggerMenuJsonContainer >& internalContainer,
276 std::unique_ptr< xAOD::TriggerMenuJsonAuxContainer >& internalAuxContainer)
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;
290 if( not
outputMetaStore()->contains< xAOD::TriggerMenuJsonContainer >( outputMetaSGKey ) ) {
292 ATH_MSG_DEBUG(
"Recording " << outputMetaSGKey <<
" xAOD::TriggerMenuJson trigger configuration metadata container with "
293 << internalContainer->
size() <<
" entries" );
297 outputMetaSGKey +
"Aux." ) );
300 ATH_MSG_DEBUG(
"Merging into existing " << outputMetaSGKey <<
" output xAOD::TriggerMenuJson configuration metadata container" );
308 return StatusCode::SUCCESS;