diff --git a/benchmarks/diffractive_vm/Snakefile b/benchmarks/diffractive_vm/Snakefile
index 0908563af4e41572610038a21a86b1984426c0c2..b7e3c2274d7d44828e58930ef4c0a4defd1b6941 100644
--- a/benchmarks/diffractive_vm/Snakefile
+++ b/benchmarks/diffractive_vm/Snakefile
@@ -138,9 +138,8 @@ root -l -b -q '{input.script}+("{input.config}")'
 
 rule diffractive_vm_run_over_campaigns:
     input:
-        "results/epic_arches/diffractive_vm/campaign_22.11.3_sartre_phi_combined_9/plots_benchmark-phi-dsigmadt.pdf",
-        "results/epic_craterlake/diffractive_vm/campaign_23.12.0_sartre_phi_combined_9/plots_benchmark-phi-dsigmadt.pdf",
         "results/epic_craterlake/diffractive_vm/campaign_24.03.1_sartre_phi_combined_9/plots_benchmark-phi-dsigmadt.pdf",
+        "results/epic_craterlake/diffractive_vm/campaign_24.08.1_sartre_phi_combined_9/plots_benchmark-phi-dsigmadt.pdf",
     message:
         "See output in {input[0]}"
 
diff --git a/benchmarks/diffractive_vm/analysis/diffractive_vm.cxx b/benchmarks/diffractive_vm/analysis/diffractive_vm.cxx
index efcac9dd3ff2f6408390a246b08cf03c24baf6bb..831badb916ea2561e0216b18bc7c675c5ec94d1b 100644
--- a/benchmarks/diffractive_vm/analysis/diffractive_vm.cxx
+++ b/benchmarks/diffractive_vm/analysis/diffractive_vm.cxx
@@ -248,43 +248,10 @@ int diffractive_vm(const std::string& config_name)
         ypos      = em_y_array[iclus];
       }
     }
-    // leading hit energy
-    double maxHitEnergy = 0.01; // threshold 10 MeV
-    double xhitpos      = -999.;
-    double yhitpos      = -999.;
-    int    hit_index    = -1;
-    for (int ihit = 0; ihit < emhits_energy_array.GetSize(); ihit++) {
-      if (emhits_energy_array[ihit] > maxHitEnergy) {
-        maxHitEnergy = emhits_energy_array[ihit];
-        xhitpos      = emhits_x_array[ihit];
-        yhitpos      = emhits_y_array[ihit];
-        hit_index    = ihit;
-      }
-    }
-    // sum over all 3x3 towers around the leading tower
-    double xClus = xhitpos * maxHitEnergy;
-    double yClus = yhitpos * maxHitEnergy;
-    for (int ihit = 0; ihit < emhits_energy_array.GetSize(); ihit++) {
-      double hitenergy = emhits_energy_array[ihit];
-      double x         = emhits_x_array[ihit];
-      double y         = emhits_y_array[ihit];
-      double d         = sqrt((x - xhitpos) * (x - xhitpos) + (y - yhitpos) * (y - yhitpos));
-      if (d < 70. && ihit != hit_index && hitenergy > 0.01) {
-        maxHitEnergy += hitenergy; // clustering around leading tower 3 crystal = 60mm.
-        xClus += x * hitenergy;
-        yClus += y * hitenergy;
-      }
-    }
 
-    h_ClusOverHit_REC->Fill(maxEnergy / maxHitEnergy);
-    // weighted average cluster position.
-    xClus         = xClus / maxHitEnergy;
-    yClus         = yClus / maxHitEnergy;
-    double radius = sqrt(xClus * xClus + yClus * yClus);
-    if (radius > 550.)
-      continue; // geometric acceptance cut
-    // 4.4% energy calibration.
-    double clusEnergy = 1.044 * maxHitEnergy;
+    double clusEnergy = maxEnergy;
+    double xClus = xpos;
+    double yClus = ypos;
 
     h_energy_REC->Fill(clusEnergy);
     // ratio of reco / truth Energy