diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.h
index 88475aa2de558e68cec3479531da7e25be465236..6f7e6fe1cec87e1c20e0578a75a529fcc81b8538 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.h
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingPixelClustersOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -103,7 +103,7 @@ public:
             be needed when the predicted TrackParameters have changed rapidly) */
     virtual void updateCompetingROT(
         //const InDet::CompetingPixelClustersOnTrack&,
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
         //                const bool recreateROTs=false
@@ -117,7 +117,7 @@ public:
                                      = Trk::TrackState::unidentified) const;
 
     virtual StatusCode updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
     ) const;
 
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.h
index 8586c71010ab36e27be51a41d836b4e4ef57919b..627fe4aa2a9d1a59057f7fd4d73b26937c2a6778 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.h
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingSCT_ClustersOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -107,7 +107,7 @@ public:
             be needed when the predicted TrackParameters have changed rapidly) */
     virtual void updateCompetingROT(
         //const InDet::CompetingSCT_ClustersOnTrack&,
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
         //                const bool recreateROTs=false
@@ -120,7 +120,7 @@ public:
                                      const Trk::TrackState::MeasurementType
                                      = Trk::TrackState::unidentified) const;
     virtual StatusCode updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
     ) const;
 
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.h
index 6399e59e5140e31e8fa401b0379ab6e517b36e0a..c424cd21dcfe1531876f53af39805ab691ebcd57 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.h
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/CompetingTRT_DriftCirclesOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -114,7 +114,7 @@ public:
             be needed when the predicted TrackParameters have changed rapidly) */
     virtual void updateCompetingROT(
         //const InDet::CompetingTRT_DriftCirclesOnTrack&,
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
         //                const bool recreateROTs=false
@@ -135,7 +135,7 @@ public:
                                      = Trk::TrackState::unidentified) const;
 
 //     virtual StatusCode updateCompetingROT(
-//         const Trk::CompetingRIOsOnTrack&,
+//         Trk::CompetingRIOsOnTrack&,
 //         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
 //     ) const;
 
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.h
index 24145905571d3cbd5b7c9966957680fc1654361a..05a801af2c0545557a95061c17151350445fc532 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.h
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingPixelClustersOnTrackCreator.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -72,7 +72,7 @@ public:
         -  Trk::CompetingRIOsOnTrack is used because of interface reasons
         (common interface Trk::ICompetingRIOsOnTrackTool)*/
     virtual void updateCompetingROT(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
         //                const bool recreateROTs=false
@@ -82,7 +82,7 @@ public:
     and effective measurements of a Trk::CompetingRIOsOnTrack using
     a given set of assignment probabilities */
     virtual StatusCode updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
     ) const = 0;
 
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.h
index 69375710798ea926b1f5505ef8c7fe478d8393db..ebb258d7be3bc76288f6c8553bb8c2919a453ede 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.h
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingSCT_ClustersOnTrackCreator.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -73,7 +73,7 @@ public:
         (common interface Trk::ICompetingRIOsOnTrackTool)*/
     virtual void updateCompetingROT(
         //const InDet::CompetingSCT_ClustersOnTrack&,
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
         //                const bool recreateROTs=false
@@ -83,7 +83,7 @@ public:
     and effective measurements of a Trk::CompetingRIOsOnTrack using
     a given set of assignment probabilities */
     virtual StatusCode updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
     ) const = 0;
 
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.h b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.h
index 6e9fc65a9f59d36f26ae738d51bb68951b2529e1..2b05d7df72cb078fbb95724d364515953c012211 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.h
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/InDetCompetingRIOsOnTrackTool/ICompetingTRT_DriftCirclesOnTrackCreator.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -71,7 +71,7 @@ public:
         (common interface Trk::ICompetingRIOsOnTrackTool)*/
     virtual void updateCompetingROT(
         //const InDet::CompetingTRT_DriftCirclesOnTrack&,
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
         //                const bool recreateROTs=false
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.cxx
index 18b6eef8191b67957b89d3dea9c1933533db0ad3..8e8da7b4e95730c2d782b5d36fa2e766a0c5bb70 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.cxx
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingPixelClustersOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -271,7 +271,7 @@ const InDet::CompetingPixelClustersOnTrack* InDet::CompetingPixelClustersOnTrack
 ///////////////////////////////////////////////////////////////////
 void InDet::CompetingPixelClustersOnTrackTool::updateCompetingROT(
     //const InDet::CompetingPixelClustersOnTrack& compROT,
-    const Trk::CompetingRIOsOnTrack& baseCompROT,
+    Trk::CompetingRIOsOnTrack& baseCompROT,
     const Trk::TrackParameters& trkPar,
     const Trk::IWeightCalculator::AnnealingFactor beta
     //const bool recreateROTs=false
@@ -282,7 +282,7 @@ void InDet::CompetingPixelClustersOnTrackTool::updateCompetingROT(
     ATH_MSG_DEBUG("********* in updateCompetingROT() **********");
 
     // cast baseCompROT to CompPixelClusterOnTrack:
-    const InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingPixelClustersOnTrack* >(&baseCompROT);
+    InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< InDet::CompetingPixelClustersOnTrack* >(&baseCompROT);
     if (!compROT) {
         ATH_MSG_ERROR("Given CompetingRIOsOnTrack is not a CompetingPixelClustersOnTrack!");
         ATH_MSG_ERROR("Update of assignment probabilities aborted!!!");
@@ -393,7 +393,7 @@ void InDet::CompetingPixelClustersOnTrackTool::updateCompetingROT(
     // delete global position (will be recreated by the competingROT itself)
     delete compROT->m_globalPosition;
     compROT->m_globalPosition = 0; // very important, otherwise segfault...
-    const_cast<InDet::CompetingPixelClustersOnTrack*>(compROT)->setLocalParametersAndErrorMatrix();
+    compROT->setLocalParametersAndErrorMatrix();
     if (msgLvl(MSG::DEBUG)) testCompetingROT(*compROT);
 }
 
@@ -508,10 +508,10 @@ void InDet::CompetingPixelClustersOnTrackTool::testCompetingROT(const InDet::Com
 }
 
 StatusCode InDet::CompetingPixelClustersOnTrackTool::updateCompetingROTprobs( 
-        const Trk::CompetingRIOsOnTrack& baseCompROT, 
+        Trk::CompetingRIOsOnTrack& baseCompROT, 
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& assignmentProbs 
     ) const { 
-    const InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingPixelClustersOnTrack* >(&baseCompROT); 
+    InDet::CompetingPixelClustersOnTrack* compROT = dynamic_cast< InDet::CompetingPixelClustersOnTrack* >(&baseCompROT); 
     if (!compROT) { 
         ATH_MSG_ERROR("Given CompetingRIOsOnTrack is not a CompetingPixelClustersOnTrack!"); 
         ATH_MSG_ERROR("Update of assignment probabilities aborted!!!"); 
@@ -546,7 +546,7 @@ StatusCode InDet::CompetingPixelClustersOnTrackTool::updateCompetingROTprobs(
     delete compROT->m_globalPosition; 
     compROT->m_globalPosition = 0; // very important, otherwise segfault... 
     // recalc localParameters 
-    const_cast<InDet::CompetingPixelClustersOnTrack*>(compROT)->setLocalParametersAndErrorMatrix();
+    compROT->setLocalParametersAndErrorMatrix();
 
     if (msgLvl(MSG::DEBUG)) testCompetingROT(*compROT); 
     return StatusCode::SUCCESS; 
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.cxx
index 82425800a90b5301a7764f9ff57498f70b575021..4c03a8418bc6d48d45a33d17ea59a4222caf5ebf 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.cxx
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingSCT_ClustersOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -268,7 +268,7 @@ const InDet::CompetingSCT_ClustersOnTrack* InDet::CompetingSCT_ClustersOnTrackTo
 ///////////////////////////////////////////////////////////////////
 void InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROT(
     //const InDet::CompetingSCT_ClustersOnTrack& compROT,
-    const Trk::CompetingRIOsOnTrack& baseCompROT,
+    Trk::CompetingRIOsOnTrack& baseCompROT,
     const Trk::TrackParameters& trkPar,
     const Trk::IWeightCalculator::AnnealingFactor beta
     //const bool recreateROTs=false
@@ -279,7 +279,7 @@ void InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROT(
     ATH_MSG_DEBUG("********* in updateCompetingROT() **********");
 
     // cast baseCompROT to CompSCT_ClusterOnTrack:
-    const InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT);
+    InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT);
     if (!compROT) {
         ATH_MSG_WARNING("Given CompetingRIOsOnTrack is not a CompetingSCT_ClustersOnTrack!");
         ATH_MSG_WARNING("Update of assignment probabilities aborted!!!");
@@ -389,7 +389,7 @@ void InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROT(
     delete compROT->m_globalPosition;
     compROT->m_globalPosition = 0; // very important, otherwise segfault...
     // delete localParameters
-    const_cast< InDet::CompetingSCT_ClustersOnTrack* >(compROT)->setLocalParametersAndErrorMatrix();
+    compROT->setLocalParametersAndErrorMatrix();
     if (msgLvl(MSG::VERBOSE)) testCompetingROT(*compROT);
 }
 
@@ -504,10 +504,10 @@ void InDet::CompetingSCT_ClustersOnTrackTool::testCompetingROT(const InDet::Comp
 }
 
 StatusCode InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROTprobs( 
-        const Trk::CompetingRIOsOnTrack& baseCompROT, 
+        Trk::CompetingRIOsOnTrack& baseCompROT, 
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& assignmentProbs 
     ) const { 
-    const InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< const InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT); 
+    InDet::CompetingSCT_ClustersOnTrack* compROT = dynamic_cast< InDet::CompetingSCT_ClustersOnTrack* >(&baseCompROT); 
     if (!compROT) { 
         ATH_MSG_ERROR("Given CompetingRIOsOnTrack is not a CompetingPixelClustersOnTrack!"); 
         ATH_MSG_ERROR("Update of assignment probabilities aborted!!!"); 
@@ -542,7 +542,7 @@ StatusCode InDet::CompetingSCT_ClustersOnTrackTool::updateCompetingROTprobs(
     delete compROT->m_globalPosition; 
     compROT->m_globalPosition = 0; // very important, otherwise segfault... 
     // recalc localParameters 
-    const_cast< InDet::CompetingSCT_ClustersOnTrack* >(compROT)->setLocalParametersAndErrorMatrix();
+    compROT->setLocalParametersAndErrorMatrix();
     if (msgLvl(MSG::DEBUG)) testCompetingROT(*compROT); 
     return StatusCode::SUCCESS; 
 } 
diff --git a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx
index 4397e43baf4d187a617586f7434960a3aee8296f..98a6875369bfa73731537112a98e85884342f985 100755
--- a/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.cxx
+++ b/InnerDetector/InDetRecTools/InDetCompetingRIOsOnTrackTool/src/CompetingTRT_DriftCirclesOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -462,7 +462,7 @@ const InDet::CompetingTRT_DriftCirclesOnTrack* InDet::CompetingTRT_DriftCirclesO
 ///////////////////////////////////////////////////////////////////
 void InDet::CompetingTRT_DriftCirclesOnTrackTool::updateCompetingROT(
     //const InDet::CompetingTRT_DriftCirclesOnTrack& compROT,
-    const Trk::CompetingRIOsOnTrack& baseCompROT,
+    Trk::CompetingRIOsOnTrack& baseCompROT,
     const Trk::TrackParameters& trkPar,
     const Trk::IWeightCalculator::AnnealingFactor beta
     //const bool recreateROTs=false
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.h b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.h
index 863461ac176a3747dfd3e69d5f29370c4f00d8b9..7e1f06253f358b9c5d6b8324ba561dfcfdf96d9e 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/MuonCompetingClustersOnTrackCreator.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -69,7 +69,7 @@ namespace Muon {
     /** method for the update of the assignment 
 	probabilities and effective measurements
         of an Muon::CompetingMuonClustersOnTrack using a new track prediction. Not implemented for now!! */
-    void updateCompetingROT( const Trk::CompetingRIOsOnTrack&,
+    void updateCompetingROT( Trk::CompetingRIOsOnTrack&,
 			     const Trk::TrackParameters&,
 			     const Trk::IWeightCalculator::AnnealingFactor ) const
     {
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.h b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.h
index aa29135983160e57960849350cb3eba29d4349bb..7dc870ab277e6ece3ce2ba20fb5016a439de9399 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonRIO_OnTrackCreators/MuonCompetingClustersOnTrackCreator/src/TriggerChamberClusterOnTrackCreator.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
 */
 
 /////////////////////////////////////////////////////////////////////
@@ -68,7 +68,7 @@ public:
     /** method for the update of the assignment 
 	probabilities and effective measurements
 	of an Muon::CompetingMuonClustersOnTrack using a new track prediction. Not implemented for now!! */
-    void updateCompetingROT( const Trk::CompetingRIOsOnTrack&,
+    void updateCompetingROT( Trk::CompetingRIOsOnTrack&,
 			     const Trk::TrackParameters&,
 			     const Trk::IWeightCalculator::AnnealingFactor ) const
 	{
diff --git a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h
index c488463fe4f0a8530d8eba6abf14a768a14abe67..fcc2b19a5206fd7ac9364b57abb4bd351d299066 100755
--- a/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonRecTools/MuonRecToolInterfaces/MuonRecToolInterfaces/IMuonCompetingClustersOnTrackCreator.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 MUON_IMUONCOMPETINGCLUSTERSONTRACKCREATOR_H
diff --git a/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.cxx b/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.cxx
index e4d6ba23c0acce0da66bf4f2a04acccf910f7935..ce0a15b2aa535c8b484bd78a1be158e2c66320e2 100755
--- a/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.cxx
+++ b/Tracking/TrkFitter/TrkDeterministicAnnealingFilter/src/DeterministicAnnealingFilter.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
 */
 
 //////////////////////////////////////////////////////////////////
@@ -790,7 +790,10 @@ Trk::Track* Trk::DeterministicAnnealingFilter::doDAFfitWithKalman(
                             continue; // next ProtoTrackStateOnSurface
                         }
                         //if (m_debuglevel) ATH_MSG_VERBOSE( "current MeasurementBase is a CompetingRIOsOnTrack: set annealing factor" );
-                        m_compROTcreator->updateCompetingROT(*compROT, *smoothedTrkPar, m_option_annealingScheme[annealingIteration]);
+                        CompetingRIOsOnTrack* newCompROT = compROT->clone();
+                        m_compROTcreator->updateCompetingROT(*newCompROT, *smoothedTrkPar, m_option_annealingScheme[annealingIteration]);
+                        it->replaceMeasurement(newCompROT);
+                        compROT = newCompROT;
                     } else {
                         // set annealing factor in CompetingRIOsOnTrack which
                         // are marked as outliers (the Kalman forward Fitter marks
@@ -837,9 +840,12 @@ Trk::Track* Trk::DeterministicAnnealingFilter::doDAFfitWithKalman(
                             if (!extrapolatedTrkPar) {
                                 ATH_MSG_WARNING( "Extrapolation to outlier surface did not succeed: Assignment probabilities of outlier cannot be updated" );
                             } else {
-                                m_compROTcreator->updateCompetingROT(*compROT, *extrapolatedTrkPar, m_option_annealingScheme[annealingIteration]);
+                                CompetingRIOsOnTrack* newCompROT = compROT->clone();
+                                m_compROTcreator->updateCompetingROT(*newCompROT, *extrapolatedTrkPar, m_option_annealingScheme[annealingIteration]);
                                 delete extrapolatedTrkPar;
                                 extrapolatedTrkPar = 0;
+                                it->replaceMeasurement(newCompROT);
+                                compROT = newCompROT;
                             }
                         }
                     }// end if outlier
@@ -1146,7 +1152,7 @@ void Trk::DeterministicAnnealingFilter::addToTrajectory(const MeasurementBase* m
     if (compROT) {
         ATH_MSG_VERBOSE( "current MeasurementBase is a CompetingRIOsOnTrack: clone and set annealing factor" );
         // TODO: decide about setting of annealingFactor, if no track parameters are given: extraploate?
-        const CompetingRIOsOnTrack* newCompROT = compROT->clone();
+        CompetingRIOsOnTrack* newCompROT = compROT->clone();
         if (trkPar) {
             // set annealing factor in CompetingRIOsOnTrack
             m_compROTcreator->updateCompetingROT(*newCompROT, *trkPar, m_option_annealingScheme[0]);
diff --git a/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx b/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx
index 8870d353bec1e518729b1064a02cb16a854a282e..36e305113270114d79fefb7953f5d5a6c11f9a60 100644
--- a/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx
+++ b/Tracking/TrkFitter/TrkKalmanFitter/src/KalmanPiecewiseAnnealingFilter.cxx
@@ -616,8 +616,11 @@ Trk::KalmanPiecewiseAnnealingFilter::filterTrajectoryPiece
       const Trk::CompetingRIOsOnTrack* compROT = 
 	dynamic_cast<const Trk::CompetingRIOsOnTrack*>(it->measurement());
       if (compROT && it->smoothedTrackParameters() && !it->isOutlier()) {
-	const Trk::TrackParameters* annealingPars = it->smoothedTrackParameters();
-	m_compRotTool->updateCompetingROT(*compROT, *annealingPars, beta);
+        const Trk::TrackParameters* annealingPars = it->smoothedTrackParameters();
+        Trk::CompetingRIOsOnTrack* newCompROT = compROT->clone();
+        m_compRotTool->updateCompetingROT(*newCompROT, *annealingPars, beta);
+        it->replaceMeasurement(newCompROT);
+        compROT = newCompROT;
       }
     }
 
diff --git a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.h b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.h
index d603ebe3c27e603949c88b1aee2fb00caef704cb..8e8595be2df1743ac0ce780981fec0eafb8e227d 100755
--- a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.h
+++ b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/CompetingRIOsOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -76,7 +76,7 @@ public:
         - the new effective measurements are calculated afterwards (this cannot be done by the
             Trk::IWeightCalculator, because it has no detector specific knowledge)   */
     virtual void updateCompetingROT(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
         //                const bool recreateROTs=false
@@ -86,7 +86,7 @@ public:
     and effective measurements of a Trk::CompetingRIOsOnTrack using
     a given set of assignment probabilities */
     virtual StatusCode updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
     ) const;
     
diff --git a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.h b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.h
index 63274abed878def10b21a68907f7783351a20e7d..4f36f32f3106c1325e7487aa04250dae49df2c01 100755
--- a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.h
+++ b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/TrkCompetingRIOsOnTrackTool/ICompetingRIOsOnTrackTool.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
 */
 
 /* forward-declaration, remove ASAP */
diff --git a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.cxx b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.cxx
index 545f35727487124a4031e06be26e33044b75273a..142b7f1f55afc8412ea65e6c232892226f0b128b 100755
--- a/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.cxx
+++ b/Tracking/TrkTools/TrkCompetingRIOsOnTrackTool/src/CompetingRIOsOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -163,7 +163,7 @@ const Trk::CompetingRIOsOnTrack* Trk::CompetingRIOsOnTrackTool::createCompetingR
 // Trk::CompetingRIOsOnTrack update
 ///////////////////////////////////////////////////////////////////
 void Trk::CompetingRIOsOnTrackTool::updateCompetingROT(
-    const Trk::CompetingRIOsOnTrack& compROT,
+    Trk::CompetingRIOsOnTrack& compROT,
     const Trk::TrackParameters& trkPar,
     const Trk::IWeightCalculator::AnnealingFactor beta
     //const bool recreateROTs=false
@@ -199,7 +199,7 @@ void Trk::CompetingRIOsOnTrackTool::updateCompetingROT(
 }
 
 StatusCode Trk::CompetingRIOsOnTrackTool::updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack& compROT,
+        Trk::CompetingRIOsOnTrack& compROT,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >& assignmentProbs
     ) const {
     // identify by first ROT of the competing ROTs
diff --git a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.h b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.h
index c799389f81673cb2bdf252b79a4040430baa7fed..44697a8b71ba43a89778910c40724f8bd3e9c16f 100755
--- a/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.h
+++ b/Tracking/TrkTools/TrkToolInterfaces/TrkToolInterfaces/ICompetingRIOsOnTrackTool.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
 */
 
 ///////////////////////////////////////////////////////////////////
@@ -66,7 +66,7 @@ public:
         and effective measurements of a Trk::CompetingRIOsOnTrack using a new track
         prediction. */
     virtual void updateCompetingROT(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const Trk::TrackParameters&,
         const Trk::IWeightCalculator::AnnealingFactor
     ) const = 0;
@@ -75,7 +75,7 @@ public:
         and effective measurements of a Trk::CompetingRIOsOnTrack using
         a given set of assignment probabilities */
     virtual StatusCode updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
     ) const;
 
@@ -98,7 +98,7 @@ public:
 } // end of namespace Trk
 
 inline StatusCode Trk::ICompetingRIOsOnTrackTool::updateCompetingROTprobs(
-        const Trk::CompetingRIOsOnTrack&,
+        Trk::CompetingRIOsOnTrack&,
         const std::vector< Trk::CompetingRIOsOnTrack::AssignmentProb >&
     ) const {
     std::cout << "CONFIGURATION WARNING: dummy version of CompetingRIOsOnTrack update called." << std::endl;