diff --git a/Trigger/TrigAnalysis/TrigMuonMatching/Root/TrigMuonMatching.cxx b/Trigger/TrigAnalysis/TrigMuonMatching/Root/TrigMuonMatching.cxx
index 062535a4c4bac606e91a3ebff9e83471a111a211..152f93804baecd6dc68cad8e7d670bd906d7f212 100644
--- a/Trigger/TrigAnalysis/TrigMuonMatching/Root/TrigMuonMatching.cxx
+++ b/Trigger/TrigAnalysis/TrigMuonMatching/Root/TrigMuonMatching.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #include "TrigMuonMatching/TrigMuonMatching.h"
@@ -40,21 +40,21 @@ namespace Trig {
 
   Bool_t TrigMuonMatching::match(const xAOD::Muon* mu,
 				 const std::string &chain,
-				 const double mindelR)
+				 const double mindelR) const
   {
     return match(mu->eta(),mu->phi(),chain,mindelR);
   }
   
   Bool_t TrigMuonMatching::matchL1(const xAOD::Muon* mu,
 				   const std::string &l1item,
-				   const double DelR)
+				   const double DelR) const
   {
     return matchL1(mu->eta(),mu->phi(),l1item,DelR);
   }
 
   Double_t TrigMuonMatching::minDelR(const xAOD::Muon* mu,
 				     const std::string &chain,
-				     const double mindelR)
+				     const double mindelR) const
   {
     Double_t delmin = mindelR;
     EFmuon efmuon,dummy;
@@ -63,7 +63,7 @@ namespace Trig {
 
   Double_t TrigMuonMatching::minDelRL1(const xAOD::Muon* mu,
 				       const std::string &l1item,
-				       const double DelR)
+				       const double DelR) const
   {
     Double_t l1dr = DelR;
     const xAOD::MuonRoIContainer* muonrois = 0;
@@ -103,7 +103,7 @@ namespace Trig {
   Bool_t TrigMuonMatching::match(const double eta,
 				 const double phi,
 				 const std::string &chain,
-				 const double mindelR)
+				 const double mindelR) const
   {    
     if(!m_trigDecTool->isPassed(chain)){
       return false;
@@ -118,7 +118,7 @@ namespace Trig {
   Bool_t TrigMuonMatching::matchL1(const double eta,
 				   const double phi,
 				   const std::string &l1item,
-				   const double DelR)
+				   const double DelR) const
   {
     if(!m_trigDecTool->isPassed("L1_MU.*")){
       return false;
@@ -147,7 +147,7 @@ namespace Trig {
   Bool_t TrigMuonMatching::matchL2SA(const xAOD::Muon* mu,
 				     const std::string &l1item,
 				     const std::string &chain,
-				     const double DelR)
+				     const double DelR) const
   {
     if(!m_trigDecTool->isPassed("L1_MU.*")){
       return false;
@@ -189,7 +189,7 @@ namespace Trig {
 
   Bool_t TrigMuonMatching::matchL2CB(const xAOD::Muon* mu,
 				     const std::string &chain,
-				     const double DelR)
+				     const double DelR) const
   {
     const std::string eventTrigger = chain;
 
@@ -239,7 +239,7 @@ namespace Trig {
     return true;
   }
 
-  Bool_t TrigMuonMatching::isPassedRerun(const std::string& trigger)
+  Bool_t TrigMuonMatching::isPassedRerun(const std::string& trigger) const
   {
     const unsigned int bits = m_trigDecTool->isPassedBits(trigger);
     if( (bits & TrigDefs::EF_passedRaw) && ! ( bits & TrigDefs::EF_passThrough) && ( bits & TrigDefs::EF_resurrected)){
@@ -281,7 +281,7 @@ namespace Trig {
   double TrigMuonMatching::dR(const double eta1,
 			      const double phi1,
 			      const double eta2,
-			      const double phi2)
+			      const double phi2) const
   {
     double deta = fabs(eta1 - eta2);
     double dphi = fabs(phi1 - phi2) < TMath::Pi() ? fabs(phi1 - phi2) : 2*TMath:: \
@@ -290,7 +290,7 @@ namespace Trig {
   }
   
   
-  int TrigMuonMatching::getL1pt(const std::string& l1item)
+  int TrigMuonMatching::getL1pt(const std::string& l1item) const
   {
     int rc = -1;
     
@@ -322,7 +322,7 @@ namespace Trig {
   
   void TrigMuonMatching::tokenize(const std::string& str,
 				     std::vector<std::string>& tokens,
-				     const std::string& delimiters)
+				     const std::string& delimiters) const
   {
     tokens.clear();
     std::string::size_type lastPos = str.find_first_not_of(delimiters, 0);
@@ -341,7 +341,7 @@ namespace Trig {
 						const double eta,
 						const double phi,
 						const double mindelR,
-						const std::string& chainForEventTrigger)
+						const std::string& chainForEventTrigger) const
   {
     efMuonId.valid = false;
     Double_t drmin = mindelR;
@@ -440,7 +440,7 @@ namespace Trig {
   }
   
   bool TrigMuonMatching::isEqual(const double x,
-				 const double y)
+				 const double y) const
   {
     if (fabs(x - y) < std::numeric_limits<float>::epsilon()) return true;
     return false;
diff --git a/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/ITrigMuonMatching.h b/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/ITrigMuonMatching.h
index 8b60bcafa453cbaf76901e3e8c0d9b0f92cfb5c2..1d27681a8f1424cdf4295f87f1dbd6d9bb7edeff 100644
--- a/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/ITrigMuonMatching.h
+++ b/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/ITrigMuonMatching.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TRIGMUONEFFICIENCY_IMUONEFFICIENCYTOOL_H
@@ -35,28 +35,28 @@ namespace Trig {
     
     virtual Bool_t match(const xAOD::Muon* mu,
 			 const std::string &chain,
-			 const double mindelR = 0.1) = 0;
+			 const double mindelR = 0.1) const = 0;
     
     virtual Bool_t matchL1(const xAOD::Muon* mu,
 			   const std::string &l1item,
-			   const double DelR = 0.2) = 0;
+			   const double DelR = 0.2) const = 0;
 
     virtual Bool_t matchL2SA(const xAOD::Muon* mu,
 			     const std::string &l1item,
 			     const std::string & chain,
-			     const double DelR = 0.2) = 0;
+			     const double DelR = 0.2) const = 0;
 
     virtual Bool_t matchL2CB(const xAOD::Muon* mu,
 			     const std::string & chain,
-			     const double DelR = 0.2) = 0;
+			     const double DelR = 0.2) const = 0;
 
     virtual Double_t minDelR(const xAOD::Muon* mu,
 			     const std::string &chain,
-			     const double mindelR = 0.1) = 0;
+			     const double mindelR = 0.1) const = 0;
     
     virtual Double_t minDelRL1(const xAOD::Muon* mu,
 			       const std::string &l1item,
-			       const double DelR = 0.2) = 0;
+			       const double DelR = 0.2) const = 0;
     
     virtual Bool_t matchDimuon(const xAOD::Muon* mu1,
 			       const xAOD::Muon* mu2,
@@ -68,12 +68,12 @@ namespace Trig {
     virtual Bool_t match(const double eta,
 			 const double phi,
 			 const std::string &chain,
-			 const double mindelR = 0.1) = 0;
+			 const double mindelR = 0.1) const = 0;
     
     virtual Bool_t matchL1(const double eta,
 			   const double phi,
 			   const std::string &l1item,
-			   const double DelR = 0.2) = 0;
+			   const double DelR = 0.2) const = 0;
 
     virtual Bool_t matchDimuon(const TLorentzVector& muon1,
 			       const TLorentzVector& muon2,
@@ -82,7 +82,7 @@ namespace Trig {
 			       std::pair<Bool_t, Bool_t>& result2,
 			       const Double_t& mindelR = 0.1) = 0;
 
-    virtual Bool_t isPassedRerun(const std::string& trigger) = 0;
+    virtual Bool_t isPassedRerun(const std::string& trigger) const = 0;
     
    }; 
 
diff --git a/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/TrigMuonMatching.h b/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/TrigMuonMatching.h
index 5df98f6124631b66bf1ff29da8324c1363ac330d..a87636d5ed2d49ef4154635455ee439ed669d392 100644
--- a/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/TrigMuonMatching.h
+++ b/Trigger/TrigAnalysis/TrigMuonMatching/TrigMuonMatching/TrigMuonMatching.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 
 #ifndef TRIGMUONEFFICIENCY_MUONEFFICIENCYTOOL_H
@@ -31,58 +31,58 @@ namespace Trig {
 
       virtual ~TrigMuonMatching();
 
-      virtual StatusCode initialize(void);
+      virtual StatusCode initialize(void) override;
       
       virtual Bool_t match(const xAOD::Muon* mu,
 			   const std::string &chain,
-			   const double mindelR = 0.1);
+			   const double mindelR = 0.1) const override;
       
       virtual Bool_t matchL1(const xAOD::Muon* mu,
 			     const std::string &l1item,
-			     const double DelR = 0.2);
+			     const double DelR = 0.2) const override;
 
       virtual Bool_t matchL2SA(const xAOD::Muon* mu,
 			       const std::string &l1item,
 			       const std::string & chain,
-			       const double DelR = 0.2);
+			       const double DelR = 0.2) const override;
 
       virtual Bool_t matchL2CB(const xAOD::Muon* mu,
 			       const std::string & chain,
-			       const double DelR = 0.2);
+			       const double DelR = 0.2) const override;
       
       virtual Double_t minDelR(const xAOD::Muon* mu,
 			       const std::string &chain,
-			       const double mindelR = 0.1);
+			       const double mindelR = 0.1) const override;
       
       virtual Double_t minDelRL1(const xAOD::Muon* mu,
 				 const std::string &l1item,
-				 const double DelR = 0.2);
+				 const double DelR = 0.2) const override;
       
       virtual Bool_t matchDimuon(const xAOD::Muon* mu1,
 				 const xAOD::Muon* mu2,
 				 const std::string& chain,
 				 std::pair<Bool_t, Bool_t>& result1,
 				 std::pair<Bool_t, Bool_t>& result2,
-				 const Double_t& mindelR = 0.1);
+				 const Double_t& mindelR = 0.1) override;
       
       virtual Bool_t match(const double eta,
 			   const double phi,
 			   const std::string &chain,
-			   const double mindelR = 0.1);
+			   const double mindelR = 0.1) const override;
       
       virtual Bool_t matchL1(const double eta,
 			     const double phi,
 			     const std::string &l1item,
-			     const double DelR = 0.2);
+			     const double DelR = 0.2) const override;
       
       virtual Bool_t matchDimuon(const TLorentzVector& muon1,
 				 const TLorentzVector& muon2,
 				 const std::string& chain,
 				 std::pair<Bool_t, Bool_t>& result1,
 				 std::pair<Bool_t, Bool_t>& result2,
-				 const Double_t& mindelR = 0.1);
+				 const Double_t& mindelR = 0.1) override;
 
-      virtual Bool_t isPassedRerun(const std::string& trigger);
+      virtual Bool_t isPassedRerun(const std::string& trigger) const override;
       
       struct EFmuon {
 	bool valid;
@@ -107,13 +107,13 @@ namespace Trig {
       double dR(const double eta1,
 		const double phi1,
 		const double eta2,
-		const double phi2);
+		const double phi2) const;
 
-      int getL1pt(const std::string& l1item);
+      int getL1pt(const std::string& l1item) const;
       
       void tokenize(const std::string& str,
 		    std::vector<std::string>& tokens,
-		    const std::string& delimiters);
+		    const std::string& delimiters) const;
       
       /*
       double matchedTrackDetail(const double eta,
@@ -127,12 +127,12 @@ namespace Trig {
 				  const double eta,
 				  const double phi,
 				  const double mindelR,
-				  const std::string& chainEventTrigger);
+				  const std::string& chainEventTrigger) const;
       
       bool decodeDimuonChain(DimuonChainInfo& chainInfo);
 
       bool isEqual(const double x,
-		   const double y);
+		   const double y) const;
       
       
     };