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
PixelTrackFilterByKinematics Class Reference

#include <PixelTrackFilterByKinematics.h>

Inheritance diagram for PixelTrackFilterByKinematics:
PixelTrackFilter

Public Member Functions

virtual bool operator() (const reco::Track *) const
 
virtual bool operator() (const reco::Track *, const PixelTrackFilter::Hits &hits) const
 
 PixelTrackFilterByKinematics (const edm::ParameterSet &cfg)
 
 PixelTrackFilterByKinematics (const edm::ParameterSet &cfg, const edm::EventSetup &es)
 
 PixelTrackFilterByKinematics (double ptmin=0.9, double tipmax=0.1, double chi2max=100.)
 
virtual ~PixelTrackFilterByKinematics ()
 
- Public Member Functions inherited from PixelTrackFilter
virtual void update (edm::Event &ev)
 
virtual ~PixelTrackFilter ()
 

Private Attributes

double theChi2Max
 
double theNSigmaInvPtTolerance
 
double theNSigmaTipMaxTolerance
 
double thePtMin
 
double theTIPMax
 

Additional Inherited Members

- Public Types inherited from PixelTrackFilter
typedef std::vector< const
TrackingRecHit * > 
Hits
 

Detailed Description

Definition at line 8 of file PixelTrackFilterByKinematics.h.

Constructor & Destructor Documentation

PixelTrackFilterByKinematics::PixelTrackFilterByKinematics ( const edm::ParameterSet cfg)

Definition at line 19 of file PixelTrackFilterByKinematics.cc.

20  : thePtMin( cfg.getParameter<double>("ptMin") ),
21  theNSigmaInvPtTolerance( cfg.getParameter<double>("nSigmaInvPtTolerance")),
22  theTIPMax( cfg.getParameter<double>("tipMax") ),
23  theNSigmaTipMaxTolerance( cfg.getParameter<double>("nSigmaTipMaxTolerance")),
24  theChi2Max( cfg.getParameter<double>("chi2") )
25 { }
T getParameter(std::string const &) const
PixelTrackFilterByKinematics::PixelTrackFilterByKinematics ( const edm::ParameterSet cfg,
const edm::EventSetup es 
)

Definition at line 11 of file PixelTrackFilterByKinematics.cc.

12  : thePtMin( cfg.getParameter<double>("ptMin") ),
13  theNSigmaInvPtTolerance( cfg.getParameter<double>("nSigmaInvPtTolerance")),
14  theTIPMax( cfg.getParameter<double>("tipMax") ),
15  theNSigmaTipMaxTolerance( cfg.getParameter<double>("nSigmaTipMaxTolerance")),
16  theChi2Max( cfg.getParameter<double>("chi2") )
17 { }
T getParameter(std::string const &) const
PixelTrackFilterByKinematics::PixelTrackFilterByKinematics ( double  ptmin = 0.9,
double  tipmax = 0.1,
double  chi2max = 100. 
)
PixelTrackFilterByKinematics::~PixelTrackFilterByKinematics ( )
virtual

Definition at line 33 of file PixelTrackFilterByKinematics.cc.

34 { }

Member Function Documentation

bool PixelTrackFilterByKinematics::operator() ( const reco::Track track) const
virtual

Reimplemented from PixelTrackFilter.

Definition at line 39 of file PixelTrackFilterByKinematics.cc.

References reco::TrackBase::chi2(), funct::cos(), reco::TrackBase::covariance(), reco::TrackBase::d0(), reco::TrackBase::d0Error(), reco::TrackBase::i_lambda, reco::TrackBase::i_qoverp, reco::TrackBase::lambdaError(), reco::TrackBase::pt(), reco::TrackBase::qoverpError(), funct::sin(), funct::sqr(), mathSSE::sqrt(), theChi2Max, theNSigmaInvPtTolerance, theNSigmaTipMaxTolerance, thePtMin, reco::TrackBase::theta(), theta(), and theTIPMax.

40 {
41  if (!track) return false;
42  if (track->chi2() > theChi2Max) return false;
43  if ( (fabs(track->d0())-theTIPMax)/track->d0Error() > theNSigmaTipMaxTolerance) return false;
44 
45  float theta = track->theta();
46  float cosTheta = cos(theta);
47  float sinTheta = sin(theta);
48  float errLambda2 = sqr( track->lambdaError() );
49 
50  float pt_v = track->pt();
51  float errInvP2 = sqr(track->qoverpError());
53  float errInvPt2 = ( errInvP2
54  + sqr(cosTheta/pt_v)*errLambda2
55  + 2*(cosTheta/pt_v)*covIPtTheta
56  ) / sqr(sinTheta);
57  if ( (1/pt_v - 1/thePtMin)/sqrt(errInvPt2) > theNSigmaInvPtTolerance ) return false;
58 
59  return true;
60 }
double d0Error() const
error on d0
Definition: TrackBase.h:211
double d0() const
dxy parameter in perigee convention (d0 = - dxy)
Definition: TrackBase.h:123
double theta() const
polar angle
Definition: TrackBase.h:117
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Theta< T > theta() const
CovarianceMatrix covariance() const
return track covariance matrix
Definition: TrackBase.h:182
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:107
T sqrt(T t)
Definition: SSEVec.h:46
double pt() const
track transverse momentum
Definition: TrackBase.h:131
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:192
double lambdaError() const
error on lambda
Definition: TrackBase.h:203
Square< F >::type sqr(const F &f)
Definition: Square.h:13
bool PixelTrackFilterByKinematics::operator() ( const reco::Track track,
const PixelTrackFilter::Hits hits 
) const
virtual

Reimplemented from PixelTrackFilter.

Definition at line 36 of file PixelTrackFilterByKinematics.cc.

37 { return (*this)(track); }

Member Data Documentation

double PixelTrackFilterByKinematics::theChi2Max
private

Definition at line 19 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::theNSigmaInvPtTolerance
private

Definition at line 17 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::theNSigmaTipMaxTolerance
private

Definition at line 18 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::thePtMin
private

Definition at line 17 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::theTIPMax
private

Definition at line 18 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().