9 : theClusterFinder(vf, vu, ve),
10 theVtxFitProbCut(0.01),
11 theTrackCompatibilityToPV(0.05),
12 theTrackCompatibilityToSV(0.01),
13 theMaxNbOfVertices(0) {
27 std::vector<TransientTrack> remaining;
34 std::vector<TransientTrack> remaining;
35 return vertices(tracks, remaining, spot,
true);
39 std::vector<TransientTrack>& unused,
41 bool use_spot)
const {
45 std::vector<TransientTrack>
filtered;
46 for (std::vector<TransientTrack>::const_iterator it = tracks.begin(); it != tracks.end(); it++) {
48 filtered.push_back(*it);
50 unused.push_back(*it);
58 std::vector<TransientVertex>
sel =
clean(all);
66 std::vector<TransientTrack>& unused,
68 bool use_spot)
const {
69 std::vector<TransientVertex> cand;
71 std::vector<TransientTrack> remain =
tracks;
81 std::vector<TransientVertex> newVertices;
82 if (cand.empty() && use_spot) {
87 if (newVertices.empty())
92 for (std::vector<TransientVertex>::const_iterator
iv = newVertices.begin();
iv != newVertices.end();
iv++) {
93 if (
iv->originalTracks().size() > 1) {
97 for (std::vector<TransientTrack>::const_iterator trk =
iv->originalTracks().begin();
98 trk !=
iv->originalTracks().end();
100 unused.push_back(*trk);
112 for (std::vector<TransientTrack>::const_iterator it = remain.begin(); it != remain.end(); it++) {
113 unused.push_back(*it);
120 const std::vector<TransientVertex>&
candidates)
const {
121 std::vector<TransientVertex>
sel;
122 for (std::vector<TransientVertex>::const_iterator
i = candidates.begin();
i != candidates.end();
i++) {
virtual void analyseFoundVertices(const std::vector< TransientVertex > &vts) const
std::vector< TransientVertex > clean(const std::vector< TransientVertex > &candidates) const
auto const & tracks
cannot be loose
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
float theTrackCompatibilityToPV
TrimmedTrackFilter theFilter
virtual void analyseInputTracks(const std::vector< reco::TransientTrack > &tracks) const
float ChiSquaredProbability(double chiSquared, double nrDOF)
void setTrackCompatibilityCut(float cut)
float theTrackCompatibilityToSV
ConfigurableTrimmedVertexFinder(const VertexFitter< 5 > *vf, const VertexUpdator< 5 > *vu, const VertexTrackCompatibilityEstimator< 5 > *ve)
std::vector< TransientVertex > vertexCandidates(const std::vector< reco::TransientTrack > &tracks, std::vector< reco::TransientTrack > &unused, const reco::BeamSpot &spot, bool use_spot) const
TrimmedVertexFinder theClusterFinder
T getParameter(std::string const &) const
void setParameters(const edm::ParameterSet &)
std::vector< TransientVertex > vertices(std::vector< reco::TransientTrack > &remain) const
virtual void analyseClusterFinder(const std::vector< TransientVertex > &vts, const std::vector< reco::TransientTrack > &remain) const
virtual void analyseVertexCandidates(const std::vector< TransientVertex > &vts) const
void setPtCut(double ptCut)
virtual void resetEvent(const std::vector< reco::TransientTrack > &tracks) const