10 return StatusCode::SUCCESS;
19 static const bool error = [&](){
24 for (
const auto&
chain : hltMenu) {
25 const std::vector<size_t> legMultiplicitesA =
chain.legMultiplicities();
27 if (!legMultiplicitesB.size()) {
30 }
else if (legMultiplicitesA.size() != legMultiplicitesB.size()) {
31 ATH_MSG_ERROR(
"Inconsistent N Legs, Menu:" << legMultiplicitesA.size() <<
" Parser:" << legMultiplicitesB.size() <<
" chain:" <<
chain.name());
34 for (
size_t i = 0;
i < legMultiplicitesA.size(); ++
i) {
35 if (legMultiplicitesA.at(
i) != (
size_t)legMultiplicitesB.at(
i)) {
36 ATH_MSG_ERROR(
"Inconsistency in Leg " <<
i <<
", Menu multi:" << legMultiplicitesA.at(
i) <<
" Parser multi:" << legMultiplicitesB.at(
i) <<
" chain:" <<
chain.name());
44 ATH_MSG_ERROR(
"One or more chains (above) in the menu were parsed incorrectly by the ChainNameParser with respect to the menu.");
45 ATH_MSG_ERROR(
"Please update the parser in TrigCompositeUtils to bring it into agreement with the menu.");
46 ATH_MSG_ERROR(
"You may need to update the lists of identifiers in allSignatures() or allSignaturePostfixQualifiers().");
48 ATH_MSG_INFO(
"TrigChainNameParserChecker did not find any issues over " << hltMenu.size() <<
" chains.");
54 return (
error ? StatusCode::FAILURE : StatusCode::SUCCESS);