6 #include "GaudiKernel/IAlgExecStateSvc.h"
7 #include "GaudiKernel/IAlgManager.h"
24 return StatusCode::SUCCESS;
33 return StatusCode::SUCCESS;
40 std::unordered_map<std::string_view, StatusCode> algErrors;
41 bool wasTimeout =
false;
42 SmartIF<IAlgManager> algMgr{serviceLocator()->as<IAlgManager>()};
43 for (
const IAlgorithm*
alg : algMgr->getAlgorithms()) {
44 auto state =
alg->execState(eventContext);
47 ATH_MSG_DEBUG(
"Algorithm " <<
alg->name() <<
" returned StatusCode " << state.execStatus().message()
48 <<
" in event " << eventContext.eventID());
49 algErrors[
alg->name()] = state.execStatus();
55 std::set<std::string> chainNames =
m_algToChainTool->getActiveChainsForAlg(
alg->name(), eventContext);
57 std::vector<std::string> chainNamesVec(chainNames.begin(), chainNames.end());
59 auto monErrorChainNames= Monitored::Collection<std::vector<std::string>>(
"ErrorChainName", chainNamesVec);
71 std::string timeoutReport;
72 if (
m_trigCostSvcHandle->generateTimeoutReport(eventContext, timeoutReport) == StatusCode::FAILURE){
75 else if (timeoutReport.empty()){
76 ATH_MSG_INFO(
"CostMonitoring not active in this event. A list of slow algorithms is not available.");