4#ifndef DECISIONHANDLING_COMBOHYPO_H
5#define DECISIONHANDLING_COMBOHYPO_H
33 ComboHypo(
const std::string& name, ISvcLocator* pSvcLocator);
37 virtual StatusCode
execute(
const EventContext& context)
const override;
54 "Require each Feature in each leg of the combination to come from a unique L1 seeding ROI."};
57 "Map from the chain name to multiplicities required at each input"};
60 "Map from the chain name to the per-leg index in this algorithm's ReadHandleKeyArray which should be used as the source of incoming Decision Objects on the leg."};
63 "Perform a consistency check of the MultiplicitiesMap"};
70 StatusCode
copyDecisions(
const Combo::LegDecisionsMap & passingLegs,
const EventContext& context )
const;
95 bool& objectRequestsNoMultiplicityCheck,
96 SG::SGKeyMap<std::set<uint32_t>>& priorFeaturesMap)
const;
102 StatusCode
fillDecisionsMap( Combo::LegDecisionsMap& dmap,
const EventContext& context)
const;
104 ToolHandleArray< ComboHypoToolBase >
m_hypoTools {
this,
"ComboHypoTools", {},
"Tools to perform selection"};
An algorithm that can be simultaneously executed in multiple threads.
ComboHypo(const std::string &name, ISvcLocator *pSvcLocator)
const SG::WriteHandleKeyArray< TrigCompositeUtils::DecisionContainer > & decisionsOutput() const
StatusCode extractFeatureAndRoI(const HLT::Identifier &chainLegId, const ElementLink< TrigCompositeUtils::DecisionContainer > &EL, SG::sgkey_t &featureKey, TrigCompositeUtils::Decision::index_type &featureIndex, SG::sgkey_t &roiKey, TrigCompositeUtils::Decision::index_type &roiIndex, bool &roiFullscan, bool &objectRequestsNoMultiplicityCheck, SG::SGKeyMap< std::set< uint32_t > > &priorFeaturesMap) const
For a given Decision node from a HypoAlg, extracts type-less identification data on the node's Featur...
StatusCode copyDecisions(const Combo::LegDecisionsMap &passingLegs, const EventContext &context) const
iterates over the inputs and for every object (no filtering) crates output object linked to input mov...
const Combo::MultiplicityReqMap & triggerMultiplicityMap() const
ToolHandleArray< ComboHypoToolBase > & hypoTools()
Gaudi::Property< Combo::MultiplicityReqMap > m_multiplicitiesReqMap
const ToolHandleArray< ComboHypoToolBase > & hypoTools() const
virtual StatusCode execute(const EventContext &context) const override
virtual ~ComboHypo() override
SG::WriteHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_outputs
Gaudi::Property< Combo::LegMap > m_legToInputCollectionMap
const Combo::LegMap & legToInputCollectionMap() const
StatusCode fillDecisionsMap(Combo::LegDecisionsMap &dmap, const EventContext &context) const
iterates over all inputs, associating inputs to legs
Gaudi::Property< bool > m_checkMultiplicityMap
const SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > & decisionsInput() const
SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_inputs
Gaudi::Property< bool > m_requireUniqueROI
ToolHandleArray< ComboHypoToolBase > m_hypoTools
virtual StatusCode initialize() override
ElementLink implementation for ROOT usage.
This module defines the arguments passed from the BATCH driver to the BATCH worker.
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
HandleKeyArray< ReadHandle< T >, ReadHandleKey< T >, Gaudi::DataHandle::Reader > ReadHandleKeyArray
std::unordered_map< sgkey_t, T > SGKeyMap
A map using sgkey_t as a key.
HandleKeyArray< WriteHandle< T >, WriteHandleKey< T >, Gaudi::DataHandle::Writer > WriteHandleKeyArray