1 #ifndef RecoVertex_PrimaryVertexProducer_AdaptiveChisquarePrimaryVertexFitter_h 2 #define RecoVertex_PrimaryVertexProducer_AdaptiveChisquarePrimaryVertexFitter_h 19 double mintrkweight = 0.4,
20 bool multivertexfit =
false);
23 std::vector<TransientVertex>
fit(
const std::vector<reco::TransientTrack> &,
24 const std::vector<TransientVertex> &,
28 using Error3 = ROOT::Math::SMatrix<double, 3>;
33 unsigned int nv =
xv_.size();
38 for (
unsigned int k = 0;
k < nv;
k++) {
45 assert((
i <
nt) &&
"illegal tkmap entry");
61 std::vector<TransientVertex>
vertices(
const std::vector<reco::TransientTrack> &,
62 const std::vector<TransientVertex> &,
70 const std::vector<std::pair<unsigned int, float>> &,
71 const std::vector<reco::TransientTrack> &,
84 std::vector<double>
xv_;
85 std::vector<double>
yv_;
86 std::vector<double>
zv_;
void fill_weights(const reco::BeamSpot &, const double beta=1.)
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &, const std::vector< TransientVertex > &, const reco::BeamSpot &, const bool)
void remove_vertex(unsigned int)
std::vector< double > tkweight_
std::vector< TransientVertex > fit(const std::vector< reco::TransientTrack > &, const std::vector< TransientVertex > &, const reco::BeamSpot &, const bool) override
std::vector< unsigned int > tkfirstv_
Error3 get_inverse_beam_covariance(const reco::BeamSpot &)
void fill_trackinfo(const std::vector< reco::TransientTrack > &, const reco::BeamSpot &)
ROOT::Math::SMatrix< double, 3 > Error3
void make_vtx_trk_map(const double)
double update(const reco::BeamSpot &, float beam_weight, const bool fill_covariances=false)
std::vector< Error3 > covv_
std::vector< TrackInfo > trackinfo_
std::vector< double > yv_
TransientVertex get_TransientVertex(const unsigned int, const std::vector< std::pair< unsigned int, float >> &, const std::vector< reco::TransientTrack > &, const float, const reco::BeamSpot &)
std::vector< unsigned int > tkmap_
std::vector< double > xv_
~AdaptiveChisquarePrimaryVertexFitter() override=default
std::vector< double > zv_
TransientVertex refit(const TransientVertex &, const reco::BeamSpot &, const bool)
double track_in_vertex_chsq(const TrackInfo &, const double, const double, const double)
AdaptiveChisquarePrimaryVertexFitter(double chicutoff=2.5, double zcutoff=1.0, double mintrkweight=0.4, bool multivertexfit=false)