CMS 3D CMS Logo

StripCPEgeometric.h
Go to the documentation of this file.
1 #ifndef RecoLocalTracker_SiStripRecHitConverter_StripCPEgeometric_H
2 #define RecoLocalTracker_SiStripRecHitConverter_StripCPEgeometric_H
3 
6 
7 class StripCPEgeometric : public StripCPE {
8 public:
11  const GeomDetUnit&,
12  const LocalTrajectoryParameters&) const override;
13 
15  const MagneticField& mag,
16  const TrackerGeometry& geom,
18  const SiStripBackPlaneCorrection& BackPlaneCorrection,
19  const SiStripConfObject& confObj,
20  const SiStripLatency& latency)
21  : StripCPE(conf, mag, geom, LorentzAngle, BackPlaneCorrection, confObj, latency),
22  tan_diffusion_angle(conf.getParameter<double>("TanDiffusionAngle")),
23  thickness_rel_err2(pow(conf.getParameter<double>("ThicknessRelativeUncertainty"), 2)),
24  noise_threshold(conf.getParameter<double>("NoiseThreshold")),
25  maybe_noise_threshold(conf.getParameter<double>("MaybeNoiseThreshold")),
26  scaling_squared(pow(conf.getParameter<double>("UncertaintyScaling"), 2)),
27  minimum_uncertainty_squared(pow(conf.getParameter<double>("MinimumUncertainty"), 2)) {}
28 
29 private:
32 
34  public:
36  void dropSmallerEdgeStrip();
38  float middle() const;
39  stats_t<float> centroid() const;
40  stats_t<float> sumQ() const;
41  stats_t<float> eta() const;
42  bool deformed() const;
45  int sign() const;
46  uint16_t N;
47 
48  private:
49  const stats_t<float>& last() const { return *(first + N - 1); }
50  std::vector<stats_t<float> >::const_iterator clusterFirst, first;
51  };
52 
55  bool useNPlusOne(const WrappedCluster&, const stats_t<float>&) const;
56  bool useNMinusOne(const WrappedCluster&, const stats_t<float>&) const;
57  bool ambiguousSize(const WrappedCluster&, const stats_t<float>&) const;
58 };
59 
60 #endif
std::pair< LocalPoint, LocalError > LocalValues
WrappedCluster(const std::vector< stats_t< float > > &)
const stats_t< float > & last() const
stats_t< float > centroid() const
stats_t< float > maxProjection() const
stats_t< float > offset_from_firstStrip(const std::vector< stats_t< float > > &, const stats_t< float > &) const
stats_t< float > smallerEdgeStrip() const
const float scaling_squared
bool ambiguousSize(const WrappedCluster &, const stats_t< float > &) const
stats_t< float > geometric_position(const WrappedCluster &, const stats_t< float > &) const
StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &, const GeomDetUnit &, const LocalTrajectoryParameters &) const override
StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &cl, const GeomDetUnit &) const override
Definition: StripCPE.cc:62
const float maybe_noise_threshold
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
const float minimum_uncertainty_squared
const float tan_diffusion_angle
StripCPEgeometric(edm::ParameterSet &conf, const MagneticField &mag, const TrackerGeometry &geom, const SiStripLorentzAngle &LorentzAngle, const SiStripBackPlaneCorrection &BackPlaneCorrection, const SiStripConfObject &confObj, const SiStripLatency &latency)
const float thickness_rel_err2
bool useNMinusOne(const WrappedCluster &, const stats_t< float > &) const
const float noise_threshold
std::vector< stats_t< float > >::const_iterator first
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:29
std::vector< stats_t< float > >::const_iterator clusterFirst
bool useNPlusOne(const WrappedCluster &, const stats_t< float > &) const