ATLAS Offline Software
FastReductionMatcher.h
Go to the documentation of this file.
1 /*
2  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 */
4 
5 #ifndef TRIGHLTJETHYPO_FASTREDUCTIONMATCHER_H
6 #define TRIGHLTJETHYPO_FASTREDUCTIONMATCHER_H
7 
8 
9 #include "./IJetsMatcher.h"
11 #include "./ConditionFilter.h"
12 #include "./Tree.h"
13 #include "./IHypoJetVectorFilter.h"
14 
15 using TreeVec = std::vector<std::size_t>;
17 
19  std::vector<std::unique_ptr<IHypoJetVectorFilter>>;
20 
21 using ConditionFilterInds = std::vector<int>;
22 
24  public:
25 
28  const ConditionFilterInds&,
29  const Tree&);
30 
31 
41  virtual std::optional<bool>
42  match(const HypoJetVector& jv,
44  const std::unique_ptr<ITrigJetHypoInfoCollector>& collector,
45  bool
46  ) const override;
47 
48  std::string toString() const override;
49 
50 
51  virtual bool valid() const override;
52  virtual std::string msg() const override;
53 
54 
55  private:
56 
60 
67 
68  // minimum number of jets required - determined by summing
69  // leaf Condition capacities
70  long unsigned int m_minNjets{0u};
71 
72  // error handling
73  bool m_validState{true};
74  std::string m_msg;
75 };
76 #endif
FastReductionMatcher::FastReductionMatcher
FastReductionMatcher(ConditionPtrs &, ConditionFilters &, const ConditionFilterInds &, const Tree &)
Definition: FastReductionMatcher.cxx:13
Tree
Definition: Tree.h:18
FastReductionMatcher::m_conditionFilterInds
ConditionFilterInds m_conditionFilterInds
Definition: FastReductionMatcher.h:59
ConditionFilterInds
std::vector< int > ConditionFilterInds
Definition: FastReducer.h:33
FastReductionMatcher::m_tree
Tree m_tree
tree structure for Conditions objects.
Definition: FastReductionMatcher.h:66
Trk::u
@ u
Enums for curvilinear frames.
Definition: ParamDefs.h:83
FastReductionMatcher::m_minNjets
long unsigned int m_minNjets
Definition: FastReductionMatcher.h:70
TreeVec
std::vector< std::size_t > TreeVec
Definition: FastReducer.h:20
ITrigJetHypoInfoCollector
Definition: ITrigJetHypoInfoCollector.h:9
FastReductionMatcher::m_conditionFilters
ConditionFilters m_conditionFilters
Definition: FastReductionMatcher.h:58
FastReductionMatcher::m_msg
std::string m_msg
Definition: FastReductionMatcher.h:74
FastReductionMatcher
Definition: FastReductionMatcher.h:23
HypoJetVector
std::vector< pHypoJet > HypoJetVector
Definition: HypoJetDefs.h:27
IJetsMatcher
Definition: IJetsMatcher.h:28
ConditionFilters
std::vector< std::unique_ptr< IHypoJetVectorFilter > > ConditionFilters
Definition: FastReducer.h:31
xAODJetCollector
Definition: xAODJetCollector.h:20
Tree.h
FastReductionMatcher::m_conditions
ConditionPtrs m_conditions
Definition: FastReductionMatcher.h:57
RepeatedConditionsDefs.h
ConditionPtrs
std::vector< ConditionPtr > ConditionPtrs
Definition: RepeatedConditionsDefs.h:20
ConditionFilter.h
IHypoJetVectorFilter.h
FastReductionMatcher::m_validState
bool m_validState
Definition: FastReductionMatcher.h:73
FastReductionMatcher::valid
virtual bool valid() const override
Definition: FastReductionMatcher.cxx:138
FastReductionMatcher::match
virtual std::optional< bool > match(const HypoJetVector &jv, xAODJetCollector &, const std::unique_ptr< ITrigJetHypoInfoCollector > &collector, bool) const override
determine whether a set of jets satisfies all hypo conditions.
Definition: FastReductionMatcher.cxx:54
IJetsMatcher.h
FastReductionMatcher::toString
std::string toString() const override
Definition: FastReductionMatcher.cxx:95
FastReductionMatcher::msg
virtual std::string msg() const override
Definition: FastReductionMatcher.cxx:139