Skip to content

Commit 411f92c

Browse files
authored
Merge pull request #45536 from swagata87/ptErrCut_pf
Reject badly measured tracks with very high values of `qoverpError` before trying to reconstruct displaced vertices
2 parents fd19e2b + 188940c commit 411f92c

File tree

3 files changed

+6
-2
lines changed

3 files changed

+6
-2
lines changed

RecoParticleFlow/PFTracking/interface/PFDisplacedVertexCandidateFinder.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ class PFDisplacedVertexCandidateFinder {
4747
pt_min_ = ps_trk.getParameter<double>("pt_min");
4848
pt_min_prim_ = ps_trk.getParameter<double>("pt_min_prim");
4949
dxy_ = ps_trk.getParameter<double>("dxy");
50+
qoverpError_max_ = ps_trk.getParameter<double>("qoverpError_max");
5051
}
5152

5253
/// sets debug printout flag
@@ -137,7 +138,7 @@ class PFDisplacedVertexCandidateFinder {
137138

138139
double pt_min_prim_;
139140
double dxy_;
140-
141+
double qoverpError_max_;
141142
/// Max number of expected vertexCandidates in the event
142143
/// Used to allocate the memory and avoid multiple copy
143144
unsigned vertexCandidatesSize_;

RecoParticleFlow/PFTracking/plugins/PFDisplacedVertexCandidateProducer.cc

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -82,6 +82,8 @@ void PFDisplacedVertexCandidateProducer::fillDescriptions(edm::ConfigurationDesc
8282
// PFDisplacedVertex timing
8383
pset.add<double>("pt_min_prim", 0.8);
8484
pset.add<double>("dxy", 0.2);
85+
pset.add<double>("qoverpError_max", 1.0e+7);
86+
8587
desc.add<edm::ParameterSetDescription>("tracksSelectorParameters", pset);
8688
}
8789
descriptions.add("particleFlowDisplacedVertexCandidate", desc);

RecoParticleFlow/PFTracking/src/PFDisplacedVertexCandidateFinder.cc

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -314,10 +314,11 @@ bool PFDisplacedVertexCandidateFinder::goodPtResolution(const TrackBaseRef& trac
314314
double dxy = trackref->dxy(pvtx_);
315315

316316
double pt_error = dpt / pt * 100;
317+
double qoverpError = trackref->qoverpError();
317318

318319
LogDebug("PFDisplacedVertexCandidateFinder")
319320
<< " PFDisplacedVertexFinder: PFrecTrack->Track Pt= " << pt << " dPt/Pt = " << pt_error << "% nChi2 = " << nChi2;
320-
if (nChi2 > nChi2_max_ || pt < pt_min_) {
321+
if (nChi2 > nChi2_max_ || pt < pt_min_ || qoverpError > qoverpError_max_) {
321322
LogDebug("PFDisplacedVertexCandidateFinder") << " PFBlockAlgo: skip badly measured or low pt track"
322323
<< " nChi2_cut = " << 5 << " pt_cut = " << 0.2;
323324
return false;

0 commit comments

Comments
 (0)