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()};