41 m_metaStore(
"MetaDataStore",
name)
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>();
73 m_menuJSON_hlt = hlt.get();
75 m_menuJSON_hlt->setStore(aux_hlt.get());
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>();
84 m_menuJSON_hltmonitoring = hltmonitoring.get();
86 m_menuJSON_hltmonitoring->setStore(aux_hltmonitoring.get());
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>();
95 m_menuJSON_l1 =
l1.get();
97 m_menuJSON_l1->setStore(aux_l1.get());
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>();
106 m_menuJSON_hltps = hltps.get();
108 m_menuJSON_hltps->setStore(aux_hltps.get());
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>();
117 m_menuJSON_l1ps = l1ps.get();
119 m_menuJSON_l1ps->setStore(aux_l1ps.get());
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>();
128 m_menuJSON_bg =
bg.get();
130 m_menuJSON_bg->setStore( aux_bg.get() );
136 return StatusCode::SUCCESS;
153 std::lock_guard<std::mutex> lock(
m_mutex);
155 if (!m_converted_smk.insert(ckeys.first).second) {
158 ATH_MSG_DEBUG(
"Filling HLT Menu information for SMK:" << ckeys.first);
161 std::stringstream hltTriggerMenuJson;
162 hltMenuHandle->
printRaw(hltTriggerMenuJson);
164 m_menuJSON_hlt->push_back(hlt);
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);
175 m_menuJSON_hltmonitoring->push_back(hltmonitoring);
176 hltmonitoring->
setKey(ckeys.first);
177 hltmonitoring->
setName(hltMonitoringHandle->
name());
178 hltmonitoring->
setPayload(hltMonitoringJson.str());
180 ATH_MSG_DEBUG(
"No HLT Monitoring JSON available - skipping.");
183 ATH_MSG_DEBUG(
"Filling L1 information for SMK:" << ckeys.first);
186 std::stringstream l1TriggerMenuJson;
187 l1MenuHandle->
printRaw(l1TriggerMenuJson);
189 m_menuJSON_l1->push_back(
l1);
190 l1->setKey(ckeys.first);
191 l1->setName(l1MenuHandle->
name());
192 l1->setPayload(l1TriggerMenuJson.str());
195 if (!m_converted_hltpsk.insert(ckeys.second.second).second) {
198 ATH_MSG_DEBUG(
"Filling prescale information for HLTPSK:" << ckeys.second.second);
201 std::stringstream hltPSJSON;
204 m_menuJSON_hltps->push_back(hltps);
205 hltps->
setKey(ckeys.second.second);
210 if (!m_converted_l1psk.insert(ckeys.second.first).second) {
213 ATH_MSG_DEBUG(
"Filling prescale information for LVL1PSK:" << ckeys.second.first);
216 std::stringstream l1PSJSON;
219 m_menuJSON_l1ps->push_back(l1ps);
220 l1ps->
setKey(ckeys.second.first);
225 if (!m_converted_bg.insert(bunchgroupKey).second) {
226 ATH_MSG_VERBOSE(
"Already converted Bunchgroup Key: " << bunchgroupKey);
228 ATH_MSG_DEBUG(
"Filling prescale information for Bunchgroup Key:" << bunchgroupKey);
231 std::stringstream l1BunchgroupJSON;
232 bunchgroupHandle->
printRaw(l1BunchgroupJSON);
234 m_menuJSON_bg->push_back(l1bg);
235 l1bg->
setKey(bunchgroupKey);
241 return StatusCode::SUCCESS;