12 const Surface& referenceSurface)
13 : theComponents(prtsComp), ftsAvailable(
false), refSurface(&referenceSurface), surf(
true) {}
17 : theComponents(prtsComp), ftsAvailable(
false), refPosition(referencePosition), surf(
false) {}
33 double maxWeight = -1.;
34 RTSvector::const_iterator maxIt;
36 if ((**it).weight() > maxWeight) {
37 maxWeight = (**it).weight();
57 throw VertexException(
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
65 throw VertexException(
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
73 throw VertexException(
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
82 throw VertexException(
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
89 cout <<
"Asking for weight of empty MultiRefittedTS, returning zero!" << endl;
101 "MultiRefittedTS::stateWithNewWeight(): Can not reweight multi-state with total weight < DBL_MIN");
103 double factor = newWeight /
weight();
109 reWeightedRTSC.push_back((**it).stateWithNewWeight((**it).weight() * factor));
122 vector<TrajectoryStateOnSurface> tsosComponents;
125 tsosComponents.push_back((**it).trajectoryStateOnSurface(surface));
132 vector<TrajectoryStateOnSurface> tsosComponents;
135 tsosComponents.push_back((**it).trajectoryStateOnSurface(surface, propagator));
AlgebraicVectorN parameters() const override
AlgebraicSymMatrixNN covariance() const override
MultiRefittedTS(const std::vector< RefCountedRefittedTrackState > &prtsComp, const Surface &referenceSurface)
ROOT::Math::SVector< double, N-2 > AlgebraicVectorM
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
void computeFreeTrajectoryState() const
ReferenceCountingPointer< RefittedTrackState< 5 > > RefCountedRefittedTrackState
std::vector< RefCountedRefittedTrackState > RTSvector
const GlobalPoint refPosition
const SurfaceType & surface() const
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
TrajectoryStateOnSurface trajectoryStateOnSurface(const Surface &surface) const override
bool totalWeightAvailable
ReferenceCountingPointer< RefittedTrackState< 5 > > stateWithNewWeight(const double newWeight) const override
FreeTrajectoryState freeTrajectoryState() const override
reco::TransientTrack build(const FreeTrajectoryState &fts) const
GlobalPoint position() const override
ROOT::Math::SVector< double, N > AlgebraicVectorN
AlgebraicVectorM momentumVector() const override
ConstReferenceCountingPointer< Surface > refSurface
reco::TransientTrack transientTrack() const override
double weight() const override