#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 |
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) |
virtual CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks) const |
virtual CachingVertex< N > | vertex (const std::vector< RefCountedVertexTrack > &tracks) const |
virtual CachingVertex< N > | vertex (const std::vector< RefCountedVertexTrack > &tracks, const reco::BeamSpot &spot) const |
virtual CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &linPoint) const |
virtual CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks, const reco::BeamSpot &beamSpot) const |
virtual CachingVertex< N > | vertex (const std::vector< reco::TransientTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const |
virtual CachingVertex< N > | vertex (const std::vector< RefCountedVertexTrack > &tracks, const GlobalPoint &priorPos, const GlobalError &priorError) const |
const VertexSmoother< N > * | vertexSmoother () const |
const VertexUpdator< N > * | vertexUpdator () const |
virtual | ~SequentialVertexFitter () |
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 |
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 35 of file SequentialVertexFitter.h.
typedef ReferenceCountingPointer<LinearizedTrackState<N> > SequentialVertexFitter< N >::RefCountedLinearizedTrackState |
Definition at line 41 of file SequentialVertexFitter.h.
typedef ReferenceCountingPointer<RefittedTrackState<N> > SequentialVertexFitter< N >::RefCountedRefittedTrackState |
Definition at line 39 of file SequentialVertexFitter.h.
typedef ReferenceCountingPointer<VertexTrack<N> > SequentialVertexFitter< N >::RefCountedVertexTrack |
Definition at line 40 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 23 of file SequentialVertexFitter.cc.
References SequentialVertexFitter< N >::setDefaultParameters().
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 34 of file SequentialVertexFitter.cc.
References SequentialVertexFitter< N >::readParameters().
SequentialVertexFitter< N >::SequentialVertexFitter | ( | const SequentialVertexFitter< N > & | original | ) |
Copy constructor
Definition at line 46 of file SequentialVertexFitter.cc.
References LinearizationPointFinder::clone(), SequentialVertexFitter< N >::linearizationPointFinder(), SequentialVertexFitter< N >::linearizedTrackStateFactory(), SequentialVertexFitter< N >::maxShift(), SequentialVertexFitter< N >::maxStep(), SequentialVertexFitter< N >::parameterSet(), SequentialVertexFitter< N >::vertexSmoother(), and SequentialVertexFitter< N >::vertexUpdator().
|
virtual |
Definition at line 60 of file SequentialVertexFitter.cc.
|
inlineprotected |
Default constructor. Is here, as we do not want anybody to use it.
Definition at line 193 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::clone().
|
inlinevirtual |
Fit vertex out of a VertexSeed
Implements VertexFitter< N >.
Definition at line 180 of file SequentialVertexFitter.h.
Referenced by GsfVertexFitter::GsfVertexFitter().
|
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 258 of file SequentialVertexFitter.cc.
References error, VertexState::error(), i, CachingVertex< N >::isValid(), LogDebug, VertexState::position(), CachingVertex< N >::position(), relval_parameters_module::step, testEve_cfg::tracks, transverse(), and CachingVertex< N >::vertexState().
|
inlineprivate |
Checks whether any of the three coordinates is a Nan
Definition at line 244 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 162 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< N >::SequentialVertexFitter().
|
inline |
Definition at line 184 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< N >::SequentialVertexFitter().
|
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 207 of file SequentialVertexFitter.cc.
References i, and VertexState::position().
|
inline |
Definition at line 171 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< N >::SequentialVertexFitter(), and SequentialVertexFitter< 5 >::setMaximumDistance().
|
inline |
Definition at line 174 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< N >::SequentialVertexFitter().
|
inline |
Definition at line 177 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< N >::SequentialVertexFitter().
|
private |
Reads the configurable parameters.
Definition at line 70 of file SequentialVertexFitter.cc.
Referenced by SequentialVertexFitter< N >::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 231 of file SequentialVertexFitter.cc.
References i, VertexState::position(), and VertexState::weight().
|
private |
Definition at line 77 of file SequentialVertexFitter.cc.
Referenced by SequentialVertexFitter< N >::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 79 of file SequentialVertexFitter.h.
|
inline |
Method to set the maximum number of iterations to perform
Definition at line 86 of file SequentialVertexFitter.h.
|
virtual |
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 86 of file SequentialVertexFitter.cc.
References error, and evf::utils::state.
Referenced by GsfVertexFitter::vertex(), and KalmanVertexFitter::vertex().
|
virtual |
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 112 of file SequentialVertexFitter.cc.
References error, and evf::utils::state.
|
virtual |
Same as above, only now also with BeamSpot!
Definition at line 102 of file SequentialVertexFitter.cc.
References evf::utils::state.
|
virtual |
Fit vertex out of a set of RecTracks. Uses the specified linearization point.
Implements VertexFitter< N >.
Definition at line 129 of file SequentialVertexFitter.cc.
References error, and evf::utils::state.
|
virtual |
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 148 of file SequentialVertexFitter.cc.
References error.
|
virtual |
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 178 of file SequentialVertexFitter.cc.
References evf::utils::state.
|
virtual |
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 193 of file SequentialVertexFitter.cc.
References evf::utils::state.
|
inline |
Definition at line 168 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< N >::SequentialVertexFitter().
|
inline |
Definition at line 165 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< N >::SequentialVertexFitter().
|
private |
Definition at line 254 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::linearizationPointFinder().
|
private |
Definition at line 257 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::linearizedTrackStateFactory().
|
private |
Definition at line 250 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::maxShift(), and SequentialVertexFitter< 5 >::setMaximumDistance().
|
private |
Definition at line 251 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::maxStep(), and SequentialVertexFitter< 5 >::setMaximumNumberOfIterations().
|
private |
Definition at line 253 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::parameterSet().
|
private |
Definition at line 256 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::vertexSmoother().
|
private |
Definition at line 255 of file SequentialVertexFitter.h.
Referenced by SequentialVertexFitter< 5 >::vertexUpdator().
|
private |
Definition at line 259 of file SequentialVertexFitter.h.