1 #ifndef RecoMuon_TrackingTools_MuonTrajectoryUpdator_H
2 #define RecoMuon_TrackingTools_MuonTrajectoryUpdator_H
44 double chi2,
int granularity);
103 return a->det()->surface().position().perp() < b->det()->surface().position().perp();
111 return a->det()->surface().position().perp() > b->det()->surface().position().perp();
119 return fabs(a->globalPosition().z()) < fabs(b->globalPosition().z());
127 return fabs(a->globalPosition().z()) > fabs(b->globalPosition().z());
137 const double &chi2,
const DetLayer *detLayer,
Ordering along decreasing radius (for DT rechits)
const MeasurementEstimator * estimator() const
accasso at the propagator
void makeFirstTime()
reset the theFirstTSOSFlag
Ordering along increasing zed (for CSC rechits)
NavigationDirection fitDirection()
get the fit direction
bool operator()(const TransientTrackingRecHit::ConstRecHitPointer &a, const TransientTrackingRecHit::ConstRecHitPointer &b) const
virtual ~MuonTrajectoryUpdator()
Destructor.
TrajectoryStateOnSurface propagateState(const TrajectoryStateOnSurface &state, const TrajectoryMeasurement *measurement, const TransientTrackingRecHit::ConstRecHitPointer ¤t, const Propagator *propagator) const
MuonTrajectoryUpdator(const edm::ParameterSet &par, NavigationDirection fitDirection)
Constructor from Propagator and Parameter set.
double maxChi2() const
get the max chi2 allowed
void sort(TransientTrackingRecHit::ConstRecHitContainer &, const DetLayer *)
void setFitDirection(NavigationDirection fitDirection)
set fit direction
bool operator()(const TransientTrackingRecHit::ConstRecHitPointer &a, const TransientTrackingRecHit::ConstRecHitPointer &b) const
TrajectoryMeasurement updateMeasurement(const TrajectoryStateOnSurface &propagatedTSOS, const TrajectoryStateOnSurface &lastUpdatedTSOS, const TransientTrackingRecHit::ConstRecHitPointer &recHit, const double &chi2, const DetLayer *detLayer, const TrajectoryMeasurement *initialMeasurement)
Return the trajectory measurement. It handles both the fw and the bw propagation. ...
double theMaxChi2
the max chi2 allowed
std::vector< ConstRecHitPointer > ConstRecHitContainer
Ordering along increasing radius (for DT rechits)
const TrajectoryStateUpdator * measurementUpdator() const
TrajectoryStateUpdator * theUpdator
bool operator()(const TransientTrackingRecHit::ConstRecHitPointer &a, const TransientTrackingRecHit::ConstRecHitPointer &b) const
void setMaxChi2(double chi2)
set max chi2
bool operator()(const TransientTrackingRecHit::ConstRecHitPointer &a, const TransientTrackingRecHit::ConstRecHitPointer &b) const
virtual std::pair< bool, TrajectoryStateOnSurface > update(const TrajectoryMeasurement *measurement, Trajectory &trajectory, const Propagator *propagator)
update the Trajectory with the TrajectoryMeasurement
NavigationDirection theFitDirection
Ordering along decreasing zed (for CSC rechits)
MeasurementEstimator * theEstimator