ATLAS Offline Software
Loading...
Searching...
No Matches
Muon::SortMuPatTrackByQuality Class Reference

#include <MuPatTrack.h>

Collaboration diagram for Muon::SortMuPatTrackByQuality:

Public Member Functions

bool operator() (const MuPatTrack *c1, const MuPatTrack *c2)

Detailed Description

Definition at line 184 of file MuPatTrack.h.

Member Function Documentation

◆ operator()()

bool Muon::SortMuPatTrackByQuality::operator() ( const MuPatTrack * c1,
const MuPatTrack * c2 )
inline

Definition at line 186 of file MuPatTrack.h.

186 {
187 // prefer candidates with more segments
188 if (c1->segments().size() > c2->segments().size()) return true;
189 if (c1->segments().size() < c2->segments().size()) return false;
190
191 // prefer tracks with fit quality (always expected)
192 const Trk::FitQuality* fq1 = c1->track().fitQuality();
193 const Trk::FitQuality* fq2 = c2->track().fitQuality();
194 if (!fq1) return false;
195 if (!fq2) return true;
196
197 if (fq1->numberDoF() > fq2->numberDoF()) return true;
198 if (fq1->numberDoF() < fq2->numberDoF()) return false;
199
200 // select candidate with smallest chi2
201 double chi2Ndof1 = fq1->chiSquared() / fq1->numberDoF();
202 double chi2Ndof2 = fq2->chiSquared() / fq2->numberDoF();
203 return chi2Ndof1 < chi2Ndof2;
204 }
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition FitQuality.h:60
double chiSquared() const
returns the of the overall track fit
Definition FitQuality.h:56

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