|
ATLAS Offline Software
|
Go to the documentation of this file.
32 return StatusCode::SUCCESS;
35 auto passedL1 = [](
unsigned int bits) {
return (bits & TrigDefs::L1_isPassedBeforePrescale) != 0; };
36 auto passedHLT = [](
unsigned int bits) {
return (bits & TrigDefs::EF_passedRaw) != 0; };
37 auto activeHLT = [](
unsigned int bits) {
return (bits & TrigDefs::EF_prescaled) == 0; };
38 auto isL1 = [](
const std::string&
name) {
return name.compare(0, 3,
"L1_") == 0; };
39 auto isHLT = [](
const std::string&
name) {
return name.compare(0, 4,
"HLT_") == 0; };
47 if (trigDecTool->isPassed(
ref, TrigDefs::requireDecision)) {
50 const unsigned int passBits = trigDecTool->isPassedBits(trig);
51 const bool wasRun = isL1(trig) or (isHLT(trig) and activeHLT(
passBits));
54 const auto decision = (isL1(trig) and passedL1(
passBits)) or (isHLT(trig) and passedHLT(
passBits));
55 ATH_MSG_DEBUG(
"Chain " << trig <<
" vs " <<
ref <<
" - " << (decision ?
"Passed!" :
"Failed!"));
58 auto leadingJetPt =
Scalar<float>(
"leadingJetPt", leadingJet ? leadingJet->pt() * 1
e-3 : -1);
59 auto effPassed =
Scalar<int>(
"effPassed", decision);
60 fill(trig +
"_" +
ref, effPassed, leadingJetPt);
65 return StatusCode::SUCCESS;
const ToolHandle< Trig::TrigDecisionTool > & getTrigDecisionTool() const
Get the trigger decision tool member.
#define ATH_MSG_VERBOSE(x)
const xAOD::Jet * findLeadingJet(SG::ReadHandle< xAOD::JetContainer > &container)
Find leading jet.
Base class for Athena Monitoring Algorithms.
Gaudi::Property< SG::ReadHandleKey< xAOD::JetContainer > > m_jetKey
Generic monitoring tool for athena components.
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode fillHistograms(const EventContext &context) const override
adds event to the monitoring histograms
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.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
Gaudi::Property< std::vector< std::string > > m_chains
virtual StatusCode initialize() override
initialize
virtual StatusCode initialize() override
initialize
const boost::regex ref(r_ef)
Gaudi::Property< std::vector< std::string > > m_references
Declare a monitored scalar variable.
FwdAFPJetEffMonitoringAlg(const std::string &name, ISvcLocator *pSvcLocator)