1 #ifndef RecoCandUtils_CandCommonVertexFitter_h
2 #define RecoCandUtils_CandCommonVertexFitter_h
16 class VertexCompositeCandidate;
29 void fill(std::vector<reco::TransientTrack> &,
30 std::vector<reco::Candidate *> &,
31 std::vector<reco::RecoCandidate::TrackType> &,
33 virtual bool fit(
TransientVertex &,
const std::vector<reco::TransientTrack> &)
const = 0;
44 template <
typename Fitter>
51 vertex =
fitter_.vertex(tracks);
53 std::cerr <<
">>> exception thrown by KalmanVertexFitter:\n"
55 <<
">>> candidate not fitted to common vertex" << std::endl;
const MagneticField * bField_
virtual ~CandCommonVertexFitterBase()
CandCommonVertexFitter(const edm::ParameterSet &cfg)
S make(const edm::ParameterSet &cfg)
reco::Vertex::CovarianceMatrix CovarianceMatrix
auto const & tracks
cannot be loose
bool fit(TransientVertex &vertex, const std::vector< reco::TransientTrack > &tracks) const override
math::Error< dimension >::type CovarianceMatrix
covariance error matrix (3x3)
CovarianceMatrix cov_
covariance matrix (3x3)
void fill(std::vector< reco::TransientTrack > &, std::vector< reco::Candidate * > &, std::vector< reco::RecoCandidate::TrackType > &, reco::Candidate &) const
void set(const MagneticField *bField)
double ndof_
number of degrees of freedom
CandCommonVertexFitterBase(const edm::ParameterSet &)
virtual bool fit(TransientVertex &, const std::vector< reco::TransientTrack > &) const =0