@@ -10,6 +10,7 @@ TrackFilterForPVFinding::TrackFilterForPVFinding(const edm::ParameterSet& conf)
1010 maxNormChi2_ = conf.getParameter <double >(" maxNormalizedChi2" );
1111 minSiLayers_ = conf.getParameter <int >(" minSiliconLayersWithHits" );
1212 minPxLayers_ = conf.getParameter <int >(" minPixelLayersWithHits" );
13+ minStripHits_ = conf.getParameter <int >(" minValidStripHits" );
1314
1415 // the next few lines are taken from RecoBTag/SecondaryVertex/interface/TrackSelector.h"
1516 std::string qualityClass = conf.getParameter <std::string>(" trackQuality" );
@@ -33,8 +34,9 @@ bool TrackFilterForPVFinding::operator()(const reco::TransientTrack& tk) const {
3334 bool nPxLayCut = tk.hitPattern ().pixelLayersWithMeasurement () >= minPxLayers_;
3435 bool nSiLayCut = tk.hitPattern ().trackerLayersWithMeasurement () >= minSiLayers_;
3536 bool trackQualityCut = (quality_ == reco::TrackBase::undefQuality) || tk.track ().quality (quality_);
37+ bool nStripHitsCut = tk.hitPattern ().numberOfValidStripHits () >= minStripHits_;
3638
37- return IPSigCut && pTCut && etaCut && normChi2Cut && nPxLayCut && nSiLayCut && trackQualityCut;
39+ return IPSigCut && pTCut && etaCut && normChi2Cut && nPxLayCut && nSiLayCut && trackQualityCut && nStripHitsCut ;
3840}
3941
4042// select the vector of tracks that pass the filter cuts
@@ -72,4 +74,5 @@ void TrackFilterForPVFinding::fillPSetDescription(edm::ParameterSetDescription&
7274 desc.add <std::string>(" trackQuality" , " any" );
7375 desc.add <int >(" minPixelLayersWithHits" , 2 );
7476 desc.add <int >(" minSiliconLayersWithHits" , 5 );
77+ desc.add <int >(" minValidStripHits" , 0 );
7578}
0 commit comments