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";
LinearizationPointFinder * pointFinder
bool willPropagateToTheTransversePCA(const KinematicState &state, const GlobalPoint &point) const override
edm::ParameterSet defaultParameters() const
void setup(const edm::ParameterSet &pSet)
const bool isValid(const Frame &aFrame, const FrameQuality &aQuality, const uint16_t aExpectedPos)
KinematicParticleVertexFitter()
RefCountedKinematicTree buildTree(const CachingVertex< 6 > &vtx, const std::vector< RefCountedKinematicParticle > &input) const
~KinematicParticleVertexFitter()
static std::string const input
virtual CachingVertex< N > vertex(const std::vector< reco::TransientTrack > &tracks) const =0
void addParameter(std::string const &name, T const &value)
VertexFitter< 6 > * fitter
RefCountedKinematicTree fit(const std::vector< RefCountedKinematicParticle > &particles) const
VertexTrackFactory< 6 > * vFactory
virtual GlobalPoint getLinearizationPoint(const std::vector< reco::TransientTrack > &) const =0
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33