CMS 3D CMS Logo

List of all members | Public Member Functions | Private Member Functions | Private Attributes
SeedExtensionTrajectoryFilter Class Referencefinal

#include <SeedExtensionTrajectoryFilter.h>

Inheritance diagram for SeedExtensionTrajectoryFilter:
TrajectoryFilter

Public Member Functions

std::string name () const override
 
bool qualityFilter (const Trajectory &traj) const override
 
bool qualityFilter (const TempTrajectory &traj) const override
 
 SeedExtensionTrajectoryFilter ()
 
 SeedExtensionTrajectoryFilter (edm::ParameterSet const &pset, edm::ConsumesCollector &)
 
bool toBeContinued (TempTrajectory &traj) const override
 
bool toBeContinued (Trajectory &traj) const override
 
- 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 ()
 

Private Member Functions

template<class T >
bool looseTBC (const T &traj) const
 
template<class T >
bool QF (const T &traj) const
 
template<class T >
bool strictTBC (const T &traj) const
 
template<class T >
bool TBC (T &traj) const
 

Private Attributes

int theExtension = 0
 
bool thePixel =false
 
bool theStrict =false
 

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

Definition at line 6 of file SeedExtensionTrajectoryFilter.h.

Constructor & Destructor Documentation

SeedExtensionTrajectoryFilter::SeedExtensionTrajectoryFilter ( )
inlineexplicit

Definition at line 9 of file SeedExtensionTrajectoryFilter.h.

9 {}
SeedExtensionTrajectoryFilter::SeedExtensionTrajectoryFilter ( edm::ParameterSet const &  pset,
edm::ConsumesCollector  
)
inlineexplicit

Definition at line 11 of file SeedExtensionTrajectoryFilter.h.

11  :
12  theStrict(pset.getParameter<bool>("strictSeedExtension")),
13  thePixel(pset.getParameter<bool>("pixelSeedExtension")),
14  theExtension(pset.getParameter<int>("seedExtension")) {}

Member Function Documentation

template<class T >
bool SeedExtensionTrajectoryFilter::looseTBC ( const T traj) const
private

Definition at line 46 of file SeedExtensionTrajectoryFilter.h.

References nhits, Trajectory::pixel(), theExtension, and thePixel.

Referenced by TBC().

46  {
47  int nhits = 0;
48  if(thePixel) {
49  for(const auto& tm: traj.measurements()) {
50  if(Trajectory::pixel(*(tm.recHit())))
51  ++nhits;
52  }
53  }
54  else {
55  nhits = traj.measurements().size();
56  }
57  return (nhits>int(traj.seedNHits())+theExtension) | (0==traj.lostHits());
58 }
static bool pixel(const TrackingRecHit &hit)
Definition: Trajectory.cc:177
std::string SeedExtensionTrajectoryFilter::name ( void  ) const
inlineoverridevirtual

Implements TrajectoryFilter.

Definition at line 22 of file SeedExtensionTrajectoryFilter.h.

Referenced by config.CFG::__str__(), and validation.Sample::digest().

22 {return "LostHitsFractionTrajectoryFilter";}
template<class T >
bool SeedExtensionTrajectoryFilter::QF ( const T traj) const
inlineprivate

Definition at line 25 of file SeedExtensionTrajectoryFilter.h.

References SEED_EXTENSION.

Referenced by qualityFilter().

25  {
26  return traj.stopReason() != StopReason::SEED_EXTENSION; // reject tracks killed by seed extension
27  }
bool SeedExtensionTrajectoryFilter::qualityFilter ( const Trajectory traj) const
inlineoverridevirtual

Implements TrajectoryFilter.

Definition at line 16 of file SeedExtensionTrajectoryFilter.h.

References QF().

16 { return QF(traj); }
bool SeedExtensionTrajectoryFilter::qualityFilter ( const TempTrajectory traj) const
inlineoverridevirtual

Implements TrajectoryFilter.

Definition at line 17 of file SeedExtensionTrajectoryFilter.h.

References QF().

17 { return QF(traj); }
template<class T >
bool SeedExtensionTrajectoryFilter::strictTBC ( const T traj) const
private

Definition at line 62 of file SeedExtensionTrajectoryFilter.h.

References createfilelist::int, nhits, theExtension, and thePixel.

Referenced by TBC().

62  {
63  const int nhits = thePixel ? traj.foundPixelHits() : traj.foundHits();
64  return nhits>=int(traj.seedNHits())+theExtension;
65 }
template<class T >
bool SeedExtensionTrajectoryFilter::TBC ( T traj) const
inlineprivate

Definition at line 29 of file SeedExtensionTrajectoryFilter.h.

References looseTBC(), SEED_EXTENSION, strictTBC(), theExtension, and theStrict.

29  {
30  if(theExtension <= 0) return true; // skipping checks explicitly when intended to be disabled is the safest way
31  const bool ret = theStrict? strictTBC(traj) : looseTBC(traj);
32  if(!ret) traj.setStopReason(StopReason::SEED_EXTENSION);
33  return ret;
34  }
bool SeedExtensionTrajectoryFilter::toBeContinued ( TempTrajectory traj) const
inlineoverridevirtual

Implements TrajectoryFilter.

Definition at line 19 of file SeedExtensionTrajectoryFilter.h.

19 { return TBC<TempTrajectory>(traj);}
bool SeedExtensionTrajectoryFilter::toBeContinued ( Trajectory traj) const
inlineoverridevirtual

Implements TrajectoryFilter.

Definition at line 20 of file SeedExtensionTrajectoryFilter.h.

20 { return TBC<Trajectory>(traj);}

Member Data Documentation

int SeedExtensionTrajectoryFilter::theExtension = 0
private

Definition at line 41 of file SeedExtensionTrajectoryFilter.h.

Referenced by looseTBC(), strictTBC(), and TBC().

bool SeedExtensionTrajectoryFilter::thePixel =false
private

Definition at line 40 of file SeedExtensionTrajectoryFilter.h.

Referenced by looseTBC(), and strictTBC().

bool SeedExtensionTrajectoryFilter::theStrict =false
private

Definition at line 39 of file SeedExtensionTrajectoryFilter.h.

Referenced by TBC().