ATLAS Offline Software
MatchingImplementation.h
Go to the documentation of this file.
1 // Dear emacs, this is -*- c++ -*-
2 
3 /*
4  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
5 */
6 
7 
8 #ifndef TRIGGERMATCHINGTOOL_MATCHINGIMPLEMENTATION_H
9 #define TRIGGERMATCHINGTOOL_MATCHINGIMPLEMENTATION_H
10 
11 #include <map>
12 
16 
17 namespace Trig {
18 
19 
20 class TrigDecisionTool;
21 
22 
23 class MatchingTool;
24 
25 namespace MatchingStrategy {
26  enum Strategy {
28  MaximalMatched = 1
29  };
30 }
31 
32 
34 public:
36  const Trig::TrigDecisionTool* tdt() const;
37  bool matchDistanceMatrix(const std::vector<std::vector<double> >& matrix, const Trig::MatchingStrategy::Strategy strategy = Trig::MatchingStrategy::MinimalSum, double threshold = 0.0) const ;
38  inline void setThreshold(double in) { m_threshold=in; }
39 private:
40  bool assocIsMatched(const IAssociationStrategy::index_assignment_t& association, const std::vector<std::vector<double> >& matrix, double threshold) const ;
42  std::map<Trig::MatchingStrategy::Strategy,std::unique_ptr<IAssociationStrategy> > m_strategies;
43  double m_threshold; //the distance threshold for a match
44 };
45 
46 }
47 
48 #endif
xAOD::strategy
strategy
Definition: L2CombinedMuon_v1.cxx:107
Trig
The common trigger namespace for trigger analysis tools.
Definition: LArCellMonAlg.h:33
Trig::MatchingStrategy::Strategy
Strategy
Definition: MatchingImplementation.h:26
Trig::MatchingImplementation::m_tool
MatchingTool & m_tool
Definition: MatchingImplementation.h:41
Trig::MatchingTool
Definition: MatchingTool.h:23
Trig::MatchingImplementation::matchDistanceMatrix
bool matchDistanceMatrix(const std::vector< std::vector< double > > &matrix, const Trig::MatchingStrategy::Strategy strategy=Trig::MatchingStrategy::MinimalSum, double threshold=0.0) const
Definition: MatchingImplementation.cxx:35
Trig::TrigDecisionTool
Definition: TrigDecisionTool.h:65
Trig::MatchingImplementation
Definition: MatchingImplementation.h:33
IAssociationStrategy::index_assignment_t
std::map< unsigned int, unsigned int > index_assignment_t
Definition: IAssociationStrategy.h:16
Trig::MatchingStrategy::MinimalSum
@ MinimalSum
Definition: MatchingImplementation.h:27
IAssociationStrategy.h
Trig::MatchingStrategy::MaximalMatched
@ MaximalMatched
Definition: MatchingImplementation.h:28
AsgMessaging.h
Trig::MatchingImplementation::MatchingImplementation
MatchingImplementation(MatchingTool &mt, double threshold=0.4)
Definition: MatchingImplementation.cxx:12
Trk::association
@ association
Definition: TrackingGeometry.h:46
Trig::MatchingImplementation::assocIsMatched
bool assocIsMatched(const IAssociationStrategy::index_assignment_t &association, const std::vector< std::vector< double > > &matrix, double threshold) const
Definition: MatchingImplementation.cxx:20
Trig::MatchingImplementation::m_strategies
std::map< Trig::MatchingStrategy::Strategy, std::unique_ptr< IAssociationStrategy > > m_strategies
Definition: MatchingImplementation.h:42
asg::AsgMessaging
Class mimicking the AthMessaging class from the offline software.
Definition: AsgMessaging.h:40
MatchingTool.h
threshold
Definition: chainparser.cxx:74
Trig::MatchingImplementation::tdt
const Trig::TrigDecisionTool * tdt() const
Definition: MatchingImplementation.cxx:16
Trig::MatchingImplementation::m_threshold
double m_threshold
Definition: MatchingImplementation.h:43
python.testIfMatch.matrix
matrix
Definition: testIfMatch.py:66
LArSCvsRawChannelConfig.TrigDecisionTool
TrigDecisionTool
Definition: LArSCvsRawChannelConfig.py:83
Trig::MatchingImplementation::setThreshold
void setThreshold(double in)
Definition: MatchingImplementation.h:38