13 const Surface & referenceSurface) :
14 theComponents(prtsComp), ftsAvailable(
false), refSurface(&referenceSurface),
38 double maxWeight = -1.;
39 RTSvector::const_iterator maxIt;
42 if ( (**it).weight() > maxWeight ) {
43 maxWeight = (**it).weight();
65 (
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
75 (
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
85 (
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
96 (
"MultiRefittedTS::freeTrajectoryState(): Don't know how to do that yet...");
105 cout <<
"Asking for weight of empty MultiRefittedTS, returning zero!" << endl;
121 (
"MultiRefittedTS::stateWithNewWeight(): Can not reweight multi-state with total weight < DBL_MIN");
123 double factor = newWeight/
weight();
130 reWeightedRTSC.push_back((**it).stateWithNewWeight((**it).weight()*factor));
145 vector<TrajectoryStateOnSurface> tsosComponents;
149 tsosComponents.push_back((**it).trajectoryStateOnSurface(surface));
157 vector<TrajectoryStateOnSurface> tsosComponents;
161 tsosComponents.push_back((**it).trajectoryStateOnSurface(surface, propagator));
MultiRefittedTS(const std::vector< RefCountedRefittedTrackState > &prtsComp, const Surface &referenceSurface)
double weight() const override
void computeFreeTrajectoryState() const
ReferenceCountingPointer< RefittedTrackState< 5 > > RefCountedRefittedTrackState
AlgebraicVectorN parameters() const override
ROOT::Math::SVector< double, N-2 > AlgebraicVectorM
FreeTrajectoryState freeTrajectoryState() const override
TrajectoryStateOnSurface trajectoryStateOnSurface(const Surface &surface) const override
const GlobalPoint refPosition
const SurfaceType & surface() const
ROOT::Math::SVector< double, N > AlgebraicVectorN
reco::TransientTrack transientTrack() const override
FreeTrajectoryState const * freeTrajectoryState(bool withErrors=true) const
ReferenceCountingPointer< RefittedTrackState< 5 > > stateWithNewWeight(const double newWeight) const override
bool totalWeightAvailable
ROOT::Math::SMatrix< double, N, N, ROOT::Math::MatRepSym< double, N > > AlgebraicSymMatrixNN
std::vector< RefCountedRefittedTrackState > RTSvector
reco::TransientTrack build(const FreeTrajectoryState &fts) const
AlgebraicVectorM momentumVector() const override
GlobalPoint position() const override
AlgebraicSymMatrixNN covariance() const override
ConstReferenceCountingPointer< Surface > refSurface