CMS 3D CMS Logo

KalmanVertexUpdator.h
Go to the documentation of this file.
1 #ifndef KalmanVertexUpdator_H
2 #define KalmanVertexUpdator_H
3 
6 
12 template <unsigned int N>
14 public:
17 
23  CachingVertex<N> add(const CachingVertex<N>& oldVertex, const RefCountedVertexTrack track) const override;
24 
30  CachingVertex<N> remove(const CachingVertex<N>& oldVertex, const RefCountedVertexTrack track) const override;
31 
36  VertexUpdator<N>* clone() const override { return new KalmanVertexUpdator(*this); }
37 
42  CachingVertex<N> update(const CachingVertex<N>& oldVertex,
44  float weight,
45  int sign) const;
46 
47  VertexState positionUpdate(const VertexState& oldVertex,
48  const RefCountedLinearizedTrackState linearizedTrack,
49  const float weight,
50  int sign) const;
51 
52  std::pair<bool, double> chi2Increment(const VertexState& oldVertex,
53  const VertexState& newVertexState,
54  const RefCountedLinearizedTrackState linearizedTrack,
55  float weight) const;
56 
57 private:
58  typedef ROOT::Math::SVector<double, N> AlgebraicVectorN;
59  typedef ROOT::Math::SVector<double, N - 2> AlgebraicVectorM;
60  typedef ROOT::Math::SMatrix<double, N, 3, ROOT::Math::MatRepStd<double, N, 3> > AlgebraicMatrixN3;
61  typedef ROOT::Math::SMatrix<double, N, N - 2, ROOT::Math::MatRepStd<double, N, N - 2> > AlgebraicMatrixNM;
62  typedef ROOT::Math::SMatrix<double, N - 2, 3, ROOT::Math::MatRepStd<double, N - 2, 3> > AlgebraicMatrixM3;
63  typedef ROOT::Math::SMatrix<double, N, N, ROOT::Math::MatRepSym<double, N> > AlgebraicSymMatrixNN;
64  typedef ROOT::Math::SMatrix<double, N + 1, N + 1, ROOT::Math::MatRepSym<double, N + 1> > AlgebraicSymMatrixOO;
65  typedef ROOT::Math::SMatrix<double, N + 1, N + 1, ROOT::Math::MatRepStd<double, N + 1, N + 1> > AlgebraicMatrixOO;
66  typedef ROOT::Math::SMatrix<double, N - 2, N - 2, ROOT::Math::MatRepSym<double, N - 2> > AlgebraicSymMatrixMM;
67 
69 };
70 
71 #endif
KalmanVertexUpdator::clone
VertexUpdator< N > * clone() const override
Definition: KalmanVertexUpdator.h:36
KalmanVertexUpdator::remove
CachingVertex< N > remove(const CachingVertex< N > &oldVertex, const RefCountedVertexTrack track) const override
Definition: KalmanVertexUpdator.cc:63
KalmanVertexUpdator::AlgebraicSymMatrixOO
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepSym< double, N+1 > > AlgebraicSymMatrixOO
Definition: KalmanVertexUpdator.h:64
KalmanVertexUpdator
Definition: KalmanVertexUpdator.h:13
VertexUpdator
Definition: VertexUpdator.h:12
KalmanVertexUpdator::update
CachingVertex< N > update(const CachingVertex< N > &oldVertex, const RefCountedVertexTrack track, float weight, int sign) const
Definition: KalmanVertexUpdator.cc:13
CachingVertex
Definition: CachingVertex.h:22
KalmanVertexUpdator::helper
KVFHelper< N > helper
Definition: KalmanVertexUpdator.h:68
KalmanVertexUpdator::RefCountedVertexTrack
CachingVertex< N >::RefCountedVertexTrack RefCountedVertexTrack
Definition: KalmanVertexUpdator.h:15
Validation_hcalonly_cfi.sign
sign
Definition: Validation_hcalonly_cfi.py:32
KalmanVertexUpdator::AlgebraicVectorN
ROOT::Math::SVector< double, N > AlgebraicVectorN
Definition: KalmanVertexUpdator.h:58
ReferenceCountingPointer
Definition: ReferenceCounted.h:60
KalmanVertexUpdator::AlgebraicSymMatrixMM
ROOT::Math::SMatrix< double, N - 2, N - 2, ROOT::Math::MatRepSym< double, N - 2 > > AlgebraicSymMatrixMM
Definition: KalmanVertexUpdator.h:66
KalmanVertexUpdator::AlgebraicMatrixNM
ROOT::Math::SMatrix< double, N, N - 2, ROOT::Math::MatRepStd< double, N, N - 2 > > AlgebraicMatrixNM
Definition: KalmanVertexUpdator.h:61
KalmanVertexUpdator::AlgebraicMatrixM3
ROOT::Math::SMatrix< double, N - 2, 3, ROOT::Math::MatRepStd< double, N - 2, 3 > > AlgebraicMatrixM3
Definition: KalmanVertexUpdator.h:62
KalmanVertexUpdator::RefCountedLinearizedTrackState
VertexTrack< N >::RefCountedLinearizedTrackState RefCountedLinearizedTrackState
Definition: KalmanVertexUpdator.h:16
KalmanVertexUpdator::add
CachingVertex< N > add(const CachingVertex< N > &oldVertex, const RefCountedVertexTrack track) const override
Definition: KalmanVertexUpdator.cc:56
KVFHelper
Definition: KVFHelper.h:11
N
#define N
Definition: blowfish.cc:9
KalmanVertexUpdator::chi2Increment
std::pair< bool, double > chi2Increment(const VertexState &oldVertex, const VertexState &newVertexState, const RefCountedLinearizedTrackState linearizedTrack, float weight) const
Definition: KalmanVertexUpdator.cc:129
KVFHelper.h
KalmanVertexUpdator::AlgebraicMatrixN3
ROOT::Math::SMatrix< double, N, 3, ROOT::Math::MatRepStd< double, N, 3 > > AlgebraicMatrixN3
Definition: KalmanVertexUpdator.h:60
KalmanVertexUpdator::AlgebraicVectorM
ROOT::Math::SVector< double, N - 2 > AlgebraicVectorM
Definition: KalmanVertexUpdator.h:59
KalmanVertexUpdator::positionUpdate
VertexState positionUpdate(const VertexState &oldVertex, const RefCountedLinearizedTrackState linearizedTrack, const float weight, int sign) const
Definition: KalmanVertexUpdator.cc:70
KalmanVertexUpdator::AlgebraicMatrixOO
ROOT::Math::SMatrix< double, N+1, N+1, ROOT::Math::MatRepStd< double, N+1, N+1 > > AlgebraicMatrixOO
Definition: KalmanVertexUpdator.h:65
KalmanVertexUpdator::AlgebraicSymMatrixNN
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
Definition: KalmanVertexUpdator.h:63
VertexUpdator.h
VertexState
Definition: VertexState.h:13
HLT_2018_cff.track
track
Definition: HLT_2018_cff.py:10352
weight
Definition: weight.py:1