diff --git a/benchmarks/dis/analysis/dis_analysis_raw.cxx b/benchmarks/dis/analysis/dis_analysis_raw.cxx
index 53326e488642d57b55b401c076fb0d754aac9c0c..497e8fcdf0ca58c7c36182163d95aff7adeddd83 100644
--- a/benchmarks/dis/analysis/dis_analysis_raw.cxx
+++ b/benchmarks/dis/analysis/dis_analysis_raw.cxx
@@ -456,7 +456,32 @@ int dis_electrons_raw(const std::string& config_name)
     c.Print(fmt::format("{}HcalRawHits_n.png", output_prefix).c_str());
   }
 
-  common_bench::write_test({dis_Q2_resolution}, fmt::format("{}dis_electrons.json", output_prefix));
+  auto stats_n_EcalEndcapPRawHits = d.Stats("n_EcalEndcapPRawHits");
+  auto stats_n_EcalBarrelImagingRawHits = d.Stats("n_EcalBarrelImagingRawHits");
+  auto stats_n_EcalBarrelScFiRawHits = d.Stats("n_EcalBarrelScFiRawHits");
+  auto stats_n_EcalEndcapNRawHits = d.Stats("n_EcalEndcapNRawHits");
+  auto stats_n_HcalEndcapPRawHits = d.Stats("n_HcalEndcapPRawHits");
+  auto stats_n_HcalBarrelRawHits  = d.Stats("n_HcalBarrelRawHits");
+  auto stats_n_HcalEndcapNRawHits = d.Stats("n_HcalEndcapNRawHits");
+  if (
+    stats_n_EcalEndcapPRawHits->GetMean() < 0.8 ||
+    stats_n_EcalBarrelImagingRawHits->GetMean() < 0.8 ||
+    stats_n_EcalBarrelScFiRawHits->GetMean() < 0.8 ||
+    stats_n_EcalEndcapNRawHits->GetMean() < 0.8 ||
+    stats_n_HcalEndcapPRawHits->GetMean() < 0.8 ||
+    stats_n_HcalBarrelRawHits->GetMean() < 0.8 ||
+    stats_n_HcalEndcapNRawHits->GetMean() < 0.8
+   ) {
+    std::cout << "Error: too few raw hits per events " << std::endl;
+    stats_n_EcalEndcapPRawHits->Print();
+    stats_n_EcalBarrelImagingRawHits->Print();
+    stats_n_EcalBarrelScFiRawHits->Print();
+    stats_n_EcalEndcapNRawHits->Print();
+    stats_n_HcalEndcapPRawHits->Print();
+    stats_n_HcalBarrelRawHits->Print();
+    stats_n_HcalEndcapNRawHits->Print();
+    return -1;
+  }
 
   return 0;
 }