CMS 3D CMS Logo

MaxCCCLostHitsTrajectoryFilter.h
Go to the documentation of this file.
1 #ifndef MaxCCCLostHitsTrajectoryFilter_H
2 #define MaxCCCLostHitsTrajectoryFilter_H
3 
7 
9 public:
10 
11  explicit MaxCCCLostHitsTrajectoryFilter (int maxCCCHits=0,
12  float CCC_value=0) :
13  theMaxCCCLostHits_(maxCCCHits),
14  minGoodStripCharge_(CCC_value) {}
15 
18  theMaxCCCLostHits_(pset.getParameter<int>("maxCCCLostHits")),
19  minGoodStripCharge_(clusterChargeCut(pset, "minGoodStripCharge")) {}
20 
21  bool qualityFilter( const Trajectory& traj) const override { return TrajectoryFilter::qualityFilterIfNotContributing; }
23 
24  bool toBeContinued( TempTrajectory& traj) const override { return TBC<TempTrajectory>(traj);}
25  bool toBeContinued( Trajectory& traj) const override { return TBC<Trajectory>(traj);}
26 
27  std::string name() const override {return "MaxCCCLostHitsTrajectoryFilter";}
28 
29 protected:
30 
31  template <class T> bool TBC(T& traj) const {
32  bool ret = (traj.numberOfCCCBadHits(minGoodStripCharge_) <= theMaxCCCLostHits_);
33  if (!ret) traj.setStopReason(StopReason::MAX_CCC_LOST_HITS);
34  return ret;
35  }
36 
39 };
40 
41 #endif
float clusterChargeCut(const edm::ParameterSet &conf, const char *name="clusterChargeCut")
bool toBeContinued(TempTrajectory &traj) const override
bool toBeContinued(Trajectory &traj) const override
bool qualityFilter(const Trajectory &traj) const override
MaxCCCLostHitsTrajectoryFilter(int maxCCCHits=0, float CCC_value=0)
bool qualityFilter(const TempTrajectory &traj) const override
MaxCCCLostHitsTrajectoryFilter(const edm::ParameterSet &pset, edm::ConsumesCollector &iC)
long double T
static const bool qualityFilterIfNotContributing