#include <Associator_BestMatch.h>
|
| std::map< int, int > | matcher (const std::vector< Tp * > &ref, const std::vector< Tq * > &test) |
Definition at line 152 of file Associator_BestMatch.h.
◆ map_type
template<typename T, typename S = T>
◆ rmap_type
template<typename T, typename S = T>
◆ Associator_BestDeltaRZSinThetaMatcher()
| Associator_BestDeltaRZSinThetaMatcher::Associator_BestDeltaRZSinThetaMatcher |
( |
const std::string & | name, |
|
|
double | deta = 0.05, |
|
|
double | dphi = 0.05, |
|
|
double | dzed = 5 ) |
|
inline |
Definition at line 156 of file Associator_BestMatch.h.
156 :
161 {
162 std::cout << "Associator: Best RZ Matcher" << std::endl;
163 }
BestMatcher< TIDA::Track > Associator_BestMatcher
◆ ~Associator_BestDeltaRZSinThetaMatcher()
| virtual Associator_BestDeltaRZSinThetaMatcher::~Associator_BestDeltaRZSinThetaMatcher |
( |
| ) |
|
|
inlinevirtual |
◆ clear()
template<typename T, typename S = T>
◆ clone()
◆ distance()
| virtual double Associator_BestDeltaRZSinThetaMatcher::distance |
( |
const TIDA::Track * | t0, |
|
|
const TIDA::Track * | t1 ) const |
|
inlineoverridevirtual |
Implements BestMatcher< TIDA::Track >.
Definition at line 169 of file Associator_BestMatch.h.
169 {
170 double theta = 2*std::atan(std::exp(-
t1->eta()));
171
172 double deta =
t0->eta()-
t1->eta();
173 double dphi =
t0->phi()-
t1->phi();
if ( dphi>
M_PI ) dphi-=2*
M_PI;
if ( dphi<-
M_PI ) dphi+=2*
M_PI;
174
175 double dzed = (
t0->z0()-
t1->z0())*std::sin(
theta);
176
178
179
180
181
182
184 }
Scalar theta() const
theta method
std::vector< ALFA_RawDataCollection_p1 > t1
◆ match() [1/2]
Definition at line 68 of file BestMatcher.h.
69 {
71
73
79 }
80
81 }
std::map< int, int > matcher(const std::vector< Tp * > &ref, const std::vector< Tq * > &test)
virtual const TIDA::Track * matched(TIDA::Track *t)
◆ match() [2/2]
template<typename T, typename S = T>
| virtual void TIDA::Associator< T, S >::match |
( |
const std::vector< T * > & | s1, |
|
|
const std::vector< S * > & | s2 ) |
|
pure virtualinherited |
◆ matched() [1/2]
template<typename T, typename S = T>
◆ matched() [2/2]
template<typename T, typename S = T>
◆ matcher()
inserting into a multimatch sorts them into order as they are added so you get the list of best matches imediately NB: probably quicker to add them to a vector and then sort them afterward
now go through from best to worst, adding to another sorted set only the matches that do not use tracks already used by a better matching pair already found
set of unique track pairings NB: for some reason, using the multiset is faster than using a vector, even though we are only iterating through it later
hooray!! now print out the answer, make a map etc this isn't technically needed, could just use the set of "matched" objects, but hey ho
Definition at line 91 of file BestMatcher.h.
91 {
92
98
100
101 for (
unsigned int i=0 ;
i<
ref.
size() ;
i++ ) {
102
106 m.insert( matched_(
d,
i,
j) );
107 }
108 }
109 }
110
114
117
123
125
127
129
132
135
138
140
142
143 }
144
145
146
147
151
152
153
155
156
160
162 }
163
165
166 }
virtual double distance(const TIDA::Track *t0, const TIDA::Track *t1) const=0
◆ revmatched() [1/2]
template<typename T, typename S = T>
◆ revmatched() [2/2]
template<typename T, typename S = T>
◆ size()
template<typename T, typename S = T>
◆ m_d
◆ m_deta2
| double Associator_BestDeltaRZSinThetaMatcher::m_deta2 |
|
protected |
◆ m_dphi2
| double Associator_BestDeltaRZSinThetaMatcher::m_dphi2 |
|
protected |
◆ m_dzed2
| double Associator_BestDeltaRZSinThetaMatcher::m_dzed2 |
|
protected |
◆ mmatched
template<typename T, typename S = T>
◆ mname
template<typename T, typename S = T>
◆ mrevmatched
template<typename T, typename S = T>
The documentation for this class was generated from the following file: