diff --git a/configuration/python/AllenConf/primary_vertex_reconstruction.py b/configuration/python/AllenConf/primary_vertex_reconstruction.py
index 74dfa55e239e08795ad30d629eb4dcb51119ad6f..e6f21861d2b402ce5675ed1ffc51f99e58f70d78 100644
--- a/configuration/python/AllenConf/primary_vertex_reconstruction.py
+++ b/configuration/python/AllenConf/primary_vertex_reconstruction.py
@@ -123,9 +123,7 @@ def make_pvs(velo_tracks,
         dev_multi_fit_vertices_t=pv_beamline_multi_fitter.
         dev_multi_fit_vertices_t,
         dev_number_of_multi_fit_vertices_t=pv_beamline_multi_fitter.
-        dev_number_of_multi_fit_vertices_t,
-        min_histo_smogpvz=zmin - 20.,
-        max_histo_smogpvz=SMOG2_pp_separation + 20.)
+        dev_number_of_multi_fit_vertices_t)
 
     return {
         "dev_number_of_zpeaks":
diff --git a/device/PV/beamlinePV/include/pv_beamline_cleanup.cuh b/device/PV/beamlinePV/include/pv_beamline_cleanup.cuh
index 0ae5803540afa2de42f9013bd2f6a161dafa2680..6f58f633b3568895e35749f159c65113d80963f7 100644
--- a/device/PV/beamlinePV/include/pv_beamline_cleanup.cuh
+++ b/device/PV/beamlinePV/include/pv_beamline_cleanup.cuh
@@ -42,11 +42,9 @@ namespace pv_beamline_cleanup {
     Allen::Monitoring::Histogram<>::DeviceType,
     Allen::Monitoring::Histogram<>::DeviceType,
     Allen::Monitoring::Histogram<>::DeviceType,
-    Allen::Monitoring::Histogram<>::DeviceType,
     Allen::Monitoring::Histogram<>::DeviceType);
 
   struct pv_beamline_cleanup_t : public DeviceAlgorithm, Parameters {
-    void init();
     void set_arguments_size(ArgumentReferences<Parameters> arguments, const RuntimeOptions&, const Constants&) const;
 
     void operator()(
@@ -61,19 +59,12 @@ namespace pv_beamline_cleanup {
                                           "minChi2Dist",
                                           BeamlinePVConstants::CleanUp::minChi2Dist,
                                           "minimum chi2 distance"};
-    Allen::Property<unsigned> m_nbins_histo_smogpvz {this,
-                                                     "nbins_histo_smogpvz",
-                                                     100,
-                                                     "Number of bins for SMOGPVz histogram"};
-    Allen::Property<float> m_min_histo_smogpvz {this, "min_histo_smogpvz", -600.f, "Minimum of SMOGPVz histogram"};
-    Allen::Property<float> m_max_histo_smogpvz {this, "max_histo_smogpvz", -200.f, "Maximum of SMOGPVz histogram"};
 
     Allen::Monitoring::AveragingCounter<> m_pvs {this, "n_PVs"};
     Allen::Monitoring::Histogram<> m_histogram_n_pvs {this, "n_pvs_event", "n_pvs_event", {21u, -0.5f, 20.5f}};
     Allen::Monitoring::Histogram<> m_histogram_pv_x {this, "pv_x", "pv_x", {1000u, -2.f, 2.f}};
     Allen::Monitoring::Histogram<> m_histogram_pv_y {this, "pv_y", "pv_y", {1000u, -2.f, 2.f}};
-    Allen::Monitoring::Histogram<> m_histogram_pv_z {this, "pv_z", "pv_z", {1000u, -200.f, 200.f}};
+    Allen::Monitoring::Histogram<> m_histogram_pv_z {this, "pv_z", "pv_z", {2000u, -600.f, 200.f}};
     Allen::Monitoring::Histogram<> m_histogram_n_smogpvs {this, "n_smog2_PVs", "n_smog2_PVs", {10, -0.5f, 9.5f}};
-    Allen::Monitoring::Histogram<> m_histogram_smogpv_z {this, "smogpv_z", "smogpv_z", {100u, -600.f, -200.f}};
   };
 } // namespace pv_beamline_cleanup
diff --git a/device/PV/beamlinePV/src/pv_beamline_cleanup.cu b/device/PV/beamlinePV/src/pv_beamline_cleanup.cu
index e6d955c0c5e2558d2f597698dd97168328d971b1..5f73f43571021fdcb0d0b35bce8520794201d77f 100644
--- a/device/PV/beamlinePV/src/pv_beamline_cleanup.cu
+++ b/device/PV/beamlinePV/src/pv_beamline_cleanup.cu
@@ -12,13 +12,6 @@
 
 INSTANTIATE_ALGORITHM(pv_beamline_cleanup::pv_beamline_cleanup_t)
 
-void pv_beamline_cleanup::pv_beamline_cleanup_t::init()
-{
-  m_histogram_smogpv_z.x_axis().nBins = m_nbins_histo_smogpvz;
-  m_histogram_smogpv_z.x_axis().minValue = m_min_histo_smogpvz;
-  m_histogram_smogpv_z.x_axis().maxValue = m_max_histo_smogpvz;
-}
-
 void pv_beamline_cleanup::pv_beamline_cleanup_t::set_arguments_size(
   ArgumentReferences<Parameters> arguments,
   const RuntimeOptions&,
@@ -44,8 +37,7 @@ void pv_beamline_cleanup::pv_beamline_cleanup_t::operator()(
     m_histogram_n_smogpvs.data(context),
     m_histogram_pv_x.data(context),
     m_histogram_pv_y.data(context),
-    m_histogram_pv_z.data(context),
-    m_histogram_smogpv_z.data(context));
+    m_histogram_pv_z.data(context));
 }
 
 __device__ void pv_beamline_cleanup::sort_pvs_by_z(PV::Vertex* final_vertices, unsigned n_vertices)
@@ -88,8 +80,7 @@ __global__ void pv_beamline_cleanup::pv_beamline_cleanup(
   Allen::Monitoring::Histogram<>::DeviceType dev_n_smogpvs_histo,
   Allen::Monitoring::Histogram<>::DeviceType dev_pv_x_histo,
   Allen::Monitoring::Histogram<>::DeviceType dev_pv_y_histo,
-  Allen::Monitoring::Histogram<>::DeviceType dev_pv_z_histo,
-  Allen::Monitoring::Histogram<>::DeviceType dev_smogpv_z_histo)
+  Allen::Monitoring::Histogram<>::DeviceType dev_pv_z_histo)
 {
 
   __shared__ unsigned tmp_number_vertices[1];
@@ -126,16 +117,13 @@ __global__ void pv_beamline_cleanup::pv_beamline_cleanup(
       final_vertices[vtx_index] = vertex1;
 
       // monitoring
+      dev_pv_z_histo.increment(vertex1.position.z);
       if (-200 < vertex1.position.z && vertex1.position.z < 200) {
         dev_pv_x_histo.increment(vertex1.position.x);
         dev_pv_y_histo.increment(vertex1.position.y);
-        dev_pv_z_histo.increment(vertex1.position.z);
       }
 
-      if (dev_smogpv_z_histo.inAcceptance(vertex1.position.z)) {
-        dev_smogpv_z_histo.increment(vertex1.position.z);
-        atomicAdd(tmp_number_SMOG_vertices, 1);
-      }
+      if (vertex1.position.z < BeamlinePVConstants::Common::SMOG2_pp_separation) atomicAdd(tmp_number_SMOG_vertices, 1);
     }
   }
   __syncthreads();