diff --git a/algo/evselector/DigiEventSelector.cxx b/algo/evselector/DigiEventSelector.cxx
index 165bbca2bc929ef165dba06dddd90d4e54e570a1..4411689bfb468fa88af8bbb41233b3152c9eb5bc 100644
--- a/algo/evselector/DigiEventSelector.cxx
+++ b/algo/evselector/DigiEventSelector.cxx
@@ -38,15 +38,35 @@ namespace cbm::algo::evbuild
         case ECbmModuleId::kTof:
           if (!CheckTofLayers(event.fTof, entry.second)) return false;
           break;
-        case ECbmModuleId::kBmon:
-          if (!CheckBmonDiamonds(event.fBmon, entry.second)) return false;
-          break;
         default:
           throw std::runtime_error("Number of layers for " + ::ToString(entry.first) + " is not implemented");
           break;
       }
     }
 
+    // --- Test masked channels (if any)
+    for (auto& entry : fConfig.fMaskedChannels) {
+      size_t nDigisAccepted = 0;
+      auto det              = entry.first;
+      auto itMinNumDigis    = fConfig.fMinNumDigis.find(det);
+      if (itMinNumDigis != fConfig.fMinNumDigis.end() && itMinNumDigis->second > 0) {
+        switch (det) {
+          case ECbmModuleId::kBmon:
+            for (const auto& digi : event.fBmon) {
+              if (entry.second.find(digi.GetAddress()) == entry.second.end()) {
+                ++nDigisAccepted;
+              }
+            }
+            break;
+          default:
+            // This was met in the first block of the function
+            break;
+        }
+        if (nDigisAccepted < itMinNumDigis->second) {
+          return false;
+        }
+      }
+    }
 
     return true;
   }
@@ -131,27 +151,6 @@ namespace cbm::algo::evbuild
   // --------------------------------------------------------------------------
 
 
-  // -----   Check number of digis in selected BMON diamonds ------------------
-  bool DigiEventSelector::CheckBmonDiamonds(gsl::span<const CbmBmonDigi> digis, size_t minNum) const
-  {
-    auto itMaskedChan = fConfig.fMaskedChannels.find(ECbmModuleId::kBmon);
-    if (itMaskedChan == fConfig.fMaskedChannels.end() || itMaskedChan->second.size() == 0) {
-      return digis.size() >= minNum;
-    }
-
-    size_t nAcceptedDigis{0};
-    const auto& maskedChannels = itMaskedChan->second;
-    for (const auto& digi : digis) {
-      if (maskedChannels.find(digi.GetAddress()) == maskedChannels.end()) {
-        ++nAcceptedDigis;
-      }
-    }
-
-    return nAcceptedDigis >= minNum;
-  }
-  // --------------------------------------------------------------------------
-
-
   // -----   Info to string   -------------------------------------------------
   std::string DigiEventSelector::ToString() const
   {
diff --git a/algo/evselector/DigiEventSelector.h b/algo/evselector/DigiEventSelector.h
index b298875b06ebe346d1e51ea2e79115ddedf02c57..a8ba4d7a956157aca6d7795e6a50e0cac474e25c 100644
--- a/algo/evselector/DigiEventSelector.h
+++ b/algo/evselector/DigiEventSelector.h
@@ -74,15 +74,6 @@ namespace cbm::algo::evbuild
     bool CheckTofLayers(gsl::span<const CbmTofDigi> digis, size_t minNum) const;
 
 
-    // FIXME: apply for all detectors
-    /** @brief Test for digis in selected (=not masked) BMON diamonds
-     ** @param digis Vector of BMON digis
-     ** @param minNum Requested minimum of not masked BMON digis
-     ** @return True if the number of not masked BMON digis is above the threshold
-     **/
-    bool CheckBmonDiamonds(gsl::span<const CbmBmonDigi> digis, size_t minNum) const;
-
-
    private:                           // members
     DigiEventSelectorConfig fConfig;  ///< Configuration / parameters
     std::shared_ptr<TrackingSetup> fpTrackingSetup = nullptr;  ///< Tracking setup (access to stations info)
diff --git a/algo/evselector/DigiEventSelectorConfig.cxx b/algo/evselector/DigiEventSelectorConfig.cxx
index 7c536e3a89c161660faba1243f268fb6feb3fff0..43399c74f0c7af2d827bedb8d8deffdf313ff17f 100644
--- a/algo/evselector/DigiEventSelectorConfig.cxx
+++ b/algo/evselector/DigiEventSelectorConfig.cxx
@@ -6,6 +6,7 @@
 
 #include "AlgoFairloggerCompat.h"
 
+#include <iomanip>
 
 namespace cbm::algo::evbuild
 {
@@ -40,6 +41,10 @@ namespace cbm::algo::evbuild
         auto value = it->second.as<std::vector<uint32_t>>();
         if (value.size() > 0) {
           fMaskedChannels[det] = std::unordered_set<uint32_t>(value.begin(), value.end());
+          L_(info) << "Masking following " << ToString(det) << " channels from event selecting: ";
+          for (auto address : fMaskedChannels[det]) {
+            L_(info) << " - 0x" << std::hex << std::setw(8) << std::setfill('0') << address << std::dec;
+          }
         }
       }
     }
diff --git a/external/InstallParameter.cmake b/external/InstallParameter.cmake
index 67356a801e1a6bc37ddc8b5da7a3b9a7c0f54501..a62b27992d89947f0606d6ec9e50506fc32dd37a 100644
--- a/external/InstallParameter.cmake
+++ b/external/InstallParameter.cmake
@@ -1,4 +1,4 @@
-set(PARAMETER_VERSION 4d23b9bfddd5e61fd347ba2090fc215ea72b5f32) # 2025/02/24
+set(PARAMETER_VERSION 837c4d8a6ad72455bf5843d85360580f19700644) # 2025/03/07
 set(PARAMETER_SRC_URL "https://git.cbm.gsi.de/s.zharko/cbmroot_parameter.git")
 
 download_project_if_needed(PROJECT         Parameter_source