diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx
index b63dc2e7a5a5b17155e4d416de548701f100ac4f..413b64de7ce05fac6f75fe1721f9432ee3fe9850 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx
+++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.cxx
@@ -6,43 +6,11 @@
 
 #include "MuonPrepRawData/MuonPrepDataContainer.h"
 #include "MuonSegment/MuonSegment.h"
-#include "MuonSegmentCombinerToolInterfaces/IMooSegmentCombinationFinder.h"
-#include "MuonSegmentMakerToolInterfaces/IMuonSegmentOverlapRemovalTool.h"
-
-MooSegmentFinderAlg::MooSegmentFinderAlg(const std::string& name, ISvcLocator* pSvcLocator)
-    : AthReentrantAlgorithm(name, pSvcLocator),
-      m_keyTgc("TGC_Measurements"),
-      m_keyTgcPriorBC("TGC_MeasurementsPriorBC"),
-      m_keyTgcNextBC("TGC_MeasurementsNextBC"),
-      m_keyRpc("RPC_Measurements"),
-      m_keyCsc("CSC_Clusters"),
-      m_keyMdt("MDT_DriftCircles"),
-      m_patternCombiLocation("MuonHoughPatternCombinations"),
-      m_segmentLocation("MooreSegments")
-{
-    declareProperty("UseRPC", m_useRpc = true);
-    declareProperty("UseTGC", m_useTgc = true);
-    declareProperty("UseTGCPriorBC", m_useTgcPriorBC = false);
-    declareProperty("UseTGCNextBC", m_useTgcNextBC = false);
-    declareProperty("UseCSC", m_useCsc = true);
-    declareProperty("UseMDT", m_useMdt = true);
-
-    declareProperty("doTGCClust", m_doTGCClust = false);
-    declareProperty("doRPCClust", m_doRPCClust = false);
-    declareProperty("doClusterTruth", m_doClusterTruth = false);
-
-    declareProperty("CscPrepDataContainer", m_keyCsc);
-    declareProperty("MdtPrepDataContainer", m_keyMdt);
-    declareProperty("RpcPrepDataContainer", m_keyRpc);
-    declareProperty("TgcPrepDataContainer", m_keyTgc);
-    declareProperty("TgcPrepDataContainerPriorBC", m_keyTgcPriorBC);
-    declareProperty("TgcPrepDataContainerNextBC", m_keyTgcNextBC);
-
-    declareProperty("MuonPatternCombinationLocation", m_patternCombiLocation);
-    declareProperty("MuonSegmentOutputLocation", m_segmentLocation);
-}
 
-MooSegmentFinderAlg::~MooSegmentFinderAlg() {}
+
+MooSegmentFinderAlg::MooSegmentFinderAlg(const std::string& name, ISvcLocator* pSvcLocator) :
+  AthReentrantAlgorithm(name, pSvcLocator) {
+}
 
 StatusCode
 MooSegmentFinderAlg::initialize()
@@ -143,8 +111,3 @@ MooSegmentFinderAlg::execute(const EventContext& ctx) const
     return StatusCode::SUCCESS;
 }  // execute
 
-StatusCode
-MooSegmentFinderAlg::finalize()
-{
-    return StatusCode::SUCCESS;
-}
diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h
index 7973fac205df161f9eb8ddd58054996237b7b122..7706d5c6862d7b092d55b43b37b8bce2628fa920 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MooSegmentFinderAlg.h
@@ -7,6 +7,9 @@
 
 #include "AthenaBaseComps/AthReentrantAlgorithm.h"
 #include "GaudiKernel/ToolHandle.h"
+#include "StoreGate/WriteHandleKey.h"
+#include "StoreGate/ReadHandleKey.h"
+
 #include "MuonPattern/MuonPatternCombinationCollection.h"
 #include "MuonPrepRawData/CscPrepDataCollection.h"
 #include "MuonPrepRawData/MdtPrepDataCollection.h"
@@ -18,23 +21,17 @@
 #include "MuonSegmentMakerToolInterfaces/IMuonClusterSegmentFinder.h"
 #include "TrkSegment/SegmentCollection.h"
 #include "TrkTruthData/PRD_MultiTruthCollection.h"
-
-class MsgStream;
-
-namespace Muon {
-class IMooSegmentCombinationFinder;
-class IMuonSegmentOverlapRemovalTool;
-}  // namespace Muon
+#include "MuonSegmentCombinerToolInterfaces/IMooSegmentCombinationFinder.h"
+#include "MuonSegmentMakerToolInterfaces/IMuonSegmentOverlapRemovalTool.h"
 
 class MooSegmentFinderAlg : public AthReentrantAlgorithm {
   public:
     MooSegmentFinderAlg(const std::string& name, ISvcLocator* pSvcLocator);
 
-    virtual ~MooSegmentFinderAlg();
+    virtual ~MooSegmentFinderAlg()=default;
 
     virtual StatusCode initialize() override;
     virtual StatusCode execute(const EventContext& ctx) const override;
-    virtual StatusCode finalize() override;
 
   private:
     template <class T, class Y>
@@ -44,52 +41,36 @@ class MooSegmentFinderAlg : public AthReentrantAlgorithm {
     Trk::SegmentCollection* extractSegmentCollection(const MuonSegmentCombinationCollection& segmentCombinations) const;
 
     /** selection flags for all four technologies */
-    bool m_useTgc;
-    bool m_useTgcPriorBC;
-    bool m_useTgcNextBC;
-    bool m_useRpc;
-    bool m_useCsc;
-    bool m_useMdt;
+    Gaudi::Property<bool> m_useTgc{this,"UseTGC",true};
+    Gaudi::Property<bool> m_useTgcPriorBC{this,"UseTGCPriorBC",false};
+    Gaudi::Property<bool> m_useTgcNextBC{this,"UseTGCNextBC",false};
+    Gaudi::Property<bool> m_useRpc{this,"UseRPC",true};
+    Gaudi::Property<bool> m_useCsc{this,"UseCSC",true};
+    Gaudi::Property<bool> m_useMdt{this,"UseMDT",true};
 
     /** selection flags for cluster based segment finding */
-    bool m_doTGCClust;
-    bool m_doRPCClust;
-    bool m_doClusterTruth;
+    Gaudi::Property<bool> m_doTGCClust{this,"doTGCClust",false};
+    Gaudi::Property<bool> m_doRPCClust{this,"doRPCClust",false};
+    Gaudi::Property<bool> m_doClusterTruth{this,"doClusterTruth",false};
 
     /** storegate location of the MuonPrepDataContainer for all four technologies */
-    SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgc;
-    SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgcPriorBC;
-    SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgcNextBC;
-    SG::ReadHandleKey<Muon::RpcPrepDataContainer> m_keyRpc;
-    SG::ReadHandleKey<Muon::CscPrepDataContainer> m_keyCsc;
-    SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_keyMdt;
-
-    SG::ReadHandleKey<PRD_MultiTruthCollection> m_tgcTruth{this, "TGCTruth", "TGC_TruthMap",
-                                                           "TGC PRD Multi-truth Collection"};
-    SG::ReadHandleKey<PRD_MultiTruthCollection> m_rpcTruth{this, "RPCTruth", "RPC_TruthMap",
-                                                           "RPC PRD Multi-truth Collection"};
-
-    SG::WriteHandleKey<MuonPatternCombinationCollection> m_patternCombiLocation;
-    SG::WriteHandleKey<Trk::SegmentCollection>           m_segmentLocation;
-    SG::WriteHandleKey<Muon::HoughDataPerSectorVec>      m_houghDataPerSectorVecKey{
-        this, "Key_MuonLayerHoughToolHoughDataPerSectorVec", "HoughDataPerSectorVec", "HoughDataPerSectorVec key"};
-
-    ToolHandle<Muon::IMooSegmentCombinationFinder> m_segmentFinder{
-        this,
-        "SegmentFinder",
-        "Muon::MooSegmentCombinationFinder/MooSegmentCombinationFinder",
-    };  //<! pointer to the segment finder
-    ToolHandle<Muon::IMuonClusterSegmentFinder> m_clusterSegMaker{
-        this,
-        "MuonClusterSegmentFinderTool",
-        "Muon::MuonClusterSegmentFinder/MuonClusterSegmentFinder",
-    };
-    ToolHandle<Muon::IMuonSegmentOverlapRemovalTool> m_overlapRemovalTool{
-        this,
-        "SegmentOverlapRemovalTool",
-        "Muon::MuonSegmentOverlapRemovalTool/MuonSegmentOverlapRemovalTool",
-        "tool to removal overlaps in segment combinations",
-    };
+    SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgc{this,"TgcPrepDataContainer","TGC_Measurements"};
+    SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgcPriorBC{this,"TgcPrepDataContainerPriorBC","TGC_MeasurementsPriorBC"};
+    SG::ReadHandleKey<Muon::TgcPrepDataContainer> m_keyTgcNextBC{this,"TgcPrepDataContainerNextBC","TGC_MeasurementsNextBC"};
+    SG::ReadHandleKey<Muon::RpcPrepDataContainer> m_keyRpc{this,"RpcPrepDataContainer","RPC_Measurements"};
+    SG::ReadHandleKey<Muon::CscPrepDataContainer> m_keyCsc{this,"CscPrepDataContainer","CSC_Clusters"};
+    SG::ReadHandleKey<Muon::MdtPrepDataContainer> m_keyMdt{this,"MdtPrepDataContainer","MDT_DriftCircles"};
+
+    SG::ReadHandleKey<PRD_MultiTruthCollection> m_tgcTruth{this,"TGCTruth","TGC_TruthMap","TGC PRD Multi-truth Collection"};
+    SG::ReadHandleKey<PRD_MultiTruthCollection> m_rpcTruth{this,"RPCTruth","RPC_TruthMap","RPC PRD Multi-truth Collection"};
+
+    SG::WriteHandleKey<MuonPatternCombinationCollection> m_patternCombiLocation{this,"MuonPatternCombinationLocation","MuonHoughPatternCombinations"};
+    SG::WriteHandleKey<Trk::SegmentCollection> m_segmentLocation{this,"MuonSegmentOutputLocation","MooreSegments"};
+    SG::WriteHandleKey<Muon::HoughDataPerSectorVec> m_houghDataPerSectorVecKey{this,"Key_MuonLayerHoughToolHoughDataPerSectorVec","HoughDataPerSectorVec","HoughDataPerSectorVec key"};
+
+    ToolHandle<Muon::IMooSegmentCombinationFinder> m_segmentFinder{this,"SegmentFinder","Muon::MooSegmentCombinationFinder/MooSegmentCombinationFinder","pointer to the segment finder"};
+    ToolHandle<Muon::IMuonClusterSegmentFinder> m_clusterSegMaker{this,"MuonClusterSegmentFinderTool","Muon::MuonClusterSegmentFinder/MuonClusterSegmentFinder"};
+    ToolHandle<Muon::IMuonSegmentOverlapRemovalTool> m_overlapRemovalTool{this,"SegmentOverlapRemovalTool","Muon::MuonSegmentOverlapRemovalTool/MuonSegmentOverlapRemovalTool","tool to removal overlaps in segment combinations"};
 };
 
 template <class T, class Y>
diff --git a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MuonSegmentFinderAlg.h b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MuonSegmentFinderAlg.h
index 84636576470240530033a3a3d661cc245ca0ecd0..9d974f2d0fcb7aac2eef8700c6dd00c9926d1d37 100644
--- a/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MuonSegmentFinderAlg.h
+++ b/MuonSpectrometer/MuonReconstruction/MuonSegmentCombiners/MuonSegmentCombinerTools/MooSegmentCombinationFinder/src/MuonSegmentFinderAlg.h
@@ -106,7 +106,7 @@ class MuonSegmentFinderAlg : public AthReentrantAlgorithm {
         "Csc4dSegmentMaker/Csc4dSegmentMaker",
     };
 
-
+    // the following Trk::SegmentCollection MuonSegments are sttandard MuonSegments, the MuGirl segments are stored in MuonCreatorAlg.h
     SG::WriteHandleKey<Trk::SegmentCollection> m_segmentCollectionKey{
         this,
         "SegmentCollectionName",
diff --git a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h
index aace58bb052c5de0ea208a231376724bd1bbbe0d..dbebf292802289456f03abf500cf0d5d62604492 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCombinedInDetExtensionAlg.h
@@ -92,6 +92,7 @@ class MuonCombinedInDetExtensionAlg : public AthAlgorithm {
         "MuGirlMETracks",
         "ME track collection",
     };
+    // these are the MuGirl segments inputs
     SG::WriteHandleKey<Trk::SegmentCollection> m_segments{
         this,
         "SegmentCollection",
diff --git a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.cxx b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.cxx
index e66d0fdc6aafec09ebd3f64f2c5d94f30348f1f5..e442f3ba5e53aa87420a859ae662cdd0889ce67a 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.cxx
@@ -16,9 +16,14 @@
 #include "xAODMuon/SlowMuonAuxContainer.h"
 #include "xAODCaloEvent/CaloClusterContainer.h"
 #include "xAODCaloEvent/CaloClusterAuxContainer.h"
+#include "GaudiKernel/SystemOfUnits.h"
 
 #include <vector>
 
+namespace {
+  static constexpr const double MeVtoGeV = 1/Gaudi::Units::GeV;
+}
+
 MuonCreatorAlg::MuonCreatorAlg(const std::string& name, ISvcLocator* pSvcLocator):
   AthAlgorithm(name,pSvcLocator) {
 }
@@ -33,8 +38,6 @@ StatusCode MuonCreatorAlg::initialize()
   ATH_CHECK(m_muonCandidateCollectionName.initialize(!m_buildSlowMuon));
   //Can't use a flag in intialize for an array of keys
   if(!m_doSA) ATH_CHECK(m_tagMaps.initialize());
-  m_segTrkContainerName = "Trk"+m_segContainerName.key();
-  m_segContainerName = "xaod"+m_segContainerName.key();
   ATH_CHECK(m_segContainerName.initialize());
   ATH_CHECK(m_segTrkContainerName.initialize());
   m_combinedTrkCollectionName = m_combinedCollectionName.key()+"Tracks";
@@ -176,26 +179,26 @@ StatusCode MuonCreatorAlg::execute()
   //---------------------------------------------------------------------------------------------------------------------//
 
   // Only run monitoring for online algorithms
-  if ( not m_monTool.name().empty() ) {
+  if (!m_monTool.name().empty()) {
     // Monitoring histograms and variables
     auto muon_n     = Monitored::Scalar<int>("muon_n", wh_muons->size());
-    auto muon_pt    = Monitored::Collection("muon_pt",    *(wh_muons.ptr()),  [](auto const& mu) {return mu->pt()/1000.0;}); // converted to GeV
+    auto muon_pt    = Monitored::Collection("muon_pt",    *(wh_muons.ptr()),  [](auto const& mu) {return mu->pt()*MeVtoGeV;}); // converted to GeV
     auto muon_eta   = Monitored::Collection("muon_eta",   *(wh_muons.ptr()),  &xAOD::Muon_v1::eta);
     auto muon_phi   = Monitored::Collection("muon_phi",   *(wh_muons.ptr()),  &xAOD::Muon_v1::phi);
 
     auto satrks_n     = Monitored::Scalar<int>("satrks_n", wh_extrtp->size());
-    auto satrks_pt  = Monitored::Collection("satrks_pt",  *(wh_extrtp.ptr()), [](auto const& satrk) {return satrk->pt()/1000.0;}); // converted to GeV
+    auto satrks_pt  = Monitored::Collection("satrks_pt",  *(wh_extrtp.ptr()), [](auto const& satrk) {return satrk->pt()*MeVtoGeV;}); // converted to GeV
     auto satrks_eta = Monitored::Collection("satrks_eta", *(wh_extrtp.ptr()), &xAOD::TrackParticle_v1::eta);
     auto satrks_phi = Monitored::Collection("satrks_phi", *(wh_extrtp.ptr()), &xAOD::TrackParticle_v1::phi);
 
     auto cbtrks_n   = Monitored::Scalar<int>("cbtrks_n", wh_combtp->size());    
-    auto cbtrks_pt  = Monitored::Collection("cbtrks_pt",  *(wh_combtp.ptr()), [](auto const& cbtrk) {return cbtrk->pt()/1000.0;}); // converted to GeV
+    auto cbtrks_pt  = Monitored::Collection("cbtrks_pt",  *(wh_combtp.ptr()), [](auto const& cbtrk) {return cbtrk->pt()*MeVtoGeV;}); // converted to GeV
     auto cbtrks_eta = Monitored::Collection("cbtrks_eta", *(wh_combtp.ptr()), &xAOD::TrackParticle_v1::eta);
     auto cbtrks_phi = Monitored::Collection("cbtrks_phi", *(wh_combtp.ptr()), &xAOD::TrackParticle_v1::phi);
 
     if (!m_doSA) {
       auto idtrks_n   = Monitored::Scalar<int>("idtrks_n", indetCandidateCollection->size());
-      auto idtrks_pt  = Monitored::Collection("idtrks_pt", *indetCandidateCollection, [](auto const& idtrk) {return idtrk->indetTrackParticle().pt()/1000.0;});
+      auto idtrks_pt  = Monitored::Collection("idtrks_pt", *indetCandidateCollection, [](auto const& idtrk) {return idtrk->indetTrackParticle().pt()*MeVtoGeV;});
       auto idtrks_eta = Monitored::Collection("idtrks_eta", *indetCandidateCollection, [](auto const& idtrk) {return idtrk->indetTrackParticle().eta();});
       auto idtrks_phi = Monitored::Collection("idtrks_phi", *indetCandidateCollection, [](auto const& idtrk) {return idtrk->indetTrackParticle().phi();});
       auto monitorIt = Monitored::Group(m_monTool, muon_n, muon_pt, muon_eta, muon_phi, satrks_n, satrks_pt, satrks_eta, satrks_phi, cbtrks_n, cbtrks_pt,
diff --git a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.h b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.h
index 23f8b75dd562f92439e6f04036a060f1e365f74e..754f58f9aa67d1b96795a53a33b00e86bf5766cd 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.h
+++ b/Reconstruction/MuonIdentification/MuonCombinedAlgs/src/MuonCreatorAlg.h
@@ -52,8 +52,11 @@ class MuonCreatorAlg : public AthAlgorithm
   SG::ReadHandleKey<InDetCandidateCollection> m_indetCandidateCollectionName{this,"InDetCandidateLocation","InDetCandidates","ID candidates"};
   SG::ReadHandleKey<MuonCandidateCollection> m_muonCandidateCollectionName{this,"MuonCandidateLocation","MuonCandidates","Muon candidates"};
   SG::ReadHandleKeyArray<MuonCombined::InDetCandidateToTagMap> m_tagMaps{this,"TagMaps",{"muidcoTagMap","stacoTagMap","muGirlTagMap","caloTagMap","segmentTagMap"},"ID candidate to tag maps"};
-  SG::WriteHandleKey<xAOD::MuonSegmentContainer> m_segContainerName{this, "SegmentContainerName", "MuonSegments", "Segments"};
-  SG::WriteHandleKey<Trk::SegmentCollection> m_segTrkContainerName{this,"TrackSegmentContainerName","MuonSegments","Track segments"};
+  SG::WriteHandleKey<xAOD::MuonSegmentContainer> m_segContainerName{this, "SegmentContainerName", "xaodMuonSegments", "Segments"};
+
+  // the following Trk::SegmentCollection MuonSegments are MuGirl segments, the standard MuonSegments are store in MuonSegmentFinderAlg.h
+  SG::WriteHandleKey<Trk::SegmentCollection> m_segTrkContainerName{this,"TrackSegmentContainerName","TrkMuonSegments","Track segments"};
+
   SG::WriteHandleKey<xAOD::CaloClusterContainer> m_clusterContainerName{this, "ClusterContainerName", "MuonClusterCollection", "Clusters"};
   SG::WriteHandleKey<CaloClusterCellLinkContainer> m_clusterContainerLinkName{this,"CaloClusterCellLinkName","MuonClusterCollection","Cluster links"};
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
index fff7d67d497b1fc9875e350b175ca5e06dbbbe6e..0a5c02b700c5304a2a07b5ff2d3858d3ed6b869a 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
+++ b/Reconstruction/MuonIdentification/MuonCombinedBaseTools/src/MuonCreatorTool.cxx
@@ -738,7 +738,7 @@ namespace MuonCombined {
           muon.setTrackParticleLink(xAOD::Muon::ExtrapolatedMuonSpectrometerTrackParticle, link );
         }
         else ATH_MSG_WARNING("Creating of MuGirl TrackParticle Link failed");
-      }     
+      }
     }
 
     if (outputData.xaodSegmentContainer){
@@ -746,10 +746,7 @@ namespace MuonCombined {
 
       std::vector< ElementLink< xAOD::MuonSegmentContainer > > segments;
       for( const auto& segLink : tag->segments() ){ 
-	
-        ElementLink<xAOD::MuonSegmentContainer> link = createMuonSegmentElementLink(segLink,
-                                                                                    *outputData.xaodSegmentContainer,
-										    outputData.muonSegmentCollection);
+        ElementLink<xAOD::MuonSegmentContainer> link = createMuonSegmentElementLink(segLink, *outputData.xaodSegmentContainer, outputData.muonSegmentCollection);
         if( link.isValid() ) {
           //link.toPersistent();
           segments.push_back(link);
@@ -758,7 +755,7 @@ namespace MuonCombined {
         else ATH_MSG_WARNING("Creating of MuGirl segment Link failed");         
       }
       muon.setMuonSegmentLinks(segments);
-    }  
+    }
     ATH_MSG_DEBUG("Done Adding MuGirl Muon  " << tag->author() << " type " << tag->type());    
   }
 
diff --git a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
index 36ddf5317f33b753fbe79003091aed7057eabeff..3ba9de7e4146939ecfd4614fe47d9f952912f96a 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
@@ -255,7 +255,8 @@ def StauCreatorAlgCfg(flags, name="StauCreatorAlg", **kwargs ):
     kwargs.setdefault("ExtrapolatedLocation","ExtrapolatedStau")
     kwargs.setdefault("MSOnlyExtrapolatedLocation","MSOnlyExtrapolatedStau")
     kwargs.setdefault("MuonCandidateLocation","")
-    kwargs.setdefault("SegmentContainerName","StauSegments")
+    kwargs.setdefault("SegmentContainerName","xaodStauSegments")
+    kwargs.setdefault("TrackSegmentContainerName","TrkStauSegments")
     kwargs.setdefault("BuildSlowMuon",1)
     kwargs.setdefault("ClusterContainerName", "SlowMuonClusterCollection")
     kwargs.setdefault("TagMaps",["stauTagMap"])
diff --git a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py
index 2035e3bf58a674ac3d2823e487ba548135738547..3baeb10f2c1ec4949e29650d94ba3c2b29395028 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedRecExample/python/MuonCombinedAlgs.py
@@ -199,8 +199,8 @@ def MuonCreatorAlg_LRT( name="MuonCreatorAlg_LRT",**kwargs ):
     kwargs.setdefault("ExtrapolatedLocation", "ExtraPolated"+MuonCbKeys.FinalMuonsLargeD0())
     kwargs.setdefault("MSOnlyExtrapolatedLocation", "MSOnlyExtraPolated"+MuonCbKeys.FinalMuonsLargeD0())
     kwargs.setdefault("CombinedLocation", "Combined"+MuonCbKeys.FinalMuonsLargeD0())
-    kwargs.setdefault("SegmentContainerName", "MuonSegments_LRT")
-    kwargs.setdefault("TrackSegmentContainerName", "TrackMuonSegments_LRT")
+    kwargs.setdefault("SegmentContainerName", "xaodMuonSegments_LRT")
+    kwargs.setdefault("TrackSegmentContainerName", "TrkMuonSegments_LRT")
     kwargs.setdefault("BuildSlowMuon", False)
     kwargs.setdefault("MakeClusters", False)
     kwargs.setdefault("ClusterContainerName", "")
@@ -216,7 +216,8 @@ def StauCreatorAlg( name="StauCreatorAlg", **kwargs ):
     kwargs.setdefault("ExtrapolatedLocation","ExtrapolatedStau")
     kwargs.setdefault("MSOnlyExtrapolatedLocation","MSOnlyExtrapolatedStau")
     kwargs.setdefault("MuonCandidateLocation","")
-    kwargs.setdefault("SegmentContainerName","StauSegments")
+    kwargs.setdefault("SegmentContainerName","xaodStauSegments")
+    kwargs.setdefault("TrackSegmentContainerName","TrkStauSegments")
     kwargs.setdefault("BuildSlowMuon",1)
     kwargs.setdefault("ClusterContainerName", "SlowMuonClusterCollection")
     kwargs.setdefault("TagMaps",["stauTagMap"])
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py
index ffae34767d601c331c72332500fb8cd75456c139..b3de9157559cc1648a4db88bee753dc14310914f 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/MuonSetup.py
@@ -785,7 +785,7 @@ def muEFCBRecoSequence( RoIs, name ):
     cbMuonName = muNamesFS.EFCBName
 
   themuoncbcreatoralg = MuonCreatorAlg("TrigMuonCreatorAlgCB_"+name, MuonCandidateLocation=candidatesName, TagMaps=["muidcoTagMap"], InDetCandidateLocation="InDetCandidates_"+name,
-                                       MuonContainerLocation = cbMuonName, SegmentContainerName = "CBSegments", ExtrapolatedLocation = "CBExtrapolatedMuons",
+                                       MuonContainerLocation = cbMuonName, SegmentContainerName = "xaodCBSegments", TrackSegmentContainerName = "TrkCBSegments", ExtrapolatedLocation = "CBExtrapolatedMuons",
                                        MSOnlyExtrapolatedLocation = "CBMSonlyExtrapolatedMuons", CombinedLocation = "HLT_CBCombinedMuon_"+name,
                                        MonTool = MuonCreatorAlgMonitoring("MuonCreatorAlgCB_"+name))
 
@@ -921,7 +921,7 @@ def muEFInsideOutRecoSequence(RoIs, name):
   else:
     theInsideOutRecoAlg = MuonInsideOutRecoAlg("TrigMuonInsideOutRecoAlg_"+name,InDetCandidateLocation="InDetCandidates_"+name)
     insideoutcreatoralg = MuonCreatorAlg("TrigMuonCreatorAlgInsideOut_"+name, TagMaps=["muGirlTagMap"],InDetCandidateLocation="InDetCandidates_"+name,
-                                         MuonContainerLocation = cbMuonName, SegmentContainerName = "InsideOutCBSegments", ExtrapolatedLocation = "InsideOutCBExtrapolatedMuons",
+                                         MuonContainerLocation = cbMuonName, SegmentContainerName = "xaodInsideOutCBSegments", TrackSegmentContainerName = "TrkInsideOutCBSegments", ExtrapolatedLocation = "InsideOutCBExtrapolatedMuons",
                                          MSOnlyExtrapolatedLocation = "InsideOutCBMSOnlyExtrapolatedMuons", CombinedLocation = "InsideOutCBCombinedMuon", MonTool = MuonCreatorAlgMonitoring("MuonCreatorAlgInsideOut_"+name))
 
   efAlgs.append(theInsideOutRecoAlg)
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py
index cce859909024bc5102ff9787458ebe59bbb5ebe6..747038c4ec9e2e31b811c20c3afe21901258d963 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py
@@ -377,7 +377,7 @@ def generateChains( flags, chainDict ):
         recoCB.mergeReco(muonCombCfg)
 
         muonCreatorCBCfg = MuonCreatorAlgCfg(muonflags, name="TrigMuonCreatorAlgCB_RoI", MuonCandidateLocation="MuonCandidates", TagMaps=["muidcoTagMap"], 
-                                            InDetCandidateLocation="InDetCandidates_RoI", MuonContainerLocation = "MuonsCB", SegmentContainerName = "CBSegments", 
+                                            InDetCandidateLocation="InDetCandidates_RoI", MuonContainerLocation = "MuonsCB", SegmentContainerName = "xaodCBSegments", TrackSegmentContainerName = "TrkCBSegments",
                                             ExtrapolatedLocation = "CBExtrapolatedMuons", MSOnlyExtrapolatedLocation = "CBMSonlyExtrapolatedMuons", CombinedLocation = "HLT_CBCombinedMuon_RoI")
         recoCB.mergeReco(muonCreatorCBCfg)