12 return multiState(extra->outerStateLocalParameters(), extra->outerStateCovariances(), extra->outerStateWeights());
18 return multiState(extra->innerStateLocalParameters(), extra->innerStateCovariances(), extra->innerStateWeights());
23 throw cms::Exception(
"LogicError") <<
"MultiGaussianStateTransform: index out of range";
27 extra->outerStateLocalParameters(), extra->outerStateCovariances(), extra->outerStateWeights(),
index);
32 throw cms::Exception(
"LogicError") <<
"MultiGaussianStateTransform: index out of range";
36 extra->innerStateLocalParameters(), extra->innerStateCovariances(), extra->innerStateWeights(),
index);
42 const std::vector<double>&
weights) {
46 for (
unsigned int i = 0;
i < nc; ++
i) {
57 const std::vector<double>&
weights,
62 for (
unsigned int i = 0;
i < nc; ++
i) {
70 auto const& tsosComponents = comps();
73 for (
auto i = tsosComponents.begin();
i != tsosComponents.end(); ++
i) {
84 throw cms::Exception(
"LogicError") <<
"MultiGaussianStateTransform: index out of range";
86 auto const& tsosComponents = comps();
89 for (
auto i = tsosComponents.begin();
i != tsosComponents.end(); ++
i) {
91 i->localParameters().vector()(
index),
i->localError().matrix()(
index,
index),
i->weight()));
99 double pzSign = refPars.
pzSign();
100 bool charged = refPars.charge() != 0;
float pzSign() const
Sign of the z-component of the momentum in the local frame.
const LocalTrajectoryParameters & localParameters() const
const SurfaceType & surface() const
std::vector< SingleGaussianState1D > SingleState1dContainer
const Matrix & covariance() const
covariance matrix
Mixture of multi-variate gaussian states.
std::vector< SingleStatePtr > SingleStateContainer
std::shared_ptr< SingleState > SingleStatePtr
const GsfTrackExtraRef & gsfExtra() const
reference to "extra" object
const Vector & mean() const
parameter vector
const MagneticField * magneticField() const
SingleGaussianState< N >::Vector Vector
SingleGaussianState< N >::Matrix Matrix