CMS 3D CMS Logo

GsfVertexSmoother.h
Go to the documentation of this file.
1 #ifndef _GsfVertexSmoother_H_
2 #define _GsfVertexSmoother_H_
3 
14 
21 class GsfVertexSmoother : public VertexSmoother<5> {
22 public:
29  GsfVertexSmoother(bool limit, const GsfVertexMerger* merger);
30 
31  ~GsfVertexSmoother() override {}
32 
40  CachingVertex<5> smooth(const CachingVertex<5>& vertex) const override;
41 
46  const VertexUpdator<5>* vertexUpdator() const { return &theUpdator; }
47 
51  VertexSmoother<5>* clone() const override { return new GsfVertexSmoother(*this); }
52 
53 private:
59 
60  typedef std::vector<VertexState> VSC;
61  typedef std::vector<RefCountedLinearizedTrackState> LTC;
62  typedef std::pair<double, double> VtxTrkChi2Pair;
63  typedef std::pair<RefCountedRefittedTrackState, double> TrackWeightPair;
64  typedef std::pair<RefCountedRefittedTrackState, VtxTrkChi2Pair> TrackChi2Pair;
65  typedef std::pair<TrackWeightPair, VtxTrkChi2Pair> RefittedTrackComponent;
66 
67  VertexState meanVertex(const VertexState& vertexA, const VertexState& vertexB) const;
68 
69  TrackChi2Pair vertexAndTrackUpdate(const VertexState& oldVertex,
70  const RefCountedVertexTrack track,
71  const GlobalPoint& referencePosition) const;
72 
73  RefittedTrackComponent createNewComponent(const VertexState& oldVertex,
74  const RefCountedLinearizedTrackState linTrack,
75  float weight) const;
76 
77  TrackChi2Pair assembleTrackComponents(const std::vector<RefittedTrackComponent>& trackComponents,
78  const GlobalPoint& referencePosition) const;
79 
87  double priorVertexChi2(const VertexState priorVertex, const VertexState fittedVertex) const;
88 
98 };
99 
100 #endif
VertexTrackFactory< 5 > theVTFactory
VertexTrack< 5 >::RefCountedRefittedTrackState RefCountedRefittedTrackState
std::vector< RefCountedLinearizedTrackState > LTC
VertexSmoother< 5 > * clone() const override
const VertexUpdator< 5 > * vertexUpdator() const
TrackChi2Pair vertexAndTrackUpdate(const VertexState &oldVertex, const RefCountedVertexTrack track, const GlobalPoint &referencePosition) const
CachingVertex< 5 >::RefCountedVertexTrack RefCountedVertexTrack
GsfVertexSmoother(bool limit, const GsfVertexMerger *merger)
std::pair< double, double > VtxTrkChi2Pair
KVFHelper< 5 > helper
TrackChi2Pair assembleTrackComponents(const std::vector< RefittedTrackComponent > &trackComponents, const GlobalPoint &referencePosition) const
~GsfVertexSmoother() override
std::pair< RefCountedRefittedTrackState, double > TrackWeightPair
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
Definition: VertexTrack.h:23
Definition: weight.py:1
GsfVertexUpdator theUpdator
GsfVertexWeightCalculator theWeightCalculator
KalmanVertexUpdator< 5 > kalmanVertexUpdator
std::pair< RefCountedRefittedTrackState, VtxTrkChi2Pair > TrackChi2Pair
VertexTrack< 5 >::AlgebraicMatrix3M AlgebraicMatrix3M
KalmanVertexTrackUpdator< 5 > theVertexTrackUpdator
VertexState meanVertex(const VertexState &vertexA, const VertexState &vertexB) const
std::vector< VertexState > VSC
RefittedTrackComponent createNewComponent(const VertexState &oldVertex, const RefCountedLinearizedTrackState linTrack, float weight) const
VertexTrack< 5 >::RefCountedLinearizedTrackState RefCountedLinearizedTrackState
std::pair< TrackWeightPair, VtxTrkChi2Pair > RefittedTrackComponent
CachingVertex< 5 > smooth(const CachingVertex< 5 > &vertex) const override
KalmanSmoothedVertexChi2Estimator< 5 > smoothedChi2Estimator
DeepCopyPointerByClone< GsfVertexMerger > theMerger
double priorVertexChi2(const VertexState priorVertex, const VertexState fittedVertex) const
ROOT::Math::SMatrix< double, 3, N-2, ROOT::Math::MatRepStd< double, 3, N-2 > > AlgebraicMatrix3M
Definition: VertexTrack.h:22
VertexTrack< 5 >::AlgebraicSymMatrixOO AlgebraicSymMatrixOO