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 {
9 
10  public:
11 
14  localParameters( const SiStripCluster&, const GeomDetUnit&, const LocalTrajectoryParameters&) const override;
15 
17  const MagneticField& mag,
18  const TrackerGeometry& geom,
20  const SiStripBackPlaneCorrection& BackPlaneCorrection,
21  const SiStripConfObject& confObj,
22  const SiStripLatency& latency)
23  : StripCPE(conf, mag, geom, LorentzAngle, BackPlaneCorrection, confObj, latency ),
24  tan_diffusion_angle(conf.getParameter<double>("TanDiffusionAngle")),
25  thickness_rel_err2(pow(conf.getParameter<double>("ThicknessRelativeUncertainty"), 2)),
26  noise_threshold(conf.getParameter<double>("NoiseThreshold")),
27  maybe_noise_threshold(conf.getParameter<double>("MaybeNoiseThreshold")),
28  scaling_squared(pow(conf.getParameter<double>("UncertaintyScaling"), 2)),
29  minimum_uncertainty_squared(pow(conf.getParameter<double>("MinimumUncertainty"),2))
30  {}
31 
32  private:
33 
34  const float
41 
43  public:
44  WrappedCluster(const std::vector<stats_t<float> >&);
45  void dropSmallerEdgeStrip();
47  float middle() const;
48  stats_t<float> centroid() const;
49  stats_t<float> sumQ() const;
50  stats_t<float> eta() const;
51  bool deformed() const;
54  int sign() const;
55  uint16_t N;
56  private:
57  const stats_t<float>& last() const {return *(first+N-1);}
58  std::vector<stats_t<float> >::const_iterator clusterFirst, first;
59  };
60 
61  stats_t<float> offset_from_firstStrip( const std::vector<stats_t<float> >&, const stats_t<float>&) const;
63  bool useNPlusOne(const WrappedCluster&, const stats_t<float>&) const;
64  bool useNMinusOne(const WrappedCluster&, const stats_t<float>&) const;
65  bool ambiguousSize(const WrappedCluster&, const stats_t<float>&) const;
66 
67 };
68 
69 #endif
StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &, const GeomDetUnit &, const LocalTrajectoryParameters &) const override
WrappedCluster(const std::vector< stats_t< float > > &)
T mag() const
The vector magnitude. Equivalent to sqrt(vec.mag2())
stats_t< float > smallerEdgeStrip() const
const float scaling_squared
std::pair< LocalPoint, LocalError > LocalValues
StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &cl, const GeomDetUnit &) const override
Definition: StripCPE.cc:65
stats_t< float > centroid() const
stats_t< float > geometric_position(const WrappedCluster &, const stats_t< float > &) const
stats_t< float > sumQ() const
stats_t< float > offset_from_firstStrip(const std::vector< stats_t< float > > &, const stats_t< float > &) const
const float maybe_noise_threshold
bool useNPlusOne(const WrappedCluster &, const stats_t< float > &) const
const float minimum_uncertainty_squared
bool ambiguousSize(const WrappedCluster &, const stats_t< float > &) const
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
latency
hardware algo
const stats_t< float > & last() const
const float noise_threshold
stats_t< float > maxProjection() const
std::vector< stats_t< float > >::const_iterator first
Power< A, B >::type pow(const A &a, const B &b)
Definition: Power.h:40
std::vector< stats_t< float > >::const_iterator clusterFirst
bool useNMinusOne(const WrappedCluster &, const stats_t< float > &) const