Skip to content
Snippets Groups Projects
Commit 88b32ddd authored by Walter Lampl's avatar Walter Lampl
Browse files

Merge branch 'navValPrint' into 'master'

Improve trigger navigation printout for logical-flow violation errors

See merge request !42026
parents 6b7b8018 09d707c1
No related branches found
No related tags found
6 merge requests!58791DataQualityConfigurations: Modify L1Calo config for web display,!46784MuonCondInterface: Enable thread-safety checking.,!46776Updated LArMonitoring config file for WD to match new files produced using MT,!45405updated ART test cron job,!42417Draft: DIRE and VINCIA Base Fragments for Pythia 8.3,!42026Improve trigger navigation printout for logical-flow violation errors
...@@ -287,9 +287,16 @@ StatusCode HypoBase::validateLogicalFlow(const ElementLink<DecisionContainer>& d ...@@ -287,9 +287,16 @@ StatusCode HypoBase::validateLogicalFlow(const ElementLink<DecisionContainer>& d
printErrorHeader(dEL, msg); printErrorHeader(dEL, msg);
msg << MSG::ERROR << "! This Decision object is not respecting logical flow of DecisionIDs for chain: " << HLT::Identifier( id ) << endmsg; msg << MSG::ERROR << "! This Decision object is not respecting logical flow of DecisionIDs for chain: " << HLT::Identifier( id ) << endmsg;
msg << MSG::ERROR << "! This chain's DecisionID can not be found in any parents of this Decision object:" << endmsg; msg << MSG::ERROR << "! This chain's DecisionID can not be found in any parents of this Decision object:" << endmsg;
size_t seed_n = 0;
for (const ElementLink<DecisionContainer> seed : seeds) { for (const ElementLink<DecisionContainer> seed : seeds) {
msg << MSG::ERROR << "! Index:" << (*seed)->index() << " from collection:" << seed.dataID() << endmsg; msg << MSG::ERROR << "! Index:" << (*seed)->index() << " from collection:" << seed.dataID() << endmsg;
msg << MSG::ERROR << "! " << **seed << endmsg; msg << MSG::ERROR << "! " << **seed << endmsg;
DecisionIDContainer objDecisions;
decisionIDs(*seed, objDecisions);
for (const TrigCompositeUtils::DecisionID id : objDecisions ) {
msg << "! --- Passing in parent #" << seed_n << ": " << HLT::Identifier( id ) << endmsg;
}
++seed_n;
} }
msg << MSG::ERROR << "! SOLUTION: Ensure that the producer of this Decision object only adds DecisionIDs" msg << MSG::ERROR << "! SOLUTION: Ensure that the producer of this Decision object only adds DecisionIDs"
" which were present in at least one of its parents." << endmsg; " which were present in at least one of its parents." << endmsg;
...@@ -305,9 +312,16 @@ StatusCode HypoBase::validateLogicalFlow(const ElementLink<DecisionContainer>& d ...@@ -305,9 +312,16 @@ StatusCode HypoBase::validateLogicalFlow(const ElementLink<DecisionContainer>& d
msg << MSG::ERROR << "! This Decision object is not respecting logical flow of DecisionIDs for chain: " << HLT::Identifier( id ) << endmsg; msg << MSG::ERROR << "! This Decision object is not respecting logical flow of DecisionIDs for chain: " << HLT::Identifier( id ) << endmsg;
msg << MSG::ERROR << "! As this Decision object represents the output of a HypoAlg, it must respect logical flow on all " msg << MSG::ERROR << "! As this Decision object represents the output of a HypoAlg, it must respect logical flow on all "
<< seeds.size() << " of its parent(s):" << endmsg; << seeds.size() << " of its parent(s):" << endmsg;
size_t seed_n = 0;
for (const ElementLink<DecisionContainer> seed : seeds) { for (const ElementLink<DecisionContainer> seed : seeds) {
msg << MSG::ERROR << "! Index:" << (*seed)->index() << " from collection:" << seed.dataID() << endmsg; msg << MSG::ERROR << "! Index:" << (*seed)->index() << " from collection:" << seed.dataID() << endmsg;
msg << MSG::ERROR << "! " << **seed << endmsg; msg << MSG::ERROR << "! " << **seed << endmsg;
DecisionIDContainer objDecisions;
decisionIDs(*seed, objDecisions);
for (const TrigCompositeUtils::DecisionID id : objDecisions ) {
msg << "! --- Passing in parent #" << seed_n << ": " << HLT::Identifier( id ) << endmsg;
}
++seed_n;
} }
msg << MSG::ERROR << "! SOLUTION: Ensure that the HypoTool responsible for " << HLT::Identifier( id ) msg << MSG::ERROR << "! SOLUTION: Ensure that the HypoTool responsible for " << HLT::Identifier( id )
<< " in this HypoAlg only runs if this ID is present in all parent decisions." << endmsg; << " in this HypoAlg only runs if this ID is present in all parent decisions." << endmsg;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment