CMS 3D CMS Logo

Functions
GsfMatrixTools Namespace Reference

Functions

template<typename T , unsigned int N>
T trace (ROOT::Math::SMatrix< T, N, N > const &matrix)
 
template<typename T , unsigned int N>
T trace (ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > const &a, ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > const &b)
 

Function Documentation

◆ trace() [1/2]

template<typename T , unsigned int N>
T GsfMatrixTools::trace ( ROOT::Math::SMatrix< T, N, N > const &  matrix)

Definition at line 18 of file GsfMatrixTools.h.

18  {
19  T result = 0;
20  for (unsigned int i = 0; i < N; ++i)
21  result += matrix(i, i);
22  return result;
23  }

References mps_fire::i, makeMuonMisalignmentScenario::matrix, N, and mps_fire::result.

◆ trace() [2/2]

template<typename T , unsigned int N>
T GsfMatrixTools::trace ( ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > const &  a,
ROOT::Math::SMatrix< T, N, N, ROOT::Math::MatRepSym< T, N > > const &  b 
)

Definition at line 29 of file GsfMatrixTools.h.

30  {
31  auto i1 = a.begin();
32  auto e1 = a.end();
33  auto i2 = b.begin();
34 
35  T res = 0;
36  // sum of the lower triangle;
37  for (; i1 != e1; i1++, i2++)
38  res += (*i1) * (*i2);
39  res *= T(2.);
40  // remove the duplicated diagonal...
41  for (unsigned int i = 0; i < N; ++i)
42  res -= a(i, i) * b(i, i);
43  return res;
44  }

References a, b, StorageManager_cfg::e1, mps_fire::i, testProducerWithPsetDescEmpty_cfi::i1, testProducerWithPsetDescEmpty_cfi::i2, and N.

testProducerWithPsetDescEmpty_cfi.i2
i2
Definition: testProducerWithPsetDescEmpty_cfi.py:46
mps_fire.i
i
Definition: mps_fire.py:428
makeMuonMisalignmentScenario.matrix
list matrix
Definition: makeMuonMisalignmentScenario.py:141
testProducerWithPsetDescEmpty_cfi.i1
i1
Definition: testProducerWithPsetDescEmpty_cfi.py:45
N
#define N
Definition: blowfish.cc:9
b
double b
Definition: hdecay.h:118
a
double a
Definition: hdecay.h:119
StorageManager_cfg.e1
e1
Definition: StorageManager_cfg.py:16
res
Definition: Electron.h:6
T
long double T
Definition: Basic3DVectorLD.h:48
mps_fire.result
result
Definition: mps_fire.py:311