diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/IMuonTPExtrapolationTool.h b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/IMuonTPExtrapolationTool.h
index fe34019d0da74f82bf8a125524928d02a4c033ed..d77db411fd8244571c53131db69772ea185191ae 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/IMuonTPExtrapolationTool.h
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/IMuonTPExtrapolationTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 // IMuonTPExtrapolationTool.h
 #ifndef IMuonTPExtrapolationTool_H
@@ -23,7 +23,7 @@ class IMuonTPExtrapolationTool : virtual public asg::IAsgTool {
   /// This also applies decorations for the eta and phi coordinates in said plane to the tag and the probe track particles 
   /// If we are processing a DAOD in AthAnalysis, it attempts to read the decorations that should be provided by the derivation
   /// In full athena, it will check for the decoration, and run extrapolation if it is not (yet) in place
-  virtual double dROnTriggerPivotPlane(const xAOD::Muon& tag, const xAOD::IParticle* probe)=0;
+  virtual double dROnTriggerPivotPlane(const xAOD::Muon& tag, const xAOD::IParticle* probe) const =0;
 
   // this method is intended for use in the DAOD production. It takes only one particle as argument, and handles the decoration. 
   virtual StatusCode decoratePivotPlaneCoords(const xAOD::IParticle* particle)=0;
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/MuonTPExtrapolationTool.h b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/MuonTPExtrapolationTool.h
index 64ee1c3e55d49db1b7aec320cc64b18443bdb741..df6a11997dac6fce768269d121b5c2f5e8e1b071 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/MuonTPExtrapolationTool.h
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/DerivationFrameworkMuons/MuonTPExtrapolationTool.h
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 //////////////////////////////////////////////////////////////////////////////
 // MuonTPExtrapolationTool
@@ -27,18 +27,18 @@ class MuonTPExtrapolationTool
   MuonTPExtrapolationTool(std::string myname);
   virtual ~MuonTPExtrapolationTool();
   
-  virtual StatusCode initialize();
+  virtual StatusCode initialize() override;
   
   /// compute dR on trigger pivot plane
   /// see interface class for full description
-  double dROnTriggerPivotPlane(const xAOD::Muon& tag, const xAOD::IParticle* probe);
+  virtual double dROnTriggerPivotPlane(const xAOD::Muon& tag, const xAOD::IParticle* probe) const override;
 
   // this method is intended for use in the DAOD production. It takes only one particle as argument, and handles the decoration. 
-  virtual StatusCode decoratePivotPlaneCoords(const xAOD::IParticle* particle);
+  virtual StatusCode decoratePivotPlaneCoords(const xAOD::IParticle* particle) override;
 
 #ifndef XAOD_ANALYSIS
   /// run the extrapolation - only available in full athena
-  const Trk::TrackParameters* extrapolateToTriggerPivotPlane(const xAOD::TrackParticle& track);
+  const Trk::TrackParameters* extrapolateToTriggerPivotPlane(const xAOD::TrackParticle& track) const;
 #endif
 
   // Utility method to handle extrapolation and decoration for one TrackParticle. 
@@ -48,7 +48,7 @@ class MuonTPExtrapolationTool
   // Returns success (true) or failure (false) of the procedure, fills eta and phi coordinates via reference
   // If the extrapolation fails or the decoration is missing in AthAnalysis, it will *not* change eta and phi
   // So you can set them to defaults before calling this guy, and they will be preserved in case of failure. 
-  bool extrapolateAndDecorateTrackParticle(const xAOD::TrackParticle* particle, float & eta, float & phi);
+  bool extrapolateAndDecorateTrackParticle(const xAOD::TrackParticle* particle, float & eta, float & phi) const;
   
  private:
 
@@ -58,7 +58,7 @@ class MuonTPExtrapolationTool
 
   // utility method: Obtains the track particle which we want to extrapolate into the MS. 
   // Works for all kinds of probes. 
-  const xAOD::TrackParticle* getPreferredTrackParticle (const xAOD::IParticle* probe);
+  const xAOD::TrackParticle* getPreferredTrackParticle (const xAOD::IParticle* probe) const;
 
   // these define the surfaces that we extrapolate to. 
   // We approximate the pivot plane in the form of a cylinder surface and two disks
diff --git a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/src/MuonTPExtrapolationTool.cxx b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/src/MuonTPExtrapolationTool.cxx
index 4b13a9ce9f59cd1a0494099aa193744bd33f5e65..8b95e54a1420991c8b1ac7636908d9f5cc008e29 100644
--- a/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/src/MuonTPExtrapolationTool.cxx
+++ b/PhysicsAnalysis/DerivationFramework/DerivationFrameworkMuons/src/MuonTPExtrapolationTool.cxx
@@ -1,5 +1,5 @@
 /*
-  Copyright (C) 2002-2018 CERN for the benefit of the ATLAS collaboration
+  Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 */
 // MuonTPExtrapolationTool.cxx
 #include "DerivationFrameworkMuons/MuonTPExtrapolationTool.h"
@@ -53,19 +53,19 @@ StatusCode MuonTPExtrapolationTool::initialize()
 
 //**********************************************************************
 
-bool MuonTPExtrapolationTool::extrapolateAndDecorateTrackParticle(const xAOD::TrackParticle* particle, float & eta, float & phi){
+bool MuonTPExtrapolationTool::extrapolateAndDecorateTrackParticle(const xAOD::TrackParticle* particle, float & eta, float & phi) const {
 
 #ifndef XAOD_ANALYSIS
   // decorators used to access or store the information 
-  static SG::AuxElement::Decorator< char > Decorated ("DecoratedPivotEtaPhi");
-  static SG::AuxElement::Decorator< std::string > DecoOutcome ("DecorationOutcome");
-  static SG::AuxElement::Decorator< float > Eta ("EtaTriggerPivot");
-  static SG::AuxElement::Decorator< float > Phi ("PhiTriggerPivot");
+  static const SG::AuxElement::Decorator< char > Decorated ("DecoratedPivotEtaPhi");
+  static const SG::AuxElement::Decorator< std::string > DecoOutcome ("DecorationOutcome");
+  static const SG::AuxElement::Decorator< float > Eta ("EtaTriggerPivot");
+  static const SG::AuxElement::Decorator< float > Phi ("PhiTriggerPivot");
 #else
-  static SG::AuxElement::Accessor< char > Decorated ("DecoratedPivotEtaPhi");
-  static SG::AuxElement::Accessor< std::string > DecoOutcome ("DecorationOutcome");
-  static SG::AuxElement::Accessor< float > Eta ("EtaTriggerPivot");
-  static SG::AuxElement::Accessor< float > Phi ("PhiTriggerPivot");
+  static const SG::AuxElement::Accessor< char > Decorated ("DecoratedPivotEtaPhi");
+  static const SG::AuxElement::Accessor< std::string > DecoOutcome ("DecorationOutcome");
+  static const SG::AuxElement::Accessor< float > Eta ("EtaTriggerPivot");
+  static const SG::AuxElement::Accessor< float > Phi ("PhiTriggerPivot");
 #endif
 
   if (! Decorated.isAvailable(*particle) || !Decorated(*particle)){
@@ -107,7 +107,7 @@ bool MuonTPExtrapolationTool::extrapolateAndDecorateTrackParticle(const xAOD::Tr
 
 //**********************************************************************
 
-const xAOD::TrackParticle* MuonTPExtrapolationTool::getPreferredTrackParticle (const xAOD::IParticle* probe){
+const xAOD::TrackParticle* MuonTPExtrapolationTool::getPreferredTrackParticle (const xAOD::IParticle* probe) const {
   if (dynamic_cast<const xAOD::TruthParticle*>(probe)){
     ATH_MSG_WARNING("Pivot plane extrapolation not supported for Truth probes!");
     return 0;
@@ -144,7 +144,7 @@ StatusCode MuonTPExtrapolationTool::decoratePivotPlaneCoords(const xAOD::IPartic
 
 // **********************************************************************
 
-double MuonTPExtrapolationTool::dROnTriggerPivotPlane(const xAOD::Muon& tag, const xAOD::IParticle* probe)
+double MuonTPExtrapolationTool::dROnTriggerPivotPlane(const xAOD::Muon& tag, const xAOD::IParticle* probe) const
 {
   // should never happen, but better be safe than sorry
   if(!probe){
@@ -212,9 +212,9 @@ const xAOD::EventInfo* info = 0;
   float dr = sqrt( deta*deta + dphi*dphi);
 
   // decorators for the delta eta and delta phi and dR
-  static SG::AuxElement::Decorator< float > DecDeta ("probe_dEtaTriggerPivot");
-  static SG::AuxElement::Decorator< float > DecDphi ("probe_dPhiTriggerPivot");
-  static SG::AuxElement::Decorator< float > DecDR ("probe_dRTriggerPivot");
+  static const SG::AuxElement::Decorator< float > DecDeta ("probe_dEtaTriggerPivot");
+  static const SG::AuxElement::Decorator< float > DecDphi ("probe_dPhiTriggerPivot");
+  static const SG::AuxElement::Decorator< float > DecDR ("probe_dRTriggerPivot");
     
   // here, we copy the eta and phi decorations from the TrackParticles to the 
   // tag and probe IParticles - to make them easier to access during the 
@@ -222,8 +222,8 @@ const xAOD::EventInfo* info = 0;
   // In the case of an unsuccessful extrap, this additionally ensures that the 
   // IP direction for eta/phi is written to the output tree
   // instead of a garbage value that would result from a missing decoration
-  static SG::AuxElement::Decorator< float > DecEta ("probe_EtaTriggerPivot");
-  static SG::AuxElement::Decorator< float > DecPhi ("probe_PhiTriggerPivot");
+  static const SG::AuxElement::Decorator< float > DecEta ("probe_EtaTriggerPivot");
+  static const SG::AuxElement::Decorator< float > DecPhi ("probe_PhiTriggerPivot");
 
   // special unphysical values to signify an ID probe not reaching the pivot plane
   if (IDProbeMissesMS){
@@ -262,7 +262,7 @@ const xAOD::EventInfo* info = 0;
 //**********************************************************************
 
 #ifndef XAOD_ANALYSIS
-const Trk::TrackParameters* MuonTPExtrapolationTool::extrapolateToTriggerPivotPlane(const xAOD::TrackParticle& track)
+const Trk::TrackParameters* MuonTPExtrapolationTool::extrapolateToTriggerPivotPlane(const xAOD::TrackParticle& track) const
 {
   // BARREL
   const Trk::Perigee& perigee = track.perigeeParameters();