diff --git a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py
index a5624da3b662f00ef17b766f1bd64c0c0793cfe8..bee7b31c20d38ded5859b283cbd0a1a96711305d 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedRecToolsConfig.py
@@ -112,12 +112,15 @@ def MuonCombinedInDetDetailedTrackSelectorToolCfg(flags, name="MuonCombinedInDet
 
 
 def MuonCombinedParticleCreatorCfg(flags, name="MuonCombinedParticleCreator",**kwargs):
-    # FIXME - not sure how to handle the trigger bit below (from the old configuration)
-    # if TriggerFlags.MuonSlice.doTrigMuonConfig:
-    #     kwargs.setdefault("TrackSummaryTool"              , getPublicTool("MuonTrackSummaryTool") )
-
-    result = MuonCombinedTrackSummaryToolCfg(flags)
-    kwargs.setdefault("TrackSummaryTool", result.getPrimary() ) 
+    result = ComponentAccumulator()    
+    if flags.Muon.MuonTrigger:
+        from MuonConfig.MuonRecToolsConfig import MuonTrackSummaryToolCfg
+        acc = MuonTrackSummaryToolCfg(flags)
+        kwargs.setdefault("TrackSummaryTool", acc.popPrivateTools())
+        result.merge(acc)
+    else:
+        acc = MuonCombinedTrackSummaryToolCfg(flags)
+        kwargs.setdefault("TrackSummaryTool", acc.getPrimary() ) 
 
     acc = AtlasExtrapolatorCfg(flags)
     kwargs.setdefault("Extrapolator", acc.getPrimary() )
@@ -176,10 +179,16 @@ def MuonMaterialProviderToolCfg(flags,  name = "MuonMaterialProviderTool"):
     result.addPublicTool(atlas_extrapolator)
     kwargs = dict()
     kwargs["Extrapolator"] = atlas_extrapolator
-    acc = MuonCombinedTrackSummaryToolCfg(flags)
-    muon_combined_track_summary_tool = acc.popPrivateTools()
-    result.merge(acc)
-    kwargs["TrackSummaryTool"] = muon_combined_track_summary_tool
+    if flags.Muon.SAMuonTrigger:
+        from MuonConfig.MuonRecToolsConfig import MuonTrackSummaryToolCfg
+        acc = MuonTrackSummaryToolCfg(flags)
+        kwargs.setdefault("TrackSummaryTool", acc.popPrivateTools())
+        result.merge(acc)
+    else:
+        acc = MuonCombinedTrackSummaryToolCfg(flags)
+        muon_combined_track_summary_tool = acc.popPrivateTools()
+        result.merge(acc)
+        kwargs["TrackSummaryTool"] = muon_combined_track_summary_tool
     kwargs["KeepAllPerigee"] = True 
     kwargs["PerigeeExpression"] = "Origin"
     track_particle_creator = CompFactory.Trk.TrackParticleCreatorTool(name="MuonCaloParticleCreator",**kwargs)
@@ -203,11 +212,13 @@ def MuonCreatorToolCfg(flags, name="MuonCreatorTool", **kwargs):
     from TrackToCalo.TrackToCaloConfig import ParticleCaloExtensionToolCfg
     result = MuonMaterialProviderToolCfg(flags)
     kwargs.setdefault( "CaloMaterialProvider", result.getPrimary() )
-    # if TriggerFlags.MuonSlice.doTrigMuonConfig:
-    #     kwargs.setdefault('MakeTrackAtMSLink',True)
-    #     kwargs.setdefault("FillTimingInformation",False)
-    #     kwargs.setdefault("MuonSelectionTool", "")
-    # else:
+    if flags.Muon.MuonTrigger:
+        kwargs.setdefault('MakeTrackAtMSLink',True)
+        kwargs.setdefault("FillTimingInformation",False)
+        kwargs.setdefault("MuonSelectionTool", "")
+        kwargs.setdefault("UseCaloCells", False)
+        kwargs.setdefault("TrackSegmentAssociationTool", "")
+
     acc = MuonCombinedParticleCreatorCfg(flags)
     kwargs.setdefault("TrackParticleCreator", acc.getPrimary() )
     result.merge(acc)
@@ -237,8 +248,13 @@ def MuonCreatorToolCfg(flags, name="MuonCreatorTool", **kwargs):
 
 def ExtrapolateMuonToIPToolCfg(flags, name="ExtrapolateMuonToIPTool", **kwargs):
     #FIXME complete this configuration
-    result = MuonCombinedTrackSummaryToolCfg(flags)
-    kwargs.setdefault("TrackSummaryTool", result.popPrivateTools() )
+    if flags.Muon.MuonTrigger:
+        from MuonConfig.MuonRecToolsConfig import MuonTrackSummaryToolCfg
+        result = MuonTrackSummaryToolCfg(flags)
+        kwargs.setdefault("TrackSummaryTool", result.popPrivateTools())
+    else:
+        result = MuonCombinedTrackSummaryToolCfg(flags)
+        kwargs.setdefault("TrackSummaryTool", result.popPrivateTools() )
     result.setPrivateTools(CompFactory.ExtrapolateMuonToIPTool(name,**kwargs))
     return result
 
@@ -249,13 +265,17 @@ def MuonCandidateToolCfg(flags, name="MuonCandidateTool",**kwargs):
 
     result = CombinedMuonTrackBuilderCfg(flags, name="CombinedMuonTrackBuilder")
     kwargs.setdefault("TrackBuilder", result.popPrivateTools() )
-#   Why was this dependent on cosmics? will now always create this 
-#   if flags.Beam.Type=="cosmics":
-    acc = ExtrapolateMuonToIPToolCfg(flags)
-    extrapolator = acc.popPrivateTools()
-    result.addPublicTool(extrapolator)
-    kwargs.setdefault("TrackExtrapolationTool", extrapolator )
-    result.merge(acc)
+    #   Why was this dependent on cosmics? will now always create this 
+    #   if flags.Beam.Type=="cosmics":
+    if flags.Muon.MuonTrigger and flags.Beam.Type!="cosmics":
+        #trigger definitely only uses the ExtrapolateToIPtool in cosmics mode
+        kwargs.setdefault("TrackExtrapolationTool", "")
+    else:
+        acc = ExtrapolateMuonToIPToolCfg(flags)
+        extrapolator = acc.popPrivateTools()
+        result.addPublicTool(extrapolator)
+        kwargs.setdefault("TrackExtrapolationTool", extrapolator )
+        result.merge(acc)
 #   if cosmics was until here
 
     acc = MuonAmbiProcessorCfg(flags)
@@ -360,11 +380,16 @@ def iPatFitterCfg(flags, name='iPatFitter', **kwargs):
     kwargs.setdefault("FullCombinedFit", True )
     result = MuidMaterialAllocatorCfg(flags)
     kwargs.setdefault("MaterialAllocator",result.popPrivateTools() )
-    # if TriggerFlags.MuonSlice.doTrigMuonConfig:
-    #     kwargs.setdefault("MaxIterations", 15)
-    acc = MuonCombinedTrackSummaryToolCfg(flags)
-    kwargs.setdefault("TrackSummaryTool", acc.getPrimary() )
-    result.merge(acc)
+    if flags.Muon.MuonTrigger:
+        kwargs.setdefault("MaxIterations", 15)
+        from MuonConfig.MuonRecToolsConfig import MuonTrackSummaryToolCfg
+        acc = MuonTrackSummaryToolCfg(flags)
+        kwargs.setdefault("TrackSummaryTool", acc.popPrivateTools())
+        result.merge(acc)
+    else:
+        acc = MuonCombinedTrackSummaryToolCfg(flags)
+        kwargs.setdefault("TrackSummaryTool", acc.getPrimary() )
+        result.merge(acc)
 
     tool = CompFactory.Trk.iPatFitter(name,**kwargs)
     result.setPrivateTools(tool)
diff --git a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
index 4533997e04666ecfc3626f680e055d7981ee4b9a..f95b8b148d193d2164ed7331059313188cd331bc 100644
--- a/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
+++ b/Reconstruction/MuonIdentification/MuonCombinedConfig/python/MuonCombinedReconstructionConfig.py
@@ -232,9 +232,13 @@ def MuonCreatorAlgCfg( flags, name="MuonCreatorAlg",**kwargs ):
     # but don't set this default in case the StauCreatorAlg is created (see below)
     if not flags.MuonCombined.doMuGirl and not name=="StauCreatorAlg":
         kwargs.setdefault("TagMaps",["muidcoTagMap","stacoTagMap","caloTagMap","segmentTagMap"])
-    # if TriggerFlags.MuonSlice.doTrigMuonConfig:
-    #     kwargs.setdefault("MakeClusters", False)
-    #     kwargs.setdefault("ClusterContainerName", "")
+    if flags.Muon.MuonTrigger:
+        kwargs.setdefault("MakeClusters", False)
+        kwargs.setdefault("ClusterContainerName", "")
+        if flags.Muon.SAMuonTrigger:
+            kwargs.setdefault("CreateSAmuons", True)
+            kwargs.setdefault("TagMaps", [])
+
     alg = CompFactory.MuonCreatorAlg(name,**kwargs)
     result.addEventAlgo( alg, primary=True )
     return result
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py
index e3b0f4093020fe0b36bd5e45841e7620fc169fb6..9c0fc82c8dea356d11a51909f994fc9aff742777 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Muon/generateMuon.py
@@ -25,7 +25,9 @@ def EFMuonViewDataVerifierCfg():
                                           ( 'Muon::TgcPrepDataContainer' , 'StoreGateSvc+TGC_Measurements' ),
                                           ( 'Muon::RpcPrepDataContainer' , 'StoreGateSvc+RPC_Measurements' ),
                                           ( 'Muon::CscStripPrepDataContainer' , 'StoreGateSvc+CSC_Measurements' ),
-                                          ( 'Muon::CscPrepDataContainer' , 'StoreGateSvc+CSC_Clusters' )]
+                                          ( 'Muon::CscPrepDataContainer' , 'StoreGateSvc+CSC_Clusters' ),
+                                          ( 'Trk::SolenoidParametrization' , 'ConditionStore+SolenoidParametrization' ) #TODO schedule the correct condAlg to produce this
+                                      ]
     result = ComponentAccumulator()
     result.addEventAlgo(EFMuonViewDataVerifier)
     return result
@@ -46,6 +48,62 @@ def MuFastViewDataVerifier():
     result.addEventAlgo(alg)
     return result
 
+#Not the ideal place to keep the track cnv alg configuration. Temproarily adding it here 
+#until a better location can be found
+def MuonTrackCollectionCnvToolCfg(flags, name = "MuonTrackCollectionCnvTool", **kwargs):
+    TrackCollectionCnvTool = CompFactory.xAODMaker.TrackCollectionCnvTool
+
+    result = ComponentAccumulator()
+    from MuonCombinedConfig.MuonCombinedRecToolsConfig import MuonCombinedParticleCreatorCfg
+    acc = MuonCombinedParticleCreatorCfg(flags)
+    kwargs.setdefault("TrackParticleCreator",  acc.popPrivateTools())
+    result.merge(acc)
+
+    result.setPrivateTools(TrackCollectionCnvTool(name=name, **kwargs))
+    return result
+
+def MuonRecTrackParticleContainerCnvToolCfg(flags, name = "MuonRecTrackParticleContainerCnvTool", **kwargs):
+    RecTrackParticleCnvTool = CompFactory.xAODMaker.RecTrackParticleContainerCnvTool
+
+    result = ComponentAccumulator()
+    from MuonCombinedConfig.MuonCombinedRecToolsConfig import MuonCombinedParticleCreatorCfg
+    acc = MuonCombinedParticleCreatorCfg(flags)
+    kwargs.setdefault("TrackParticleCreator",  acc.popPrivateTools())
+    result.merge(acc)
+
+    result.setPrivateTools(RecTrackParticleCnvTool(name=name, **kwargs))
+    return result
+
+def MuonTrackParticleCnvCfg(flags, name = "MuonTrackParticleCnvAlg",**kwargs):
+    TrackParticleCnv = CompFactory.xAODMaker.TrackParticleCnvAlg
+    result=ComponentAccumulator()
+
+    from MuonCombinedConfig.MuonCombinedRecToolsConfig import MuonCombinedParticleCreatorCfg
+    acc = MuonCombinedParticleCreatorCfg(flags)
+    kwargs.setdefault("TrackParticleCreator", acc.popPrivateTools())
+    result.merge(acc)
+
+    acc = MuonTrackCollectionCnvToolCfg(flags)
+    kwargs.setdefault("TrackCollectionCnvTool", acc.popPrivateTools())
+    result.merge(acc)
+
+    acc = MuonRecTrackParticleContainerCnvToolCfg(flags)
+    kwargs.setdefault("RecTrackParticleContainerCnvTool", acc.popPrivateTools())
+    result.merge(acc)
+
+    kwargs.setdefault("TrackContainerName", "MuonSpectrometerTracks")
+    kwargs.setdefault("xAODTrackParticlesFromTracksContainerName", "MuonSpectrometerTrackParticles")
+    kwargs.setdefault("AODContainerName", "")
+    kwargs.setdefault("AODTruthContainerName", "")
+    kwargs.setdefault("xAODTruthLinkVector",  "")
+    kwargs.setdefault("ConvertTrackParticles", False)
+    kwargs.setdefault("ConvertTracks", True)
+
+    trackcnv = TrackParticleCnv(name=name, **kwargs )
+
+    result.addEventAlgo( trackcnv, primary=True )
+    return result
+
 def generateChains( flags, chainDict ):
     chainDict = splitChainDict(chainDict)[0]
     
@@ -179,10 +237,16 @@ def generateChains( flags, chainDict ):
     trkCfg = MuonTrackBuildingCfg(muonflags, name="TrigMuPatTrackBuilder")
     recoMS.mergeReco(trkCfg)
 
-    #The MuonCandidateAlg is not quite fully working yet
-    #from MuonCombinedConfig.MuonCombinedReconstructionConfig import MuonCombinedMuonCandidateAlgCfg
-    #candCfg = MuonCombinedMuonCandidateAlgCfg(muonflags, name = "TrigMuonCandidateAlg")
-    #recoMS.mergeReco(candCfg)
+    cnvCfg = MuonTrackParticleCnvCfg(muonflags, name = "TrigMuonTrackParticleCnvAlg")
+    recoMS.mergeReco(cnvCfg)
+
+    from MuonCombinedConfig.MuonCombinedReconstructionConfig import MuonCombinedMuonCandidateAlgCfg
+    candCfg = MuonCombinedMuonCandidateAlgCfg(muonflags, name = "TrigMuonCandidateAlg")
+    recoMS.mergeReco(candCfg)
+
+    from MuonCombinedConfig.MuonCombinedReconstructionConfig import MuonCreatorAlgCfg
+    creatorCfg = MuonCreatorAlgCfg(muonflags, name = "TrigMuonCreatorAlg")
+    recoMS.mergeReco(creatorCfg)
 
     accMS.merge(recoMS, sequenceName=stepEFMSReco.getName())