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) {
45 components.reserve(nc);
46 for (
unsigned int i = 0;
i < nc; ++
i) {
49 components.push_back(sgs);
57 const std::vector<double>&
weights,
61 components.reserve(nc);
62 for (
unsigned int i = 0;
i < nc; ++
i) {
70 auto const& tsosComponents = comps();
72 components.reserve(tsosComponents.size());
73 for (
auto i = tsosComponents.begin();
i != tsosComponents.end(); ++
i) {
76 components.push_back(sgs);
84 throw cms::Exception(
"LogicError") <<
"MultiGaussianStateTransform: index out of range";
86 auto const& tsosComponents = comps();
88 components.reserve(tsosComponents.size());
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;
const LocalTrajectoryParameters & localParameters() const
const Vector & mean() const
parameter vector
std::vector< SingleGaussianState1D > SingleState1dContainer
const MagneticField * magneticField() const
Mixture of multi-variate gaussian states.
const Matrix & covariance() const
covariance matrix
const SurfaceType & surface() const
std::vector< SingleStatePtr > SingleStateContainer
std::shared_ptr< SingleState > SingleStatePtr
const GsfTrackExtraRef & gsfExtra() const
reference to "extra" object
SingleGaussianState< N >::Vector Vector
SingleGaussianState< N >::Matrix Matrix
float pzSign() const
Sign of the z-component of the momentum in the local frame.