![]() |
![]() |
#include <MinPtTrajectoryFilter.h>
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 (TempTrajectory &traj) const |
virtual bool | toBeContinued (Trajectory &traj) const |
Protected Member Functions | |
bool | test (const TrajectoryMeasurement &tm, int foundHits) const |
Protected Attributes | |
int | theMinHits |
double | theNSigma |
double | thePtMin |
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.
MinPtTrajectoryFilter::MinPtTrajectoryFilter | ( | double | ptMin, |
float | nSigma = 5.F , |
||
int | nH = 3 |
||
) | [inline, explicit] |
Definition at line 21 of file MinPtTrajectoryFilter.h.
: thePtMin( ptMin), theNSigma(nSigma), theMinHits(nH) {}
MinPtTrajectoryFilter::MinPtTrajectoryFilter | ( | const edm::ParameterSet & | pset | ) | [inline, explicit] |
Definition at line 23 of file MinPtTrajectoryFilter.h.
: thePtMin(pset.getParameter<double>("minPt")), theNSigma(pset.getParameter<double>("nSigmaMinPt")), theMinHits(pset.getParameter<int>("minHitsMinPt")){}
virtual std::string MinPtTrajectoryFilter::name | ( | void | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 35 of file MinPtTrajectoryFilter.h.
{return "MinPtTrajectoryFilter";}
virtual bool MinPtTrajectoryFilter::qualityFilter | ( | const Trajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 29 of file MinPtTrajectoryFilter.h.
References Trajectory::foundHits(), Trajectory::lastMeasurement(), and test().
Referenced by CkfBaseTrajectoryFilter::QF().
{ return test(traj.lastMeasurement(),traj.foundHits()); }
virtual bool MinPtTrajectoryFilter::qualityFilter | ( | const TempTrajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 30 of file MinPtTrajectoryFilter.h.
References TempTrajectory::foundHits(), TempTrajectory::lastMeasurement(), and test().
{ return test(traj.lastMeasurement(),traj.foundHits()); }
bool MinPtTrajectoryFilter::test | ( | const TrajectoryMeasurement & | tm, |
int | foundHits | ||
) | const [inline, protected] |
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().
{ //first check min number of hits if (foundHits < theMinHits ){ return true;} // check for momentum below limit const FreeTrajectoryState& fts = *tm.updatedState().freeTrajectoryState(); //avoid doing twice the check in TBC and QF static bool answerMemory=false; static FreeTrajectoryState ftsMemory; if (ftsMemory.parameters().vector() == fts.parameters().vector()) { return answerMemory;} ftsMemory=fts; //if p_T is way too small: stop double pT = fts.momentum().perp(); if (pT<0.010) {answerMemory=false; return false;} //if error is way too big: stop double invError = TrajectoryStateAccessor(fts).inversePtError(); if (invError > 1.e10) {answerMemory=false;return false;} //calculate the actual pT cut: if ((1/pT - theNSigma*invError) > 1/thePtMin) {answerMemory=false; return false;} // first term if the max value of pT (pT+N*sigma(pT)) // second tern is the cut answerMemory=true; return true; }
virtual bool MinPtTrajectoryFilter::toBeContinued | ( | TempTrajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 33 of file MinPtTrajectoryFilter.h.
References TempTrajectory::foundHits(), TempTrajectory::lastMeasurement(), and test().
{ return test(traj.lastMeasurement(),traj.foundHits()); }
virtual bool MinPtTrajectoryFilter::toBeContinued | ( | Trajectory & | traj | ) | const [inline, virtual] |
Implements TrajectoryFilter.
Definition at line 32 of file MinPtTrajectoryFilter.h.
References Trajectory::foundHits(), Trajectory::lastMeasurement(), and test().
Referenced by CkfBaseTrajectoryFilter::TBC(), and RegionalTrajectoryFilter::toBeContinued().
{return test(traj.lastMeasurement(),traj.foundHits()); }
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().