CMS 3D CMS Logo

KFStrip1DUpdator.cc
Go to the documentation of this file.
3 
5  double pzSign = aTsos.localParameters().pzSign();
6 
7  Strip1DMeasurementTransformator myTrafo(aTsos, aHit);
8 
9  double m = myTrafo.hitParameters();
11  double px = myTrafo.projectedTrajectoryParameters();
12 
14  double V = myTrafo.hitError();
15  const AlgebraicSymMatrix55& C(myTrafo.trajectoryError());
16  double pC = myTrafo.projectedTrajectoryError();
17 
18  double R = 1. / (V + pC);
19 
20  // Compute Kalman gain matrix
21  AlgebraicMatrix51 K(R * (C * ROOT::Math::Transpose(H)));
22 
23  // Compute local filtered state vector
24  AlgebraicVector5 fsv = x + K.Col(0) * (m - px);
25 
26  // Compute covariance matrix of local filtered state vector
28  AlgebraicMatrix55 M = I - K * H;
29  AlgebraicSymMatrix55 fse = ROOT::Math::Similarity(M, C) + ROOT::Math::Similarity(K, AlgebraicSymMatrix11(V));
30  // AlgebraicMatrix M((I - K * H)*C); // already commented when CLHEP was in use
31  // AlgebraicSymMatrix fse(5,0); fse.assign(M); // already commented when CLHEP was in use
32 
33  return TSOS(
34  LTP(fsv, pzSign), LTE(fse), aTsos.surface(), &(aTsos.globalParameters().magneticField()), aTsos.surfaceSide());
35 }
float pzSign() const
Sign of the z-component of the momentum in the local frame.
LocalTrajectoryError LTE
TrajectoryStateOnSurface TSOS
SurfaceSide surfaceSide() const
Position relative to material, defined relative to momentum vector.
ROOT::Math::SMatrix< double, 5, 1, ROOT::Math::MatRepStd< double, 5, 1 > > AlgebraicMatrix51
ROOT::Math::SMatrixIdentity AlgebraicMatrixID
const GlobalTrajectoryParameters & globalParameters() const
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55
const LocalTrajectoryParameters & localParameters() const
const SurfaceType & surface() const
LocalTrajectoryParameters LTP
TSOS update(const TSOS &aTsos, const TrackingRecHit &aHit) const override
uint32_t T const *__restrict__ uint32_t const *__restrict__ int32_t int Histo::index_type cudaStream_t V
ROOT::Math::SVector< double, 5 > AlgebraicVector5
const std::complex< double > I
Definition: I.h:8
ROOT::Math::SMatrix< double, 1, 5, ROOT::Math::MatRepStd< double, 1, 5 > > AlgebraicMatrix15
ROOT::Math::SMatrix< double, 1, 1, ROOT::Math::MatRepSym< double, 1 > > AlgebraicSymMatrix11
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
const MagneticField & magneticField() const