diff --git a/Muon/MuonTools/CMakeLists.txt b/Muon/MuonTools/CMakeLists.txt
index 36d48efd7101e2f4c05bd76a95e42766603558e8..f5a2033c0044bf99a49c91a17e133017c33b63ae 100644
--- a/Muon/MuonTools/CMakeLists.txt
+++ b/Muon/MuonTools/CMakeLists.txt
@@ -17,7 +17,6 @@ gaudi_add_module(MuonTools
     SOURCES
         src/MuonFastHWTool.cpp
         src/MuonFastPosTool.cpp
-        src/MuonPIDConverter.cpp
         src/MuonPIDToMuonTracks.cpp
         src/MuonPIDV2ToMuonTracks.cpp
         src/MergeMuonPIDs.cpp
diff --git a/Muon/MuonTools/src/MuonPIDConverter.cpp b/Muon/MuonTools/src/MuonPIDConverter.cpp
deleted file mode 100644
index 215cf72118b5fb95712325e74fd8d5c944701f65..0000000000000000000000000000000000000000
--- a/Muon/MuonTools/src/MuonPIDConverter.cpp
+++ /dev/null
@@ -1,85 +0,0 @@
-/*****************************************************************************\
-* (c) Copyright 2000-2018 CERN for the benefit of the LHCb Collaboration      *
-*                                                                             *
-* This software is distributed under the terms of the GNU General Public      *
-* Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING".   *
-*                                                                             *
-* In applying this licence, CERN does not waive the privileges and immunities *
-* granted to it by virtue of its status as an Intergovernmental Organization  *
-* or submit itself to any jurisdiction.                                       *
-\*****************************************************************************/
-
-// Gaudi
-#include "GaudiAlg/Transformer.h"
-
-// LHCb
-#include "Event/MuonPID.h"
-#include "Event/MuonPIDs_v2.h"
-#include "Event/Track.h"
-
-/**
- * Converter from MuonPID SoA PoD to LHCb::MuonPIDs (KeyedContainer)
- *
- * @author Ricardo Vazquez Gomez (UB)
- *
- * Based on https://gitlab.cern.ch/lhcb/Rec/blob/master/Pr/PrConverters/src/fromPrVeloUTTrack.cpp
- * from Michel De Cian
- */
-
-// Use the functional framework
-using namespace Gaudi::Functional;
-using TType    = LHCb::Event::Enum::Track::Type;
-using MuonPIDs = LHCb::Event::v2::Muon::PIDs;
-
-class MuonPIDConverter
-    : public Transformer<LHCb::MuonPIDs( const MuonPIDs&, const LHCb::Tracks&, const LHCb::Tracks& )> {
-
-public:
-  MuonPIDConverter( const std::string& name, ISvcLocator* pSvcLocator )
-      : Transformer( name, pSvcLocator,
-                     {KeyValue{"InputMuonPIDs", LHCb::MuonPIDLocation::Default},
-                      KeyValue{"InputTracks", LHCb::TrackLocation::Default}, KeyValue{"InputMuonTracks", ""}},
-                     KeyValue{"OutputMuonPIDs", "Rec/Muon/MuonPID"} ) {}
-
-  LHCb::MuonPIDs operator()( const MuonPIDs& muonPIDs, const LHCb::Tracks& tracks,
-                             const LHCb::Tracks& muontracks ) const override {
-    LHCb::MuonPIDs out;
-    out.reserve( muonPIDs.size() );
-
-    m_nbMuonPIDsCounter += muonPIDs.size();
-    if ( !tracks.empty() && !muonPIDs.empty() ) {
-      auto offsetTrack = std::find_if( tracks.begin(), tracks.end(),
-                                       [&]( const auto& tk ) { return tk->type() == m_track_type.value(); } );
-      auto offsetIndex = ( *offsetTrack )->index();
-
-      for ( auto const& muonPID : muonPIDs.scalar() ) {
-        auto newMuonPID = new LHCb::MuonPID();
-        newMuonPID->setChi2Corr( muonPID.Chi2Corr().cast() );
-        newMuonPID->setIsMuon( muonPID.IsMuon().cast() );
-        newMuonPID->setIsMuonTight( muonPID.IsMuonTight().cast() );
-        newMuonPID->setInAcceptance( muonPID.InAcceptance().cast() );
-        newMuonPID->setPreSelMomentum( muonPID.PreSelMomentum().cast() );
-        newMuonPID->setMuonLLMu( muonPID.LLMu().cast() );
-        newMuonPID->setMuonLLBg( muonPID.LLBg().cast() );
-        newMuonPID->setMuonMVA2( muonPID.CatBoost().cast() );
-
-        auto index = muonPID.indices();
-        // get the correct track
-        auto it = tracks.begin() + index.cast() + offsetIndex;
-        newMuonPID->setIDTrack( ( *it ) );
-        auto muonit = muontracks.begin() + index.cast();
-        newMuonPID->setMuonTrack( *muonit );
-        out.insert( newMuonPID );
-      }
-    }
-    return out;
-  };
-
-private:
-  Gaudi::Property<TType> m_track_type{
-      this, "RestrictToType", TType::Unknown,
-      "If set, filter the input tracks and only write those of the given type. Otherwise the full set is processed"};
-  mutable Gaudi::Accumulators::SummingCounter<> m_nbMuonPIDsCounter{this, "Nb of Produced MuonPIDs"};
-};
-
-DECLARE_COMPONENT( MuonPIDConverter )
diff --git a/Pr/PrConverters/src/fromV2MuonPIDV1MuonPID.cpp b/Pr/PrConverters/src/fromV2MuonPIDV1MuonPID.cpp
index 63b4a13b755db224bfa9004380a97d27742591d8..e89c9d128652650dcc9a1e725a1fb600081f9444 100644
--- a/Pr/PrConverters/src/fromV2MuonPIDV1MuonPID.cpp
+++ b/Pr/PrConverters/src/fromV2MuonPIDV1MuonPID.cpp
@@ -1,5 +1,5 @@
 /*****************************************************************************\
-* (c) Copyright 2018 CERN for the benefit of the LHCb Collaboration           *
+* (c) Copyright 2000-2022 CERN for the benefit of the LHCb Collaboration      *
 *                                                                             *
 * This software is distributed under the terms of the GNU General Public      *
 * Licence version 3 (GPL Version 3), copied verbatim in the file "COPYING".   *
@@ -9,50 +9,75 @@
 * or submit itself to any jurisdiction.                                       *
 \*****************************************************************************/
 
-// Include files
-// from Gaudi
+// Gaudi
+#include "LHCbAlgs/Transformer.h"
+
+// LHCb
 #include "Event/MuonPID.h"
-#include "Event/MuonPID_v2.h"
 #include "Event/MuonPIDs_v2.h"
-#include "LHCbAlgs/Transformer.h"
-#include "PrKernel/PrSelection.h"
+#include "Event/Track.h"
 
-namespace LHCb::Converters::MuonPID::v1 {
+/**
+ * Converter from MuonPID SoA PoD to LHCb::MuonPIDs (KeyedContainer)
+ *
+ * @author Ricardo Vazquez Gomez (UB)
+ *
+ * Based on https://gitlab.cern.ch/lhcb/Rec/blob/master/Pr/PrConverters/src/fromPrVeloUTTrack.cpp
+ * from Michel De Cian
+ */
 
-  struct fromV2MuonPIDV1MuonPID
-      : public LHCb::Algorithm::Transformer<LHCb::MuonPIDs( LHCb::Event::v2::Muon::PIDs const& )> {
+namespace LHCb::Converters::Muon {
 
-    fromV2MuonPIDV1MuonPID( std::string const& name, ISvcLocator* pSvcLocator )
-        : Transformer( name, pSvcLocator, KeyValue{"InputMuonPIDs", ""}, KeyValue{"OutputMuonPIDs", ""} ) {}
+  class fromV2MuonPIDV1MuonPID : public Algorithm::Transformer<LHCb::MuonPIDs(
+                                     const Event::v2::Muon::PIDs&, const LHCb::Tracks&, const LHCb::Tracks& )> {
 
-    LHCb::MuonPIDs operator()( LHCb::Event::v2::Muon::PIDs const& muonPids ) const override {
+  public:
+    fromV2MuonPIDV1MuonPID( const std::string& name, ISvcLocator* pSvcLocator )
+        : Transformer( name, pSvcLocator,
+                       {KeyValue{"InputMuonPIDs", LHCb::MuonPIDLocation::Default},
+                        KeyValue{"InputTracks", LHCb::TrackLocation::Default}, KeyValue{"InputMuonTracks", ""}},
+                       KeyValue{"OutputMuonPIDs", "Rec/Muon/MuonPID"} ) {}
+
+    LHCb::MuonPIDs operator()( const Event::v2::Muon::PIDs& muonPIDs, const LHCb::Tracks& tracks,
+                               const LHCb::Tracks& muontracks ) const override {
       LHCb::MuonPIDs out;
-      out.reserve( muonPids.size() );
-      for ( auto const& muonPid : muonPids.scalar() ) {
-        auto* outPid = new LHCb::MuonPID{};
-        outPid->setMuonLLMu( 0 );
-        outPid->setMuonLLBg( 0 );
-        outPid->setNShared( -1 );
-        outPid->setStatus( 0 );
-        outPid->setIsMuon( muonPid.IsMuon().cast() );
-        outPid->setInAcceptance( muonPid.InAcceptance().cast() );
-        outPid->setPreSelMomentum( muonPid.PreSelMomentum().cast() );
-        outPid->setInAcceptance( 0 );
-        outPid->setPreSelMomentum( 0 );
-        outPid->setIsMuonLoose( 1 );
-        outPid->setIsMuonTight( muonPid.IsMuonTight().cast() );
-        outPid->setIsMuonTight( 0 );
-        outPid->setChi2Corr( muonPid.Chi2Corr().cast() );
-        outPid->setMuonMVA1( 0 );
-        outPid->setMuonMVA2( 0 );
-        outPid->setMuonMVA3( 0 );
-        outPid->setMuonMVA4( 0 );
-        outPid->setIDTrack( nullptr );
-        outPid->setMuonTrack( nullptr );
-        out.add( outPid );
+      out.reserve( muonPIDs.size() );
+
+      m_nbMuonPIDsCounter += muonPIDs.size();
+
+      if ( !tracks.empty() && !muonPIDs.empty() ) {
+        auto offsetTrack = std::find_if( tracks.begin(), tracks.end(),
+                                         [&]( const auto& tk ) { return tk->type() == m_track_type.value(); } );
+        auto offsetIndex = ( *offsetTrack )->index();
+
+        for ( auto const& muonPID : muonPIDs.scalar() ) {
+          auto newMuonPID = new LHCb::MuonPID();
+          newMuonPID->setChi2Corr( muonPID.Chi2Corr().cast() );
+          newMuonPID->setIsMuon( muonPID.IsMuon().cast() );
+          newMuonPID->setIsMuonTight( muonPID.IsMuonTight().cast() );
+          newMuonPID->setInAcceptance( muonPID.InAcceptance().cast() );
+          newMuonPID->setPreSelMomentum( muonPID.PreSelMomentum().cast() );
+          newMuonPID->setMuonLLMu( muonPID.LLMu().cast() );
+          newMuonPID->setMuonLLBg( muonPID.LLBg().cast() );
+          newMuonPID->setMuonMVA2( muonPID.CatBoost().cast() );
+          auto index = muonPID.indices();
+          // get the correct track
+          auto it = tracks.begin() + index.cast() + offsetIndex;
+          newMuonPID->setIDTrack( ( *it ) );
+          auto muonit = muontracks.begin() + index.cast();
+          newMuonPID->setMuonTrack( *muonit );
+          out.insert( newMuonPID );
+        }
       }
       return out;
-    }
+    };
+
+  private:
+    Gaudi::Property<Event::Enum::Track::Type> m_track_type{
+        this, "RestrictToType", Event::Enum::Track::Type::Unknown,
+        "If set, filter the input tracks and only write those of the given type. Otherwise the full set is processed"};
+    mutable Gaudi::Accumulators::SummingCounter<> m_nbMuonPIDsCounter{this, "Nb of Produced MuonPIDs"};
   };
-  DECLARE_COMPONENT( fromV2MuonPIDV1MuonPID )
-} // namespace LHCb::Converters::MuonPID::v1
+
+  DECLARE_COMPONENT_WITH_ID( fromV2MuonPIDV1MuonPID, "fromV2MuonPIDV1MuonPID" )
+} // namespace LHCb::Converters::Muon
diff --git a/Rec/RecConf/python/RecConf/Configuration.py b/Rec/RecConf/python/RecConf/Configuration.py
index 8b7e2690117d29654a5245acb0f5f9fc00a9218f..5209feb01e7fff15f2f3ece0bfa2b819e95cffc2 100755
--- a/Rec/RecConf/python/RecConf/Configuration.py
+++ b/Rec/RecConf/python/RecConf/Configuration.py
@@ -228,7 +228,7 @@ class RecSysConf(LHCbConfigurableUser):
 
         # MUON
         if "MUON" in recoSeq:
-            from Configurables import RawBankReadoutStatusConverter, RawBankReadoutStatusFilter, MuonIDHlt2Alg, MuonPIDConverter, PrepareMuonHits, UniqueIDGeneratorAlg, MergeMuonPIDsV1, MuonPIDToMuonTracks, MuonPIDV2ToMuonTracks
+            from Configurables import RawBankReadoutStatusConverter, RawBankReadoutStatusFilter, MuonIDHlt2Alg, fromV2MuonPIDV1MuonPID, PrepareMuonHits, UniqueIDGeneratorAlg, MergeMuonPIDsV1, MuonPIDToMuonTracks, MuonPIDV2ToMuonTracks
             from Configurables import LHCb__Converters__Track__SOA__fromV1Track as TrackSOAFromV1
             longTrackAlg = TrackSOAFromV1(
                 "longTrackAlg",
@@ -247,7 +247,7 @@ class RecSysConf(LHCbConfigurableUser):
                 InputTracks="/Event/Rec/Track/Best",
                 OutputMuonTracks="/Event/Rec/Muon/LongMuonTracks",
                 RestrictToType="Long")
-            longMuonPIDv1Alg = MuonPIDConverter(
+            longMuonPIDv1Alg = fromV2MuonPIDV1MuonPID(
                 "longMuonPIDv1Alg",
                 InputMuonPIDs="/Event/Muon/LongMuonPIDs",
                 InputTracks="/Event/Rec/Track/Best",
@@ -272,7 +272,7 @@ class RecSysConf(LHCbConfigurableUser):
                 InputTracks="/Event/Rec/Track/Best",
                 OutputMuonTracks="/Event/Rec/Muon/DownMuonTracks",
                 RestrictToType="Downstream")
-            downMuonPIDv1Alg = MuonPIDConverter(
+            downMuonPIDv1Alg = fromV2MuonPIDV1MuonPID(
                 "downMuonPIDv1Alg",
                 InputMuonPIDs="/Event/Muon/DownMuonPIDs",
                 InputTracks="/Event/Rec/Track/Best",