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>();
74 m_menuJSON_hlt =
hlt.get();
76 m_menuJSON_hlt->setStore(aux_hlt.get());
82 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
83 std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltmonitoring = std::make_unique<xAOD::TriggerMenuJsonContainer>();
85 m_menuJSON_hltmonitoring = hltmonitoring.get();
87 m_menuJSON_hltmonitoring->setStore(aux_hltmonitoring.get());
93 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1 = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
94 std::unique_ptr<xAOD::TriggerMenuJsonContainer> l1 = std::make_unique<xAOD::TriggerMenuJsonContainer>();
96 m_menuJSON_l1 = l1.get();
98 m_menuJSON_l1->setStore(aux_l1.get());
104 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_hltps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
105 std::unique_ptr<xAOD::TriggerMenuJsonContainer> hltps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
107 m_menuJSON_hltps = hltps.get();
109 m_menuJSON_hltps->setStore(aux_hltps.get());
115 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_l1ps = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
116 std::unique_ptr<xAOD::TriggerMenuJsonContainer> l1ps = std::make_unique<xAOD::TriggerMenuJsonContainer>();
118 m_menuJSON_l1ps = l1ps.get();
120 m_menuJSON_l1ps->setStore(aux_l1ps.get());
126 std::unique_ptr<xAOD::TriggerMenuJsonAuxContainer> aux_bg = std::make_unique<xAOD::TriggerMenuJsonAuxContainer>();
127 std::unique_ptr<xAOD::TriggerMenuJsonContainer> bg = std::make_unique<xAOD::TriggerMenuJsonContainer>();
129 m_menuJSON_bg = bg.get();
131 m_menuJSON_bg->setStore( aux_bg.get() );
137 return StatusCode::SUCCESS;
150 uint32_t bunchgroupKey = 0;
154 std::lock_guard<std::mutex> lock(
m_mutex);
156 if (!m_converted_smk.insert(ckeys.first).second) {
159 ATH_MSG_DEBUG(
"Filling HLT Menu information for SMK:" << ckeys.first);
162 std::stringstream hltTriggerMenuJson;
163 hltMenuHandle->printRaw(hltTriggerMenuJson);
165 m_menuJSON_hlt->push_back(
hlt);
166 hlt->setKey(ckeys.first);
167 hlt->setName(hltMenuHandle->name());
168 hlt->setPayload(hltTriggerMenuJson.str());
170 ATH_MSG_DEBUG(
"Filling HLT Monitoring information for SMK:" << ckeys.first);
172 if (hltMonitoringHandle.
isValid()) {
173 std::stringstream hltMonitoringJson;
174 hltMonitoringHandle->printRaw(hltMonitoringJson);
176 m_menuJSON_hltmonitoring->push_back(hltmonitoring);
177 hltmonitoring->
setKey(ckeys.first);
178 hltmonitoring->
setName(hltMonitoringHandle->name());
179 hltmonitoring->
setPayload(hltMonitoringJson.str());
181 ATH_MSG_DEBUG(
"No HLT Monitoring JSON available - skipping.");
184 ATH_MSG_DEBUG(
"Filling L1 information for SMK:" << ckeys.first);
187 std::stringstream l1TriggerMenuJson;
188 l1MenuHandle->printRaw(l1TriggerMenuJson);
190 m_menuJSON_l1->push_back(l1);
191 l1->setKey(ckeys.first);
192 l1->setName(l1MenuHandle->name());
193 l1->setPayload(l1TriggerMenuJson.str());
196 if (!m_converted_hltpsk.insert(ckeys.second.second).second) {
199 ATH_MSG_DEBUG(
"Filling prescale information for HLTPSK:" << ckeys.second.second);
202 std::stringstream hltPSJSON;
203 hltPSHandle->printRaw(hltPSJSON);
205 m_menuJSON_hltps->push_back(hltps);
206 hltps->
setKey(ckeys.second.second);
207 hltps->
setName(hltPSHandle->name());
211 if (!m_converted_l1psk.insert(ckeys.second.first).second) {
214 ATH_MSG_DEBUG(
"Filling prescale information for LVL1PSK:" << ckeys.second.first);
217 std::stringstream l1PSJSON;
218 l1PSHandle->printRaw(l1PSJSON);
220 m_menuJSON_l1ps->push_back(l1ps);
221 l1ps->
setKey(ckeys.second.first);
222 l1ps->
setName(l1PSHandle->name());
226 if (!m_converted_bg.insert(bunchgroupKey).second) {
227 ATH_MSG_VERBOSE(
"Already converted Bunchgroup Key: " << bunchgroupKey);
229 ATH_MSG_DEBUG(
"Filling prescale information for Bunchgroup Key:" << bunchgroupKey);
232 std::stringstream l1BunchgroupJSON;
233 bunchgroupHandle->printRaw(l1BunchgroupJSON);
235 m_menuJSON_bg->push_back(l1bg);
236 l1bg->
setKey(bunchgroupKey);
237 l1bg->
setName(bunchgroupHandle->name());
242 return StatusCode::SUCCESS;