|
ATLAS Offline Software
|
Go to the documentation of this file.
4 #ifndef DECISIONHANDLING_COMBOHYPO_H
5 #define DECISIONHANDLING_COMBOHYPO_H
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",
58 "mapMergeNoReplace<std::string, std::vector<int>>"};
61 "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.",
62 "mapMergeNoReplace<std::string, std::vector<int>>"};
65 "Perform a consistency check of the MultiplicitiesMap"};
97 bool& objectRequestsNoMultiplicityCheck,
98 SG::SGKeyMap<std::set<uint32_t>>& priorFeaturesMap)
const;
106 ToolHandleArray< ComboHypoToolBase >
m_hypoTools {
this,
"ComboHypoTools", {},
"Tools to perform selection"};
111 #endif // DECISIONHANDLING_COMBOHYPO_H
Gaudi::Property< Combo::MultiplicityReqMap > m_multiplicitiesReqMap
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...
std::map< std::string, std::vector< int > > MultiplicityReqMap
Map from the chain name to the multiplicities required at each input.
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 SG::WriteHandleKeyArray< TrigCompositeUtils::DecisionContainer > & decisionsOutput() const
StatusCode fillDecisionsMap(Combo::LegDecisionsMap &dmap, const EventContext &context) const
iterates over all inputs, associating inputs to legs
std::map< TrigCompositeUtils::DecisionID, std::vector< ElementLink< TrigCompositeUtils::DecisionContainer > > > LegDecisionsMap
LegDecisionsMap For a given chain leg key, this map holds all Decision Objects which are active on th...
An algorithm that can be simultaneously executed in multiple threads.
ComboHypo(const std::string &name, ISvcLocator *pSvcLocator)
Gaudi::Property< bool > m_requireUniqueROI
ToolHandleArray< ComboHypoToolBase > & hypoTools()
::StatusCode StatusCode
StatusCode definition for legacy code.
virtual StatusCode execute(const EventContext &context) const override
virtual ~ComboHypo() override
ToolHandleArray< ComboHypoToolBase > m_hypoTools
This module defines the arguments passed from the BATCH driver to the BATCH worker.
const Combo::MultiplicityReqMap & triggerMultiplicityMap() const
SG::WriteHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_outputs
ElementLink implementation for ROOT usage.
virtual StatusCode initialize() override
Gaudi::Property< Combo::LegMap > m_legToInputCollectionMap
const ToolHandleArray< ComboHypoToolBase > & hypoTools() const
uint32_t sgkey_t
Type used for hashed StoreGate key+CLID pairs.
SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > m_inputs
const Combo::LegMap & legToInputCollectionMap() const
std::unordered_map< sgkey_t, T > SGKeyMap
A map using sgkey_t as a key.
std::map< std::string, std::vector< int > > LegMap
Map from the chain name to legs required at each input.
const SG::ReadHandleKeyArray< TrigCompositeUtils::DecisionContainer > & decisionsInput() const
Gaudi::Property< bool > m_checkMultiplicityMap