#include <SequentialVertexFitter.h>
Public Types | |
typedef ReferenceCountingPointer< LinearizedTrackState< N > > | RefCountedLinearizedTrackState |
typedef ReferenceCountingPointer< RefittedTrackState< N > > | RefCountedRefittedTrackState |
typedef ReferenceCountingPointer< VertexTrack< N > > | RefCountedVertexTrack |
Public Member Functions | |
SequentialVertexFitter * | clone () const override |
const bool | insideTrackerBounds (const GlobalPoint &point) const |
const LinearizationPointFinder * | linearizationPointFinder () const |
const AbstractLTSFactory< N > * | linearizedTrackStateFactory () const |
const float | maxShift () const |
const int | maxStep () const |
const edm::ParameterSet | parameterSet () const |
SequentialVertexFitter (const LinearizationPointFinder &linP, const VertexUpdator< N > &updator, const VertexSmoother< N > &smoother, const AbstractLTSFactory< N > <sf) | |
SequentialVertexFitter (const edm::ParameterSet &pSet, const LinearizationPointFinder &linP, const VertexUpdator< N > &updator, const VertexSmoother< N > &smoother, const AbstractLTSFactory< N > <sf) | |
SequentialVertexFitter (const SequentialVertexFitter &original) | |
void | setMaximumDistance (float maxShift) |
void | setMaximumNumberOfIterations (int maxIterations) |
void | setTrackerBounds (float radius, float halfLength) |
CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks) const override |
CachingVertex< N > | vertex (const std::vector< RefCountedVertexTrack > &tracks) const override |
CachingVertex< N > | vertex (const std::vector< RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) const override |
CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &linPoint) const override |
CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks, const reco::BeamSpot &beamSpot) const override |
CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const override |
CachingVertex< N > | vertex (const std::vector< RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const override |
const VertexSmoother< N > * | vertexSmoother () const |
const VertexUpdator< N > * | vertexUpdator () const |
~SequentialVertexFitter () override | |
Public Member Functions inherited from VertexFitter< N > | |
virtual CachingVertex< N > | vertex (const std::vector< typename CachingVertex< N >::RefCountedVertexTrack > &tracks) const =0 |
virtual CachingVertex< N > | vertex (const std::vector< typename CachingVertex< N >::RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) const =0 |
virtual CachingVertex< N > | vertex (const std::vector< typename CachingVertex< N >::RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const =0 |
VertexFitter () | |
virtual | ~VertexFitter () |
Protected Member Functions | |
SequentialVertexFitter () | |
Private Member Functions | |
CachingVertex< N > | fit (const std::vector< RefCountedVertexTrack > &tracks, const VertexState priorVertex, bool withPrior) const |
bool | hasNan (const GlobalPoint &point) const |
std::vector< RefCountedVertexTrack > | linearizeTracks (const std::vector< reco::TransientTrack > &tracks, const VertexState state) const |
void | readParameters () |
std::vector< RefCountedVertexTrack > | reLinearizeTracks (const std::vector< RefCountedVertexTrack > &tracks, const VertexState state) const |
void | setDefaultParameters () |
Private Attributes | |
LinearizationPointFinder * | theLinP |
const AbstractLTSFactory< N > * | theLTrackFactory |
float | theMaxShift |
int | theMaxStep |
edm::ParameterSet | thePSet |
VertexSmoother< N > * | theSmoother |
VertexUpdator< N > * | theUpdator |
VertexTrackFactory< N > | theVTrackFactory |
float | trackerBoundsHalfLength {273.5} |
float | trackerBoundsRadius {112.} |
Sequential vertex fitter, where the vertex is updated one track at the time. The fitter will iterate over the set of tracks until the transverse distance between vertices computed in the previous and the current iterations is less than the specified convergence criteria, or until the maximum number of iterations is reached. The transverse distance determines the linearization error. The default convergence criterion is 1 mm. The default maximum number of steps is 10. These parameters can be configured in .orcarc ( SequentialVertexFitter:maximumDistance and SequentialVertexFitter:maximumNumberOfIterations). After the vertex fit, the tracks can be refit with the additional constraint of the vertex position.
Definition at line 34 of file SequentialVertexFitter.h.
typedef ReferenceCountingPointer<LinearizedTrackState<N> > SequentialVertexFitter< N >::RefCountedLinearizedTrackState |
Definition at line 38 of file SequentialVertexFitter.h.
typedef ReferenceCountingPointer<RefittedTrackState<N> > SequentialVertexFitter< N >::RefCountedRefittedTrackState |
Definition at line 36 of file SequentialVertexFitter.h.
typedef ReferenceCountingPointer<VertexTrack<N> > SequentialVertexFitter< N >::RefCountedVertexTrack |
Definition at line 37 of file SequentialVertexFitter.h.
SequentialVertexFitter< N >::SequentialVertexFitter | ( | const LinearizationPointFinder & | linP, |
const VertexUpdator< N > & | updator, | ||
const VertexSmoother< N > & | smoother, | ||
const AbstractLTSFactory< N > & | ltsf | ||
) |
Reimplemented constructors to use any kind of linearisation point finder, vertex updator and smoother. If no smoother is to be used, do not specify an instance for it.
Definition at line 10 of file SequentialVertexFitter.cc.
SequentialVertexFitter< N >::SequentialVertexFitter | ( | const edm::ParameterSet & | pSet, |
const LinearizationPointFinder & | linP, | ||
const VertexUpdator< N > & | updator, | ||
const VertexSmoother< N > & | smoother, | ||
const AbstractLTSFactory< N > & | ltsf | ||
) |
Same as above, using a ParameterSet to set the convergence criteria
Definition at line 22 of file SequentialVertexFitter.cc.
SequentialVertexFitter< N >::SequentialVertexFitter | ( | const SequentialVertexFitter< N > & | original | ) |
Copy constructor
Definition at line 36 of file SequentialVertexFitter.cc.
|
override |
Definition at line 47 of file SequentialVertexFitter.cc.
|
inlineprotected |
Default constructor. Is here, as we do not want anybody to use it.
Definition at line 188 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::clone().
|
inlineoverridevirtual |
Fit vertex out of a VertexSeed
Implements VertexFitter< N >.
Definition at line 163 of file SequentialVertexFitter.h.
|
private |
The methode where the vrte fit is actually done. The seed is used as the prior estimate in the vertex fit (in case its error is large, it will have little influence on the fit. The tracks will be relinearized in case further loops are needed. tracks The tracks to use in the fit. priorVertex The prior estimate of the vertex
Definition at line 210 of file SequentialVertexFitter.cc.
Referenced by trackingPlots.Iteration::modules().
|
inlineprivate |
Checks whether any of the three coordinates is a Nan
Definition at line 237 of file SequentialVertexFitter.h.
|
inline |
Method checking whether a point is within the "tracker" bounds. The default values are set to the CMS inner tracker and vertices outsides these bounds will be rejected. To reconstruct vertices within the full detector including the muon system, set the tracker bounds to larger values.
Definition at line 174 of file SequentialVertexFitter.h.
|
inline |
Method returning the fitted vertex, from a VertexSeed. For the first loop, the position of the VertexSeed will be used as linearization point. If subsequent loops are needed, the new VertexTracks will be created with the last estimate of the vertex as linearization point. In case a non-sero error is given, the position and error of the VertexSeed will be used as prior estimate in the vertex fit.
seed | The VertexSeed to fit. |
Definition at line 151 of file SequentialVertexFitter.h.
|
inline |
Definition at line 165 of file SequentialVertexFitter.h.
|
private |
Construct a container of VertexTrack from a set of RecTracks.
tracks | The container of RecTracks. |
seed | The seed to use for the VertexTracks. This position will also be used as the new linearization point. |
Definition at line 173 of file SequentialVertexFitter.cc.
|
inline |
Definition at line 157 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::setMaximumDistance().
|
inline |
Definition at line 159 of file SequentialVertexFitter.h.
|
inline |
Definition at line 161 of file SequentialVertexFitter.h.
|
private |
Reads the configurable parameters.
Definition at line 55 of file SequentialVertexFitter.cc.
Referenced by SequentialVertexFitter< 5 >::SequentialVertexFitter().
|
private |
Construct new a container of VertexTrack with a new linearization point and vertex seed, from an existing set of VertexTrack, from which only the recTracks will be used.
tracks | The original container of VertexTracks, from which the RecTracks will be extracted. |
seed | The seed to use for the VertexTracks. This position will also be used as the new linearization point. |
Definition at line 191 of file SequentialVertexFitter.cc.
|
private |
Definition at line 61 of file SequentialVertexFitter.cc.
Referenced by SequentialVertexFitter< 5 >::SequentialVertexFitter().
|
inline |
Method to set the convergence criterion (the maximum distance between the vertex computed in the previous and the current iterations to consider the fit to have converged)
Definition at line 75 of file SequentialVertexFitter.h.
Referenced by GsfVertexFitter::GsfVertexFitter().
|
inline |
Method to set the maximum number of iterations to perform
Definition at line 81 of file SequentialVertexFitter.h.
Referenced by GsfVertexFitter::GsfVertexFitter().
|
inline |
Definition at line 178 of file SequentialVertexFitter.h.
|
overridevirtual |
Method returning the fitted vertex, from a container of reco::TransientTracks. The linearization point will be searched with the given LP finder. No prior vertex position will be used in the vertex fit.
tracks | The container of RecTracks to fit. |
Implements VertexFitter< N >.
Definition at line 68 of file SequentialVertexFitter.cc.
Referenced by Tau.Tau::dxy(), GsfVertexFitter::vertex(), and KalmanVertexFitter::vertex().
|
override |
Method returning the fitted vertex, from a container of VertexTracks. For the first loop, the LinearizedTrackState contained in the VertexTracks will be used. If subsequent loops are needed, the new VertexTracks will be created with the last estimate of the vertex as linearization point. No prior vertex position will be used in the vertex fit.
tracks | The container of VertexTracks to fit. |
Definition at line 91 of file SequentialVertexFitter.cc.
Referenced by Tau.Tau::dxy().
|
override |
Same as above, only now also with BeamSpot!
Definition at line 84 of file SequentialVertexFitter.cc.
Referenced by Tau.Tau::dxy().
|
overridevirtual |
Fit vertex out of a set of RecTracks. Uses the specified linearization point.
Implements VertexFitter< N >.
Definition at line 105 of file SequentialVertexFitter.cc.
Referenced by Tau.Tau::dxy().
|
overridevirtual |
Fit vertex out of a set of TransientTracks. The specified BeamSpot will be used as priot, but NOT for the linearization. The specified LinearizationPointFinder will be used to find the linearization point.
Implements VertexFitter< N >.
Definition at line 121 of file SequentialVertexFitter.cc.
Referenced by Tau.Tau::dxy().
|
overridevirtual |
Fit vertex out of a set of RecTracks. Uses the position as both the linearization point AND as prior estimate of the vertex position. The error is used for the weight of the prior estimate.
Implements VertexFitter< N >.
Definition at line 150 of file SequentialVertexFitter.cc.
Referenced by Tau.Tau::dxy().
|
override |
Fit vertex out of a set of VertexTracks Uses the position and error for the prior estimate of the vertex. This position is not used to relinearize the tracks.
Definition at line 163 of file SequentialVertexFitter.cc.
Referenced by Tau.Tau::dxy().
|
inline |
Definition at line 155 of file SequentialVertexFitter.h.
|
inline |
Definition at line 153 of file SequentialVertexFitter.h.
|
private |
Definition at line 250 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::linearizationPointFinder().
|
private |
Definition at line 253 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::linearizedTrackStateFactory().
|
private |
Definition at line 242 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::maxShift(), and SequentialVertexFitter< 5 >::setMaximumDistance().
|
private |
Definition at line 243 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::maxStep(), and SequentialVertexFitter< 5 >::setMaximumNumberOfIterations().
|
private |
Definition at line 249 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::parameterSet().
|
private |
Definition at line 252 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::vertexSmoother().
|
private |
Definition at line 251 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::vertexUpdator().
|
private |
Definition at line 255 of file SequentialVertexFitter.h.
|
private |
Definition at line 247 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::insideTrackerBounds(), and SequentialVertexFitter< 5 >::setTrackerBounds().
|
private |
Definition at line 246 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::insideTrackerBounds(), and SequentialVertexFitter< 5 >::setTrackerBounds().