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++) {
T getParameter(std::string const &) const
std::vector< TransientVertex > vertices(const std::vector< reco::TransientTrack > &tracks) const override
virtual void analyseFoundVertices(const std::vector< TransientVertex > &vts) const
std::vector< TransientVertex > clean(const std::vector< TransientVertex > &candidates) const
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
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