#include <GsfVertexSmoother.h>
Public Member Functions | |
VertexSmoother< 5 > * | clone () const override |
GsfVertexSmoother (bool limit, const GsfVertexMerger *merger) | |
CachingVertex< 5 > | smooth (const CachingVertex< 5 > &vertex) const override |
const VertexUpdator< 5 > * | vertexUpdator () const |
~GsfVertexSmoother () override | |
Public Member Functions inherited from VertexSmoother< 5 > | |
virtual CachingVertex< N > | smooth (const CachingVertex< N > &vertex) const =0 |
VertexSmoother () | |
virtual | ~VertexSmoother () |
Private Types | |
typedef VertexTrack < 5 >::AlgebraicMatrix3M | AlgebraicMatrix3M |
typedef VertexTrack < 5 >::AlgebraicSymMatrixOO | AlgebraicSymMatrixOO |
typedef std::vector < RefCountedLinearizedTrackState > | LTC |
typedef VertexTrack < 5 >::RefCountedLinearizedTrackState | RefCountedLinearizedTrackState |
typedef VertexTrack < 5 >::RefCountedRefittedTrackState | RefCountedRefittedTrackState |
typedef CachingVertex < 5 >::RefCountedVertexTrack | RefCountedVertexTrack |
typedef std::pair < TrackWeightPair, VtxTrkChi2Pair > | RefittedTrackComponent |
typedef std::pair < RefCountedRefittedTrackState, VtxTrkChi2Pair > | TrackChi2Pair |
typedef std::pair < RefCountedRefittedTrackState, double > | TrackWeightPair |
typedef std::vector< VertexState > | VSC |
typedef std::pair< double, double > | VtxTrkChi2Pair |
Private Member Functions | |
TrackChi2Pair | assembleTrackComponents (const std::vector< RefittedTrackComponent > &trackComponents, const GlobalPoint &referencePosition) const |
RefittedTrackComponent | createNewComponent (const VertexState &oldVertex, const RefCountedLinearizedTrackState linTrack, float weight) const |
VertexState | meanVertex (const VertexState &vertexA, const VertexState &vertexB) const |
double | priorVertexChi2 (const VertexState priorVertex, const VertexState fittedVertex) const |
TrackChi2Pair | vertexAndTrackUpdate (const VertexState &oldVertex, const RefCountedVertexTrack track, const GlobalPoint &referencePosition) const |
The class which handles the track-refit and smoothed chi**2 calculations for the Gaussian Sum vertex fit. The track-to-track covariance matrix calculation is not yet done.
Definition at line 21 of file GsfVertexSmoother.h.
|
private |
Definition at line 57 of file GsfVertexSmoother.h.
|
private |
Definition at line 58 of file GsfVertexSmoother.h.
|
private |
Definition at line 61 of file GsfVertexSmoother.h.
|
private |
Definition at line 55 of file GsfVertexSmoother.h.
|
private |
Definition at line 56 of file GsfVertexSmoother.h.
|
private |
Definition at line 54 of file GsfVertexSmoother.h.
|
private |
Definition at line 65 of file GsfVertexSmoother.h.
|
private |
Definition at line 64 of file GsfVertexSmoother.h.
|
private |
Definition at line 63 of file GsfVertexSmoother.h.
|
private |
Definition at line 60 of file GsfVertexSmoother.h.
|
private |
Definition at line 62 of file GsfVertexSmoother.h.
GsfVertexSmoother::GsfVertexSmoother | ( | bool | limit, |
const GsfVertexMerger * | merger | ||
) |
The constructor
limit | Specifies whether the number of components of the vertex should be limited |
Definition at line 6 of file GsfVertexSmoother.cc.
References GsfVertexMerger::clone(), limitComponents, and theMerger.
Referenced by clone().
|
inlineoverride |
Definition at line 31 of file GsfVertexSmoother.h.
|
private |
This method assembles all the components of the refitted track into one refitted track state, normalizing the components. Also, it adds the chi2 track-components increments.
Definition at line 124 of file GsfVertexSmoother.cc.
Referenced by vertexAndTrackUpdate().
|
inlineoverridevirtual |
Clone method
Implements VertexSmoother< 5 >.
Definition at line 51 of file GsfVertexSmoother.h.
References GsfVertexSmoother().
|
private |
This method does the smoothing of one track component with one vertex component. And the track-component-chi2 increment and weight of new component in mixture.
Definition at line 164 of file GsfVertexSmoother.cc.
References GsfVertexWeightCalculator::calculate(), helper, kalmanVertexUpdator, KalmanVertexUpdator< N >::positionUpdate(), jetcorrextractor::sign(), theVertexTrackUpdator, theWeightCalculator, KVFHelper< N >::trackParameterChi2(), KalmanVertexTrackUpdator< N >::trackRefit(), and KVFHelper< N >::vertexChi2().
Referenced by vertexAndTrackUpdate().
|
private |
Definition at line 185 of file GsfVertexSmoother.cc.
References VertexState::components().
Referenced by smooth().
|
private |
Methode which calculates the chi**2 between the prior and the fitted vertex. This method takes into account multiple states.
priorVertex | The prior vertex state |
fittedVertex | The fitted vertex state |
Definition at line 206 of file GsfVertexSmoother.cc.
References VertexState::components(), helper, and KVFHelper< N >::vertexChi2().
Referenced by smooth().
|
override |
Methode which will refit the tracks with the vertex constraint and calculate the smoothed vertex chi**2
vertex | is the final estimate of the vertex, as given by the last update. |
Definition at line 11 of file GsfVertexSmoother.cc.
References GsfVertexUpdator::add(), CachingVertex< N >::hasPrior(), mps_fire::i, limitComponents, meanVertex(), GsfVertexMerger::merge(), CachingVertex< N >::position(), priorVertexChi2(), CachingVertex< N >::priorVertexState(), theMerger, theUpdator, theVTFactory, tracks, CachingVertex< N >::tracks(), vertexAndTrackUpdate(), CachingVertex< N >::vertexState(), and VertexTrackFactory< N >::vertexTrack().
|
private |
Definition at line 91 of file GsfVertexSmoother.cc.
References assembleTrackComponents(), VertexState::components(), createNewComponent(), and trackWeight().
Referenced by smooth().
|
inline |
|
private |
Definition at line 97 of file GsfVertexSmoother.h.
Referenced by createNewComponent(), and priorVertexChi2().
|
private |
Definition at line 92 of file GsfVertexSmoother.h.
Referenced by createNewComponent().
|
private |
Definition at line 89 of file GsfVertexSmoother.h.
Referenced by GsfVertexSmoother(), and smooth().
|
private |
Definition at line 93 of file GsfVertexSmoother.h.
|
private |
Definition at line 90 of file GsfVertexSmoother.h.
Referenced by GsfVertexSmoother(), and smooth().
|
private |
Definition at line 91 of file GsfVertexSmoother.h.
Referenced by smooth(), and vertexUpdator().
|
private |
Definition at line 94 of file GsfVertexSmoother.h.
Referenced by createNewComponent().
|
private |
Definition at line 96 of file GsfVertexSmoother.h.
Referenced by smooth().
|
private |
Definition at line 95 of file GsfVertexSmoother.h.
Referenced by createNewComponent().