23#ifndef genfit_AbsKalmanFitter_h
24#define genfit_AbsKalmanFitter_h
33class KalmanFitterInfo;
55 AbsKalmanFitter(
unsigned int maxIterations = 4,
double deltaPval = 1e-3,
double blowUpFactor = 1e3)
Abstract base class for fitters.
Abstract base class for Kalman fitter and derived fitting algorithms.
double blowUpFactor_
Blow up the covariance of the forward (backward) fit by this factor before seeding the backward (forw...
virtual void setMaxIterations(unsigned int n)
Set the maximum number of iterations.
double getChiSqu(const Track *tr, const AbsTrackRep *rep, int direction=-1) const
unsigned int maxIterations_
Maximum number of iterations to attempt. Forward and backward are counted as one iteration.
void setDeltaPval(double deltaPval)
Set Convergence criterion.
double getRedChiSqu(const Track *tr, const AbsTrackRep *rep, int direction=-1) const
void setMultipleMeasurementHandling(eMultipleMeasurementHandling mmh)
How should multiple measurements be handled?
bool canIgnoreWeights() const
returns if the fitter can ignore the weights and handle the MeasurementOnPlanes as if they had weight...
bool isTrackFitted(const Track *tr, const AbsTrackRep *rep) const
const std::vector< MeasurementOnPlane * > getMeasurements(const KalmanFitterInfo *fi, const TrackPoint *tp, int direction) const
get the measurementsOnPlane taking the multipleMeasurementHandling_ into account
virtual ~AbsKalmanFitter()
void setRelChi2Change(double relChi2Change)
void getChiSquNdf(const Track *tr, const AbsTrackRep *rep, double &bChi2, double &fChi2, double &bNdf, double &fNdf) const
double deltaPval_
Convergence criterion.
eMultipleMeasurementHandling getMultipleMeasurementHandling() const
double getPVal(const Track *tr, const AbsTrackRep *rep, int direction=-1) const
virtual void setMaxFailedHits(int val)
virtual void setMinIterations(unsigned int n)
Set the minimum number of iterations.
unsigned int minIterations_
Minimum number of iterations to attempt. Forward and backward are counted as one iteration.
bool isTrackPrepared(const Track *tr, const AbsTrackRep *rep) const
eMultipleMeasurementHandling multipleMeasurementHandling_
How to handle if there are multiple MeasurementsOnPlane.
double getNdf(const Track *tr, const AbsTrackRep *rep, int direction=-1) const
AbsKalmanFitter(unsigned int maxIterations=4, double deltaPval=1e-3, double blowUpFactor=1e3)
Abstract base class for a track representation.
Collects information needed and produced by a AbsKalmanFitter implementations and is specific to one ...
Object containing AbsMeasurement and AbsFitterInfo objects.
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
eMultipleMeasurementHandling
@ weightedClosestToPrediction
@ weightedClosestToReference
@ weightedClosestToReferenceWire
@ unweightedClosestToReference
@ weightedClosestToPredictionWire
@ unweightedClosestToPredictionWire
@ unweightedClosestToPrediction
@ unweightedClosestToReferenceWire