48 const std::vector<RefCountedKinematicParticle> &
particles)
const {
51 if (particles.size() < 2)
52 throw VertexException(
"KinematicParticleVertexFitter::input states are less than 2");
54 std::pair<std::vector<RefCountedKinematicParticle>, std::vector<FreeTrajectoryState> >
input = iSort.
sort(particles);
55 std::vector<RefCountedKinematicParticle> &newPart = input.first;
56 std::vector<FreeTrajectoryState> &freeStates = input.second;
64 we(0, 0) = we(1, 1) = we(2, 2) = 10000.;
69 std::vector<RefCountedVertexTrack> ttf;
71 for (
auto const &
i : newPart) {
91 LogDebug(
"RecoVertex/KinematicParticleVertexFitter") <<
"Fitted position is invalid. Returned Tree is invalid\n";
95 return tBuilder.buildTree(vtx, newPart);
LinearizationPointFinder * pointFinder
edm::ParameterSet defaultParameters() const
void setup(const edm::ParameterSet &pSet)
KinematicParticleVertexFitter()
~KinematicParticleVertexFitter()
static std::string const input
bool willPropagateToTheTransversePCA(const KinematicState &state, const GlobalPoint &point) const override
void addParameter(std::string const &name, T const &value)
virtual CachingVertex< N > vertex(const std::vector< reco::TransientTrack > &tracks) const =0
VertexFitter< 6 > * fitter
RefCountedKinematicTree fit(const std::vector< RefCountedKinematicParticle > &particles) const
virtual GlobalPoint getLinearizationPoint(const std::vector< reco::TransientTrack > &) const =0
VertexTrackFactory< 6 > * vFactory
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33