diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.cxx b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.cxx
index 1c401f2a009c81fd7e3658dbcbcdf229eaf9e4dd..d48e23c472a90d38dea85ba4e7738be1ebfe4cd1 100644
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.cxx
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "L2MuonSAIOMon.h"
@@ -104,10 +104,10 @@ StatusCode L2MuonSAIOMon :: fillVariablesPerOfflineMuonPerChain(const EventConte
 
 
   if( chain.find("probe") != std::string::npos ){ // L2Inside-Out efficiency using Tag&Probe chain
-    if(chain.find("L1MU14FCH")){
+    if(chain.find("L1MU14FCH") != std::string::npos){
       if ( !getTrigDecisionTool()->isPassed("HLT_mu24_ivarmedium_L1MU14FCH") ) return StatusCode::SUCCESS; // impose trigger pass in order to eliminate bias
     }
-    else if(chain.find("L1MU18VFCH")){
+    else if(chain.find("L1MU18VFCH") != std::string::npos){
       if ( !getTrigDecisionTool()->isPassed("HLT_mu24_ivarmedium_L1MU18VFCH") ) return StatusCode::SUCCESS; // impose trigger pass in order to eliminate bias
     }
     else
@@ -674,7 +674,7 @@ StatusCode L2MuonSAIOMon :: matchL2IO_wContainer(const EventContext &ctx, const
 }
 
 
-StatusCode L2MuonSAIOMon :: L2OverlapRemover( std::vector< const xAOD::L2CombinedMuon* > matchSA_L2IOobjects, std::vector< bool > &isoverlap, std::vector< bool > &passOR ) const {
+StatusCode L2MuonSAIOMon :: L2OverlapRemover( const std::vector< const xAOD::L2CombinedMuon* >& matchSA_L2IOobjects, std::vector< bool > &isoverlap, std::vector< bool > &passOR ) const {
 
   ATH_MSG_DEBUG ("L2OverlapRemover ..." );
 
@@ -856,7 +856,7 @@ bool L2MuonSAIOMon :: isOverlap( const xAOD::L2CombinedMuon* matchSA_L2IOobject1
 }
 
 
-StatusCode L2MuonSAIOMon :: chooseBestMuon( std::vector< const xAOD::L2CombinedMuon* > matchSA_L2IOobjects, std::vector< bool > &passOR, std::vector< unsigned int > &mucombResult ) const{
+StatusCode L2MuonSAIOMon :: chooseBestMuon( const std::vector< const xAOD::L2CombinedMuon* >& matchSA_L2IOobjects, std::vector< bool > &passOR, std::vector< unsigned int > &mucombResult ) const{
 
   const double ZERO_LIMIT = 1e-4;
   unsigned int i,j,k;
diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.h b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.h
index 0f99804f01c19b5723fb6772c28dfbc0726cd4fa..4bb78f733546ee97fb1f60a6db9d15ecbc4f48c9 100644
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.h
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/src/L2MuonSAIOMon.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2022 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TRIGMUONMONITORING_L2MUONSAIOMON_H
@@ -28,9 +28,9 @@ class L2MuonSAIOMon : public TrigMuonMonitorAlgorithm{
   std::map<std::string, double> m_plateaus {};
   SG::ReadHandleKey<xAOD::L2CombinedMuonContainer> m_L2MuonCBIOContainerKey {this, "L2CombinedMuonContainerName_IO", "HLT_MuonL2CBInfoIOmode", "L2MuonCBIO container"};
   StatusCode matchL2IO_wContainer(const EventContext &ctx, const std::string &chain, std::vector< const xAOD::L2CombinedMuon* > &Trig_L2IOobjects) const;
-  StatusCode L2OverlapRemover( std::vector< const xAOD::L2CombinedMuon* > matchSA_L2IOobjects, std::vector< bool > &isoverlap, std::vector< bool > &passOR ) const;
+  StatusCode L2OverlapRemover( const std::vector< const xAOD::L2CombinedMuon* >& matchSA_L2IOobjects, std::vector< bool > &isoverlap, std::vector< bool > &passOR ) const;
   bool isOverlap( const xAOD::L2CombinedMuon* matchSA_L2IOobject1, const xAOD::L2CombinedMuon* matchSA_L2IOobject2 ) const;
-  StatusCode chooseBestMuon( std::vector< const xAOD::L2CombinedMuon* > matchSA_L2IOobjects, std::vector< bool > &passOR, std::vector< unsigned int > &mucombResult ) const;
+  StatusCode chooseBestMuon( const std::vector< const xAOD::L2CombinedMuon* >& matchSA_L2IOobjects, std::vector< bool > &passOR, std::vector< unsigned int > &mucombResult ) const;
   StatusCode muCombHypo_TDTworkaround( const std::string &chain, const std::vector< const xAOD::L2CombinedMuon* >& Trig_L2IOobjects, std::vector< bool > &pass_muCombHypo ) const;
   StatusCode isPassedmuCombHypo( const std::string &chain, const xAOD::L2CombinedMuon* Trig_L2IOobjects ,bool &pass_muCombHypo) const;
   StatusCode decision_ptthreshold( const std::string &chain, std::vector< float > &my_EtaBins, std::vector< float > &my_muCombThres,