TrackingTools
GsfTools
interface
SingleGaussianState.h
Go to the documentation of this file.
1
#ifndef SingleGaussianState_H
2
#define SingleGaussianState_H
3
4
#define SMATRIX_USE_CONSTEXPR
5
6
#include "Math/SVector.h"
7
#include "Math/SMatrix.h"
8
13
template
<
unsigned
int
N>
14
class
SingleGaussianState
{
15
public
:
16
using
Vector
= ROOT::Math::SVector<double, N>;
17
using
Matrix
= ROOT::Math::SMatrix<double, N, N, ROOT::Math::MatRepSym<double, N>>;
18
19
public
:
20
SingleGaussianState
() {}
21
22
SingleGaussianState
(
const
Vector
& aMean,
const
Matrix
& aCovariance,
double
aWeight = 1.)
23
:
theCovariance
(aCovariance),
theMean
(aMean),
theWeight
(aWeight) {}
24
26
inline
double
weight
()
const
{
return
theWeight
; }
28
inline
const
Vector
&
mean
()
const
{
return
theMean
; }
30
inline
const
Matrix
&
covariance
()
const
{
return
theCovariance
; }
32
const
Matrix
&
weightMatrix
()
const
;
34
inline
unsigned
int
dimension
()
const
{
return
N
; }
36
void
rescaleWeight
(
double
scale
) {
theWeight
*=
scale
; }
37
38
private
:
39
Matrix
theCovariance
;
40
Vector
theMean
;
41
double
theWeight
;
42
43
mutable
Matrix
theWeightMatrix
= ROOT::Math::SMatrixNoInit();
44
mutable
bool
theHasWeightMatrix
=
false
;
45
};
46
47
#include "TrackingTools/GsfTools/interface/SingleGaussianState.icc"
48
49
#endif
SingleGaussianState::theWeight
double theWeight
Definition:
SingleGaussianState.h:41
L1EGammaCrystalsEmulatorProducer_cfi.scale
scale
Definition:
L1EGammaCrystalsEmulatorProducer_cfi.py:10
SingleGaussianState::weight
double weight() const
weight
Definition:
SingleGaussianState.h:26
SingleGaussianState::theMean
Vector theMean
Definition:
SingleGaussianState.h:40
SingleGaussianState::theCovariance
Matrix theCovariance
Definition:
SingleGaussianState.h:39
SingleGaussianState::covariance
const Matrix & covariance() const
covariance matrix
Definition:
SingleGaussianState.h:30
N
#define N
Definition:
blowfish.cc:9
SingleGaussianState::Matrix
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > Matrix
Definition:
SingleGaussianState.h:17
SingleGaussianState::SingleGaussianState
SingleGaussianState(const Vector &aMean, const Matrix &aCovariance, double aWeight=1.)
Definition:
SingleGaussianState.h:22
SingleGaussianState
Definition:
SingleGaussianState.h:14
SingleGaussianState::theHasWeightMatrix
bool theHasWeightMatrix
Definition:
SingleGaussianState.h:44
SingleGaussianState::dimension
unsigned int dimension() const
size of parameter vector
Definition:
SingleGaussianState.h:34
SingleGaussianState::SingleGaussianState
SingleGaussianState()
Definition:
SingleGaussianState.h:20
SingleGaussianState::Vector
ROOT::Math::SVector< double, N > Vector
Definition:
SingleGaussianState.h:16
SingleGaussianState::weightMatrix
const Matrix & weightMatrix() const
weight matrix
SingleGaussianState::rescaleWeight
void rescaleWeight(double scale)
change weight
Definition:
SingleGaussianState.h:36
SingleGaussianState::theWeightMatrix
Matrix theWeightMatrix
Definition:
SingleGaussianState.h:43
SingleGaussianState::mean
const Vector & mean() const
parameter vector
Definition:
SingleGaussianState.h:28
Generated for CMSSW Reference Manual by
1.8.16