SND@LHC Software
|
Abstract base class for Kalman fitter and derived fitting algorithms. More...
#include <AbsKalmanFitter.h>
Public Member Functions | |
AbsKalmanFitter (unsigned int maxIterations=4, double deltaPval=1e-3, double blowUpFactor=1e3) | |
virtual | ~AbsKalmanFitter () |
void | getChiSquNdf (const Track *tr, const AbsTrackRep *rep, double &bChi2, double &fChi2, double &bNdf, double &fNdf) const |
double | getChiSqu (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
double | getNdf (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
double | getRedChiSqu (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
double | getPVal (const Track *tr, const AbsTrackRep *rep, int direction=-1) const |
eMultipleMeasurementHandling | getMultipleMeasurementHandling () const |
virtual void | setMinIterations (unsigned int n) |
Set the minimum number of iterations. | |
virtual void | setMaxIterations (unsigned int n) |
Set the maximum number of iterations. | |
void | setDeltaPval (double deltaPval) |
Set Convergence criterion. | |
void | setRelChi2Change (double relChi2Change) |
void | setMultipleMeasurementHandling (eMultipleMeasurementHandling mmh) |
How should multiple measurements be handled? | |
virtual void | setMaxFailedHits (int val) |
bool | isTrackPrepared (const Track *tr, const AbsTrackRep *rep) const |
bool | isTrackFitted (const Track *tr, const AbsTrackRep *rep) const |
bool | canIgnoreWeights () const |
returns if the fitter can ignore the weights and handle the MeasurementOnPlanes as if they had weight 1. | |
![]() | |
AbsFitter () | |
virtual | ~AbsFitter () |
virtual void | processTrackWithRep (Track *, const AbsTrackRep *, bool resortHits=false)=0 |
void | processTrack (Track *, bool resortHits=true) |
virtual void | setDebugLvl (unsigned int lvl=1) |
Protected Member Functions | |
const std::vector< MeasurementOnPlane * > | getMeasurements (const KalmanFitterInfo *fi, const TrackPoint *tp, int direction) const |
get the measurementsOnPlane taking the multipleMeasurementHandling_ into account | |
Protected Attributes | |
unsigned int | minIterations_ |
Minimum number of iterations to attempt. Forward and backward are counted as one iteration. | |
unsigned int | maxIterations_ |
Maximum number of iterations to attempt. Forward and backward are counted as one iteration. | |
double | deltaPval_ |
Convergence criterion. | |
double | relChi2Change_ |
double | blowUpFactor_ |
Blow up the covariance of the forward (backward) fit by this factor before seeding the backward (forward) fit. | |
eMultipleMeasurementHandling | multipleMeasurementHandling_ |
How to handle if there are multiple MeasurementsOnPlane. | |
int | maxFailedHits_ |
![]() | |
unsigned int | debugLvl_ |
Abstract base class for Kalman fitter and derived fitting algorithms.
Definition at line 51 of file AbsKalmanFitter.h.
|
inline |
Definition at line 55 of file AbsKalmanFitter.h.
|
inlinevirtual |
Definition at line 63 of file AbsKalmanFitter.h.
bool AbsKalmanFitter::canIgnoreWeights | ( | ) | const |
returns if the fitter can ignore the weights and handle the MeasurementOnPlanes as if they had weight 1.
Definition at line 256 of file AbsKalmanFitter.cc.
double AbsKalmanFitter::getChiSqu | ( | const Track * | tr, |
const AbsTrackRep * | rep, | ||
int | direction = -1 |
||
) | const |
Definition at line 84 of file AbsKalmanFitter.cc.
void AbsKalmanFitter::getChiSquNdf | ( | const Track * | tr, |
const AbsTrackRep * | rep, | ||
double & | bChi2, | ||
double & | fChi2, | ||
double & | bNdf, | ||
double & | fNdf | ||
) | const |
Definition at line 40 of file AbsKalmanFitter.cc.
|
protected |
get the measurementsOnPlane taking the multipleMeasurementHandling_ into account
Definition at line 177 of file AbsKalmanFitter.cc.
|
inline |
Definition at line 72 of file AbsKalmanFitter.h.
double AbsKalmanFitter::getNdf | ( | const Track * | tr, |
const AbsTrackRep * | rep, | ||
int | direction = -1 |
||
) | const |
Definition at line 94 of file AbsKalmanFitter.cc.
double AbsKalmanFitter::getPVal | ( | const Track * | tr, |
const AbsTrackRep * | rep, | ||
int | direction = -1 |
||
) | const |
Definition at line 114 of file AbsKalmanFitter.cc.
double AbsKalmanFitter::getRedChiSqu | ( | const Track * | tr, |
const AbsTrackRep * | rep, | ||
int | direction = -1 |
||
) | const |
Definition at line 104 of file AbsKalmanFitter.cc.
bool AbsKalmanFitter::isTrackFitted | ( | const Track * | tr, |
const AbsTrackRep * | rep | ||
) | const |
Definition at line 147 of file AbsKalmanFitter.cc.
bool AbsKalmanFitter::isTrackPrepared | ( | const Track * | tr, |
const AbsTrackRep * | rep | ||
) | const |
Definition at line 125 of file AbsKalmanFitter.cc.
|
inline |
Set Convergence criterion.
if track total P-value changes less than this between consecutive iterations, consider the track converged. chi² from the backwards fit is used.
Definition at line 85 of file AbsKalmanFitter.h.
|
inlinevirtual |
|
inlinevirtual |
Set the maximum number of iterations.
Reimplemented in genfit::DAF.
Definition at line 77 of file AbsKalmanFitter.h.
|
inlinevirtual |
Set the minimum number of iterations.
Definition at line 75 of file AbsKalmanFitter.h.
|
inline |
How should multiple measurements be handled?
Definition at line 99 of file AbsKalmanFitter.h.
|
inline |
@ brief Set Non-convergence criterion
if the relative chi^2 between two iterations is larger than relChi2Change_, the fit is NOT converged and further iterations will be done, even if the deltaPval_ convergence criterium is met. This is especially useful for fits which have a p-value of almost 0 (possibly due to bad start values), where the p-value from one iteration to the next might not change much. However, a significant change in chi^2 tells us, that the fit might not yet be converged.
Definition at line 96 of file AbsKalmanFitter.h.
|
protected |
Blow up the covariance of the forward (backward) fit by this factor before seeding the backward (forward) fit.
Definition at line 137 of file AbsKalmanFitter.h.
|
protected |
Convergence criterion.
if track total P-value changes less than this between consecutive iterations, consider the track converged. chi² from the backwards fit is used.
Definition at line 125 of file AbsKalmanFitter.h.
|
protected |
after how many failed hits (exception during construction of plane, extrapolation etc.) should the fit be cancelled. -1 means don't cancel
Definition at line 144 of file AbsKalmanFitter.h.
|
protected |
Maximum number of iterations to attempt. Forward and backward are counted as one iteration.
Definition at line 118 of file AbsKalmanFitter.h.
|
protected |
Minimum number of iterations to attempt. Forward and backward are counted as one iteration.
Definition at line 115 of file AbsKalmanFitter.h.
|
protected |
How to handle if there are multiple MeasurementsOnPlane.
Definition at line 140 of file AbsKalmanFitter.h.
|
protected |
@ brief Non-convergence criterion
if the relative chi^2 between two iterations is larger than relChi2Change_, the fit is NOT converged and further iterations will be done, even if the deltaPval_ convergence criterium is met. This is especially useful for fits which have a p-value of almost 0 (possibly due to bad start values), where the p-value from one iteration to the next might not change much. However, a significant change in chi^2 tells us, that the fit might not yet be converged.
Definition at line 135 of file AbsKalmanFitter.h.