CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
Chi2ChargeMeasurementEstimator.h
Go to the documentation of this file.
1 #ifndef CommonDet_Chi2ChargeMeasurementEstimator_H
2 #define CommonDet_Chi2ChargeMeasurementEstimator_H
3 
18 class SiStripCluster;
19 class TrackingRecHit;
21 public:
22 
28  explicit Chi2ChargeMeasurementEstimator(double maxChi2, double nSigma,
29  bool cutOnPixelCharge, bool cutOnStripCharge, double minGoodPixelCharge, double minGoodStripCharge,
30  float pTChargeCutThreshold = 100000.) :
31  Chi2MeasurementEstimator( maxChi2, nSigma), cutOnPixelCharge_(cutOnPixelCharge),
32  cutOnStripCharge_(cutOnStripCharge), minGoodPixelCharge_(minGoodPixelCharge),
33  minGoodStripCharge_(minGoodStripCharge) {
34  if (pTChargeCutThreshold>=0.) pTChargeCutThreshold_=pTChargeCutThreshold;
35  else pTChargeCutThreshold_=100000;
36  }
37 
39  virtual std::pair<bool,double> estimate(const TrajectoryStateOnSurface&,
40  const TrackingRecHit&) const;
41 
42 
44  return new Chi2ChargeMeasurementEstimator(*this);
45  }
46 private:
52  inline double minGoodCharge(int subdet) const {return (subdet>2?minGoodStripCharge_:minGoodPixelCharge_);}
53 
54  bool thickSensors (const SiStripDetId& detid) const;
55 
56  float sensorThickness (const DetId& detid) const;
57  bool checkClusterCharge(const OmniClusterRef::ClusterStripRef cluster, float chargeCut) const;
58  bool checkCharge(const TrackingRecHit& aRecHit, int subdet, float chargeCut) const;
59 
60 };
61 
62 #endif
#define GCC11_FINAL
virtual std::pair< bool, double > estimate(const TrajectoryStateOnSurface &, const TrackingRecHit &) const
bool checkCharge(const TrackingRecHit &aRecHit, int subdet, float chargeCut) const
virtual Chi2ChargeMeasurementEstimator * clone() const
float sensorThickness(const DetId &detid) const
Detector identifier class for the strip tracker.
Definition: SiStripDetId.h:17
Definition: DetId.h:18
Chi2ChargeMeasurementEstimator(double maxChi2, double nSigma, bool cutOnPixelCharge, bool cutOnStripCharge, double minGoodPixelCharge, double minGoodStripCharge, float pTChargeCutThreshold=100000.)
bool checkClusterCharge(const OmniClusterRef::ClusterStripRef cluster, float chargeCut) const
virtual std::pair< bool, double > estimate(const TrajectoryStateOnSurface &, const TrackingRecHit &) const
bool thickSensors(const SiStripDetId &detid) const