|
ATLAS Offline Software
|
Go to the documentation of this file.
5 #ifndef TRIGHLTJETHYPO_FASTREDUCER_H
6 #define TRIGHLTJETHYPO_FASTREDUCER_H
22 typedef std::unique_ptr<ITrigJetHypoInfoCollector>
Collector;
31 std::vector<std::unique_ptr<IHypoJetVectorFilter>>;
42 const Tree& conditionsTree,
109 const std::vector<std::size_t>& siblings,
121 std::size_t n_inputjets,
std::map< std::size_t, HypoJetVector > IDJetGroup
std::map< int, std::vector< std::size_t > > CondInd2JetGroupsInds
bool capacitySatisfied(std::size_t ind, const Collector &collector) const
std::string toString() const
std::vector< int > ConditionFilterInds
void dumpDataStructures(const Collector &) const
std::vector< std::size_t > m_conditionMult
void recordFiltering(std::size_t leaf_ind, std::size_t n_inputjets, int n_filteredjets, const Collector &collector) const
std::map< std::size_t, HypoJetVector > m_indJetGroup
map jet group indices to jet groups
CondInd2JetGroupsInds m_satisfiedBy
bool findInitialJetGroups(const HypoJetVector &jv, const Collector &collector)
set up the data structures for propagation.
const ConditionFilters & m_conditionFilters
std::map< std::size_t, std::set< std::size_t > > m_testedBy
map Condition index onto a set of indices the condition has been tested with - used to prevent retest...
std::vector< std::size_t > TreeVec
JetGroupRegister m_jgRegister
void recordJetGroup(std::size_t ind, const HypoJetVector &jg, const Collector &collector) const
bool propagateJetGroups(const Collector &collector)
std::map< int, std::vector< std::size_t > > JetGroupInd2ElemInds
JetGroupInd2ElemInds m_jg2elemjgs
map jet group indices to indices of incoming jet groups
bool pass() const
determine whether a set of jets satisfies all hypo conditions.
bool m_pass
event pass flag
std::vector< pHypoJet > HypoJetVector
ConditionFilterInds m_conditionFilterInds
Tree m_tree
tree structure for Conditions objects.
std::vector< int > m_conditionClique
bool propagate_(std::size_t child, const std::vector< std::size_t > &siblings, const Collector &)
std::unique_ptr< ITrigJetHypoInfoCollector > Collector
std::string dataStructuresToStr() const
std::vector< std::unique_ptr< IHypoJetVectorFilter > > ConditionFilters
HypoJetVector m_passingJets
std::vector< ConditionPtr > ConditionPtrs
std::vector< unsigned int > m_conditionCap
void collectLeafJets(xAODJetCollector &jetCollector, const Collector &collector) const
const ConditionPtrs & m_conditions
FastReducer(const HypoJetVector &jv, const ConditionPtrs &conditionObjects, const ConditionFilters &conditionFilters, const ConditionFilterInds &conditionFilterInds, const Tree &conditionsTree, xAODJetCollector &jetCollector, const Collector &collector)