10 : theClusterFinder(vf, vu, ve), theVtxFitProbCut(0.01),
11 theTrackCompatibilityToPV(0.05), theTrackCompatibilityToSV(0.01),
29 const std::vector<TransientTrack> &
tracks)
const 31 std::vector<TransientTrack> remaining;
40 std::vector<TransientTrack> remaining;
41 return vertices ( tracks, remaining, spot,
true );
45 const std::vector<TransientTrack> &
tracks, std::vector<TransientTrack> & unused,
51 std::vector<TransientTrack>
filtered;
52 for (std::vector<TransientTrack>::const_iterator it = tracks.begin();
53 it != tracks.end(); it++) {
55 filtered.push_back(*it);
58 unused.push_back(*it);
67 std::vector<TransientVertex>
sel =
clean(all);
77 const std::vector<TransientTrack> &
tracks, std::vector<TransientTrack> & unused,
81 std::vector<TransientVertex>
cand;
83 std::vector<TransientTrack> remain =
tracks;
87 float tkCompCut = (cand.empty() ?
96 std::vector<TransientVertex> newVertices;
97 if ( cand.empty() && use_spot )
103 if (newVertices.empty())
break;
107 for (std::vector<TransientVertex>::const_iterator iv = newVertices.begin();
108 iv != newVertices.end(); iv++) {
109 if ( iv->originalTracks().size() > 1 ) {
114 for ( std::vector< TransientTrack >::const_iterator trk
115 = iv->originalTracks().begin();
116 trk != iv->originalTracks().end(); ++trk ) {
117 unused.push_back ( *trk );
128 for (std::vector<TransientTrack>::const_iterator it = remain.begin();
129 it != remain.end(); it++) {
130 unused.push_back(*it);
137 std::vector<TransientVertex>
140 std::vector<TransientVertex>
sel;
141 for (std::vector<TransientVertex>::const_iterator
i = candidates.begin();
142 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