23 ATH_MSG_DEBUG(
"No GenericMonitoringTool configured: no monitoring histograms will be available" );
28 return StatusCode::SUCCESS;
43 ATH_MSG_DEBUG(
"in TrigBmumuxComboHypoTool::decideOnSingleObject(), looking at TrigBphys object");
53 mon_chi2 = trigBphys->
fitchi2();
54 mon_fitmass = trigBphys->
fitmass();
55 mon_mass = trigBphys->
mass();
56 mon_pt = trigBphys->
pt();
57 mon_eta = trigBphys->
eta();
71 const std::vector<HLT::Identifier>& legDecisionIDs =
legDecisionIds();
73 ATH_CHECK( previousDecisionIDs.size() == 1 );
75 for (
size_t i = 0; i < legDecisionIDs.size(); ++i) {
76 const DecisionID id = legDecisionIDs[i].numeric();
83 ATH_MSG_DEBUG(
"bBmux chain did not match to the previous decisions" );
84 return StatusCode::SUCCESS;
87 else if (legDecisionIDs.size() == 1) {
89 ATH_CHECK( previousDecisionIDs.size() == n );
90 const DecisionID id = legDecisionIDs[0].numeric();
91 for (
size_t i = 0; i < n; ++i) {
93 ATH_MSG_DEBUG(
"bBmumux chain with symmetric legs did not match to the previous decisions" );
94 return StatusCode::SUCCESS;
98 else if (legDecisionIDs.size() == 2) {
99 ATH_CHECK( previousDecisionIDs.size() == 2 );
102 for (
size_t i = 0; i < 2; ++i) {
106 if (!direct && !inverse) {
107 ATH_MSG_DEBUG(
"bBmumux chain with asymmetric legs matched to the previous decisions neither direct nor inverse way" );
108 return StatusCode::SUCCESS;
112 ATH_MSG_ERROR(
"TrigBmumuxComboHypoTool can not check previous decisions for " << name() );
113 return StatusCode::FAILURE;
116 if (
passed(*trigBphysEL)) {
120 return StatusCode::SUCCESS;
125 ATH_MSG_ERROR(
"executeAlg not supported for TrigBmumuxComboHypoTool.");
#define ATH_CHECK
Evaluate an expression and check for errors.
Group of local monitoring quantities and retain correlation when filling histograms
Declare a monitored scalar variable.
float pt() const
accessor method: pt
float eta() const
accessor method: eta
pType particleType() const
accessor method: particle Type
float fitchi2() const
accessor method: chi2 from vertex fit
float fitmass() const
accessor method: mass from vertex fit
float mass() const
accessor method: mass
bool hasObjectLink(const std::string &name, const CLID clid=CLID_NULL) const
Check if a link to an object with a given name and type exists. CLID_NULL to not check type.
ElementLink< CONTAINER > objectLink(const std::string &name) const
Get the link with the requested name.
Generic monitoring tool for athena components.
xAOD::TrigComposite Decision
const std::string & featureString()
bool passed(DecisionID id, const DecisionIDContainer &idSet)
checks if required decision ID is in the set of IDs in the container
std::set< DecisionID > DecisionIDContainer
void addDecisionID(DecisionID id, Decision *d)
Appends the decision (given as ID) to the decision object.
TrigBphysContainer_v1 TrigBphysContainer