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, edm::ConsumesCollector &iC)
 
 PixelTrackFilterByKinematics (double ptmin=0.9, double tipmax=0.1, double chi2max=100.)
 
void update (const edm::Event &, const edm::EventSetup &) override
 
virtual ~PixelTrackFilterByKinematics ()
 
- Public Member Functions inherited from PixelTrackFilter
virtual bool operator() (const reco::Track *, const Hits &, const TrackerTopology *tTopo) const
 
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,
edm::ConsumesCollector iC 
)

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 41 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, theta(), reco::TrackBase::theta(), and theTIPMax.

42 {
43  if (!track) return false;
44  if (track->chi2() > theChi2Max) return false;
45  if ( (fabs(track->d0())-theTIPMax)/track->d0Error() > theNSigmaTipMaxTolerance) return false;
46 
47  float theta = track->theta();
48  float cosTheta = cos(theta);
49  float sinTheta = sin(theta);
50  float errLambda2 = sqr( track->lambdaError() );
51 
52  float pt_v = track->pt();
53  float errInvP2 = sqr(track->qoverpError());
55  float errInvPt2 = ( errInvP2
56  + sqr(cosTheta/pt_v)*errLambda2
57  + 2*(cosTheta/pt_v)*covIPtTheta
58  ) / sqr(sinTheta);
59  if ( (1/pt_v - 1/thePtMin)/sqrt(errInvPt2) > theNSigmaInvPtTolerance ) return false;
60 
61  return true;
62 }
double d0Error() const
error on d0
Definition: TrackBase.h:789
double d0() const
dxy parameter in perigee convention (d0 = -dxy)
Definition: TrackBase.h:584
double theta() const
polar angle
Definition: TrackBase.h:566
Sin< T >::type sin(const T &t)
Definition: Sin.h:22
Geom::Theta< T > theta() const
double chi2() const
chi-squared of the fit
Definition: TrackBase.h:536
CovarianceMatrix covariance() const
return track covariance matrix
Definition: TrackBase.h:718
T sqrt(T t)
Definition: SSEVec.h:48
double pt() const
track transverse momentum
Definition: TrackBase.h:608
Cos< T >::type cos(const T &t)
Definition: Cos.h:22
double qoverpError() const
error on signed transverse curvature
Definition: TrackBase.h:744
double lambdaError() const
error on lambda
Definition: TrackBase.h:765
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 38 of file PixelTrackFilterByKinematics.cc.

39 { return (*this)(track); }
void PixelTrackFilterByKinematics::update ( const edm::Event ,
const edm::EventSetup  
)
overridevirtual

Implements PixelTrackFilter.

Definition at line 36 of file PixelTrackFilterByKinematics.cc.

Referenced by progressbar.ProgressBar::__next__(), MatrixUtil.Matrix::__setitem__(), MatrixUtil.Steps::__setitem__(), Vispa.Gui.VispaWidget.VispaWidget::autosize(), Vispa.Views.LineDecayView.LineDecayContainer::createObject(), Vispa.Views.LineDecayView.LineDecayContainer::deselectAllObjects(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::deselectAllWidgets(), Vispa.Gui.VispaWidget.VispaWidget::enableAutosizing(), progressbar.ProgressBar::finish(), Vispa.Gui.MenuWidget.MenuWidget::leaveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseMoveEvent(), Vispa.Gui.MenuWidget.MenuWidget::mouseMoveEvent(), Vispa.Views.LineDecayView.LineDecayContainer::mouseMoveEvent(), Vispa.Gui.VispaWidgetOwner.VispaWidgetOwner::mouseReleaseEvent(), Vispa.Views.LineDecayView.LineDecayContainer::objectMoved(), MatrixUtil.Steps::overwrite(), Vispa.Views.LineDecayView.LineDecayContainer::removeObject(), Vispa.Gui.ConnectableWidget.ConnectableWidget::removePorts(), Vispa.Gui.FindDialog.FindDialog::reset(), Vispa.Gui.PortConnection.PointToPointConnection::select(), Vispa.Gui.VispaWidget.VispaWidget::select(), Vispa.Views.LineDecayView.LineDecayContainer::select(), Vispa.Gui.VispaWidget.VispaWidget::setText(), Vispa.Gui.VispaWidget.VispaWidget::setTitle(), Vispa.Gui.ZoomableWidget.ZoomableWidget::setZoom(), Vispa.Views.LineDecayView.LineDecayContainer::setZoom(), and Vispa.Gui.PortConnection.PointToPointConnection::updateConnection().

36 {}

Member Data Documentation

double PixelTrackFilterByKinematics::theChi2Max
private

Definition at line 20 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::theNSigmaInvPtTolerance
private

Definition at line 18 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::theNSigmaTipMaxTolerance
private

Definition at line 19 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::thePtMin
private

Definition at line 18 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().

double PixelTrackFilterByKinematics::theTIPMax
private

Definition at line 19 of file PixelTrackFilterByKinematics.h.

Referenced by operator()().