#include <TrackingTools/KalmanUpdators/interface/Chi2Strip1DEstimator.h>
Public Member Functions | |
Chi2Strip1DEstimator (double maxChi2, double nSigma=3.) | |
virtual Chi2Strip1DEstimator * | clone () const |
virtual std::pair< bool, double > | estimate (const TrajectoryStateOnSurface &, const TransientTrackingRecHit &) const |
Returns pair( true, value) if the TrajectoryStateOnSurface is compatible with the RecHit, and pair( false, value) if it is not compatible. |
Ported from ORCA.
Definition at line 16 of file Chi2Strip1DEstimator.h.
Chi2Strip1DEstimator::Chi2Strip1DEstimator | ( | double | maxChi2, | |
double | nSigma = 3. | |||
) | [inline, explicit] |
Definition at line 20 of file Chi2Strip1DEstimator.h.
Referenced by clone().
00020 : 00021 Chi2MeasurementEstimatorBase( maxChi2, nSigma) {}
virtual Chi2Strip1DEstimator* Chi2Strip1DEstimator::clone | ( | void | ) | const [inline, virtual] |
Implements MeasurementEstimator.
Definition at line 26 of file Chi2Strip1DEstimator.h.
References Chi2Strip1DEstimator().
00026 { 00027 return new Chi2Strip1DEstimator(*this); 00028 }
pair< bool, double > Chi2Strip1DEstimator::estimate | ( | const TrajectoryStateOnSurface & | ts, | |
const TransientTrackingRecHit & | hit | |||
) | const [virtual] |
Returns pair( true, value) if the TrajectoryStateOnSurface is compatible with the RecHit, and pair( false, value) if it is not compatible.
The TrajectoryStateOnSurface must be on the same Surface as the RecHit. For an estimator where there is no value computed, e.g. fixed window estimator, only the first(bool) part is of interest.
Implements Chi2MeasurementEstimatorBase.
Definition at line 9 of file Chi2Strip1DEstimator.cc.
References funct::C, TransientTrackingRecHit::detUnit(), GeomDetType::isTrackerPixel(), TrajectoryStateOnSurface::localError(), TrackingRecHit::localPosition(), TrajectoryStateOnSurface::localPosition(), TrackingRecHit::localPositionError(), m, Topology::measurementError(), Topology::measurementPosition(), LocalTrajectoryError::positionError(), dttmaxenums::R, r, Chi2MeasurementEstimatorBase::returnIt(), GeomDetUnit::topology(), GeomDetUnit::type(), V, and x.
Referenced by Chi2Switching1DEstimator::estimate().
00010 { 00011 00012 if(//hit.isMatched() || 00013 hit.detUnit()->type().isTrackerPixel() 00014 ) return HitReturnType(false,0.); 00015 00016 00017 const StripTopology* topology = 00018 dynamic_cast<const StripTopology*>(&(hit.detUnit()->topology())); 00019 00020 double m = topology->measurementPosition(hit.localPosition()).x(); 00021 00022 double x = topology->measurementPosition(state.localPosition()).x(); 00023 00024 double V = 00025 topology->measurementError(hit.localPosition(), 00026 hit.localPositionError()).uu(); 00027 double C = 00028 topology->measurementError(state.localPosition(), 00029 state.localError().positionError()).uu(); 00030 double r = m - x; 00031 double R = V + C; 00032 00033 double est = r*r/R; 00034 00035 return returnIt(est); 00036 }