diff --git a/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config b/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config
index 3b9c0ef32bba1fcda4f47a815294c8cdb80e12f4..5b52d19cf0165d267eeb5f600f97208ebbd97a43 100644
--- a/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config
+++ b/DataQuality/DataQualityConfigurations/config/AFP/collisions_run.config
@@ -271,6 +271,7 @@ dir AFP {
 			display = LogZ,Draw=COLZ
 			dir (?P<station>(far|near)[AC]side) {
 				regex = 1
+				algorithm = AFPSiTEfficiency
 				output = AFP/SiT/Efficiency/${station}
 				hist Efficiency_(?P=station)_P[0123] {
 				}
@@ -780,6 +781,12 @@ algorithm AFPToFEfficiency {
 	thresholds = AFPToFEfficiencyThreshold
 }
 
+algorithm AFPSiTEfficiency {
+	libname = libdqm_algorithms.so
+	name = AFP_SiTEfficiency
+	thresholds = AFPSiTEfficiencyThreshold
+}
+
 ############################################################
 # Thresholds
 ############################################################
@@ -829,3 +836,10 @@ thresholds AFPToFEfficiencyThreshold {
 		error = 3
 	}
 }
+
+thresholds AFPSiTEfficiencyThreshold {
+	limits NEfficiency {
+		warning = 85
+		error = 60
+	}
+}
\ No newline at end of file
diff --git a/DataQuality/dqm_algorithms/dqm_algorithms/AFP_SiTEfficiency.h b/DataQuality/dqm_algorithms/dqm_algorithms/AFP_SiTEfficiency.h
new file mode 100644
index 0000000000000000000000000000000000000000..8b28ea4f59ba3c3fe69b97abfa1872c9292462d7
--- /dev/null
+++ b/DataQuality/dqm_algorithms/dqm_algorithms/AFP_SiTEfficiency.h
@@ -0,0 +1,33 @@
+/*
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
+*/
+
+#ifndef DQM_Algorithms_AFP_SiTEfficiency_H
+#define DQM_Algorithms_AFP_SiTEfficiency_H
+
+#include <dqm_core/Algorithm.h>
+#include <dqm_core/AlgorithmConfig.h>
+#include <dqm_core/Result.h>
+
+#include <TObject.h>
+
+#include <map>
+#include <ostream>
+#include <string>
+#include <utility>
+#include <vector>
+
+namespace dqm_algorithms {
+    class AFP_SiTEfficiency : public dqm_core::Algorithm {
+      public:
+        AFP_SiTEfficiency();
+        ~AFP_SiTEfficiency();
+
+        AFP_SiTEfficiency* clone() override;
+        dqm_core::Result* execute( const std::string& name, const TObject& object, const dqm_core::AlgorithmConfig& config ) override;
+        void printDescriptionTo( std::ostream& out ) override;
+
+    };
+} // namespace dqm_algorithms
+
+#endif // DQM_Algorithms_AFP_SiTEfficiency_H
diff --git a/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h b/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h
index bc070a80961c5ef1d1fddb2e07ae9d43eb5eb453..e13409ca9a512002845ff511bc90938fa34f6ede 100644
--- a/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h
+++ b/DataQuality/dqm_algorithms/dqm_algorithms/dqm_algorithmsDict.h
@@ -18,6 +18,7 @@
 #include "dqm_algorithms/AFP_LBsOutOfRange.h"
 #include "dqm_algorithms/AFP_ToFSiTCorrCheck.h"
 #include "dqm_algorithms/AFP_ToFEfficiency.h"
+#include "dqm_algorithms/AFP_SiTEfficiency.h"
 #include "dqm_algorithms/All_Bins_Filled.h"
 #include "dqm_algorithms/AveragePrint.h"
 #include "dqm_algorithms/BasicGraphCheck.h"
diff --git a/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml b/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml
index e9d1904c5bbade94bc4cf1beac00551a8b834245..a84ad4287d7b62632d6d7e12302e4b522cef664b 100644
--- a/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml
+++ b/DataQuality/dqm_algorithms/dqm_algorithms/selection.xml
@@ -13,6 +13,7 @@
   <class name="dqm_algorithms::AFP_LBsOutOfRange"/>
   <class name="dqm_algorithms::AFP_ToFSiTCorrCheck"/>
   <class name="dqm_algorithms::AFP_ToFEfficiency"/>
+  <class name="dqm_algorithms::AFP_SiTEfficiency"/>
   <class name="dqm_algorithms::All_Bins_Filled"/>
   <class name="dqm_algorithms::AveragePrint"/>
   <class name="dqm_algorithms::BasicGraphCheck"/>
diff --git a/DataQuality/dqm_algorithms/src/AFP_SiTEfficiency.cxx b/DataQuality/dqm_algorithms/src/AFP_SiTEfficiency.cxx
new file mode 100644
index 0000000000000000000000000000000000000000..bf2b21a9d88649e2f1897705b2d229767cfb4976
--- /dev/null
+++ b/DataQuality/dqm_algorithms/src/AFP_SiTEfficiency.cxx
@@ -0,0 +1,74 @@
+/*
+  Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
+*/
+
+#include "dqm_algorithms/AFP_SiTEfficiency.h"
+
+#include <dqm_algorithms/tools/AlgorithmHelper.h>
+#include <dqm_core/AlgorithmManager.h>
+#include "dqm_core/AlgorithmConfig.h"
+#include <dqm_core/exceptions.h>
+
+#include <TDirectory.h>
+#include <TH1.h>
+#include <TH2.h>
+#include <TEfficiency.h>
+#include <TFile.h>
+
+namespace {
+    static dqm_algorithms::AFP_SiTEfficiency instance;
+}
+
+dqm_algorithms::AFP_SiTEfficiency::AFP_SiTEfficiency() {
+    dqm_core::AlgorithmManager::instance().registerAlgorithm( "AFP_SiTEfficiency", this );
+}
+
+dqm_algorithms::AFP_SiTEfficiency::~AFP_SiTEfficiency() {
+}
+
+dqm_algorithms::AFP_SiTEfficiency*
+dqm_algorithms::AFP_SiTEfficiency::clone() {
+    return new AFP_SiTEfficiency();
+}
+
+dqm_core::Result*
+dqm_algorithms::AFP_SiTEfficiency::execute( const std::string& name,
+                                            const TObject& object,
+                                            const dqm_core::AlgorithmConfig& config ) {
+    if ( !object.IsA()->InheritsFrom( "TEfficiency" ) ) {
+        throw dqm_core::BadConfig( ERS_HERE, name, "does not inherit from TEfficiency" );
+    }
+
+    auto histogram = static_cast<const TEfficiency*>( &object );
+
+    auto gthreshold = static_cast<uint32_t>( dqm_algorithms::tools::GetFromMap( "NEfficiency", config.getGreenThresholds() ) );
+    auto rthreshold = static_cast<uint32_t>( dqm_algorithms::tools::GetFromMap( "NEfficiency", config.getRedThresholds() ) );
+    float efficiency = 0;
+
+    TH1* h_total = histogram->GetCopyTotalHisto();
+    TH1* h_passed = histogram->GetCopyPassedHisto();
+
+    float n_total = float ( h_total->GetEntries() );
+    float n_passed = float ( h_passed->GetEntries() );
+    efficiency = n_passed/n_total*100;
+
+    auto result = new dqm_core::Result();
+
+    // publish problematic bins
+    result->tags_[ "Plane efficiency = " ] = efficiency;
+
+    if ( efficiency == 0 )
+        result->status_ = dqm_core::Result::Undefined;
+    else if ( efficiency > gthreshold )
+        result->status_ = dqm_core::Result::Green;
+    else if ( ( efficiency <= gthreshold ) && (efficiency > rthreshold) )
+        result->status_ = dqm_core::Result::Yellow;
+    else 
+        result->status_ = dqm_core::Result::Red;
+
+    return result;
+}
+
+void dqm_algorithms::AFP_SiTEfficiency::printDescriptionTo( std::ostream& out ) {
+    out << "AFP_SiTEfficiency: Print out if general plane efficiency is less than limit"<< std::endl;
+}
diff --git a/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py b/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py
index 071f512f0072ffad9ce14d0ceb4bee1bf539f285..f20ad7a273c54ca6a11fa158925a8fe1e564fc3b 100644
--- a/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py
+++ b/ForwardDetectors/AFP/Run3AFPMonitoring/python/Run3AFPExampleMonitorAlgorithm.py
@@ -234,10 +234,10 @@ if __name__=='__main__':
     # Set the Athena configuration flags
     from AthenaConfiguration.AllConfigFlags import initConfigFlags
     flags = initConfigFlags()
-    #flags.Input.Files = ['/eos/user/v/vlysenko/DQ/testing/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1']
-    flags.Input.Files = ['/eos/user/l/lvicenik/afp_data/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1']
+    flags.Input.Files = ['/eos/user/v/vlysenko/DQ/testing/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1']
+    #flags.Input.Files = ['/eos/user/l/lvicenik/afp_data/data24_13p6TeV/data24_13p6TeV.00484780.physics_Main.merge.AOD.f1514_m2248._lb0793._0003.1']
     flags.Input.isMC = False
-    flags.Output.HISTFileName = 'clean-AFPTest-24.root'
+    flags.Output.HISTFileName = 'dqm-AFPTest-24.root'
     
 
     flags.Concurrency.NumThreads=10