CMS 3D CMS Logo

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

#include <MinPtTrajectoryFilter.h>

Inheritance diagram for MinPtTrajectoryFilter:
TrajectoryFilter

Public Member Functions

 MinPtTrajectoryFilter (double ptMin, float nSigma=5.F, int nH=3)
 
 MinPtTrajectoryFilter (const edm::ParameterSet &pset)
 
virtual std::string name () const
 
virtual bool qualityFilter (const Trajectory &traj) const
 
virtual bool qualityFilter (const TempTrajectory &traj) const
 
virtual bool toBeContinued (Trajectory &traj) const
 
virtual bool toBeContinued (TempTrajectory &traj) const
 
- Public Member Functions inherited from TrajectoryFilter
virtual bool operator() (TempTrajectory &t) const
 
virtual bool operator() (Trajectory &t) const
 
virtual ~TrajectoryFilter ()
 

Protected Member Functions

bool test (const TrajectoryMeasurement &tm, int foundHits) const
 

Protected Attributes

int theMinHits
 
double theNSigma
 
double thePtMin
 

Additional Inherited Members

- Public Types inherited from TrajectoryFilter
typedef CkfComponentsRecord Record
 
- Static Public Attributes inherited from TrajectoryFilter
static const bool qualityFilterIfNotContributing =true
 
static const bool toBeContinuedIfNotContributing =true
 

Detailed Description

A TrajectoryFilter that stops reconstruction if P_t drops below some value at some confidence level. The CkfTrajectoryBuilder uses this class to implement the minimal P_t cut.

Definition at line 18 of file MinPtTrajectoryFilter.h.

Constructor & Destructor Documentation

MinPtTrajectoryFilter::MinPtTrajectoryFilter ( double  ptMin,
float  nSigma = 5.F,
int  nH = 3 
)
inlineexplicit
MinPtTrajectoryFilter::MinPtTrajectoryFilter ( const edm::ParameterSet pset)
inlineexplicit

Definition at line 23 of file MinPtTrajectoryFilter.h.

23  :
24  thePtMin(pset.getParameter<double>("minPt")),
25  theNSigma(pset.getParameter<double>("nSigmaMinPt")),
26  theMinHits(pset.getParameter<int>("minHitsMinPt")){}
T getParameter(std::string const &) const

Member Function Documentation

virtual std::string MinPtTrajectoryFilter::name ( void  ) const
inlinevirtual

Implements TrajectoryFilter.

Definition at line 35 of file MinPtTrajectoryFilter.h.

35 {return "MinPtTrajectoryFilter";}
virtual bool MinPtTrajectoryFilter::qualityFilter ( const Trajectory traj) const
inlinevirtual

Implements TrajectoryFilter.

Definition at line 29 of file MinPtTrajectoryFilter.h.

References Trajectory::foundHits(), Trajectory::lastMeasurement(), and test().

Referenced by CkfBaseTrajectoryFilter::QF().

29 { return test(traj.lastMeasurement(),traj.foundHits()); }
bool test(const TrajectoryMeasurement &tm, int foundHits) const
int foundHits() const
Definition: Trajectory.h:224
TrajectoryMeasurement const & lastMeasurement() const
Definition: Trajectory.h:181
virtual bool MinPtTrajectoryFilter::qualityFilter ( const TempTrajectory traj) const
inlinevirtual

Implements TrajectoryFilter.

Definition at line 30 of file MinPtTrajectoryFilter.h.

References TempTrajectory::foundHits(), TempTrajectory::lastMeasurement(), and test().

30 { return test(traj.lastMeasurement(),traj.foundHits()); }
bool test(const TrajectoryMeasurement &tm, int foundHits) const
int foundHits() const
obsolete name, use measurements() instead.
const TrajectoryMeasurement & lastMeasurement() const
bool MinPtTrajectoryFilter::test ( const TrajectoryMeasurement tm,
int  foundHits 
) const
inlineprotected

Definition at line 39 of file MinPtTrajectoryFilter.h.

References TrajectoryStateOnSurface::freeTrajectoryState(), TrajectoryStateAccessor::inversePtError(), FreeTrajectoryState::momentum(), FreeTrajectoryState::parameters(), PV3DBase< T, PVType, FrameType >::perp(), theMinHits, theNSigma, thePtMin, TrajectoryMeasurement::updatedState(), and GlobalTrajectoryParameters::vector().

Referenced by qualityFilter(), and toBeContinued().

40  {
41  //first check min number of hits
42  if (foundHits < theMinHits ){ return true;}
43 
44  // check for momentum below limit
46 
47  //avoid doing twice the check in TBC and QF
48  static bool answerMemory=false;
49  static FreeTrajectoryState ftsMemory;
50  if (ftsMemory.parameters().vector() == fts.parameters().vector()) { return answerMemory;}
51  ftsMemory=fts;
52 
53  //if p_T is way too small: stop
54  double pT = fts.momentum().perp();
55  if (pT<0.010) {answerMemory=false; return false;}
56  //if error is way too big: stop
57  double invError = TrajectoryStateAccessor(fts).inversePtError();
58  if (invError > 1.e10) {answerMemory=false;return false;}
59 
60  //calculate the actual pT cut:
61  if ((1/pT - theNSigma*invError) > 1/thePtMin) {answerMemory=false; return false;}
62  // first term if the max value of pT (pT+N*sigma(pT))
63  // second tern is the cut
64 
65  answerMemory=true; return true;
66  }
T perp() const
Definition: PV3DBase.h:71
const GlobalTrajectoryParameters & parameters() const
FreeTrajectoryState * freeTrajectoryState(bool withErrors=true) const
TrajectoryStateOnSurface updatedState() const
GlobalVector momentum() const
AlgebraicVector6 vector() const
virtual bool MinPtTrajectoryFilter::toBeContinued ( Trajectory traj) const
inlinevirtual

Implements TrajectoryFilter.

Definition at line 32 of file MinPtTrajectoryFilter.h.

References Trajectory::foundHits(), Trajectory::lastMeasurement(), and test().

Referenced by CkfBaseTrajectoryFilter::TBC(), and RegionalTrajectoryFilter::toBeContinued().

32 {return test(traj.lastMeasurement(),traj.foundHits()); }
bool test(const TrajectoryMeasurement &tm, int foundHits) const
int foundHits() const
Definition: Trajectory.h:224
TrajectoryMeasurement const & lastMeasurement() const
Definition: Trajectory.h:181
virtual bool MinPtTrajectoryFilter::toBeContinued ( TempTrajectory traj) const
inlinevirtual

Implements TrajectoryFilter.

Definition at line 33 of file MinPtTrajectoryFilter.h.

References TempTrajectory::foundHits(), TempTrajectory::lastMeasurement(), and test().

33 { return test(traj.lastMeasurement(),traj.foundHits()); }
bool test(const TrajectoryMeasurement &tm, int foundHits) const
int foundHits() const
obsolete name, use measurements() instead.
const TrajectoryMeasurement & lastMeasurement() const

Member Data Documentation

int MinPtTrajectoryFilter::theMinHits
protected

Definition at line 70 of file MinPtTrajectoryFilter.h.

Referenced by test().

double MinPtTrajectoryFilter::theNSigma
protected

Definition at line 69 of file MinPtTrajectoryFilter.h.

Referenced by test().

double MinPtTrajectoryFilter::thePtMin
protected

Definition at line 68 of file MinPtTrajectoryFilter.h.

Referenced by test().