72 DAF(
const std::tuple<double, double, int>& annealingScheme,
int minIter,
int maxIter,
int minIterForPval,
bool useRefKalman =
true,
double deltaPval = 1e-3,
double deltaWeight = 1e-3,
double probCut = 1e-3);
78 DAF(
bool useRefKalman =
true,
double deltaPval = 1e-3,
double deltaWeight = 1e-3);
100 void addProbCut(
const double prob_cut,
const int measDim);
116 void setAnnealingScheme(
double bStart,
double bFinal,
unsigned int nSteps,
unsigned int minIter,
unsigned int maxIter);
169 ClassDefOverride(
DAF,2)
virtual void setDebugLvl(unsigned int lvl=1)
virtual void setMaxIterations(unsigned int n)
Set the maximum number of iterations.
unsigned int maxIterations_
Maximum number of iterations to attempt. Forward and backward are counted as one iteration.
virtual void setMaxFailedHits(int val)
AbsKalmanFitter(unsigned int maxIterations=4, double deltaPval=1e-3, double blowUpFactor=1e3)
Abstract base class for a track representation.
Determinstic Annealing Filter (DAF) implementation.
virtual void setMaxFailedHits(int val) override
Set the maximum number of accepted failed hits by the internal Kalman fitter.
std::vector< double > betas_
bool calcWeights(Track *trk, const AbsTrackRep *rep, double beta)
Calculate and set the weights for the next fitting pass. Return if convergence is met....
void setAnnealingScheme(double bStart, double bFinal, unsigned int nSteps)
Configure the annealing scheme.
DAF & operator=(genfit::DAF const &)
void setMaxIterationsKalman(unsigned int n)
Set the maximum number of iterations of the internal Kalman fitter.
AbsKalmanFitter * getKalman() const
Get a pointer to the internal Kalman fitter.
void processTrackWithRep(Track *tr, const AbsTrackRep *rep, bool resortHits=false) override
Process a track using the DAF.
void addProbCut(const double prob_cut, const int measDim)
Set the probability cut for the weight calculation for the hits for a specific measurement dimensiona...
const std::vector< double > & getBetas() const
void setConvergenceDeltaWeight(double delta)
If all weights change less than delta between two iterations, the fit is regarded as converged.
virtual void setDebugLvl(unsigned int lvl=1) override
std::unique_ptr< AbsKalmanFitter > kalman_
void setProbCut(const double prob_cut)
Set the probability cut for the weight calculation for the hits.
void setMaxIterations(unsigned int n) override
Set the maximum number of iterations of the DAF.
Collection of TrackPoint objects, AbsTrackRep objects and FitStatus objects.
Defines for I/O streams used for error and debug printing.