![]() |
PandaRoot
|
Kalman filter implementation with linearization around a reference track. More...
#include <KalmanFitterRefTrack.h>
Public Member Functions | |
KalmanFitterRefTrack (unsigned int maxIterations=4, double deltaPval=1e-3, double blowUpFactor=1e3) | |
virtual | ~KalmanFitterRefTrack () |
TrackPoint * | fitTrack (Track *tr, const AbsTrackRep *rep, double &chi2, double &ndf, int direction) |
Fit the track. More... | |
void | processTrackWithRep (Track *tr, const AbsTrackRep *rep, bool resortHits=false) |
bool | prepareTrack (Track *tr, const AbsTrackRep *rep, bool setSortingParams, int &nFailedHits) |
Prepare the track. More... | |
void | setRefitAll (bool refit=true) |
If true always refit all points, otherwise fit points only if reference states have changed. More... | |
void | setDeltaChi2Ref (double dChi2) |
![]() | |
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 |
unsigned int | getMinIterations () const |
unsigned int | getMaxIterations () const |
double | getDeltaPval () const |
double | getRelChi2Change () const |
double | getBlowUpFactor () const |
bool | getResetOffDiagonals () const |
double | getBlowUpMaxVal () const |
eMultipleMeasurementHandling | getMultipleMeasurementHandling () const |
int | getMaxFailedHits () const |
virtual void | setMinIterations (unsigned int n) |
Set the minimum number of iterations. More... | |
virtual void | setMaxIterations (unsigned int n) |
Set the maximum number of iterations. More... | |
void | setDeltaPval (double deltaPval) |
Set Convergence criterion. More... | |
void | setRelChi2Change (double relChi2Change) |
void | setBlowUpFactor (double blowUpFactor) |
void | setResetOffDiagonals (bool resetOffDiagonals) |
void | setBlowUpMaxVal (double blowUpMaxVal) |
Limit the cov entries to this maximum value when blowing up the cov. Set to negative value to disable. Default is 1.E6. More... | |
void | setMultipleMeasurementHandling (eMultipleMeasurementHandling mmh) |
How should multiple measurements be handled? More... | |
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. More... | |
![]() | |
AbsFitter () | |
virtual | ~AbsFitter () |
void | processTrack (Track *, bool resortHits=false) |
virtual void | setDebugLvl (unsigned int lvl=1) |
Additional Inherited Members | |
![]() | |
const std::vector< MeasurementOnPlane * > | getMeasurements (const KalmanFitterInfo *fi, const TrackPoint *tp, int direction) const |
get the measurementsOnPlane taking the multipleMeasurementHandling_ into account More... | |
![]() | |
unsigned int | minIterations_ |
Minimum number of iterations to attempt. Forward and backward are counted as one iteration. More... | |
unsigned int | maxIterations_ |
Maximum number of iterations to attempt. Forward and backward are counted as one iteration. More... | |
double | deltaPval_ |
Convergence criterion. More... | |
double | relChi2Change_ |
double | blowUpFactor_ |
Blow up the covariance of the forward (backward) fit by this factor before seeding the backward (forward) fit. More... | |
bool | resetOffDiagonals_ |
Reset the off-diagonals to 0 when blowing up the cov. More... | |
double | blowUpMaxVal_ |
Limit the cov entries to this maxuimum value when blowing up the cov. More... | |
eMultipleMeasurementHandling | multipleMeasurementHandling_ |
How to handle if there are multiple MeasurementsOnPlane. More... | |
int | maxFailedHits_ |
![]() | |
unsigned int | debugLvl_ |
Kalman filter implementation with linearization around a reference track.
Definition at line 36 of file KalmanFitterRefTrack.h.
|
inline |
Definition at line 38 of file KalmanFitterRefTrack.h.
|
inlinevirtual |
Definition at line 43 of file KalmanFitterRefTrack.h.
References fitTrack(), prepareTrack(), and processTrackWithRep().
TrackPoint* genfit::KalmanFitterRefTrack::fitTrack | ( | Track * | tr, |
const AbsTrackRep * | rep, | ||
double & | chi2, | ||
double & | ndf, | ||
int | direction | ||
) |
Fit the track.
Needs a prepared track! Return last TrackPoint that has been processed.
Referenced by ~KalmanFitterRefTrack().
bool genfit::KalmanFitterRefTrack::prepareTrack | ( | Track * | tr, |
const AbsTrackRep * | rep, | ||
bool | setSortingParams, | ||
int & | nFailedHits | ||
) |
Prepare the track.
Calc all reference states. If setSortingParams is true, the extrapolation lengths will be set as sorting parameters of the TrackPoints. Returns if the track has been changed.
Referenced by ~KalmanFitterRefTrack().
|
virtual |
Process Track with one AbsTrackRep of the Track. Optionally resort the hits if necessary (and supported by the fitter)
Implements genfit::AbsFitter.
Referenced by ~KalmanFitterRefTrack().
|
inline |
When will the reference track be updated? If (smoothedState - referenceState) * smoothedCov^(-1) * (smoothedState - referenceState)^T >= deltaChi2Ref_.
Definition at line 69 of file KalmanFitterRefTrack.h.
|
inline |
If true always refit all points, otherwise fit points only if reference states have changed.
Definition at line 63 of file KalmanFitterRefTrack.h.