CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
List of all members | Public Member Functions | Private Attributes
TrackFilterForPVFinding Class Reference

#include <TrackFilterForPVFinding.h>

Inheritance diagram for TrackFilterForPVFinding:
TrackFilterForPVFindingBase HITrackFilterForPVFinding

Public Member Functions

bool operator() (const reco::TransientTrack &tracks) const
 
std::vector< reco::TransientTrackselect (const std::vector< reco::TransientTrack > &tracks) const
 
 TrackFilterForPVFinding (const edm::ParameterSet &conf)
 
- Public Member Functions inherited from TrackFilterForPVFindingBase
 TrackFilterForPVFindingBase ()
 
 TrackFilterForPVFindingBase (const edm::ParameterSet &conf)
 
virtual ~TrackFilterForPVFindingBase ()
 

Private Attributes

float maxD0Sig_
 
float maxNormChi2_
 
float minPt_
 
int minPxLayers_
 
int minSiLayers_
 
reco::TrackBase::TrackQuality quality_
 

Detailed Description

Description: track selection for PV finding

Definition at line 14 of file TrackFilterForPVFinding.h.

Constructor & Destructor Documentation

TrackFilterForPVFinding::TrackFilterForPVFinding ( const edm::ParameterSet conf)

Definition at line 4 of file TrackFilterForPVFinding.cc.

References edm::ParameterSet::getParameter(), maxD0Sig_, maxNormChi2_, minPt_, minPxLayers_, minSiLayers_, quality_, reco::TrackBase::qualityByName(), AlCaHLTBitMon_QueryRunRegistry::string, and reco::TrackBase::undefQuality.

5 {
6  maxD0Sig_ = conf.getParameter<double>("maxD0Significance");
7  minPt_ = conf.getParameter<double>("minPt");
8  maxNormChi2_ = conf.getParameter<double>("maxNormalizedChi2");
9  minSiLayers_ = conf.getParameter<int>("minSiliconLayersWithHits");
10  minPxLayers_ = conf.getParameter<int>("minPixelLayersWithHits");
11 
12  // the next few lines are taken from RecoBTag/SecondaryVertex/interface/TrackSelector.h"
13  std::string qualityClass =
14  conf.getParameter<std::string>("trackQuality");
15  if (qualityClass == "any" || qualityClass == "Any" ||
16  qualityClass == "ANY" || qualityClass == "") {
18  } else {
20  }
21 
22 }
T getParameter(std::string const &) const
static TrackQuality qualityByName(const std::string &name)
Definition: TrackBase.cc:123
reco::TrackBase::TrackQuality quality_

Member Function Documentation

bool TrackFilterForPVFinding::operator() ( const reco::TransientTrack tracks) const

Definition at line 26 of file TrackFilterForPVFinding.cc.

References TrajectoryStateOnSurface::globalMomentum(), reco::TransientTrack::hitPattern(), reco::TransientTrack::impactPointState(), TrajectoryStateClosestToBeamLine::isValid(), maxD0Sig_, maxNormChi2_, minPt_, minPxLayers_, minSiLayers_, reco::TransientTrack::normalizedChi2(), reco::HitPattern::pixelLayersWithMeasurement(), reco::TrackBase::quality(), quality_, Measurement1D::significance(), reco::TransientTrack::stateAtBeamLine(), reco::TransientTrack::track(), reco::HitPattern::trackerLayersWithMeasurement(), PV3DBase< T, PVType, FrameType >::transverse(), TrajectoryStateClosestToBeamLine::transverseImpactParameter(), and reco::TrackBase::undefQuality.

27 {
28  if (!tk.stateAtBeamLine().isValid()) return false;
29  bool IPSigCut = tk.stateAtBeamLine().transverseImpactParameter().significance()<maxD0Sig_;
30  bool pTCut = tk.impactPointState().globalMomentum().transverse() > minPt_;
31  bool normChi2Cut = tk.normalizedChi2() < maxNormChi2_;
32  bool nPxLayCut = tk.hitPattern().pixelLayersWithMeasurement() >= minPxLayers_;
33  bool nSiLayCut = tk.hitPattern().trackerLayersWithMeasurement() >= minSiLayers_;
34  bool trackQualityCut = (quality_==reco::TrackBase::undefQuality)|| tk.track().quality(quality_);
35 
36  return IPSigCut && pTCut && normChi2Cut && nPxLayCut && nSiLayCut && trackQualityCut;
37 }
reco::TrackBase::TrackQuality quality_
std::vector< reco::TransientTrack > TrackFilterForPVFinding::select ( const std::vector< reco::TransientTrack > &  tracks) const
virtual

Implements TrackFilterForPVFindingBase.

Definition at line 42 of file TrackFilterForPVFinding.cc.

Referenced by HITrackFilterForPVFinding::select().

43 {
44  std::vector <reco::TransientTrack> seltks;
45  for (std::vector<reco::TransientTrack>::const_iterator itk = tracks.begin();
46  itk != tracks.end(); itk++) {
47  if ( operator()(*itk) ) seltks.push_back(*itk); // calls the filter function for single tracks
48  }
49  return seltks;
50 }
tuple tracks
Definition: testEve_cfg.py:39

Member Data Documentation

float TrackFilterForPVFinding::maxD0Sig_
private

Definition at line 24 of file TrackFilterForPVFinding.h.

Referenced by operator()(), and TrackFilterForPVFinding().

float TrackFilterForPVFinding::maxNormChi2_
private

Definition at line 26 of file TrackFilterForPVFinding.h.

Referenced by operator()(), and TrackFilterForPVFinding().

float TrackFilterForPVFinding::minPt_
private

Definition at line 24 of file TrackFilterForPVFinding.h.

Referenced by operator()(), and TrackFilterForPVFinding().

int TrackFilterForPVFinding::minPxLayers_
private

Definition at line 25 of file TrackFilterForPVFinding.h.

Referenced by operator()(), and TrackFilterForPVFinding().

int TrackFilterForPVFinding::minSiLayers_
private

Definition at line 25 of file TrackFilterForPVFinding.h.

Referenced by operator()(), and TrackFilterForPVFinding().

reco::TrackBase::TrackQuality TrackFilterForPVFinding::quality_
private

Definition at line 27 of file TrackFilterForPVFinding.h.

Referenced by operator()(), and TrackFilterForPVFinding().