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 Referencefinal

#include <MinPtTrajectoryFilter.h>

Inheritance diagram for MinPtTrajectoryFilter:
TrajectoryFilter

Public Member Functions

 MinPtTrajectoryFilter (float ptMin, float nSigma=5.F, int nH=3)
 
 MinPtTrajectoryFilter (const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
 
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 void setEvent (const edm::Event &iEvent, const edm::EventSetup &iSetup)
 
virtual ~TrajectoryFilter ()
 

Protected Member Functions

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

Protected Attributes

float theInvPtMin
 
int theMinHits
 
float theNSigma
 
float thePtMin2
 

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 ( float  ptMin,
float  nSigma = 5.F,
int  nH = 3 
)
inlineexplicit
MinPtTrajectoryFilter::MinPtTrajectoryFilter ( const edm::ParameterSet pset,
edm::ConsumesCollector iC 
)
inlineexplicit

Definition at line 25 of file MinPtTrajectoryFilter.h.

References thePtMin2.

25  :
26  thePtMin2(pset.getParameter<double>("minPt")),
28  theNSigma(pset.getParameter<double>("nSigmaMinPt")),
29  theMinHits(pset.getParameter<int>("minHitsMinPt")){thePtMin2*=thePtMin2;}
T getParameter(std::string const &) const
double f[11][100]

Member Function Documentation

virtual std::string MinPtTrajectoryFilter::name ( void  ) const
inlinevirtual
virtual bool MinPtTrajectoryFilter::qualityFilter ( const Trajectory traj) const
inlinevirtual

Implements TrajectoryFilter.

Definition at line 32 of file MinPtTrajectoryFilter.h.

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

32 { return test(traj.lastMeasurement(),traj.foundHits()); }
bool test(const TrajectoryMeasurement &tm, int foundHits) const
int foundHits() const
Definition: Trajectory.h:234
TrajectoryMeasurement const & lastMeasurement() const
Definition: Trajectory.h:181
virtual bool MinPtTrajectoryFilter::qualityFilter ( const 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
const TrajectoryMeasurement & lastMeasurement() const
bool MinPtTrajectoryFilter::test ( const TrajectoryMeasurement tm,
int  foundHits 
) const
protected

Definition at line 14 of file MinPtTrajectoryFilter.cc.

References f, PV3DBase< T, PVType, FrameType >::perp2(), mathSSE::sqrt(), theInvPtMin, theMinHits, theNSigma, thePtMin2, and TrajectoryMeasurement::updatedState().

Referenced by qualityFilter(), and toBeContinued().

15  {
16  //first check min number of hits
17  if (foundHits < theMinHits ){ return true;}
18 
19  // check for momentum below limit
20  // const FreeTrajectoryState& fts = *tm.updatedState().freeTrajectoryState();
21 
22  auto const & tsos = tm.updatedState();
23  GlobalVector gtp = tsos.globalMomentum();
24 
25  //avoid doing twice the check in TBC and QF
26 
27 
28  if ( gtp == tls.ftsMemory) { return tls.answerMemory;}
29  tls.ftsMemory= gtp;
30 
31  auto pT2 = gtp.perp2();
32 
33  //if p_T is way too small: stop
34  if (pT2<0.0010f) {tls.answerMemory=false; return false;}
35 
36  // if large enouth go
37  if (pT2> thePtMin2) { tls.answerMemory=true; return true;}
38 
39  //if error is way too big: stop
40  float invError = TrajectoryStateAccessor(*tsos.freeTrajectoryState()).inversePtError();
41  if (invError > 1.e10f) {tls.answerMemory=false;return false;}
42 
43  //calculate the actual pT cut:
44  if ((1.f/std::sqrt(pT2) - theNSigma*invError) > theInvPtMin ) {tls.answerMemory=false; return false;}
45  // first term if the max value of pT (pT+N*sigma(pT))
46  // second tern is the cut
47 
48  tls.answerMemory=true; return true;
49  }
T perp2() const
Definition: PV3DBase.h:71
T sqrt(T t)
Definition: SSEVec.h:48
double f[11][100]
TrajectoryStateOnSurface const & updatedState() const
virtual bool MinPtTrajectoryFilter::toBeContinued ( Trajectory traj) const
inlinevirtual

Implements TrajectoryFilter.

Definition at line 35 of file MinPtTrajectoryFilter.h.

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

Referenced by RegionalTrajectoryFilter::toBeContinued().

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

Implements TrajectoryFilter.

Definition at line 36 of file MinPtTrajectoryFilter.h.

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

36 { return test(traj.lastMeasurement(),traj.foundHits()); }
bool test(const TrajectoryMeasurement &tm, int foundHits) const
int foundHits() const
const TrajectoryMeasurement & lastMeasurement() const

Member Data Documentation

float MinPtTrajectoryFilter::theInvPtMin
protected

Definition at line 45 of file MinPtTrajectoryFilter.h.

Referenced by test().

int MinPtTrajectoryFilter::theMinHits
protected

Definition at line 47 of file MinPtTrajectoryFilter.h.

Referenced by test().

float MinPtTrajectoryFilter::theNSigma
protected

Definition at line 46 of file MinPtTrajectoryFilter.h.

Referenced by test().

float MinPtTrajectoryFilter::thePtMin2
protected

Definition at line 44 of file MinPtTrajectoryFilter.h.

Referenced by MinPtTrajectoryFilter(), and test().