69 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hlt = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
70 std::unique_ptr<xAOD::TriggerMenuJsonContainer> hlt = std::make_unique<xAOD::TriggerMenuJsonContainer>();
72 m_menuJSON_hlt = hlt.get();
74 m_menuJSON_hlt->setStore(aux_hlt.get());
80 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
81 std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonContainer>();
83 m_menuJSON_hltmonitoring = hltmonitoring.get();
85 m_menuJSON_hltmonitoring->setStore(aux_hltmonitoring.get());
91 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1 = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
92 std::unique_ptr<xAOD::TriggerMenuJsonContainer>
l1 = std::make_unique<xAOD::TriggerMenuJsonContainer>();
94 m_menuJSON_l1 =
l1.get();
96 m_menuJSON_l1->setStore(aux_l1.get());
102 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
103 std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
105 m_menuJSON_hltps = hltps.get();
107 m_menuJSON_hltps->setStore(aux_hltps.get());
113 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1ps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
114 std::unique_ptr<xAOD::TriggerMenuJsonContainer> l1ps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
116 m_menuJSON_l1ps = l1ps.get();
118 m_menuJSON_l1ps->setStore(aux_l1ps.get());
124 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_bg = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
125 std::unique_ptr<xAOD::TriggerMenuJsonContainer>
bg = std::make_unique<xAOD::TriggerMenuJsonContainer>();
127 m_menuJSON_bg =
bg.get();
129 m_menuJSON_bg->setStore( aux_bg.get() );
135 return StatusCode::SUCCESS;
152 std::lock_guard<std::mutex> lock(
m_mutex);
154 if (!m_converted_smk.insert(ckeys.first).second) {
157 ATH_MSG_DEBUG(
"Filling HLT Menu information for SMK:" << ckeys.first);
160 std::stringstream hltTriggerMenuJson;
161 hltMenuHandle->
printRaw(hltTriggerMenuJson);
163 m_menuJSON_hlt->push_back(hlt);
164 hlt->setKey(ckeys.first);
165 hlt->setName(hltMenuHandle->
name());
166 hlt->setPayload(hltTriggerMenuJson.str());
168 ATH_MSG_DEBUG(
"Filling HLT Monitoring information for SMK:" << ckeys.first);
170 if (hltMonitoringHandle.
isValid()) {
171 std::stringstream hltMonitoringJson;
172 hltMonitoringHandle->
printRaw(hltMonitoringJson);
174 m_menuJSON_hltmonitoring->push_back(hltmonitoring);
175 hltmonitoring->
setKey(ckeys.first);
176 hltmonitoring->
setName(hltMonitoringHandle->
name());
177 hltmonitoring->
setPayload(hltMonitoringJson.str());
179 ATH_MSG_DEBUG(
"No HLT Monitoring JSON available - skipping.");
182 ATH_MSG_DEBUG(
"Filling L1 information for SMK:" << ckeys.first);
185 std::stringstream l1TriggerMenuJson;
186 l1MenuHandle->
printRaw(l1TriggerMenuJson);
188 m_menuJSON_l1->push_back(
l1);
189 l1->setKey(ckeys.first);
190 l1->setName(l1MenuHandle->
name());
191 l1->setPayload(l1TriggerMenuJson.str());
194 if (!m_converted_hltpsk.insert(ckeys.second.second).second) {
197 ATH_MSG_DEBUG(
"Filling prescale information for HLTPSK:" << ckeys.second.second);
200 std::stringstream hltPSJSON;
203 m_menuJSON_hltps->push_back(hltps);
204 hltps->
setKey(ckeys.second.second);
209 if (!m_converted_l1psk.insert(ckeys.second.first).second) {
212 ATH_MSG_DEBUG(
"Filling prescale information for LVL1PSK:" << ckeys.second.first);
215 std::stringstream l1PSJSON;
218 m_menuJSON_l1ps->push_back(l1ps);
219 l1ps->
setKey(ckeys.second.first);
224 if (!m_converted_bg.insert(bunchgroupKey).second) {
225 ATH_MSG_VERBOSE(
"Already converted Bunchgroup Key: " << bunchgroupKey);
227 ATH_MSG_DEBUG(
"Filling prescale information for Bunchgroup Key:" << bunchgroupKey);
230 std::stringstream l1BunchgroupJSON;
231 bunchgroupHandle->
printRaw(l1BunchgroupJSON);
233 m_menuJSON_bg->push_back(l1bg);
234 l1bg->
setKey(bunchgroupKey);
240 return StatusCode::SUCCESS;