ATLAS Offline Software
Public Member Functions | List of all members
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  }

The documentation for this class was generated from the following file:
Trk::FitQuality
Class to represent and store fit qualities from track reconstruction in terms of and number of degre...
Definition: FitQuality.h:97
Trk::FitQuality::chiSquared
double chiSquared() const
returns the of the overall track fit
Definition: FitQuality.h:56
Trk::FitQuality::numberDoF
int numberDoF() const
returns the number of degrees of freedom of the overall track or vertex fit as integer
Definition: FitQuality.h:60