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 
16  const MagneticField& mag,
17  const TrackerGeometry& geom,
19  const SiStripBackPlaneCorrection& BackPlaneCorrection,
20  const SiStripConfObject& confObj,
21  const SiStripLatency& latency)
22  : StripCPE(conf, mag, geom, LorentzAngle, BackPlaneCorrection, confObj, latency ),
23  tan_diffusion_angle(conf.getParameter<double>("TanDiffusionAngle")),
24  thickness_rel_err2(pow(conf.getParameter<double>("ThicknessRelativeUncertainty"), 2)),
25  noise_threshold(conf.getParameter<double>("NoiseThreshold")),
26  maybe_noise_threshold(conf.getParameter<double>("MaybeNoiseThreshold")),
27  scaling_squared(pow(conf.getParameter<double>("UncertaintyScaling"), 2)),
28  minimum_uncertainty_squared(pow(conf.getParameter<double>("MinimumUncertainty"),2))
29  {}
30 
31  private:
32 
33  const float
40 
42  public:
43  WrappedCluster(const std::vector<stats_t<float> >&);
44  void dropSmallerEdgeStrip();
46  float middle() const;
47  stats_t<float> centroid() const;
48  stats_t<float> sumQ() const;
49  stats_t<float> eta() const;
50  bool deformed() const;
53  int sign() const;
54  uint16_t N;
55  private:
56  const stats_t<float>& last() const {return *(first+N-1);}
57  std::vector<stats_t<float> >::const_iterator clusterFirst, first;
58  };
59 
60  stats_t<float> offset_from_firstStrip( const std::vector<stats_t<float> >&, const stats_t<float>&) const;
62  bool useNPlusOne(const WrappedCluster&, const stats_t<float>&) const;
63  bool useNMinusOne(const WrappedCluster&, const stats_t<float>&) const;
64  bool ambiguousSize(const WrappedCluster&, const stats_t<float>&) const;
65 
66 };
67 
68 #endif
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
stats_t< float > centroid() const
StripClusterParameterEstimator::LocalValues localParameters(const SiStripCluster &, const GeomDetUnit &, const LocalTrajectoryParameters &) 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