61 if(particles.size()<2)
throw VertexException(
"KinematicParticleVertexFitter::input states are less than 2");
63 std::pair<std::vector<RefCountedKinematicParticle>, std::vector<FreeTrajectoryState> >
input = iSort.
sort(particles);
64 std::vector<RefCountedKinematicParticle> & newPart = input.first;
65 std::vector<FreeTrajectoryState> & freeStates = input.second;
73 we(0,0)=we(1,1)=we(2,2) = 10000.;
75 VertexState state(linPoint, error);
78 std::vector<RefCountedVertexTrack> ttf;
80 for(
auto const &
i : newPart){
100 LogDebug(
"RecoVertex/KinematicParticleVertexFitter")
101 <<
"Fitted position is invalid. Returned Tree is invalid\n";
LinearizationPointFinder * pointFinder
edm::ParameterSet defaultParameters() const
void setup(const edm::ParameterSet &pSet)
KinematicParticleVertexFitter()
RefCountedKinematicTree buildTree(const CachingVertex< 6 > &vtx, const std::vector< RefCountedKinematicParticle > &input) const
virtual bool willPropagateToTheTransversePCA(const KinematicState &state, const GlobalPoint &point) const
~KinematicParticleVertexFitter()
static std::string const input
ROOT::Math::SMatrix< double, 3, 3, ROOT::Math::MatRepSym< double, 3 > > AlgebraicSymMatrix33
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