anonymous enum |
Definition at line 19 of file MultiGaussianStateTransform.h.
{ N = reco::GsfTrackExtra::dimension };
MultiGaussianState< MultiGaussianStateTransform::N > MultiGaussianStateTransform::innerMultiState | ( | const reco::GsfTrack & | tk | ) |
Construct a MultiGaussianState from the reco::GsfTrack innermost state (local parameters)
Definition at line 18 of file MultiGaussianStateTransform.cc.
References reco::GsfTrack::gsfExtra(), and multiState().
{ const reco::GsfTrackExtraRef& extra(tk.gsfExtra()); return multiState(extra->innerStateLocalParameters(), extra->innerStateCovariances(), extra->innerStateWeights()); }
MultiGaussianState1D MultiGaussianStateTransform::innerMultiState1D | ( | const reco::GsfTrack & | tk, |
unsigned int | index | ||
) |
Construct a MultiGaussianState1D for the local parameter corresponding to "index" (0<=index<5) from the reco::GsfTrack innermost state
Definition at line 41 of file MultiGaussianStateTransform.cc.
References Exception, reco::GsfTrack::gsfExtra(), getHLTprescales::index, multiState1D(), and N.
{ if ( index>=N ) throw cms::Exception("LogicError") << "MultiGaussianStateTransform: index out of range"; const reco::GsfTrackExtraRef& extra(tk.gsfExtra()); return multiState1D(extra->innerStateLocalParameters(), extra->innerStateCovariances(), extra->innerStateWeights(), index); }
MultiGaussianState< MultiGaussianStateTransform::N > MultiGaussianStateTransform::multiState | ( | const std::vector< MultiGaussianState< N >::Vector > & | parameters, |
const std::vector< MultiGaussianState< N >::Matrix > & | covariances, | ||
const std::vector< double > & | weights | ||
) |
Construct a MultiGaussianState from the vectors of parameters, covariances and weights
Definition at line 55 of file MultiGaussianStateTransform.cc.
References i, and Parameters::parameters.
Referenced by innerMultiState(), MultiTrajectoryStateMerger::merge(), and outerMultiState().
{ unsigned int nc = parameters.size(); MultiGaussianState<N>::SingleStateContainer components; components.reserve(nc); for ( unsigned int i=0; i<nc; ++i ) { MultiGaussianState<N>::SingleStatePtr sgs(new MultiGaussianState<N>::SingleState(parameters[i],covariances[i],weights[i])); components.push_back(sgs); } return MultiGaussianState<N>(components); }
MultiGaussianState< 5 > MultiGaussianStateTransform::multiState | ( | const TrajectoryStateOnSurface | tsos | ) |
Construct a MultiGaussianState from a TrajectoryStateOnSurface (local parameters)
Definition at line 87 of file MultiGaussianStateTransform.cc.
References TrajectoryStateOnSurface::components(), and i.
{ std::vector<TrajectoryStateOnSurface> tsosComponents(tsos.components()); MultiGaussianState<5>::SingleStateContainer components; components.reserve(tsosComponents.size()); for ( std::vector<TrajectoryStateOnSurface>::const_iterator i=tsosComponents.begin(); i!=tsosComponents.end(); ++i ) { MultiGaussianState<5>::SingleStatePtr sgs(new MultiGaussianState<5>::SingleState(i->localParameters().vector(), i->localError().matrix(), i->weight())); components.push_back(sgs); } return MultiGaussianState<5>(components); }
MultiGaussianState1D MultiGaussianStateTransform::multiState1D | ( | const TrajectoryStateOnSurface | tsos, |
unsigned int | index | ||
) |
Construct a MultiGaussianState1D from a TrajectoryStateOnSurface (local parameters)
Definition at line 104 of file MultiGaussianStateTransform.cc.
References TrajectoryStateOnSurface::components(), Exception, i, getHLTprescales::index, and N.
{ if ( index>=N ) throw cms::Exception("LogicError") << "MultiGaussianStateTransform: index out of range"; std::vector<TrajectoryStateOnSurface> tsosComponents(tsos.components()); MultiGaussianState1D::SingleState1dContainer components; components.reserve(tsosComponents.size()); for ( std::vector<TrajectoryStateOnSurface>::const_iterator i=tsosComponents.begin(); i!=tsosComponents.end(); ++i ) { components.push_back(SingleGaussianState1D(i->localParameters().vector()(index), i->localError().matrix()(index,index), i->weight())); } return MultiGaussianState1D(components); }
MultiGaussianState1D MultiGaussianStateTransform::multiState1D | ( | const std::vector< MultiGaussianState< N >::Vector > & | parameters, |
const std::vector< MultiGaussianState< N >::Matrix > & | covariances, | ||
const std::vector< double > & | weights, | ||
unsigned int | index | ||
) |
Construct a MultiGaussianState1D from the vectors of parameters, covariances and weights
Definition at line 71 of file MultiGaussianStateTransform.cc.
References i, and Parameters::parameters.
Referenced by MultiTrajectoryStateMode::chargeFromMode(), PFGsfHelper::computeQpMode(), ElectronMomentumCorrector::correct(), GsfTrackProducerBase::fillMode(), innerMultiState1D(), GsfTrackProducerBase::localParametersFromQpMode(), MultiTrajectoryStateMode::momentumFromModeLocal(), MultiTrajectoryStateMode::momentumFromModeP(), MultiTrajectoryStateMode::momentumFromModeQP(), outerMultiState1D(), and MultiTrajectoryStateMode::positionFromModeLocal().
{ unsigned int nc = parameters.size(); MultiGaussianState1D::SingleState1dContainer components; components.reserve(nc); for ( unsigned int i=0; i<nc; ++i ) { components.push_back(SingleGaussianState1D(parameters[i](index), covariances[i](index,index), weights[i])); } return MultiGaussianState1D(components); }
MultiGaussianState< MultiGaussianStateTransform::N > MultiGaussianStateTransform::outerMultiState | ( | const reco::GsfTrack & | tk | ) |
Construct a MultiGaussianState from the reco::GsfTrack innermost state (local parameters)
Definition at line 9 of file MultiGaussianStateTransform.cc.
References reco::GsfTrack::gsfExtra(), and multiState().
{ const reco::GsfTrackExtraRef& extra(tk.gsfExtra()); return multiState(extra->outerStateLocalParameters(), extra->outerStateCovariances(), extra->outerStateWeights()); }
MultiGaussianState1D MultiGaussianStateTransform::outerMultiState1D | ( | const reco::GsfTrack & | tk, |
unsigned int | index | ||
) |
Construct a MultiGaussianState1D for the local parameter corresponding to "index" (0<=index<5) from the reco::GsfTrack outermost state
Definition at line 27 of file MultiGaussianStateTransform.cc.
References Exception, reco::GsfTrack::gsfExtra(), getHLTprescales::index, multiState1D(), and N.
{ if ( index>=N ) throw cms::Exception("LogicError") << "MultiGaussianStateTransform: index out of range"; const reco::GsfTrackExtraRef& extra(tk.gsfExtra()); return multiState1D(extra->outerStateLocalParameters(), extra->outerStateCovariances(), extra->outerStateWeights(), index); }
TrajectoryStateOnSurface MultiGaussianStateTransform::tsosFromSingleState | ( | const SingleGaussianState< 5 > & | singleState, |
const TrajectoryStateOnSurface | refTsos | ||
) |
Construct a TrajectoryStateOnSurface from a 5D SingleGaussianState (local parameters) and a reference TSOS (surface, charge, ..)
Definition at line 122 of file MultiGaussianStateTransform.cc.
References SingleGaussianState< N >::covariance(), TrajectoryStateOnSurface::localParameters(), TrajectoryStateOnSurface::magneticField(), SingleGaussianState< N >::mean(), LocalTrajectoryParameters::pzSign(), and TrajectoryStateOnSurface::surface().
{ const LocalTrajectoryParameters& refPars(refTsos.localParameters()); double pzSign = refPars.pzSign(); bool charged = refPars.charge()!=0; LocalTrajectoryParameters pars(singleState.mean(),pzSign,charged); LocalTrajectoryError errs(singleState.covariance()); // return state (doesn't use weight of the single state) return TrajectoryStateOnSurface(pars,errs,refTsos.surface(),refTsos.magneticField()); }