33 return StatusCode::SUCCESS;
39 auto isL1 = [](
const std::string& name) {
return name.compare(0, 3,
"L1_") == 0; };
40 auto isHLT = [](
const std::string& name) {
return name.compare(0, 4,
"HLT_") == 0; };
51 const unsigned int passBits = trigDecTool->isPassedBits(trig);
52 const bool wasRun = isL1(trig) or (isHLT(trig) and activeHLT(passBits));
55 const auto decision = (isL1(trig) and passedL1(passBits)) or (isHLT(trig) and passedHLT(passBits));
56 ATH_MSG_DEBUG(
"Chain " << trig <<
" vs " <<
ref <<
" - " << (decision ?
"Passed!" :
"Failed!"));
59 auto leadingJetPt =
Scalar<float>(
"leadingJetPt", leadingJet ? leadingJet->pt() * 1e-3 : -1);
60 auto effPassed =
Scalar<int>(
"effPassed", decision);
61 fill(trig +
"_" +
ref, effPassed, leadingJetPt);
66 return StatusCode::SUCCESS;
const boost::regex ref(r_ef)
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_VERBOSE(x)
virtual StatusCode initialize() override
initialize
const ToolHandle< Trig::TrigDecisionTool > & getTrigDecisionTool() const
Get the trigger decision tool member.
AthMonitorAlgorithm(const std::string &name, ISvcLocator *pSvcLocator)
Constructor.
virtual StatusCode initialize() override
initialize
Gaudi::Property< SG::ReadHandleKey< xAOD::JetContainer > > m_jetKey
Gaudi::Property< std::vector< std::string > > m_chains
FwdAFPJetEffMonitoringAlg(const std::string &name, ISvcLocator *pSvcLocator)
virtual StatusCode fillHistograms(const EventContext &context) const override
adds event to the monitoring histograms
Gaudi::Property< std::vector< std::string > > m_references
Declare a monitored scalar variable.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
void fill(const ToolHandle< GenericMonitoringTool > &groupHandle, std::vector< std::reference_wrapper< Monitored::IMonitoredVariable > > &&variables) const
Fills a vector of variables to a group by reference.
Generic monitoring tool for athena components.
static const unsigned int L1_isPassedBeforePrescale
static const unsigned int requireDecision
static const unsigned int EF_prescaled
static const unsigned int EF_passedRaw
const xAOD::Jet * findLeadingJet(SG::ReadHandle< xAOD::JetContainer > &container)
Find leading jet.