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

#include <SortSegmentsByNumberOfHits.h>

Collaboration diagram for Muon::SortSegmentsByNumberOfHits:

Public Member Functions

bool operator() (const std::unique_ptr< MuonSegment > &seg1, const std::unique_ptr< MuonSegment > &seg2)

Detailed Description

Definition at line 13 of file SortSegmentsByNumberOfHits.h.

Member Function Documentation

◆ operator()()

bool Muon::SortSegmentsByNumberOfHits::operator() ( const std::unique_ptr< MuonSegment > & seg1,
const std::unique_ptr< MuonSegment > & seg2 )
inline

Definition at line 15 of file SortSegmentsByNumberOfHits.h.

15 {
16 unsigned int nhits1 = seg1->containedMeasurements().size();
17 unsigned int nhits2 = seg2->containedMeasurements().size();
18 if (nhits1 > nhits2) return true;
19 if (nhits1 < nhits2) return false;
20
21 // prefer segments with fit quality (always expected)
22 const Trk::FitQuality* fq1 = seg1->fitQuality();
23 const Trk::FitQuality* fq2 = seg2->fitQuality();
24 if (!fq1 && fq2) return false;
25 if (fq1 && !fq2) return true;
26 if (!fq1 && !fq2) { return true; }
27
28 if (fq1->numberDoF() > fq2->numberDoF()) return true;
29 if (fq1->numberDoF() < fq2->numberDoF()) return false;
30
31 // select candidate with smallest chi2
32 double chi2Ndof1 = fq1->chiSquared() / fq1->numberDoF();
33 double chi2Ndof2 = fq2->chiSquared() / fq2->numberDoF();
34 return chi2Ndof1 < chi2Ndof2;
35 }
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: