CMS 3D CMS Logo

TrajectoryStateCombiner.cc
Go to the documentation of this file.
3 
5 
7  auto pzSign = Tsos1.localParameters().pzSign();
10  const AlgebraicSymMatrix55& C1 = (Tsos1.localError().matrix());
11  const AlgebraicSymMatrix55& C2 = (Tsos2.localError().matrix());
12 
13  AlgebraicSymMatrix55&& Csum = C1 + C2;
14  bool ok = invertPosDefMatrix(Csum);
15  AlgebraicMatrix55&& K = C1 * Csum;
16 
17  if (!ok) {
18  if (!(C1(0, 0) == 0.0 && C2(0, 0) == 0.0)) //do not make noise about obviously bad input
19  edm::LogWarning("MatrixInversionFailure")
20  << "the inversion of the combined error matrix failed. Impossible to get a combined state."
21  << "\nmatrix 1:" << C1 << "\nmatrix 2:" << C2;
22  return TSOS();
23  }
24 
25  AlgebraicVector5&& xcomb = x1 + K * (x2 - x1);
26  //AlgebraicSymMatrix55 Ccomb; Ccomb.assign(K*C2);
27  AlgebraicSymMatrix55&& Ccomb = (AlgebraicMatrix55(K * C2)).LowerBlock();
28 
29  return TSOS(LocalTrajectoryParameters(xcomb, pzSign),
30  LocalTrajectoryError(Ccomb),
31  Tsos1.surface(),
32  &(Tsos1.globalParameters().magneticField()));
33 }
TrajectoryStateCombiner.h
MessageLogger.h
testProducerWithPsetDescEmpty_cfi.x2
x2
Definition: testProducerWithPsetDescEmpty_cfi.py:28
LocalTrajectoryError::matrix
const AlgebraicSymMatrix55 & matrix() const
Definition: LocalTrajectoryError.h:60
convertSQLiteXML.ok
bool ok
Definition: convertSQLiteXML.py:98
edm::LogWarning
Log< level::Warning, false > LogWarning
Definition: MessageLogger.h:122
LocalTrajectoryParameters
Definition: LocalTrajectoryParameters.h:25
TrajectoryStateOnSurface
Definition: TrajectoryStateOnSurface.h:16
testProducerWithPsetDescEmpty_cfi.x1
x1
Definition: testProducerWithPsetDescEmpty_cfi.py:33
AlgebraicMatrix55
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepStd< double, 5, 5 > > AlgebraicMatrix55
Definition: AlgebraicROOTObjects.h:55
LocalTrajectoryParameters::vector
AlgebraicVector5 vector() const
Definition: LocalTrajectoryParameters.h:120
TrajectoryStateOnSurface::localParameters
const LocalTrajectoryParameters & localParameters() const
Definition: TrajectoryStateOnSurface.h:73
LocalTrajectoryError
Definition: LocalTrajectoryError.h:20
LocalTrajectoryParameters::pzSign
float pzSign() const
Sign of the z-component of the momentum in the local frame.
Definition: LocalTrajectoryParameters.h:146
invertPosDefMatrix
bool invertPosDefMatrix(ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > &m)
Definition: invertPosDefMatrix.h:10
AlgebraicVector5
ROOT::Math::SVector< double, 5 > AlgebraicVector5
Definition: AlgebraicROOTObjects.h:14
TrajectoryStateCombiner::combine
TSOS combine(const TSOS &pTsos1, const TSOS &pTsos2) const
Definition: TrajectoryStateCombiner.cc:6
GlobalTrajectoryParameters::magneticField
const MagneticField & magneticField() const
Definition: GlobalTrajectoryParameters.h:106
TrajectoryStateOnSurface::surface
const SurfaceType & surface() const
Definition: TrajectoryStateOnSurface.h:78
TrajectoryStateOnSurface::globalParameters
const GlobalTrajectoryParameters & globalParameters() const
Definition: TrajectoryStateOnSurface.h:64
TrajectoryStateOnSurface::localError
const LocalTrajectoryError & localError() const
Definition: TrajectoryStateOnSurface.h:77
AlgebraicSymMatrix55
ROOT::Math::SMatrix< double, 5, 5, ROOT::Math::MatRepSym< double, 5 > > AlgebraicSymMatrix55
Definition: AlgebraicROOTObjects.h:23
invertPosDefMatrix.h
TrajectoryStateCombiner::TSOS
TrajectoryStateOnSurface TSOS
Definition: TrajectoryStateCombiner.h:15