CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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,
18  const SiStripLorentzAngle& LorentzAngle,
19  const SiStripConfObject& confObj,
20  const SiStripLatency& latency)
21  : StripCPE(conf, mag, geom, LorentzAngle, 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 
30  private:
31 
32  const float
39 
41  public:
42  WrappedCluster(const std::vector<stats_t<float> >&);
43  void dropSmallerEdgeStrip();
45  float middle() const;
46  stats_t<float> centroid() const;
47  stats_t<float> sumQ() const;
48  stats_t<float> eta() const;
49  bool deformed() const;
52  int sign() const;
53  uint16_t N;
54  private:
55  const stats_t<float>& last() const {return *(first+N-1);}
56  std::vector<stats_t<float> >::const_iterator clusterFirst, first;
57  };
58 
59  stats_t<float> offset_from_firstStrip( const std::vector<stats_t<float> >&, const stats_t<float>&) const;
61  bool useNPlusOne(const WrappedCluster&, const stats_t<float>&) const;
62  bool useNMinusOne(const WrappedCluster&, const stats_t<float>&) const;
63  bool ambiguousSize(const WrappedCluster&, const stats_t<float>&) const;
64 
65 };
66 
67 #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
StripCPEgeometric(edm::ParameterSet &conf, const MagneticField &mag, const TrackerGeometry &geom, const SiStripLorentzAngle &LorentzAngle, const SiStripConfObject &confObj, const SiStripLatency &latency)
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
tuple conf
Definition: dbtoconf.py:185
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
const float thickness_rel_err2
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