#include <MuonTrajectoryUpdator.h>
Classes | |
struct | RadiusComparatorInOut |
Ordering along increasing radius (for DT rechits) More... | |
struct | RadiusComparatorOutIn |
Ordering along decreasing radius (for DT rechits) More... | |
struct | ZedComparatorInOut |
Ordering along increasing zed (for CSC rechits) More... | |
struct | ZedComparatorOutIn |
Ordering along decreasing zed (for CSC rechits) More... | |
Public Member Functions | |
const MeasurementEstimator * | estimator () const |
accasso at the propagator More... | |
NavigationDirection | fitDirection () |
get the fit direction More... | |
void | makeFirstTime () |
reset the theFirstTSOSFlag More... | |
double | maxChi2 () const |
get the max chi2 allowed More... | |
const TrajectoryStateUpdator * | measurementUpdator () const |
MuonTrajectoryUpdator (const edm::ParameterSet &par, NavigationDirection fitDirection) | |
Constructor from Propagator and Parameter set. More... | |
MuonTrajectoryUpdator (NavigationDirection fitDirection, double chi2, int granularity) | |
Constructor from Propagator, chi2 and the granularity flag. More... | |
void | setFitDirection (NavigationDirection fitDirection) |
set fit direction More... | |
void | setMaxChi2 (double chi2) |
set max chi2 More... | |
virtual std::pair< bool, TrajectoryStateOnSurface > | update (const TrajectoryMeasurement *measurement, Trajectory &trajectory, const Propagator *propagator) |
update the Trajectory with the TrajectoryMeasurement More... | |
virtual | ~MuonTrajectoryUpdator () |
Destructor. More... | |
Private Member Functions | |
TrajectoryStateOnSurface | propagateState (const TrajectoryStateOnSurface &state, const TrajectoryMeasurement *measurement, const TransientTrackingRecHit::ConstRecHitPointer ¤t, const Propagator *propagator) const |
void | sort (TransientTrackingRecHit::ConstRecHitContainer &, const DetLayer *) |
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. More... | |
Private Attributes | |
MeasurementEstimator * | theEstimator |
bool | theFirstTSOSFlag |
NavigationDirection | theFitDirection |
int | theGranularity |
double | theMaxChi2 |
the max chi2 allowed More... | |
bool | theRescaleErrorFlag |
double | theRescaleFactor |
bool | theRPCExFlag |
TrajectoryStateUpdator * | theUpdator |
bool | useInvalidHits |
An updator for the Muon system This class update a trajectory with a muon chamber measurement. In spite of the name, it is NOT an updator, but has one. A muon RecHit is a segment (for DT and CSC) or a "hit" (RPC). This updator is suitable both for FW and BW filtering. The difference between the two fitter are two: the granularity of the updating (i.e.: segment position or 1D rechit position), which can be set via parameter set, and the propagation direction which is embeded in the propagator set in the c'tor.
An updator for the Muon system This class update a trajectory with a muon chamber measurement. In spite of the name, it is NOT an updator, but has one. A muon RecHit is a segment (for DT and CSC) or a "hit" (RPC). This updator is suitable both for FW and BW filtering. The difference between the two fitter are two: the granularity of the updating (i.e.: segment position or 1D rechit position), which can be set via parameter set, and the propagation direction which is embeded in the propagator set in the c'tor.
Modified by C. Calabria: GEM Implementation Modified by D. Nash: ME0 Implementation
Definition at line 32 of file MuonTrajectoryUpdator.h.
MuonTrajectoryUpdator::MuonTrajectoryUpdator | ( | const edm::ParameterSet & | par, |
NavigationDirection | fitDirection | ||
) |
Constructor from Propagator and Parameter set.
Definition at line 43 of file MuonTrajectoryUpdator.cc.
References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, edm::ParameterSet::getParameter(), theEstimator, theFirstTSOSFlag, theGranularity, theMaxChi2, theRescaleErrorFlag, theRescaleFactor, theRPCExFlag, theUpdator, and useInvalidHits.
MuonTrajectoryUpdator::MuonTrajectoryUpdator | ( | NavigationDirection | fitDirection, |
double | chi2, | ||
int | granularity | ||
) |
Constructor from Propagator, chi2 and the granularity flag.
Definition at line 73 of file MuonTrajectoryUpdator.cc.
References Chi2MeasurementEstimator_cfi::Chi2MeasurementEstimator, theEstimator, theMaxChi2, and theUpdator.
|
virtual |
Destructor.
Definition at line 84 of file MuonTrajectoryUpdator.cc.
References theEstimator, and theUpdator.
|
inline |
accasso at the propagator
Definition at line 55 of file MuonTrajectoryUpdator.h.
Referenced by CosmicMuonTrajectoryBuilder::trajectories(), and update().
|
inline |
get the fit direction
Definition at line 62 of file MuonTrajectoryUpdator.h.
Referenced by sort().
void MuonTrajectoryUpdator::makeFirstTime | ( | ) |
reset the theFirstTSOSFlag
Definition at line 89 of file MuonTrajectoryUpdator.cc.
References theFirstTSOSFlag.
Referenced by CosmicMuonTrajectoryBuilder::build(), and StandAloneMuonFilter::reset().
|
inline |
get the max chi2 allowed
Definition at line 59 of file MuonTrajectoryUpdator.h.
|
inline |
Definition at line 56 of file MuonTrajectoryUpdator.h.
Referenced by update().
|
private |
Propagate the state to the hit surface if it's a multi hit RecHit. i.e.: if "current" is a sub-rechit of the mesurement (i.e. a 1/2D RecHit) the state will be propagated to the surface where lies the "current" rechit
Definition at line 214 of file MuonTrajectoryUpdator.cc.
References TrajectoryMeasurement::predictedState(), Propagator::propagate(), TrajectoryMeasurement::recHit(), and TrajectoryStateOnSurface::surface().
Referenced by update().
|
inline |
set fit direction
Definition at line 68 of file MuonTrajectoryUpdator.h.
Referenced by CosmicMuonTrajectoryBuilder::build(), and CosmicMuonTrajectoryBuilder::trajectories().
|
inline |
set max chi2
Definition at line 65 of file MuonTrajectoryUpdator.h.
References vertices_cff::chi2.
|
private |
Definition at line 255 of file MuonTrajectoryUpdator.cc.
References GeomDetEnumerators::CSC, GeomDetEnumerators::DT, fitDirection(), GeomDetEnumerators::GEM, insideOut, GeomDetEnumerators::ME0, outsideIn, and DetLayer::subDetector().
Referenced by update().
|
virtual |
update the Trajectory with the TrajectoryMeasurement
Definition at line 95 of file MuonTrajectoryUpdator.cc.
References MuonTransientTrackingRecHitBreaker::breakInSubRecHits(), MuonPatternRecoDumper::dumpTSOS(), MeasurementEstimator::estimate(), estimator(), TrajectoryStateOnSurface::globalDirection(), TrajectoryStateOnSurface::globalPosition(), TrajectoryStateOnSurface::isValid(), TrajectoryMeasurement::layer(), LogTrace, measurementUpdator(), metname, eostools::move(), DetId::Muon, PV3DBase< T, PVType, FrameType >::perp(), TrajectoryMeasurement::predictedState(), propagateState(), Trajectory::push(), rpcPointValidation_cfi::recHit, TrajectoryMeasurement::recHit(), TrajectoryStateOnSurface::rescaleError(), MuonSubdetId::RPC, sort(), MuonTransientTrackingRecHit::specificBuild(), AlCaHLTBitMon_QueryRunRegistry::string, theFirstTSOSFlag, theGranularity, theRescaleErrorFlag, theRescaleFactor, theRPCExFlag, TrajectoryStateUpdator::update(), updateMeasurement(), and useInvalidHits.
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), CosmicMuonTrajectoryBuilder::build(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), CosmicMuonTrajectoryBuilder::trajectories(), StandAloneMuonFilter::update(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
private |
Return the trajectory measurement. It handles both the fw and the bw propagation.
Definition at line 231 of file MuonTrajectoryUpdator.cc.
Referenced by update().
|
private |
Definition at line 140 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator(), and ~MuonTrajectoryUpdator().
|
private |
Definition at line 149 of file MuonTrajectoryUpdator.h.
Referenced by makeFirstTime(), MuonTrajectoryUpdator(), and update().
|
private |
Definition at line 146 of file MuonTrajectoryUpdator.h.
|
private |
the granularity if 0 4D-segments are used both for the DT and CSC, if 1 2D-segments are used for the DT and the 2D-points for the CSC if 2 the 1D rec hit for the DT are used, while the 2D rechit for the CSC are used Maybe in a second step there will be more than 3 option i.e. max granularity for DT but not for the CSC and the viceversa
Definition at line 94 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator(), and update().
|
private |
the max chi2 allowed
Definition at line 86 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator().
|
private |
Definition at line 150 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator(), and update().
|
private |
Definition at line 151 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator(), and update().
|
private |
Definition at line 156 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator(), and update().
|
private |
Definition at line 141 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator(), and ~MuonTrajectoryUpdator().
|
private |
Definition at line 154 of file MuonTrajectoryUpdator.h.
Referenced by MuonTrajectoryUpdator(), and update().