File indexing completed on 2024-04-06 12:05:12
0001 #ifndef DataFormats_SiStripCluster_SiStripApproximateCluster_h
0002 #define DataFormats_SiStripCluster_SiStripApproximateCluster_h
0003
0004 #include "FWCore/Utilities/interface/typedefs.h"
0005
0006 class SiStripCluster;
0007 class SiStripApproximateCluster {
0008 public:
0009 SiStripApproximateCluster() {}
0010
0011 explicit SiStripApproximateCluster(cms_uint16_t barycenter,
0012 cms_uint8_t width,
0013 cms_uint8_t avgCharge,
0014 bool filter,
0015 bool isSaturated,
0016 bool peakFilter = false)
0017 : barycenter_(barycenter),
0018 width_(width),
0019 avgCharge_(avgCharge),
0020 filter_(filter),
0021 isSaturated_(isSaturated),
0022 peakFilter_(peakFilter) {}
0023
0024 explicit SiStripApproximateCluster(const SiStripCluster& cluster,
0025 unsigned int maxNSat,
0026 float hitPredPos,
0027 bool peakFilter);
0028
0029 cms_uint16_t barycenter() const { return barycenter_; }
0030 cms_uint8_t width() const { return width_; }
0031 cms_uint8_t avgCharge() const { return avgCharge_; }
0032 bool filter() const { return filter_; }
0033 bool isSaturated() const { return isSaturated_; }
0034 bool peakFilter() const { return peakFilter_; }
0035
0036 private:
0037 cms_uint16_t barycenter_ = 0;
0038 cms_uint8_t width_ = 0;
0039 cms_uint8_t avgCharge_ = 0;
0040 bool filter_ = false;
0041 bool isSaturated_ = false;
0042 bool peakFilter_ = false;
0043 static constexpr double trimMaxADC_ = 30.;
0044 static constexpr double trimMaxFracTotal_ = .15;
0045 static constexpr double trimMaxFracNeigh_ = .25;
0046 static constexpr double maxTrimmedSizeDiffNeg_ = .7;
0047 static constexpr double maxTrimmedSizeDiffPos_ = 1.;
0048 };
0049 #endif