CMS 3D CMS Logo

LostHitsFractionTrajectoryFilter.h
Go to the documentation of this file.
1 #ifndef LostHitsFractionTrajectoryFilter_H
2 #define LostHitsFractionTrajectoryFilter_H
3 
6 
8 public:
9 
10  explicit LostHitsFractionTrajectoryFilter( float maxLostHitsFraction=999.,float constantValue=1 ):
12  theConstantValue( constantValue) {}
13 
15  theMaxLostHitsFraction = pset.getParameter<double>("maxLostHitsFraction");
16  theConstantValue = pset.getParameter<double>("constantValueForLostHitsFractionFilter");
17  }
18 
19  bool qualityFilter( const Trajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; }
21 
22  bool toBeContinued( TempTrajectory& traj) const override { return TBC<TempTrajectory>(traj);}
23  bool toBeContinued( Trajectory& traj) const override{ return TBC<Trajectory>(traj);}
24 
25  std::string name() const override{return "LostHitsFractionTrajectoryFilter";}
26 
29  desc.add<double>("maxLostHitsFraction", 999.);
30  desc.add<double>("constantValueForLostHitsFractionFilter", 1.);
31  return desc;
32  }
33 
34 protected:
35 
36  template<class T> bool TBC(T& traj) const {
37  bool ret = traj.lostHits() <= theConstantValue + theMaxLostHitsFraction*traj.foundHits();
38  if (!ret) traj.setStopReason(StopReason::LOST_HIT_FRACTION);
39  return ret;
40  }
41 
44 
45 };
46 
47 #endif
T getParameter(std::string const &) const
bool toBeContinued(Trajectory &traj) const override
bool qualityFilter(const TempTrajectory &traj) const override
bool qualityFilter(const Trajectory &traj) const override
LostHitsFractionTrajectoryFilter(float maxLostHitsFraction=999., float constantValue=1)
LostHitsFractionTrajectoryFilter(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
bool toBeContinued(TempTrajectory &traj) const override
ParameterDescriptionBase * add(U const &iLabel, T const &value)
edm::ParameterSetDescription getFilledConfigurationDescription()
long double T
static const bool qualityFilterIfNotContributing