11 inline double sqr(
double arg) {
return arg *
arg; }
24 std::vector<GhostTrackState> &states,
38 if (states.begin() == states.end())
42 for (
unsigned int i = 0;
i < states.size();
i++) {
51 for (std::vector<GhostTrackState>::const_iterator state = states.begin(); state != states.end(); ++state) {
53 pred = updater.
update(pred, *state, ndof, chi2);
SequentialGhostTrackFitter()
virtual GhostTrackPrediction update(const GhostTrackPrediction &pred, const GhostTrackState &state, double &ndof, double &chi2) const =0
unsigned int maxIteration
virtual bool stable(const GhostTrackPrediction &before, const GhostTrackPrediction &after) const
GhostTrackPrediction fit(const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &prior, std::vector< GhostTrackState > &states, double &ndof, double &chi2) override
virtual void postFit(const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &pred, std::vector< GhostTrackState > &states)
bool linearize(const GhostTrackPrediction &pred, bool initial=false, double lambda=0.)
Square< F >::type sqr(const F &f)