17 std::vector<GhostTrackState> &states,
18 double &
ndof,
double &chi2)
20 double rho = prior.
rho();
21 for(
unsigned int i = 0;
i < states.size();
i++) {
31 for(
unsigned int i = 0;
i < states.size();
i++) {
33 double lambda = state.
lambda();
34 if (lambda < origin && (origin - lambda) < 3.5) {
36 testState.
linearize(pred, 2. * origin - lambda);
39 updater.
contribution(prior, testState, ndof, chi2,
true);
40 if (ndof > 0. && chi2 < 10.) {
50 for(
unsigned int i = 0;
i < states.size();
i++) {
52 double lambda = state.
lambda();
53 if (state.
weight() != 1. && lambda < origin) {
55 std::exp(10. * (origin - lambda) - .1);
61 pred =
actualFitter_->fit(updater, prior, states, ndof, chi2);
std::auto_ptr< GhostTrackFitter::FitterImpl > actualFitter_
double lambda(const GlobalPoint &point) const
void setWeight(double weight)
virtual void contribution(const GhostTrackPrediction &pred, const GhostTrackState &state, double &ndof, double &chi2, bool withPredError=false) const =0
bool linearize(const GhostTrackPrediction &pred, bool initial=false, double lambda=0.)
GhostTrackPrediction fit(const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &prior, std::vector< GhostTrackState > &states, double &ndof, double &chi2)