diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.cxx
index 5b4dad485f003616533e53e7446d9e46242e0e4f..d7789555e3f7f486b3a044ed53ef0e554fca64dd 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.cxx
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.cxx
@@ -40,48 +40,48 @@ StatusCode TrigL2MuonSA::FtfRoadDefiner::defineRoad(const xAOD::TrackParticle* i
   double bw_ftf[3]={0.,0.,0.}; // intercept of FTF Road for Inner/Middle/Outer
 
   // Inner
-  const Trk::TrackParameters* extFtfInner = extTrack( idtrack, 5000., 6000., muonRoad.ext_ftf_flag[0][0]); //Large secotr
+  auto extFtfInner = extTrack( idtrack, 5000., 6000., muonRoad.ext_ftf_flag[0][0]); //Large secotr
   if( !extFtfInner ) {
     ATH_MSG_DEBUG("extrapolated track parameters on BarrelInner is null");
   } else {
     extFtfInnerEta = extFtfInner->eta();
     extFtfInnerPhi = extFtfInner->position().phi();
     extFtfInnerZ = extFtfInner->position().z();
-    extFtfInnerR = sqrt((extFtfInner->position().x())*(extFtfInner->position().x()) + (extFtfInner->position().y())*(extFtfInner->position().y()));
+    extFtfInnerR = std::hypot(extFtfInner->position().x(), extFtfInner->position().y());
     ATH_MSG_DEBUG("extFtfInnerEta: " << extFtfInnerEta << ", extFtfInnerPhi: " << extFtfInnerPhi << ", extFtfInnerZ: " << extFtfInnerZ << ", extFtfInnerR: " << extFtfInnerR);
-    aw_ftf[0] = tan(2*atan(exp(-extFtfInnerEta)));
+    aw_ftf[0] = std::tan(2*std::atan(std::exp(-extFtfInnerEta)));
     bw_ftf[0] = extFtfInnerR - (aw_ftf[0])*extFtfInnerZ;
     muonRoad.r_ftf[0][0] = extFtfInnerR;
     muonRoad.z_ftf[0][0] = extFtfInnerZ;
   }
 
   // Middle
-  const Trk::TrackParameters* extFtfMiddle = extTrack( idtrack , 8000., 9000., muonRoad.ext_ftf_flag[1][0]);
+  auto extFtfMiddle = extTrack( idtrack , 8000., 9000., muonRoad.ext_ftf_flag[1][0]);
   if( !extFtfMiddle ) {
     ATH_MSG_DEBUG("extrapolated track parameters on BarrelMiddle is null");
   } else {
     extFtfMiddleEta = extFtfMiddle->eta();
     extFtfMiddlePhi = extFtfMiddle->position().phi();
     extFtfMiddleZ = extFtfMiddle->position().z();
-    extFtfMiddleR = sqrt((extFtfMiddle->position().x())*(extFtfMiddle->position().x()) + (extFtfMiddle->position().y())*(extFtfMiddle->position().y()));
+    extFtfMiddleR = std::hypot(extFtfMiddle->position().x(), extFtfMiddle->position().y());
     ATH_MSG_DEBUG("extFtfMiddleEta: " << extFtfMiddleEta << ", extFtfMiddlePhi: " << extFtfMiddlePhi << ", extFtfMiddleZ: " << extFtfMiddleZ << ", extFtfMiddleR: " << extFtfMiddleR);
-    aw_ftf[1] = tan(2*atan(exp(-extFtfMiddleEta)));
+    aw_ftf[1] = std::tan(2*std::atan(std::exp(-extFtfMiddleEta)));
     bw_ftf[1] = extFtfMiddleR - (aw_ftf[1])*extFtfMiddleZ;
     muonRoad.r_ftf[1][0] = extFtfMiddleR;
     muonRoad.z_ftf[1][0] = extFtfMiddleZ;
   }
 
   // Outer
-  const Trk::TrackParameters* extFtfOuter = extTrack( idtrack , 10000., 12500., muonRoad.ext_ftf_flag[2][0]);
+  auto extFtfOuter = extTrack( idtrack , 10000., 12500., muonRoad.ext_ftf_flag[2][0]);
   if( !extFtfOuter ) {
     ATH_MSG_DEBUG("extrapolated track parameters on BarrelOuter is null");
   } else {
     extFtfOuterEta = extFtfOuter->eta();
     extFtfOuterPhi = extFtfOuter->position().phi();
     extFtfOuterZ = extFtfOuter->position().z();
-    extFtfOuterR = sqrt((extFtfOuter->position().x())*(extFtfOuter->position().x()) + (extFtfOuter->position().y())*(extFtfOuter->position().y()));
+    extFtfOuterR = std::hypot(extFtfOuter->position().x(), extFtfOuter->position().y());
     ATH_MSG_DEBUG("extFtfOuterEta: " << extFtfOuterEta << ", extFtfOuterPhi: " << extFtfOuterPhi << ", extFtfOuterZ: " << extFtfOuterZ << ", extFtfOuterR: " << extFtfOuterR);
-    aw_ftf[2] = tan(2*atan(exp(-extFtfOuterEta)));
+    aw_ftf[2] = std::tan(2*std::atan(std::exp(-extFtfOuterEta)));
     bw_ftf[2] = extFtfOuterR - (aw_ftf[2])*extFtfOuterZ;
     muonRoad.r_ftf[2][0] = extFtfOuterR;
     muonRoad.z_ftf[2][0] = extFtfOuterZ;
@@ -145,7 +145,7 @@ StatusCode TrigL2MuonSA::FtfRoadDefiner::defineRoad(const xAOD::TrackParticle* i
 // --------------------------------------------------------------------------------
 
 // extrapolate a FTF track to MS in order to define FTF Road
-const Trk::TrackParameters* TrigL2MuonSA::FtfRoadDefiner::extTrack( const xAOD::TrackParticle* trk, const double R, const double halflength, int& extFlag ) {
+std::unique_ptr<const Trk::TrackParameters> TrigL2MuonSA::FtfRoadDefiner::extTrack( const xAOD::TrackParticle* trk, const double R, const double halflength, int& extFlag ) {
 
   const bool boundaryCheck = true;
   bool bCylinder = false;
@@ -154,54 +154,40 @@ const Trk::TrackParameters* TrigL2MuonSA::FtfRoadDefiner::extTrack( const xAOD::
   double Z = ( trk->eta()>0 )? halflength:-halflength;
 
   // Cylinder
-  Trk::CylinderSurface* barrel = new Trk::CylinderSurface( R, Z );
-  const Trk::Surface* surface1 = barrel;
-  const Trk::TrackParameters* param1 = m_extrapolator->extrapolate(*trk, *surface1, Trk::anyDirection, boundaryCheck, Trk::muon);
+  std::unique_ptr<const Trk::CylinderSurface> barrel = std::make_unique<const Trk::CylinderSurface>( R, Z );
+  std::unique_ptr<const Trk::TrackParameters> param1( m_extrapolator->extrapolate(*trk, *barrel, Trk::anyDirection, boundaryCheck, Trk::muon) );
+  if(param1){
+    bCylinder = true;
+    ATH_MSG_DEBUG("Cylinder -> eta: " << param1->eta() << ", phi: " << param1->position().phi() << ", Z: " << param1->position().z() << ", Rms: " << std::hypot(param1->position().x(), param1->position().y()));
+  } else {
+    ATH_MSG_DEBUG("Cylinder -> extrapolated track parameters on Cylinder is null");
+  }
 
   // Disk
   Amg::Transform3D* matrix = new Amg::Transform3D( Amg::Vector3D( 0.,0.,Z ) );
 
-  Trk::DiscSurface* disc = new Trk::DiscSurface( matrix, 0, R );
-  const Trk::Surface* surface2 = disc;
-  const Trk::TrackParameters* param2 = m_extrapolator->extrapolate(*trk, *surface2, Trk::anyDirection, boundaryCheck, Trk::muon);
-
-  ATH_MSG_DEBUG("R: " << R << ", Z: " << Z);
-  if( !param1 ) {
-    ATH_MSG_DEBUG("Cylinder -> extrapolated track parameters on Cylinder is null");
+  std::unique_ptr<const Trk::DiscSurface> disc = std::make_unique<const Trk::DiscSurface>( matrix, 0, R );
+  std::unique_ptr<const Trk::TrackParameters> param2( m_extrapolator->extrapolate(*trk, *disc, Trk::anyDirection, boundaryCheck, Trk::muon) );
+  if(param2){
+    bDisk = true;
+    ATH_MSG_DEBUG("Disk     -> eta: " << param2->eta() << ", phi: " << param2->position().phi() << ", Z: " << param2->position().z() << ", Rms: " << std::hypot(param2->position().x(), param2->position().y()));
   } else {
-    bCylinder = true;
-    double Rms = sqrt((param1->position().x())*(param1->position().x()) + (param1->position().y())*(param1->position().y()));
-    ATH_MSG_DEBUG("Cylinder -> eta: " << param1->eta() << ", phi: " << param1->position().phi() << ", Z: " << param1->position().z() << ", Rms: " << Rms);
-  }
-
-  if( !param2 ) {
     ATH_MSG_DEBUG("Disk     -> extrapolated track parameters on Disk is null");
-  } else {
-    bDisk = true;
-    double Rms = sqrt((param2->position().x())*(param2->position().x()) + (param2->position().y())*(param2->position().y()));
-    ATH_MSG_DEBUG("Disk     -> eta: " << param2->eta() << ", phi: " << param2->position().phi() << ", Z: " << param2->position().z() << ", Rms: " << Rms);
   }
 
-
-  surface1 = 0;
-  surface2 = 0;
-  disc = 0;
-  barrel = 0;
-  matrix = 0;
-
+  ATH_MSG_DEBUG("R: " << R << ", Z: " << Z);
   ATH_MSG_DEBUG("bCylinder:" << bCylinder << ", bDisk:" << bDisk );
 
+  matrix = 0;
   delete matrix;
-  delete disc;
-  delete barrel;
 
-  if ( bCylinder == true && bDisk == true ){
+  if ( bCylinder && bDisk ){
     extFlag = 0;
     return param1;
-  } else if ( bCylinder == true && bDisk == false){
+  } else if ( bCylinder && !bDisk){
     extFlag = 1;
     return param1;
-  } else if ( bCylinder == false && bDisk == true){
+  } else if ( !bCylinder && bDisk){
     extFlag = 2;
     return param2;
   } else {
@@ -209,5 +195,5 @@ const Trk::TrackParameters* TrigL2MuonSA::FtfRoadDefiner::extTrack( const xAOD::
     return param1;
   }
 
-  return param1;
+  return nullptr;
 }
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.h b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.h
index 2cb798cb61fcf33dc73d6ff3135069cbcb8fcf60..a814605967a3392065ba2d3e2b8734793d617001 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.h
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/FtfRoadDefiner.h
@@ -31,7 +31,7 @@ namespace TrigL2MuonSA {
   public:
     StatusCode defineRoad( const xAOD::TrackParticle* idtrack,
 			   TrigL2MuonSA::MuonRoad&    muonRoad);
-    const Trk::TrackParameters* extTrack( const xAOD::TrackParticle* trk, double R, double halflength, int& extFlag );
+    std::unique_ptr<const Trk::TrackParameters> extTrack( const xAOD::TrackParticle* trk, const double R, const double halflength,  int& extFlag );
 
   protected:
 
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx
index 800777bc096eb84bc21c914a28cb0d5040356b2a..33e4d6a109747d59d5cdb8b48b70f765534ce538 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MdtRegionDefiner.cxx
@@ -40,7 +40,7 @@ StatusCode TrigL2MuonSA::MdtRegionDefiner::getMdtRegions(const LVL1::RecMuonRoI*
 							 TrigL2MuonSA::MuonRoad& muonRoad,
 							 TrigL2MuonSA::MdtRegion& mdtRegion)
 {
-  const double ZERO_LIMIT = 1e-5;
+  constexpr double ZERO_LIMIT = 1e-5;
   mdtRegion.Clear();
   
   int sectors[2];
@@ -179,7 +179,7 @@ StatusCode TrigL2MuonSA::MdtRegionDefiner::getMdtRegions(const LVL1::RecMuonRoI*
   else {
     for (int i=0; i<6; i++){
       for (int j=0; j<2; j++){
-        if (abs(muonRoad.extFtfMiddlePhi) > ZERO_LIMIT) { // for inside-out
+        if (std::abs(muonRoad.extFtfMiddlePhi) > ZERO_LIMIT) { // for inside-out
           if (i==4) muonRoad.phi[9][j] = muonRoad.extFtfMiddlePhi;
           else if (i==5) muonRoad.phi[10][j] = muonRoad.extFtfMiddlePhi;
           else muonRoad.phi[i][j] = muonRoad.extFtfMiddlePhi;
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastStationFitter.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastStationFitter.cxx
index 65c597d24bfd356fc409c91344fe07a85e5c3605..fd7e12adc02c4335a11ca6c2d420ca15a668dc55 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastStationFitter.cxx
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastStationFitter.cxx
@@ -16,6 +16,11 @@
 
 #include "AthenaBaseComps/AthMsgStreamMacros.h"
 
+namespace{
+  constexpr double ZERO_LIMIT = 1.e-6;
+}
+
+
 // --------------------------------------------------------------------------------
 // --------------------------------------------------------------------------------
 
@@ -86,19 +91,18 @@ StatusCode TrigL2MuonSA::MuFastStationFitter::findSuperPoints(const LVL1::RecMuo
                                                               TrigL2MuonSA::RpcFitResult& rpcFitResult,
                                                               std::vector<TrigL2MuonSA::TrackPattern>& v_trackPatterns)
 {
-  const double ZERO_LIMIT = 1e-5;
 
   //
   for (TrigL2MuonSA::TrackPattern& itTrack : v_trackPatterns) { // loop for track candidates
 
     if (rpcFitResult.isSuccess) {
       //      itTrack->phiMSDir = rpcFitResult.phiDir;
-      itTrack.phiMSDir = (cos(rpcFitResult.phi)!=0)? tan(rpcFitResult.phi): 0;
+      itTrack.phiMSDir = (cos(rpcFitResult.phi)!=0)? std::tan(rpcFitResult.phi): 0;
     } else {
-      if ( abs(muonRoad.extFtfMiddlePhi) > ZERO_LIMIT ) { //inside-out
-	itTrack.phiMSDir = (cos(muonRoad.extFtfMiddlePhi)!=0)? tan(muonRoad.extFtfMiddlePhi): 0;
+      if ( std::abs(muonRoad.extFtfMiddlePhi) > ZERO_LIMIT ) { //inside-out
+	itTrack.phiMSDir = (cos(muonRoad.extFtfMiddlePhi)!=0)? std::tan(muonRoad.extFtfMiddlePhi): 0;
       } else {
-	itTrack.phiMSDir = (cos(p_roi->phi())!=0)? tan(p_roi->phi()): 0;
+	itTrack.phiMSDir = (cos(p_roi->phi())!=0)? std::tan(p_roi->phi()): 0;
       }
       itTrack.isRpcFailure = true;
     }
@@ -118,7 +122,6 @@ StatusCode TrigL2MuonSA::MuFastStationFitter::findSuperPointsSimple(const LVL1::
 								    TrigL2MuonSA::TgcFitResult& tgcFitResult,
 								    std::vector<TrigL2MuonSA::TrackPattern>& v_trackPatterns)
 {
-  const double ZERO_LIMIT = 1e-5;
 
   for (TrigL2MuonSA::TrackPattern& itTrack : v_trackPatterns) { // loop for track candidates
 
@@ -165,7 +168,7 @@ StatusCode TrigL2MuonSA::MuFastStationFitter::findSuperPoints(const LVL1::RecMuo
     ATH_CHECK( m_alphaBetaEstimate->setAlphaBeta(p_roi, tgcFitResult, itTrack, muonRoad) );
 
     if ( itTrack.etaBin < -1 ) {
-      itTrack.etaBin = static_cast<int>((fabs(muonRoad.extFtfMiddleEta)-1.)/0.05);
+      itTrack.etaBin = (int)((fabs(muonRoad.extFtfMiddleEta)-1.)/0.05); // eta binning is the same as AlphaBetaEstimate
     }
 
     ATH_CHECK( m_ptFromAlphaBeta->setPt(itTrack,tgcFitResult) );
@@ -193,7 +196,6 @@ StatusCode TrigL2MuonSA::MuFastStationFitter::superPointFitter(TrigL2MuonSA::Tra
    float Xor, Yor, sigma, rm=0., phim=0;
    float Ymid, Xmid, Amid;
 
-   const float ZERO_LIMIT         = 1e-6;
    const unsigned int MAX_STATION = 10; // no BMG(Backup=10)
    const float SIGMA              = 0.0080;
    const float DRIFTSPACE_LIMIT   = 16.;
@@ -368,7 +370,6 @@ StatusCode TrigL2MuonSA::MuFastStationFitter::superPointFitter(TrigL2MuonSA::Tra
       float Ymid  = 0.;
       float Xmid  = 0.;
       float Amid  = 0.;
-      const float ZERO_LIMIT         = 1e-6;
       const float SIGMA              = 0.0080;
       const float DRIFTSPACE_LIMIT   = 16.;
       const int   MIN_MDT_FOR_FIT    = 3;
@@ -512,7 +513,6 @@ void TrigL2MuonSA::MuFastStationFitter::stationSPFit(TrigL2MuonSA::MdtHits*    m
   float Xor, Yor, sigma, rm=0., phim=0;
   float Ymid, Xmid, Amid;
  
-  const float ZERO_LIMIT         = 1e-6;
   const unsigned int MAX_STATION = 8;
   const float SIGMA              = 0.0080;
   const float DRIFTSPACE_LIMIT   = 16.;
@@ -1419,8 +1419,6 @@ int TrigL2MuonSA::MuFastStationFitter::Evlfit(int Ifla, TrigL2MuonSA::PBFitResul
   Ntry = 0;
   Ifit = 0;
   
-  const double ZERO_LIMIT = 1e-6;
-  
   for(j=0;j<pbFitResult.NPOI;j++) if(pbFitResult.IGLIN[j]>=1) pbFitResult.NDOF++;
   
   while(pbFitResult.NDOF>=1) {
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx
index ac921dd13c02b0499bca4281b64c0e73e4b2140a..3169847a8bc76a9c45e85aaca886c9806e76ba8c 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastSteering.cxx
@@ -378,21 +378,19 @@ StatusCode MuFastSteering::execute()
 				  std::make_unique<xAOD::L2CombinedMuonAuxContainer>()) );
 
     auto trackHandle = SG::makeHandle( m_FTFtrackKey, ctx );
-    const xAOD::TrackParticleContainer *tracks = trackHandle.cptr();
     if (!trackHandle.isValid()){
       ATH_MSG_ERROR("ReadHandle for TrackParticleContainer key:" << m_FTFtrackKey.key() << " isn't Valid");
       return StatusCode::FAILURE;
     }
+    const xAOD::TrackParticleContainer *tracks = trackHandle.cptr();
 
     ATH_CHECK(findMuonSignatureIO(*tracks, internalRoI, recRoIVector,
 				  *muonCBColl, *muFastContainer ));
 
     ATH_MSG_DEBUG("REGTEST: xAOD::L2CombinedMuonContainer key:" << m_outputCBmuonCollKey.key() << " size = " << muonCBColl->size());
-    xAOD::L2CombinedMuonContainer::const_iterator p_CBmuon = (*muonCBColl).begin();
-    xAOD::L2CombinedMuonContainer::const_iterator p_CBmuonEn = (*muonCBColl).end();
-    for (;p_CBmuon != p_CBmuonEn; ++p_CBmuon) {
-      ATH_MSG_DEBUG("REGTEST: xAOD::L2CombinedMuonContainer key:" << m_outputCBmuonCollKey.key() << " pt = " << (*p_CBmuon)->pt() << " GeV");
-      ATH_MSG_DEBUG("REGTEST: xAOD::L2CombinedMuonContainer key:" << m_outputCBmuonCollKey.key() << " eta/phi = " << (*p_CBmuon)->eta() << "/" << (*p_CBmuon)->phi());
+    for (const auto p_CBmuon : *muonCBColl){
+      ATH_MSG_DEBUG("REGTEST: xAOD::L2CombinedMuonContainer key:" << m_outputCBmuonCollKey.key() << " pt = " << (*p_CBmuon).pt() << " GeV");
+      ATH_MSG_DEBUG("REGTEST: xAOD::L2CombinedMuonContainer key:" << m_outputCBmuonCollKey.key() << " eta/phi = " << (*p_CBmuon).eta() << "/" << (*p_CBmuon).phi());
     }
 
   }
@@ -1011,35 +1009,28 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
   auto monitorIt       = Monitored::Group(m_monTool, prepTimer, patternTimer, stationFitterTimer,
 					  trackFitterTimer, trackExtraTimer, calibrationTimer );
 
-  if (m_use_timer) {
-    for (unsigned int i_timer=0; i_timer<m_timingTimers.size(); i_timer++) {
+  if (m_use_timer){
+    for (int i_timer = m_timingTimers.size()-1; i_timer>=0; --i_timer){
       m_timingTimers[i_timer]->start();
-      m_timingTimers[i_timer]->pause();
+      if (i_timer != ITIMER_TOTAL_PROCESSING && i_timer != ITIMER_TOTAL_PROCESSING) m_timingTimers[i_timer]->pause();
     }
   }
 
-  if (m_use_timer) m_timingTimers[ITIMER_TOTAL_PROCESSING]->resume();
-  if (m_use_timer) m_timingTimers[ITIMER_DATA_PREPARATOR]->resume();
-
   DataVector<const TrigRoiDescriptor>::const_iterator p_roids;
-  DataVector<const LVL1::RecMuonRoI>::const_iterator p_roi;
 
-  //int npass = 0;
-  // muonRoIs = RecMURoIs, roids = MURoIs
   p_roids = roids.begin();
-  for (p_roi=(muonRoIs).begin(); p_roi!=(muonRoIs).end(); ++p_roi) {
-    sc = StatusCode::SUCCESS;
+  for (const auto p_roi : muonRoIs) {
 
-    //p_roi = (muonRoIs.begin());
-    ATH_MSG_DEBUG("roi eta/phi: " << (*p_roi)->eta() << "/" << (*p_roi)->phi());
+    ATH_MSG_DEBUG("roi eta/phi: " << (*p_roi).eta() << "/" << (*p_roi).phi());
 
     // idtracks loop
-    if ( (idtracks).size()== 0) ATH_MSG_DEBUG("IO TEST: xAOD::TrackParticleContainer has 0 tracks --> Can not use FTF tracks...");
+    if ( (idtracks).empty() ) ATH_MSG_DEBUG("IO TEST: xAOD::TrackParticleContainer has 0 tracks --> Can not use FTF tracks...");
     else  ATH_MSG_DEBUG("IO TEST: xAOD::TrackParticleContainer has " << (idtracks).size() << " tracks --> Start inside-out mode!");
 
     std::vector<TrigL2MuonSA::TrackPattern> trackPatterns;
     int idtrack_idx = -1;
     for (auto idtrack : idtracks) {
+
       idtrack_idx++;
       ATH_MSG_DEBUG("IO TEST: FTF track key:" << m_FTFtrackKey.key() << " pt = " << idtrack->pt()/1000 << " GeV");
       ATH_MSG_DEBUG("IO TEST: FTF track key:" << m_FTFtrackKey.key() << " eta/phi = " << idtrack->eta() << "/" << idtrack->phi());
@@ -1087,7 +1078,7 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 			     m_scaleRoadBarrelOuter);
 
 	// Data preparation
-	sc = m_dataPreparator->prepareData(*p_roi,
+	sc = m_dataPreparator->prepareData(p_roi,
 					   *p_roids,
 					   m_insideOut,
 					   m_rpcHits,
@@ -1121,7 +1112,7 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 	// Superpoint fit
 	if (m_use_timer) m_timingTimers[ITIMER_STATION_FITTER]->resume();
 	stationFitterTimer.start();
-	sc = m_stationFitter->findSuperPoints(*p_roi,
+	sc = m_stationFitter->findSuperPoints(p_roi,
 					      m_muonRoad,
 					      m_rpcFitResult,
 					      trackPatterns);
@@ -1142,13 +1133,13 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 	// Track fitting
 	if (m_use_timer) m_timingTimers[ITIMER_TRACK_FITTER]->resume();
 	trackFitterTimer.start();
-	sc = m_trackFitter->findTracks(*p_roi,
+	sc = m_trackFitter->findTracks(p_roi,
 				       m_rpcFitResult,
 				       trackPatterns);
 	if (!sc.isSuccess()) {
 	  ATH_MSG_WARNING("Track fitter failed");
 	  if(hasSP) {
-	    storeMuonSA(*p_roi, *p_roids, m_muonRoad, m_mdtRegion, m_rpcHits, m_tgcHits,
+	    storeMuonSA(p_roi, *p_roids, m_muonRoad, m_mdtRegion, m_rpcHits, m_tgcHits,
 	    		m_rpcFitResult, m_tgcFitResult, m_mdtHits_normal, m_cscHits,
 	    		m_stgcHits, m_mmHits,
 	    		trackPatterns.back(), outputSAs);
@@ -1177,7 +1168,7 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 
 	prepTimer.start();
 	// Data preparation
-	sc = m_dataPreparator->prepareData(*p_roi,
+	sc = m_dataPreparator->prepareData(p_roi,
 					   *p_roids,
 					   m_insideOut,
 					   m_tgcHits,
@@ -1216,7 +1207,7 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 	// Superpoint fit
 	if (m_use_timer) m_timingTimers[ITIMER_STATION_FITTER]->resume();
 	stationFitterTimer.start();
-	sc = m_stationFitter->findSuperPointsSimple(*p_roi,
+	sc = m_stationFitter->findSuperPointsSimple(p_roi,
 						    m_muonRoad,
 						    m_tgcFitResult,
 						    trackPatterns);
@@ -1239,14 +1230,14 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 	// Track fittingh
         if (m_use_timer) m_timingTimers[ITIMER_TRACK_FITTER]->resume();
 	trackFitterTimer.start();
-        sc = m_trackFitter->findTracks(*p_roi,
+        sc = m_trackFitter->findTracks(p_roi,
 				       m_tgcFitResult,
 				       trackPatterns,
 				       m_muonRoad);
         if (!sc.isSuccess()) {
           ATH_MSG_WARNING("Track fitter failed");
 	  if(hasSP) {
-	    storeMuonSA(*p_roi, *p_roids, m_muonRoad, m_mdtRegion, m_rpcHits, m_tgcHits,
+	    storeMuonSA(p_roi, *p_roids, m_muonRoad, m_mdtRegion, m_rpcHits, m_tgcHits,
 	    		m_rpcFitResult, m_tgcFitResult, m_mdtHits_normal, m_cscHits,
 	    		m_stgcHits, m_mmHits,
 	    		trackPatterns.back(), outputSAs);
@@ -1276,22 +1267,22 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 	TrigL2MuonSA::TrackPattern track = trackPatterns[i];
 	const float ETA_LIMIT       = 2.8;
 	const float DELTA_ETA_LIMIT = 1.0;
-	float roiEta = (*p_roi)->eta();
-	if (fabs(track.pt) > ZERO_LIMIT
-	    && ( fabs(track.etaMap) > ETA_LIMIT || fabs(track.etaMap-roiEta) > DELTA_ETA_LIMIT ) ) {
+	float roiEta = (*p_roi).eta();
+	if (std::abs(track.pt) > ZERO_LIMIT
+	    && ( std::abs(track.etaMap) > ETA_LIMIT || std::abs(track.etaMap-roiEta) > DELTA_ETA_LIMIT ) ) {
           trackPatterns[i].etaMap = roiEta;
         }
       }
 
       // Update monitoring variables
-      sc = updateMonitor(*p_roi, m_mdtHits_normal, trackPatterns );
+      sc = updateMonitor(p_roi, m_mdtHits_normal, trackPatterns );
       if (sc != StatusCode::SUCCESS) {
 	ATH_MSG_WARNING("Failed to update monitoring variables");
       }
 
       // Update output trigger element
       if(hasSP) {
-	storeMuonSA(*p_roi, *p_roids, m_muonRoad, m_mdtRegion, m_rpcHits, m_tgcHits,
+	storeMuonSA(p_roi, *p_roids, m_muonRoad, m_mdtRegion, m_rpcHits, m_tgcHits,
 		    m_rpcFitResult, m_tgcFitResult, m_mdtHits_normal, m_cscHits,
 		    m_stgcHits, m_mmHits,
 		    trackPatterns.back(), outputSAs);
@@ -1326,7 +1317,7 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
       m_mmHits.clear();
       trackPatterns.clear();
       TrigL2MuonSA::TrackPattern trackPattern;
-      storeMuonSA(*p_roi, *p_roids, m_muonRoad, mdtRegion, m_rpcHits, m_tgcHits,
+      storeMuonSA(p_roi, *p_roids, m_muonRoad, mdtRegion, m_rpcHits, m_tgcHits,
       		  m_rpcFitResult, m_tgcFitResult, m_mdtHits_normal, m_cscHits,
       		  m_stgcHits, m_mmHits,
       		  trackPattern, outputSAs);
@@ -1345,14 +1336,12 @@ StatusCode MuFastSteering::findMuonSignatureIO(const xAOD::TrackParticleContaine
 
     ATH_MSG_DEBUG("outputSAs size: " << outputSAs.size());
     ATH_MSG_DEBUG("idtracks size: " << idtracks.size());
-    for (unsigned int i = 0; i< outputSAs.size(); i++){
-      xAOD::L2StandAloneMuon* outputSA = outputSAs[i];
+    for (auto outputSA : outputSAs){
       ATH_MSG_DEBUG("outputSA pt/eta/phi: " << outputSA->pt() << "/" << outputSA->etaMS() << "/" << outputSA->phiMS());
     }
 
     ATH_MSG_DEBUG("outputCBs size: " << outputCBs.size());
-    for (unsigned int i = 0; i< outputCBs.size(); i++){
-      xAOD::L2CombinedMuon* outputCB = outputCBs[i];
+    for (auto outputCB : outputCBs){
       ATH_MSG_DEBUG("outputCB pt/eta/phi: " << outputCB->pt() << "/" << outputCB->eta() << "/" << outputCB->phi());
     }
 
diff --git a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastTrackFitter.cxx b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastTrackFitter.cxx
index 3d93d7a2e63a7bcb9bd6223c3e46356cdebdb703..402cd8004bd8279bd4cdced23a0291fb9cd389fd 100644
--- a/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastTrackFitter.cxx
+++ b/Trigger/TrigAlgorithms/TrigL2MuonSA/src/MuFastTrackFitter.cxx
@@ -160,7 +160,7 @@ StatusCode TrigL2MuonSA::MuFastTrackFitter::findTracks(const LVL1::RecMuonRoI*
      ATH_CHECK( m_alphaBetaEstimate->setAlphaBeta(p_roi, tgcFitResult, itTrack, muonRoad) );
 
      if ( itTrack.etaBin < -1 ) {
-       itTrack.etaBin = static_cast<int>((fabs(muonRoad.extFtfMiddleEta)-1.)/0.05);
+       itTrack.etaBin = (int)((fabs(muonRoad.extFtfMiddleEta)-1.)/0.05); // eta binning is the same as AlphaBetaEstimate
      }
 
      ATH_CHECK( m_ptFromAlphaBeta->setPt(itTrack,tgcFitResult) );
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py
index 98a9931492f0a8854a3b80880cdf873e42f28f46..9fa7b4559861b26aa25c8ed63f9d473c80e67f1b 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSequenceSetup.py
@@ -652,12 +652,14 @@ def getInsideOutMuonChainNames():
     muonSlice = TriggerFlags.MuonSlice.signatures()
     bphysSlice = TriggerFlags.BphysicsSlice.signatures()
     chains =[]
-    if muonSlice:
-        for chain in muonSlice:
-            if "l2io" not in chain.name:
-                chains.append(chain.name)
-    if bphysSlice:
-        for chain in bphysSlice:
-            if "l2io" not in chain.name:
-                chains.append(chain.name)
+
+    try:
+        chains += [chain.name for chain in muonSlice if "l2io" not in chain.name]
+    except Exception as e:
+        print(e)
+    try:
+        chains += [chain.name for chain in bphysSlice if "l2io" not in chain.name]
+    except Exception as e:
+        print(e)
+
     return chains