#include <MuonUpdatorAtVertex.h>
Public Member Functions | |
MuonUpdatorAtVertex (const edm::ParameterSet &pset, const MuonServiceProxy *service) | |
Constructor. More... | |
std::pair< bool, FreeTrajectoryState > | propagate (const TrajectoryStateOnSurface &tsos, const reco::BeamSpot &beamSpot) const |
Propagate the state to the 2D-PCA. More... | |
std::pair< bool, FreeTrajectoryState > | propagate (const TrajectoryStateOnSurface &tsos) const __attribute__((deprecated)) |
Propagate the state to the 2D-PCA (nominal CMS axis) - DEPRECATED -. More... | |
std::pair< bool, FreeTrajectoryState > | propagateToNominalLine (const TrajectoryStateOnSurface &tsos) const |
Propagate the state to the 2D-PCA (nominal CMS axis) More... | |
std::pair< bool, FreeTrajectoryState > | propagateWithUpdate (const TrajectoryStateOnSurface &tsos, const reco::BeamSpot &beamSpot) const |
Propagate to the 2D-PCA and apply the vertex constraint. More... | |
std::pair< bool, FreeTrajectoryState > | update (const reco::TransientTrack &track, const reco::BeamSpot &beamSpot) const |
Applies the vertex constraint. More... | |
std::pair< bool, FreeTrajectoryState > | update (const FreeTrajectoryState &ftsAtVtx, const reco::BeamSpot &beamSpot) const |
Applies the vertex constraint. More... | |
virtual | ~MuonUpdatorAtVertex () |
Destructor. More... | |
Private Attributes | |
double | theChi2Cut |
SingleTrackVertexConstraint | theConstrictor |
GlobalError | thePositionErrors |
std::string | thePropagatorName |
const MuonServiceProxy * | theService |
TransientTrackFromFTSFactory | theTransientTrackFactory |
This class do the extrapolation of a TrajectoryStateOnSurface to the PCA and can apply, with a different method, the vertex constraint. The vertex constraint is applyed using the Kalman Filter tools used for the vertex reconstruction.
For the time being the propagator is the SteppingHelixPropagator because the method propagate(TSOS,GlobalPoint) it is in its specific interface. Once the interface of the Propagator base class will be updated, then propagator will become generic.
For what concern the beam spot, it is possible set via cff the relevant parameters:
BeamSpotPosition[0] <=> x BeamSpotPosition[1] <=> y BeamSpotPosition[2] <=> z
BeamSpotPositionErrors[0] = sigma(x) BeamSpotPositionErrors[1] = sigma(y) BeamSpotPositionErrors[2] = sigma(z)
This class do the extrapolation of a TrajectoryStateOnSurface to the PCA and can apply, with a different method, the vertex constraint. The vertex constraint is applyed using the Kalman Filter tools used for the vertex reconstruction.
Definition at line 39 of file MuonUpdatorAtVertex.h.
MuonUpdatorAtVertex::MuonUpdatorAtVertex | ( | const edm::ParameterSet & | pset, |
const MuonServiceProxy * | service | ||
) |
Constructor.
Definition at line 28 of file MuonUpdatorAtVertex.cc.
References benchmark_cfg::errors, edm::ParameterSet::getParameter(), theChi2Cut, thePositionErrors, and thePropagatorName.
|
virtual |
pair< bool, FreeTrajectoryState > MuonUpdatorAtVertex::propagate | ( | const TrajectoryStateOnSurface & | tsos, |
const reco::BeamSpot & | beamSpot | ||
) | const |
Propagate the state to the 2D-PCA.
Propagate the state to the PCA in 2D, i.e. to the beam line.
Definition at line 64 of file MuonUpdatorAtVertex.cc.
References SiPixelRawToDigiRegional_cfi::beamSpot, TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalPosition(), FreeTrajectoryState::hasError(), TrackerBounds::isInside(), TrajectoryStateClosestToBeamLine::isValid(), LogTrace, metname, FreeTrajectoryState::parameters(), query::result, thePropagatorName, theService, and TrajectoryStateClosestToBeamLine::trackStateAtPCA().
Referenced by MuonTrackLoader::buildTrackAtPCA(), AlignmentMonitorTracksFromTrajectories::event(), and propagateWithUpdate().
std::pair< bool, FreeTrajectoryState > MuonUpdatorAtVertex::propagate | ( | const TrajectoryStateOnSurface & | tsos | ) | const |
Propagate the state to the 2D-PCA (nominal CMS axis) - DEPRECATED -.
Definition at line 202 of file MuonUpdatorAtVertex.cc.
References propagateToNominalLine().
std::pair< bool, FreeTrajectoryState > MuonUpdatorAtVertex::propagateToNominalLine | ( | const TrajectoryStateOnSurface & | tsos | ) | const |
Propagate the state to the 2D-PCA (nominal CMS axis)
Definition at line 163 of file MuonUpdatorAtVertex.cc.
References TrajectoryStateOnSurface::freeState(), TrajectoryStateOnSurface::globalPosition(), TrackerBounds::isInside(), TrajectoryStateClosestToPoint::isValid(), LogTrace, metname, p1, p2, query::result, thePropagatorName, theService, and TrajectoryStateClosestToPoint::theState().
Referenced by propagate().
pair< bool, FreeTrajectoryState > MuonUpdatorAtVertex::propagateWithUpdate | ( | const TrajectoryStateOnSurface & | tsos, |
const reco::BeamSpot & | beamSpot | ||
) | const |
Propagate to the 2D-PCA and apply the vertex constraint.
Definition at line 147 of file MuonUpdatorAtVertex.cc.
References propagate(), and update().
Referenced by AlignmentMonitorTracksFromTrajectories::event().
pair< bool, FreeTrajectoryState > MuonUpdatorAtVertex::update | ( | const reco::TransientTrack & | track, |
const reco::BeamSpot & | beamSpot | ||
) | const |
Applies the vertex constraint.
Definition at line 100 of file MuonUpdatorAtVertex.cc.
References SingleTrackVertexConstraint::constrain(), alignCSCRings::e, cms::Exception::explainSelf(), LogTrace, metname, query::result, AlCaHLTBitMon_QueryRunRegistry::string, theChi2Cut, theConstrictor, thePositionErrors, reco::BeamSpot::x0(), reco::BeamSpot::y0(), and reco::BeamSpot::z0().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), MuonTrackLoader::buildTrackUpdatedAtPCA(), 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(), propagateWithUpdate(), 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(), update(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
pair< bool, FreeTrajectoryState > MuonUpdatorAtVertex::update | ( | const FreeTrajectoryState & | ftsAtVtx, |
const reco::BeamSpot & | beamSpot | ||
) | const |
Applies the vertex constraint.
Definition at line 140 of file MuonUpdatorAtVertex.cc.
References SiPixelRawToDigiRegional_cfi::beamSpot, TransientTrackFromFTSFactory::build(), theTransientTrackFactory, and update().
Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), 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(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().
|
private |
Definition at line 85 of file MuonUpdatorAtVertex.h.
Referenced by MuonUpdatorAtVertex(), and update().
|
private |
Definition at line 84 of file MuonUpdatorAtVertex.h.
Referenced by update().
|
private |
Definition at line 87 of file MuonUpdatorAtVertex.h.
Referenced by MuonUpdatorAtVertex(), and update().
|
private |
Definition at line 81 of file MuonUpdatorAtVertex.h.
Referenced by MuonUpdatorAtVertex(), propagate(), and propagateToNominalLine().
|
private |
Definition at line 80 of file MuonUpdatorAtVertex.h.
Referenced by propagate(), and propagateToNominalLine().
|
private |
Definition at line 83 of file MuonUpdatorAtVertex.h.
Referenced by update().