diff --git a/DataFormats/SiStripCluster/BuildFile.xml b/DataFormats/SiStripCluster/BuildFile.xml index 98341fd03c3a7..dc810d81b42bc 100644 --- a/DataFormats/SiStripCluster/BuildFile.xml +++ b/DataFormats/SiStripCluster/BuildFile.xml @@ -2,6 +2,7 @@ + diff --git a/DataFormats/SiStripCluster/interface/SiStripApproximateCluster.h b/DataFormats/SiStripCluster/interface/SiStripApproximateCluster.h index 159820b3618f4..8ff3317666376 100644 --- a/DataFormats/SiStripCluster/interface/SiStripApproximateCluster.h +++ b/DataFormats/SiStripCluster/interface/SiStripApproximateCluster.h @@ -1,19 +1,17 @@ -#ifndef DATAFORMATS_SISTRIPAPPROXIMATECLUSTER_H -#define DATAFORMATS_SISTRIPAPPROXIMATECLUSTER_H +#ifndef DataFormats_SiStripCluster_SiStripApproximateCluster_h +#define DataFormats_SiStripCluster_SiStripApproximateCluster_h -#include -#include -#include -#include - -#include "DataFormats/SiStripCluster/interface/SiStripCluster.h" +#include "FWCore/Utilities/interface/typedefs.h" class SiStripCluster; class SiStripApproximateCluster { public: SiStripApproximateCluster() {} - explicit SiStripApproximateCluster(float barycenter, uint8_t width, float avgCharge, bool isSaturated) { + explicit SiStripApproximateCluster(cms_uint16_t barycenter, + cms_uint8_t width, + cms_uint8_t avgCharge, + bool isSaturated) { barycenter_ = barycenter; width_ = width; avgCharge_ = avgCharge; @@ -22,15 +20,15 @@ class SiStripApproximateCluster { explicit SiStripApproximateCluster(const SiStripCluster& cluster, unsigned int maxNSat); - float barycenter() const { return barycenter_; } - uint8_t width() const { return width_; } - float avgCharge() const { return avgCharge_; } + cms_uint16_t barycenter() const { return barycenter_; } + cms_uint8_t width() const { return width_; } + cms_uint8_t avgCharge() const { return avgCharge_; } bool isSaturated() const { return isSaturated_; } private: - float barycenter_ = 0; - uint8_t width_ = 0; - float avgCharge_ = 0; + cms_uint16_t barycenter_ = 0; + cms_uint8_t width_ = 0; + cms_uint8_t avgCharge_ = 0; bool isSaturated_ = false; }; -#endif // DATAFORMATS_SiStripApproximateCluster_H +#endif // DataFormats_SiStripCluster_SiStripApproximateCluster_h diff --git a/DataFormats/SiStripCluster/src/SiStripApproximateCluster.cc b/DataFormats/SiStripCluster/src/SiStripApproximateCluster.cc index 8d3d9dc0b3bb1..10a7c29c2f60c 100644 --- a/DataFormats/SiStripCluster/src/SiStripApproximateCluster.cc +++ b/DataFormats/SiStripCluster/src/SiStripApproximateCluster.cc @@ -1,7 +1,10 @@ #include "DataFormats/SiStripCluster/interface/SiStripApproximateCluster.h" +#include "DataFormats/SiStripCluster/interface/SiStripCluster.h" +#include +#include SiStripApproximateCluster::SiStripApproximateCluster(const SiStripCluster& cluster, unsigned int maxNSat) { - barycenter_ = cluster.barycenter(); + barycenter_ = std::round(cluster.barycenter() * 10); width_ = cluster.size(); avgCharge_ = cluster.charge() / cluster.size(); isSaturated_ = false; diff --git a/DataFormats/SiStripCluster/src/SiStripCluster.cc b/DataFormats/SiStripCluster/src/SiStripCluster.cc index 6e3431d9ce9df..3d02bf727648e 100644 --- a/DataFormats/SiStripCluster/src/SiStripCluster.cc +++ b/DataFormats/SiStripCluster/src/SiStripCluster.cc @@ -23,7 +23,7 @@ SiStripCluster::SiStripCluster(const SiStripDigiRange& range) : firstStrip_(rang } SiStripCluster::SiStripCluster(const SiStripApproximateCluster cluster, const uint16_t maxStrips) : error_x(-99999.9) { - barycenter_ = cluster.barycenter(); + barycenter_ = cluster.barycenter() / 10.0; charge_ = cluster.width() * cluster.avgCharge(); amplitudes_.resize(cluster.width(), cluster.avgCharge()); diff --git a/DataFormats/SiStripCluster/src/classes_def.xml b/DataFormats/SiStripCluster/src/classes_def.xml index c145107c3afe4..ee5d79f1fd266 100755 --- a/DataFormats/SiStripCluster/src/classes_def.xml +++ b/DataFormats/SiStripCluster/src/classes_def.xml @@ -24,7 +24,8 @@ - + + diff --git a/RecoLocalTracker/SiStripClusterizer/plugins/SiStripApprox2Clusters.cc b/RecoLocalTracker/SiStripClusterizer/plugins/SiStripApprox2Clusters.cc index ad2bbd85d6aaa..3dc01b9311077 100644 --- a/RecoLocalTracker/SiStripClusterizer/plugins/SiStripApprox2Clusters.cc +++ b/RecoLocalTracker/SiStripClusterizer/plugins/SiStripApprox2Clusters.cc @@ -41,7 +41,7 @@ void SiStripApprox2Clusters::produce(edm::StreamID id, edm::Event& event, const const auto& clusterCollection = event.get(clusterToken_); const auto& tkGeom = &iSetup.getData(tkGeomToken_); - const auto tkDets = tkGeom->dets(); + const auto& tkDets = tkGeom->dets(); for (const auto& detClusters : clusterCollection) { edmNew::DetSetVector::FastFiller ff{*result, detClusters.id()};