18 std::vector<GhostTrackState> &states,
21 double rho = prior.
rho();
22 for(
unsigned int i = 0;
i < states.size();
i++) {
32 for(
unsigned int i = 0;
i < states.size();
i++) {
34 double lambda = state.
lambda();
35 if (lambda < origin && (origin - lambda) < 3.5) {
37 testState.
linearize(pred, 2. * origin - lambda);
41 updater.
contribution(prior, testState, ndof, chi2,
true);
42 if (ndof > 0. && chi2 < 10.) {
49 edm::LogError(
"InvalidGhostTrackState") <<
"Invalid GhostTrackState encountered!";
55 for(
unsigned int i = 0;
i < states.size();
i++) {
57 double lambda = state.
lambda();
58 if (state.
weight() != 1. && lambda < origin) {
60 std::exp(10. * (origin - lambda) - .1);
66 pred =
actualFitter_->fit(updater, prior, states, ndof, chi2);
std::auto_ptr< GhostTrackFitter::FitterImpl > actualFitter_
double lambda(const GlobalPoint &point) const
void setWeight(double weight)
GhostTrackPrediction fit(const GhostTrackFitter::PredictionUpdater &updater, const GhostTrackPrediction &prior, std::vector< GhostTrackState > &states, double &ndof, double &chi2) override
bool linearize(const GhostTrackPrediction &pred, bool initial=false, double lambda=0.)
virtual void contribution(const GhostTrackPrediction &pred, const GhostTrackState &state, double &ndof, double &chi2, bool withPredError=false) const =0