10 const std::string& name,
11 const IInterface* parent)
17 return StatusCode::SUCCESS;
23 return name.find(
"TE") == 0 or name.find(
"XE") == 0 or name.find(
"XS") == 0;
27 m_allMETChains.insert( th2chains.second.begin(), th2chains.second.end() );
30 return StatusCode::SUCCESS;
44 std::optional<ThrVecRef> xeThresholds;
45 std::optional<ThrVecRef> teThresholds;
46 std::optional<ThrVecRef> xsThresholds;
50 thresholds.insert(thresholds.end(), xeThresholds.value().get().cbegin(), xeThresholds.value().get().cend());
51 thresholds.insert(thresholds.end(), teThresholds.value().get().cbegin(), teThresholds.value().get().cend());
52 thresholds.insert(thresholds.end(), xsThresholds.value().get().cbegin(), xsThresholds.value().get().cend());
56 std::set_intersection(activeChains.begin(), activeChains.end(),
58 std::inserter(activeMETchains, activeMETchains.end()));
60 ATH_MSG_DEBUG(
"Unpacking MET RoI for " << activeMETchains.size() <<
" chains");
64 for (
const auto& th: thresholds) {
72 bool foundMETRoI =
false;
73 const std::vector<ROIB::JetEnergyResult>& jetEnergyResult = roib.
jetEnergyResult();
85 if ( (not activeMETchains.empty()) and not foundMETRoI) {
86 ATH_MSG_WARNING(
"" << activeMETchains.size() <<
" active MET chains while missing MET RoI" );
88 return StatusCode::SUCCESS;
#define ATH_CHECK
Evaluate an expression and check for errors.
#define ATH_MSG_WARNING(x)
SG::WriteHandle< DecisionContainer > createAndStore(const SG::WriteHandleKey< DecisionContainer > &key, const EventContext &ctx)
Creates and right away records the DecisionContainer with the key.
ElementLink implementation for ROOT usage.
Class holding the LVL1 RoIB result build by the RoIBuilder.
const std::vector< JetEnergyResult > & jetEnergyResult() const
Gets the jet/energy part of the L1 RDO.
virtual bool isValid() override final
Can the handle be successfully dereferenced?
pointer_type ptr()
Dereference the pointer.
std::set< HLT::Identifier > IDSet
SG::ReadCondHandle< T > makeHandle(const SG::ReadCondHandleKey< T > &key, const EventContext &ctx=Gaudi::Hive::currentContext())
Decision * newDecisionIn(DecisionContainer *dc, const std::string &name)
Helper method to create a Decision object, place it in the container and return a pointer to it.
const std::string & initialRoIString()
const std::string & hltSeedingNodeName()