ATLAS Offline Software
Loading...
Searching...
No Matches
MuonMatch.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
14
15#ifndef MUIDEVENT_MUONMATCH_H
16# define MUIDEVENT_MUONMATCH_H
17
20
21namespace Trk
22{
23 class RecVertex;
24 class Track;
25}
26
27namespace Rec
28{
29class TrackParticle;
30
32{
33public:
36 {
38 Tight = 0,
39
41 Inner = 1,
42
44 Outer = 2,
45
47 Simple = 3,
48
50 Loose = 4,
51
53 Vertex = 5,
54
57
59 };
60
61 // copy constructor
63
64 // combined track constructor
70 double innerMatchChi2 = 999999.,
71 int innerMatchDoF = 0,
72 double innerMatchProb = 0.,
74 double outerMatchChi2 = 999999.,
75 int outerMatchDoF = 0,
76 double outerMatchProb = 0.,
77 const ScatteringAngleSignificance& scatAngleSignificance = ScatteringAngleSignificance());
78
79 // constructor for vertex associated track
85 const ScatteringAngleSignificance& scatAngleSignificance = ScatteringAngleSignificance());
86
87 // "copy" constructor with steal of combined track
89
90 // "assign" operator with steal of combined track
92
93 // destructor
94 virtual ~MuonMatch();
95
96 // EDM accessors
97 const Trk::Track* combinedTrack (void) const;
98 const Trk::Track* extrapolatedRefit (void) const;
99 const Trk::Track* extrapolatedTrack (void) const;
100 const TrackParticle* indetParticle (void) const;
101 const Trk::Track* indetTrack (void) const;
102 const TrackParticle* spectrometerParticle (void) const;
103 const Trk::Track* spectrometerTrack (void) const;
104 const Trk::RecVertex* vertex (void) const;
105
106 // set and steal EDM methods
107 void extrapolatedRefit (const Trk::Track* refittedTrack);
109
110 // other attributes (set and accessor methods)
111 bool bestMatch (void) const;
112 void bestMatch (bool);
113 void fieldIntegral (const FieldIntegral& value);
114 const FieldIntegral& fieldIntegral (void) const;
115 void innerMatch (double matchChi2, int matchDoF, double matchProb);
116 double innerMatchChi2 (void) const;
117 int innerMatchDoF (void) const;
118 double innerMatchProb (void) const;
119 bool isType (MatchType) const;
120 MatchType matchType (void) const;
121 void matchType (MatchType);
122 void momentumBalanceSignificance (double value);
123 double momentumBalanceSignificance (void) const;
124 void outerMatch (double matchChi2, int matchDoF, double matchProb);
125 double outerMatchChi2 (void) const;
126 int outerMatchDoF (void) const;
127 double outerMatchProb (void) const;
130
131 // deprecated
132 bool looseMatch (void) const;
133 void looseMatch (bool);
134 bool simpleMatch (void) const;
135 void simpleMatch (bool);
136
137protected:
157
158 // deprecated
161
162};
163
164//<<<<<< INLINE MEMBER FUNCTIONS >>>>>>
165
166inline const Trk::Track*
168{ return m_combinedTrack; }
169
170inline const Trk::Track*
173
174inline const Trk::Track*
177
178inline const TrackParticle*
180{ return m_indetParticle; }
181
182inline const Trk::Track*
184{ return m_indetTrack; }
185
186inline const TrackParticle*
189
190inline const Trk::Track*
193
194inline const Trk::RecVertex*
196{ return m_vertex; }
197
198inline bool
200{ return m_bestMatch; }
201
202inline void
204{ m_bestMatch = value; }
205
206inline const FieldIntegral&
208{ return m_fieldIntegral; }
209
210inline void
211MuonMatch::innerMatch(double matchChi2, int matchDoF, double matchProb)
212{
213 m_innerMatchChi2 = matchChi2;
214 m_innerMatchDoF = matchDoF;
215 m_innerMatchProb = matchProb;
216}
217
218inline double
220{ return m_innerMatchChi2; }
221
222inline int
224{ return m_innerMatchDoF; }
225
226inline double
228{ return m_innerMatchProb; }
229
230inline bool
233
236{ return m_matchType; }
237
238inline double
241
242inline void
243MuonMatch::outerMatch(double matchChi2, int matchDoF, double matchProb)
244{
245 m_outerMatchChi2 = matchChi2;
246 m_outerMatchDoF = matchDoF;
247 m_outerMatchProb = matchProb;
248}
249
250inline double
252{ return m_outerMatchChi2; }
253
254inline int
256{ return m_outerMatchDoF; }
257
258inline double
260{ return m_outerMatchProb; }
261
262inline const ScatteringAngleSignificance&
265
266inline bool
268{ return m_looseMatch; }
269
270inline void
272{ m_looseMatch = value; }
273
274inline bool
276{ return m_simpleMatch; }
277
278inline void
280{ m_simpleMatch = value; }
281
282} // end of namespace
283
284#endif // MUIDEVENT_MUONMATCH_H
285
286
lightweight return data-object for field integral track query
double momentumBalanceSignificance(void) const
Definition MuonMatch.h:239
MuonMatch(const MuonMatch &)
const TrackParticle * m_indetParticle
Definition MuonMatch.h:141
double outerMatchProb(void) const
Definition MuonMatch.h:259
MatchType
enum to describe the ranked match quality
Definition MuonMatch.h:36
@ Loose
Loose: no good match chi2 of any flavour.
Definition MuonMatch.h:50
@ Tight
Tight: good inner and outer match chi2.
Definition MuonMatch.h:38
@ Unmatched
Unmatched: no match found.
Definition MuonMatch.h:56
@ Vertex
Vertex: matched to vertex rather than track.
Definition MuonMatch.h:53
@ Outer
Outer: good outer match chi2.
Definition MuonMatch.h:44
@ Simple
Simple: good simple (i.e.
Definition MuonMatch.h:47
@ NumberOfMuonMatchTypes
Definition MuonMatch.h:58
@ Inner
Inner: good inner match chi2.
Definition MuonMatch.h:41
MuonMatch & operator=(MuonMatch &)
double innerMatchProb(void) const
Definition MuonMatch.h:227
const Trk::Track * m_combinedTrack
Definition MuonMatch.h:138
const Trk::Track * combinedTrack(void) const
Definition MuonMatch.h:167
void innerMatch(double matchChi2, int matchDoF, double matchProb)
Definition MuonMatch.h:211
MatchType m_matchType
Definition MuonMatch.h:151
ScatteringAngleSignificance m_scatteringAngleSignificance
Definition MuonMatch.h:156
double m_outerMatchProb
Definition MuonMatch.h:155
double innerMatchChi2(void) const
Definition MuonMatch.h:219
FieldIntegral m_fieldIntegral
Definition MuonMatch.h:147
double m_momentumBalanceSignificance
Definition MuonMatch.h:152
const Trk::RecVertex * m_vertex
Definition MuonMatch.h:145
const ScatteringAngleSignificance & scatteringAngleSignificance(void) const
Definition MuonMatch.h:263
double m_innerMatchChi2
Definition MuonMatch.h:148
const TrackParticle * spectrometerParticle(void) const
Definition MuonMatch.h:187
double m_innerMatchProb
Definition MuonMatch.h:150
double m_outerMatchChi2
Definition MuonMatch.h:153
const Trk::Track * extrapolatedRefit(void) const
Definition MuonMatch.h:171
void momentumBalanceSignificance(double value)
const Trk::Track * m_extrapolatedRefit
Definition MuonMatch.h:139
bool isType(MatchType) const
Definition MuonMatch.h:231
bool simpleMatch(void) const
Definition MuonMatch.h:275
int outerMatchDoF(void) const
Definition MuonMatch.h:255
void fieldIntegral(const FieldIntegral &value)
const Trk::Track * extrapolatedTrack(void) const
Definition MuonMatch.h:175
const TrackParticle * indetParticle(void) const
Definition MuonMatch.h:179
const FieldIntegral & fieldIntegral(void) const
Definition MuonMatch.h:207
MatchType matchType(void) const
Definition MuonMatch.h:235
int innerMatchDoF(void) const
Definition MuonMatch.h:223
virtual ~MuonMatch()
const Trk::Track * indetTrack(void) const
Definition MuonMatch.h:183
bool bestMatch(void) const
Definition MuonMatch.h:199
const Trk::Track * spectrometerTrack(void) const
Definition MuonMatch.h:191
bool looseMatch(void) const
Definition MuonMatch.h:267
const TrackParticle * m_spectrometerParticle
Definition MuonMatch.h:143
const Trk::Track * m_spectrometerTrack
Definition MuonMatch.h:144
void outerMatch(double matchChi2, int matchDoF, double matchProb)
Definition MuonMatch.h:243
const Trk::Track * m_indetTrack
Definition MuonMatch.h:142
const Trk::Track * m_extrapolatedTrack
Definition MuonMatch.h:140
const Trk::RecVertex * vertex(void) const
Definition MuonMatch.h:195
double outerMatchChi2(void) const
Definition MuonMatch.h:251
lightweight return data-object for (mainly indet) scattering angle analysis by track query
Trk::RecVertex inherits from Trk::Vertex.
Definition RecVertex.h:44
Gaudi Tools.
Ensure that the ATLAS eigen extensions are properly loaded.