ATLAS Offline Software
Loading...
Searching...
No Matches
Rec::MuonMatch Class Reference

#include <MuonMatch.h>

Inheritance diagram for Rec::MuonMatch:
Collaboration diagram for Rec::MuonMatch:

Public Types

enum  MatchType {
  Tight = 0 , Inner = 1 , Outer = 2 , Simple = 3 ,
  Loose = 4 , Vertex = 5 , Unmatched = 6 , NumberOfMuonMatchTypes = 7
}
 enum to describe the ranked match quality More...

Public Member Functions

 MuonMatch (const MuonMatch &)
 MuonMatch (const Trk::Track *combinedTrack, const Trk::Track *extrapolatedTrack, const Trk::Track *indetTrack, const Trk::Track *spectrometerTrack, const FieldIntegral &fieldIntegral=FieldIntegral(), double innerMatchChi2=999999., int innerMatchDoF=0, double innerMatchProb=0., double momentumBalanceSignificance=0., double outerMatchChi2=999999., int outerMatchDoF=0, double outerMatchProb=0., const ScatteringAngleSignificance &scatAngleSignificance=ScatteringAngleSignificance())
 MuonMatch (const Trk::Track *combinedTrack, const TrackParticle *indetParticle, const TrackParticle *spectrometerParticle, const Trk::RecVertex *vertex, const FieldIntegral &fieldIntegral=FieldIntegral(), const ScatteringAngleSignificance &scatAngleSignificance=ScatteringAngleSignificance())
 MuonMatch (MuonMatch &)
MuonMatchoperator= (MuonMatch &)
virtual ~MuonMatch ()
const Trk::TrackcombinedTrack (void) const
const Trk::TrackextrapolatedRefit (void) const
const Trk::TrackextrapolatedTrack (void) const
const TrackParticleindetParticle (void) const
const Trk::TrackindetTrack (void) const
const TrackParticlespectrometerParticle (void) const
const Trk::TrackspectrometerTrack (void) const
const Trk::RecVertexvertex (void) const
void extrapolatedRefit (const Trk::Track *refittedTrack)
void extrapolatedTrack (const Trk::Track *extrapolatedTrack)
bool bestMatch (void) const
void bestMatch (bool)
void fieldIntegral (const FieldIntegral &value)
const FieldIntegralfieldIntegral (void) const
void innerMatch (double matchChi2, int matchDoF, double matchProb)
double innerMatchChi2 (void) const
int innerMatchDoF (void) const
double innerMatchProb (void) const
bool isType (MatchType) const
MatchType matchType (void) const
void matchType (MatchType)
void momentumBalanceSignificance (double value)
double momentumBalanceSignificance (void) const
void outerMatch (double matchChi2, int matchDoF, double matchProb)
double outerMatchChi2 (void) const
int outerMatchDoF (void) const
double outerMatchProb (void) const
void scatteringAngleSignificance (const ScatteringAngleSignificance &value)
const ScatteringAngleSignificancescatteringAngleSignificance (void) const
bool looseMatch (void) const
void looseMatch (bool)
bool simpleMatch (void) const
void simpleMatch (bool)

Protected Attributes

const Trk::Trackm_combinedTrack
const Trk::Trackm_extrapolatedRefit
const Trk::Trackm_extrapolatedTrack
const TrackParticlem_indetParticle
const Trk::Trackm_indetTrack
const TrackParticlem_spectrometerParticle
const Trk::Trackm_spectrometerTrack
const Trk::RecVertexm_vertex
bool m_bestMatch
FieldIntegral m_fieldIntegral
double m_innerMatchChi2
int m_innerMatchDoF
double m_innerMatchProb
MatchType m_matchType
double m_momentumBalanceSignificance
double m_outerMatchChi2
int m_outerMatchDoF
double m_outerMatchProb
ScatteringAngleSignificance m_scatteringAngleSignificance
bool m_looseMatch
bool m_simpleMatch

Detailed Description

Definition at line 31 of file MuonMatch.h.

Member Enumeration Documentation

◆ MatchType

enum to describe the ranked match quality

Enumerator
Tight 

Tight: good inner and outer match chi2.

Inner 

Inner: good inner match chi2.

Outer 

Outer: good outer match chi2.

Simple 

Simple: good simple (i.e.

ignoring parameter correlation) inner match chi2

Loose 

Loose: no good match chi2 of any flavour.

Vertex 

Vertex: matched to vertex rather than track.

Unmatched 

Unmatched: no match found.

NumberOfMuonMatchTypes 

Definition at line 35 of file MuonMatch.h.

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
56 Unmatched = 6,
57
59 };
@ 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

Constructor & Destructor Documentation

◆ MuonMatch() [1/4]

Rec::MuonMatch::MuonMatch ( const MuonMatch & )

◆ MuonMatch() [2/4]

MuonMatch::MuonMatch ( const Trk::Track * combinedTrack,
const Trk::Track * extrapolatedTrack,
const Trk::Track * indetTrack,
const Trk::Track * spectrometerTrack,
const FieldIntegral & fieldIntegral = FieldIntegral(),
double innerMatchChi2 = 999999.,
int innerMatchDoF = 0,
double innerMatchProb = 0.,
double momentumBalanceSignificance = 0.,
double outerMatchChi2 = 999999.,
int outerMatchDoF = 0,
double outerMatchProb = 0.,
const ScatteringAngleSignificance & scatAngleSignificance = ScatteringAngleSignificance() )

Definition at line 24 of file MuonMatch.cxx.

38 m_extrapolatedRefit (nullptr),
40 m_indetParticle (nullptr),
42 m_spectrometerParticle (nullptr),
44 m_vertex (nullptr),
45 m_bestMatch (false),
56 m_looseMatch (false),
57 m_simpleMatch (false)
58{}
const TrackParticle * m_indetParticle
Definition MuonMatch.h:141
double outerMatchProb(void) const
Definition MuonMatch.h:259
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
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
double m_innerMatchChi2
Definition MuonMatch.h:148
double m_innerMatchProb
Definition MuonMatch.h:150
double m_outerMatchChi2
Definition MuonMatch.h:153
void scatteringAngleSignificance(const ScatteringAngleSignificance &value)
void momentumBalanceSignificance(double value)
const Trk::Track * m_extrapolatedRefit
Definition MuonMatch.h:139
int outerMatchDoF(void) const
Definition MuonMatch.h:255
void fieldIntegral(const FieldIntegral &value)
const Trk::Track * extrapolatedTrack(void) const
Definition MuonMatch.h:175
int innerMatchDoF(void) const
Definition MuonMatch.h:223
const Trk::Track * indetTrack(void) const
Definition MuonMatch.h:183
const Trk::Track * spectrometerTrack(void) const
Definition MuonMatch.h:191
const TrackParticle * m_spectrometerParticle
Definition MuonMatch.h:143
const Trk::Track * m_spectrometerTrack
Definition MuonMatch.h:144
const Trk::Track * m_indetTrack
Definition MuonMatch.h:142
const Trk::Track * m_extrapolatedTrack
Definition MuonMatch.h:140
double outerMatchChi2(void) const
Definition MuonMatch.h:251

◆ MuonMatch() [3/4]

MuonMatch::MuonMatch ( const Trk::Track * combinedTrack,
const TrackParticle * indetParticle,
const TrackParticle * spectrometerParticle,
const Trk::RecVertex * vertex,
const FieldIntegral & fieldIntegral = FieldIntegral(),
const ScatteringAngleSignificance & scatAngleSignificance = ScatteringAngleSignificance() )

Definition at line 61 of file MuonMatch.cxx.

68 m_extrapolatedRefit (nullptr),
69 m_extrapolatedTrack (nullptr),
71 m_indetTrack (nullptr),
73 m_spectrometerTrack (nullptr),
75 m_bestMatch (false),
86 m_looseMatch (false),
87 m_simpleMatch (false)
88{
89 if (indetParticle) m_indetTrack = indetParticle->originalTrack();
91}
const TrackParticle * spectrometerParticle(void) const
Definition MuonMatch.h:187
const TrackParticle * indetParticle(void) const
Definition MuonMatch.h:179
const Trk::RecVertex * vertex(void) const
Definition MuonMatch.h:195

◆ MuonMatch() [4/4]

MuonMatch::MuonMatch ( MuonMatch & match)

Definition at line 94 of file MuonMatch.cxx.

95 : m_combinedTrack (match.m_combinedTrack),
96 m_extrapolatedRefit (match.m_extrapolatedRefit),
97 m_extrapolatedTrack (match.m_extrapolatedTrack),
98 m_indetParticle (match.m_indetParticle),
99 m_indetTrack (match.m_indetTrack),
100 m_spectrometerParticle (match.m_spectrometerParticle),
101 m_spectrometerTrack (match.m_spectrometerTrack),
102 m_vertex (match.m_vertex),
103 m_bestMatch (match.m_bestMatch),
104 m_fieldIntegral (match.m_fieldIntegral),
105 m_innerMatchChi2 (match.m_innerMatchChi2),
106 m_innerMatchDoF (match.m_innerMatchDoF),
107 m_innerMatchProb (match.m_innerMatchProb),
108 m_matchType (match.m_matchType),
109 m_momentumBalanceSignificance (match.m_momentumBalanceSignificance),
110 m_outerMatchChi2 (match.m_outerMatchChi2),
111 m_outerMatchDoF (match.m_outerMatchDoF),
112 m_outerMatchProb (match.m_outerMatchProb),
113 m_scatteringAngleSignificance (match.m_scatteringAngleSignificance),
114 m_looseMatch (match.m_looseMatch),
115 m_simpleMatch (match.m_simpleMatch)
116{
117 // steal combined track
118 if (match.m_combinedTrack) match.m_combinedTrack = nullptr;
119 if (match.m_extrapolatedRefit) match.m_extrapolatedRefit = nullptr;
120}
bool match(std::string s1, std::string s2)
match the individual directories of two strings
Definition hcg.cxx:357

◆ ~MuonMatch()

MuonMatch::~MuonMatch ( void )
virtual

Definition at line 158 of file MuonMatch.cxx.

159{
160 delete m_combinedTrack;
161 delete m_extrapolatedRefit;
162}

Member Function Documentation

◆ bestMatch() [1/2]

void MuonMatch::bestMatch ( bool value)
inline

Definition at line 203 of file MuonMatch.h.

204{ m_bestMatch = value; }

◆ bestMatch() [2/2]

bool MuonMatch::bestMatch ( void ) const
inline

Definition at line 199 of file MuonMatch.h.

200{ return m_bestMatch; }

◆ combinedTrack()

const Trk::Track * MuonMatch::combinedTrack ( void ) const
inline

Definition at line 167 of file MuonMatch.h.

168{ return m_combinedTrack; }

◆ extrapolatedRefit() [1/2]

void MuonMatch::extrapolatedRefit ( const Trk::Track * refittedTrack)

Definition at line 165 of file MuonMatch.cxx.

166{
167 const Trk::Track* oldTrack = m_extrapolatedRefit;
168 m_extrapolatedRefit = refittedTrack;
169 delete oldTrack;
170}

◆ extrapolatedRefit() [2/2]

const Trk::Track * MuonMatch::extrapolatedRefit ( void ) const
inline

Definition at line 171 of file MuonMatch.h.

172{ return m_extrapolatedRefit; }

◆ extrapolatedTrack() [1/2]

void MuonMatch::extrapolatedTrack ( const Trk::Track * extrapolatedTrack)

Definition at line 173 of file MuonMatch.cxx.

◆ extrapolatedTrack() [2/2]

const Trk::Track * MuonMatch::extrapolatedTrack ( void ) const
inline

Definition at line 175 of file MuonMatch.h.

176{ return m_extrapolatedTrack; }

◆ fieldIntegral() [1/2]

void MuonMatch::fieldIntegral ( const FieldIntegral & value)

Definition at line 179 of file MuonMatch.cxx.

◆ fieldIntegral() [2/2]

const FieldIntegral & MuonMatch::fieldIntegral ( void ) const
inline

Definition at line 207 of file MuonMatch.h.

208{ return m_fieldIntegral; }

◆ indetParticle()

const TrackParticle * MuonMatch::indetParticle ( void ) const
inline

Definition at line 179 of file MuonMatch.h.

180{ return m_indetParticle; }

◆ indetTrack()

const Trk::Track * MuonMatch::indetTrack ( void ) const
inline

Definition at line 183 of file MuonMatch.h.

184{ return m_indetTrack; }

◆ innerMatch()

void MuonMatch::innerMatch ( double matchChi2,
int matchDoF,
double matchProb )
inline

Definition at line 211 of file MuonMatch.h.

212{
213 m_innerMatchChi2 = matchChi2;
214 m_innerMatchDoF = matchDoF;
215 m_innerMatchProb = matchProb;
216}

◆ innerMatchChi2()

double MuonMatch::innerMatchChi2 ( void ) const
inline

Definition at line 219 of file MuonMatch.h.

220{ return m_innerMatchChi2; }

◆ innerMatchDoF()

int MuonMatch::innerMatchDoF ( void ) const
inline

Definition at line 223 of file MuonMatch.h.

224{ return m_innerMatchDoF; }

◆ innerMatchProb()

double MuonMatch::innerMatchProb ( void ) const
inline

Definition at line 227 of file MuonMatch.h.

228{ return m_innerMatchProb; }

◆ isType()

bool MuonMatch::isType ( MuonMatch::MatchType type) const
inline

Definition at line 231 of file MuonMatch.h.

232{ return (m_matchType == type); }

◆ looseMatch() [1/2]

void MuonMatch::looseMatch ( bool value)
inline

Definition at line 271 of file MuonMatch.h.

272{ m_looseMatch = value; }

◆ looseMatch() [2/2]

bool MuonMatch::looseMatch ( void ) const
inline

Definition at line 267 of file MuonMatch.h.

268{ return m_looseMatch; }

◆ matchType() [1/2]

void MuonMatch::matchType ( MatchType type)

◆ matchType() [2/2]

MuonMatch::MatchType MuonMatch::matchType ( void ) const
inline

Definition at line 235 of file MuonMatch.h.

236{ return m_matchType; }

◆ momentumBalanceSignificance() [1/2]

void MuonMatch::momentumBalanceSignificance ( double value)

Definition at line 187 of file MuonMatch.cxx.

◆ momentumBalanceSignificance() [2/2]

double MuonMatch::momentumBalanceSignificance ( void ) const
inline

Definition at line 239 of file MuonMatch.h.

◆ operator=()

MuonMatch & MuonMatch::operator= ( MuonMatch & match)

Definition at line 123 of file MuonMatch.cxx.

124{
125 if (this!=&match){
126 m_extrapolatedTrack =match.m_extrapolatedTrack;
127 m_indetParticle =match.m_indetParticle;
128 m_indetTrack =match.m_indetTrack;
129 m_spectrometerParticle =match.m_spectrometerParticle;
130 m_spectrometerTrack =match.m_spectrometerTrack;
131 m_vertex =match.m_vertex;
132
133 m_bestMatch =match.m_bestMatch;
134 m_fieldIntegral =match.m_fieldIntegral;
135 m_innerMatchChi2 =match.m_innerMatchChi2;
136 m_innerMatchDoF =match.m_innerMatchDoF;
137 m_innerMatchProb =match.m_innerMatchProb;
138 m_matchType =match.m_matchType;
139 m_momentumBalanceSignificance =match.m_momentumBalanceSignificance;
140 m_outerMatchChi2 =match.m_outerMatchChi2;
141 m_outerMatchDoF =match.m_outerMatchDoF;
142 m_outerMatchProb =match.m_outerMatchProb;
143 m_scatteringAngleSignificance =match.m_scatteringAngleSignificance;
144 m_looseMatch =match.m_looseMatch;
145 m_simpleMatch =match.m_simpleMatch;
146
148 m_combinedTrack =match.m_combinedTrack;
149 if (match.m_combinedTrack) match.m_combinedTrack = nullptr;
150
152 m_extrapolatedRefit =match.m_extrapolatedRefit;
153 if (match.m_extrapolatedRefit) match.m_extrapolatedRefit = nullptr;
154 }
155 return *this;
156}

◆ outerMatch()

void MuonMatch::outerMatch ( double matchChi2,
int matchDoF,
double matchProb )
inline

Definition at line 243 of file MuonMatch.h.

244{
245 m_outerMatchChi2 = matchChi2;
246 m_outerMatchDoF = matchDoF;
247 m_outerMatchProb = matchProb;
248}

◆ outerMatchChi2()

double MuonMatch::outerMatchChi2 ( void ) const
inline

Definition at line 251 of file MuonMatch.h.

252{ return m_outerMatchChi2; }

◆ outerMatchDoF()

int MuonMatch::outerMatchDoF ( void ) const
inline

Definition at line 255 of file MuonMatch.h.

256{ return m_outerMatchDoF; }

◆ outerMatchProb()

double MuonMatch::outerMatchProb ( void ) const
inline

Definition at line 259 of file MuonMatch.h.

260{ return m_outerMatchProb; }

◆ scatteringAngleSignificance() [1/2]

void MuonMatch::scatteringAngleSignificance ( const ScatteringAngleSignificance & value)

Definition at line 191 of file MuonMatch.cxx.

◆ scatteringAngleSignificance() [2/2]

const ScatteringAngleSignificance & MuonMatch::scatteringAngleSignificance ( void ) const
inline

Definition at line 263 of file MuonMatch.h.

◆ simpleMatch() [1/2]

void MuonMatch::simpleMatch ( bool value)
inline

Definition at line 279 of file MuonMatch.h.

280{ m_simpleMatch = value; }

◆ simpleMatch() [2/2]

bool MuonMatch::simpleMatch ( void ) const
inline

Definition at line 275 of file MuonMatch.h.

276{ return m_simpleMatch; }

◆ spectrometerParticle()

const TrackParticle * MuonMatch::spectrometerParticle ( void ) const
inline

Definition at line 187 of file MuonMatch.h.

188{ return m_spectrometerParticle; }

◆ spectrometerTrack()

const Trk::Track * MuonMatch::spectrometerTrack ( void ) const
inline

Definition at line 191 of file MuonMatch.h.

192{ return m_spectrometerTrack; }

◆ vertex()

const Trk::RecVertex * MuonMatch::vertex ( void ) const
inline

Definition at line 195 of file MuonMatch.h.

196{ return m_vertex; }

Member Data Documentation

◆ m_bestMatch

bool Rec::MuonMatch::m_bestMatch
protected

Definition at line 146 of file MuonMatch.h.

◆ m_combinedTrack

const Trk::Track* Rec::MuonMatch::m_combinedTrack
protected

Definition at line 138 of file MuonMatch.h.

◆ m_extrapolatedRefit

const Trk::Track* Rec::MuonMatch::m_extrapolatedRefit
protected

Definition at line 139 of file MuonMatch.h.

◆ m_extrapolatedTrack

const Trk::Track* Rec::MuonMatch::m_extrapolatedTrack
protected

Definition at line 140 of file MuonMatch.h.

◆ m_fieldIntegral

FieldIntegral Rec::MuonMatch::m_fieldIntegral
protected

Definition at line 147 of file MuonMatch.h.

◆ m_indetParticle

const TrackParticle* Rec::MuonMatch::m_indetParticle
protected

Definition at line 141 of file MuonMatch.h.

◆ m_indetTrack

const Trk::Track* Rec::MuonMatch::m_indetTrack
protected

Definition at line 142 of file MuonMatch.h.

◆ m_innerMatchChi2

double Rec::MuonMatch::m_innerMatchChi2
protected

Definition at line 148 of file MuonMatch.h.

◆ m_innerMatchDoF

int Rec::MuonMatch::m_innerMatchDoF
protected

Definition at line 149 of file MuonMatch.h.

◆ m_innerMatchProb

double Rec::MuonMatch::m_innerMatchProb
protected

Definition at line 150 of file MuonMatch.h.

◆ m_looseMatch

bool Rec::MuonMatch::m_looseMatch
protected

Definition at line 159 of file MuonMatch.h.

◆ m_matchType

MatchType Rec::MuonMatch::m_matchType
protected

Definition at line 151 of file MuonMatch.h.

◆ m_momentumBalanceSignificance

double Rec::MuonMatch::m_momentumBalanceSignificance
protected

Definition at line 152 of file MuonMatch.h.

◆ m_outerMatchChi2

double Rec::MuonMatch::m_outerMatchChi2
protected

Definition at line 153 of file MuonMatch.h.

◆ m_outerMatchDoF

int Rec::MuonMatch::m_outerMatchDoF
protected

Definition at line 154 of file MuonMatch.h.

◆ m_outerMatchProb

double Rec::MuonMatch::m_outerMatchProb
protected

Definition at line 155 of file MuonMatch.h.

◆ m_scatteringAngleSignificance

ScatteringAngleSignificance Rec::MuonMatch::m_scatteringAngleSignificance
protected

Definition at line 156 of file MuonMatch.h.

◆ m_simpleMatch

bool Rec::MuonMatch::m_simpleMatch
protected

Definition at line 160 of file MuonMatch.h.

◆ m_spectrometerParticle

const TrackParticle* Rec::MuonMatch::m_spectrometerParticle
protected

Definition at line 143 of file MuonMatch.h.

◆ m_spectrometerTrack

const Trk::Track* Rec::MuonMatch::m_spectrometerTrack
protected

Definition at line 144 of file MuonMatch.h.

◆ m_vertex

const Trk::RecVertex* Rec::MuonMatch::m_vertex
protected

Definition at line 145 of file MuonMatch.h.


The documentation for this class was generated from the following files: