11 inline double sqr(
double arg) {
return arg *
arg; }
26 return (
sqr(after.
sz() - before.
sz()) +
35 std::vector<GhostTrackState> &states,
49 if (states.begin() == states.end())
53 for(
unsigned int i = 0;
i < states.size();
i++) {
62 for(std::vector<GhostTrackState>::const_iterator state =
63 states.begin(); state != states.end(); ++state) {
65 if (state->isValid() &&
67 pred = updater.
update(pred, *state,
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)