diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py
index 089d34606b1eb8af486a7245e01b073540622af2..9217d54e8a8818d4008d1d171ccc9b7097aa2eb1 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py
+++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/python/CaloDef.py
@@ -57,7 +57,7 @@ def _algoL2Egamma(inputEDM="", doRinger=False, ClustersName="HLT_FastCaloEMClust
     setMinimalCaloSetup()
     if doForward:
         from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_ReFastFWDAlgo
-        algo=T2CaloEgamma_ReFastFWDAlgo("FastCaloFWDL2EgammaAlg", doRinger=doRinger, RingerKey=RingerKey)
+        algo=T2CaloEgamma_ReFastFWDAlgo("FastCaloL2EgammaAlg_FWD", doRinger=doRinger, RingerKey=RingerKey)
     else:
         from TrigT2CaloEgamma.TrigT2CaloEgammaConfig import T2CaloEgamma_ReFastAlgo
         algo=T2CaloEgamma_ReFastAlgo("FastCaloL2EgammaAlg", doRinger=doRinger, RingerKey=RingerKey)
@@ -72,7 +72,8 @@ def _algoL2Egamma(inputEDM="", doRinger=False, ClustersName="HLT_FastCaloEMClust
 
 
 def fastCaloRecoSequence(InViewRoIs, doRinger=False, ClustersName="HLT_FastCaloEMClusters", RingerKey="HLT_FastCaloRinger"):
-    fastCaloAlg = _algoL2Egamma(inputEDM=InViewRoIs, doRinger=doRinger, ClustersName="HLT_FastCaloEMClusters", RingerKey=RingerKey)
+    
+    fastCaloAlg = _algoL2Egamma(inputEDM=InViewRoIs, doRinger=doRinger, ClustersName=ClustersName, RingerKey=RingerKey)
 
     import AthenaCommon.CfgMgr as CfgMgr
     fastCaloVDV = CfgMgr.AthViews__ViewDataVerifier("fastCaloVDV")
@@ -85,15 +86,15 @@ def fastCaloRecoSequence(InViewRoIs, doRinger=False, ClustersName="HLT_FastCaloE
 
 
 
-def fastCaloRecoFWDSequence(InViewRoIs, doRinger=False, ClustersName="HLT_FastCaloEMClusters", RingerKey="HLT_FastCaloRinger"):
+def fastCaloRecoFWDSequence(InViewRoIs, doRinger=False, ClustersName="HLT_FastCaloEMClusters_FWD", RingerKey="HLT_FastCaloRinger_FWD"):
     # create alg
-    fastCaloAlg = _algoL2Egamma(inputEDM=InViewRoIs, doRinger=doRinger, ClustersName="HLT_FastCaloEMClusters", 
-                                RingerKey="HLT_FWDFastCaloRinger", doForward=True)
+    fastCaloAlg = _algoL2Egamma(inputEDM=InViewRoIs, doRinger=doRinger, ClustersName=ClustersName, RingerKey=RingerKey,
+                                doForward=True)
     import AthenaCommon.CfgMgr as CfgMgr
-    fastCaloVDV = CfgMgr.AthViews__ViewDataVerifier("fastCaloFWDVDV")
+    fastCaloVDV = CfgMgr.AthViews__ViewDataVerifier("fastCaloVDV_FWD")
     fastCaloVDV.DataObjects = [( 'CaloBCIDAverage' , 'StoreGateSvc+CaloBCIDAverage' ),
-                               ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+EMCaloRoIs' )]
-    fastCaloInViewSequence = seqAND('fastCaloFWDInViewSequence' , [fastCaloVDV, fastCaloAlg] )
+                               ( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+FSJETMETCaloRoI' )]
+    fastCaloInViewSequence = seqAND('fastCaloInViewSequence_FWD' , [fastCaloVDV, fastCaloAlg] )
     sequenceOut = fastCaloAlg.ClustersName
     return (fastCaloInViewSequence, sequenceOut)
 
@@ -113,19 +114,22 @@ def fastCaloEVCreator():
 
 
 def fastCaloEVFWDCreator():
-    InViewRoIs="EMCaloRoIs"
-    fastCaloViewsMaker = CompFactory.EventViewCreatorAlgorithm( "IMfastCaloFWD" )
+    #InViewRoIs="EMCaloRoIs"
+    InViewRoIs = "FSJETMETCaloRoI"
+    fastCaloViewsMaker = CompFactory.EventViewCreatorAlgorithm( "IMfastCalo_FWD" )
     fastCaloViewsMaker.ViewFallThrough = True
     fastCaloViewsMaker.RoIsLink = "initialRoI"
     fastCaloViewsMaker.RoITool = CompFactory.ViewCreatorInitialROITool()
     fastCaloViewsMaker.InViewRoIs = InViewRoIs
-    fastCaloViewsMaker.Views = "EMCaloFWDViews"
-    fastCaloViewsMaker.ViewNodeName = "fastCaloFWDInViewSequence"
+    fastCaloViewsMaker.Views = "EMCaloViews_FWD"
+    fastCaloViewsMaker.ViewNodeName = "fastCaloInViewSequence_FWD"
+
     return (fastCaloViewsMaker, InViewRoIs)
 
 
 
 
+
 ##################################
 # standalone testing
 ###################################
@@ -145,9 +149,6 @@ def createFastCaloSequence(EMRoIDecisions, doRinger=False, ClustersName="HLT_Fas
 
 
 
-
-
-
 ##################################
 # cluster maker functions
 ###################################
@@ -180,15 +181,15 @@ def HLTFSTopoRecoSequence(ConfigFlags,RoIs):
     return (RecoSequence, topoClusterMaker.CaloClusters)
 
 
-def HLTRoITopoRecoSequence(ConfigFlags, RoIs, lrtInfo=''):
+def HLTRoITopoRecoSequence(ConfigFlags, RoIs, algSuffix=''):
     import AthenaCommon.CfgMgr as CfgMgr
-    HLTRoITopoRecoSequenceVDV = CfgMgr.AthViews__ViewDataVerifier("HLTRoITopoRecoSequenceVDV%s"%lrtInfo)
-    HLTRoITopoRecoSequenceVDV.DataObjects = [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+PrecisionCaloRoIs%s'%lrtInfo ),
+    HLTRoITopoRecoSequenceVDV = CfgMgr.AthViews__ViewDataVerifier("HLTRoITopoRecoSequenceVDV%s"%algSuffix)
+    HLTRoITopoRecoSequenceVDV.DataObjects = [( 'TrigRoiDescriptorCollection' , 'StoreGateSvc+PrecisionCaloRoIs%s'%algSuffix ),
                                              ( 'CaloBCIDAverage' , 'StoreGateSvc+CaloBCIDAverage' )]
 
-    cellMaker = HLTCellMaker(ConfigFlags, RoIs, algSuffix="RoI%s"%lrtInfo)
-    topoClusterMaker = _algoHLTTopoCluster(inputEDM = cellMaker.CellsName, algSuffix="RoI%s"%lrtInfo)
-    RecoSequence = parOR("RoITopoClusterRecoSequence%s"%lrtInfo, [HLTRoITopoRecoSequenceVDV, cellMaker, topoClusterMaker])
+    cellMaker = HLTCellMaker(ConfigFlags, RoIs, algSuffix="RoI%s"%algSuffix)
+    topoClusterMaker = _algoHLTTopoCluster(inputEDM = cellMaker.CellsName, algSuffix="RoI%s"%algSuffix)
+    RecoSequence = parOR("RoITopoClusterRecoSequence%s"%algSuffix, [HLTRoITopoRecoSequenceVDV, cellMaker, topoClusterMaker])
     return (RecoSequence, topoClusterMaker.CaloClusters)
 
 
diff --git a/Trigger/TrigHypothesis/TrigEgammaForwardHypo/CMakeLists.txt b/Trigger/TrigHypothesis/TrigEgammaForwardHypo/CMakeLists.txt
index 4c91e4e2e5405e5cdeef336470e3e8d8384d0402..dfc71c7c2c673dc80ecd6bfe2e12104bd7642901 100644
--- a/Trigger/TrigHypothesis/TrigEgammaForwardHypo/CMakeLists.txt
+++ b/Trigger/TrigHypothesis/TrigEgammaForwardHypo/CMakeLists.txt
@@ -7,9 +7,8 @@ atlas_subdir( TrigEgammaForwardHypo )
 atlas_add_component( TrigEgammaForwardHypo
                      src/*.cxx
                      src/components/*.cxx
-                     LINK_LIBRARIES AthViews AthenaBaseComps AthenaMonitoringKernelLib DecisionHandlingLib 
-                     GaudiKernel LumiBlockCompsLib RingerSelectorToolsEnumsLib TrigCompositeUtilsLib 
-		     TrigSteeringEvent xAODTrigCalo xAODTrigRinger xAODTrigger EgammaAnalysisInterfacesLib)
+                     LINK_LIBRARIES AthViews AthenaBaseComps AthenaMonitoringKernelLib DecisionHandlingLib EgammaAnalysisInterfacesLib GaudiKernel LumiBlockCompsLib RecoToolInterfaces StoreGateLib TrigCompositeUtilsLib TrigMultiVarHypoLib TrigSteeringEvent TrkCaloExtension xAODBase xAODCaloEvent xAODEgamma xAODEventInfo xAODTracking xAODTrigCalo xAODTrigEgamma xAODTrigRinger xAODTrigger AthOnnxruntimeServiceLib RingerSelectorToolsLib)
+
 
 # Install files from the package:
 atlas_install_python_modules( python/*.py POST_BUILD_CMD ${ATLAS_FLAKE8} --extend-extensions=ATL900,ATL901 )
diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
index 5a699e21afb7fd4d88eef2cf8bd9bf90d56e42ea..eceeda642e9b38017cd336dbdab350af045e16fc 100644
--- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
+++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
@@ -171,6 +171,10 @@ TriggerHLTListRun3 = [
     ('xAOD::TrigRingerRingsContainer#HLT_FastCaloAsymRinger',             'BS ESD AODFULL', 'Egamma', 'inViews:EMCaloViews'), #Ringer
     ('xAOD::TrigRingerRingsAuxContainer#HLT_FastCaloAsymRingerAux.',      'BS ESD AODFULL', 'Egamma'), #Ringer
 
+    # Egamma FWD
+    ('xAOD::TrigEMClusterContainer#HLT_FastCaloEMClusters_FWD',           'BS ESD AODFULL', 'Egamma', 'inViews:EMCaloViews_FWD'), # last arg specifies in which view container the fragments are, look into the proprty of View maker alg for it
+    ('xAOD::TrigEMClusterAuxContainer#HLT_FastCaloEMClusters_FWDAux.',    'BS ESD AODFULL', 'Egamma'),
+
     ('xAOD::TrigPhotonContainer#HLT_FastPhotons',                     'BS ESD AODFULL', 'Egamma', 'inViews:EMPhotonViews'),
     ('xAOD::TrigPhotonAuxContainer#HLT_FastPhotonsAux.',              'BS ESD AODFULL', 'Egamma'),
     ('xAOD::TrigElectronContainer#HLT_FastElectrons',                 'BS ESD AODFULL', 'Egamma', 'inViews:EMElectronViews'),
@@ -197,10 +201,16 @@ TriggerHLTListRun3 = [
     # these two corresponds to the output of the precisionCalo step
     ('xAOD::CaloClusterContainer#HLT_CaloEMClusters',               'BS ESD AODFULL', 'Egamma', 'inViews:precisionCaloViews'),
     ('xAOD::CaloClusterTrigAuxContainer#HLT_CaloEMClustersAux.',    'BS ESD AODFULL', 'Egamma'),
-
+    
+    # these two corresponds to the output of the precisionCalo_LRT step
     ('xAOD::CaloClusterContainer#HLT_CaloEMClusters_LRT',               'BS ESD AODFULL', 'Egamma', 'inViews:precisionCaloViews_LRT'),
     ('xAOD::CaloClusterTrigAuxContainer#HLT_CaloEMClusters_LRTAux.',    'BS ESD AODFULL', 'Egamma'),
 
+    # these two corresponds to the output of the precisionCalo forward step
+    ('xAOD::CaloClusterContainer#HLT_CaloEMClusters_FWD',               'BS ESD AODFULL', 'Egamma', 'inViews:precisionCaloViews_FWD'),
+    ('xAOD::CaloClusterTrigAuxContainer#HLT_CaloEMClusters_FWDAux.',    'BS ESD AODFULL', 'Egamma'),
+
+
     # This variant needed by TrigUpgradeTest/egammaRinger.py
     ('xAOD::CaloClusterContainer#HLT_TopoCaloClusters',             'BS ESD AODFULL', 'Egamma'),
     ('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersAux.',  'BS ESD AODFULL', 'Egamma'),
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/CaloSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/CaloSequences.py
index 922f79207e4baa802aaa3ac10b78dedffc16c591..a396cf29e5028329adb14ebd9d41386d2bb6922e 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/CaloSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/CaloSequences.py
@@ -16,31 +16,19 @@ class CaloMenuDefs(object):
 #
 # central or forward fast calo sequence 
 #
-def fastCaloSequence(flags, doForward=False, name="fastCaloSequence"):
+def fastCaloSequence(flags, name="fastCaloSequence"):
     """ Creates Fast Calo reco sequence"""
-    if doForward:
-        from TrigT2CaloCommon.CaloDef import fastCaloEVFWDCreator as theEVCreator
-        from TrigT2CaloCommon.CaloDef import fastCaloRecoFWDSequence as theRecoSequence
-    else:
-        from TrigT2CaloCommon.CaloDef import fastCaloEVCreator as theEVCreator
-        from TrigT2CaloCommon.CaloDef import fastCaloRecoSequence as theRecoSequence
-
-    (fastCaloViewsMaker, InViewRoIs) = theEVCreator()
+    
+    from TrigT2CaloCommon.CaloDef import fastCaloEVCreator
+    from TrigT2CaloCommon.CaloDef import fastCaloRecoSequence
+    (fastCaloViewsMaker, InViewRoIs) = fastCaloEVCreator()
     # reco sequence always build the rings
-    (fastCaloInViewSequence, sequenceOut) = theRecoSequence(InViewRoIs, doRinger=True)
+    (fastCaloInViewSequence, sequenceOut) = fastCaloRecoSequence(InViewRoIs, doRinger=True)
      # connect EVC and reco
     fastCaloSequence = seqAND(name, [fastCaloViewsMaker, fastCaloInViewSequence ])
     return (fastCaloSequence, fastCaloViewsMaker, sequenceOut)
 
 
-#
-# Forward fast calo sequence only
-#
-def fastCaloFWDSequence(flags):
-    return fastCaloSequence(flags, doForward=True, name="fastCaloFWDSequence")
-
-
-
 
 def fastCaloMenuSequence(name, doRinger=True):
     """ Creates Egamma Fast Calo  MENU sequence
@@ -55,7 +43,6 @@ def fastCaloMenuSequence(name, doRinger=True):
     else:
       from TrigEgammaHypo.TrigEgammaFastCaloHypoTool import createTrigEgammaFastCaloHypoAlgMT_noringer as createTrigEgammaFastCaloHypoAlgMT
 
-
     theFastCaloHypo = createTrigEgammaFastCaloHypoAlgMT(name+"EgammaFastCaloHypo", sequenceOut)
     CaloMenuDefs.L2CaloClusters = sequenceOut
 
@@ -66,32 +53,6 @@ def fastCaloMenuSequence(name, doRinger=True):
                          HypoToolGen = TrigEgammaFastCaloHypoToolFromDict )
 
 
-#
-# Create e/g fast calo menu sequence for central or forward region.
-#
-def fastCaloFWDMenuSequence(name, doRinger=True):
-    """ Creates Egamma Fast Calo FWD MENU sequence (Reco and Hypo)
-    The Hypo name changes depending on name, so for different implementations (Electron, Gamma,....)
-    """
-
-    (sequence, fastCaloViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(fastCaloFWDSequence, flags=None)
-    
-    # hypo
-    from TrigEgammaForwardHypo.TrigEgammaForwardHypoConf import TrigEgammaForwardFastCaloHypoAlg
-    from TrigEgammaForwardHypo.TrigEgammaForwardFastCaloHypoTool import TrigEgammaForwardFastCaloHypoToolFromDict
-    theFastCaloHypo = TrigEgammaForwardFastCaloHypoAlg(name+"EgammaFastCaloFWDHypo")
-    theFastCaloHypo.CaloClusters = sequenceOut
-
-    from TrigEgammaForwardHypo.TrigEgammaForwardFastCaloHypoTool import createTrigEgammaForwardFastCaloHypoAlg
-   
-    theFastCaloHypo = createTrigEgammaForwardFastCaloHypoAlg(name+"EgammaFastCaloFWDHypo", sequenceOut)
-    CaloMenuDefs.L2CaloClusters = sequenceOut
-
-    return MenuSequence( Sequence    = sequence,
-                         Maker       = fastCaloViewsMaker,
-                         Hypo        = theFastCaloHypo,
-                         HypoToolGen = TrigEgammaForwardFastCaloHypoToolFromDict )
-
 
 
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/CaloSequences_FWD.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/CaloSequences_FWD.py
new file mode 100644
index 0000000000000000000000000000000000000000..17214e1d17e69367c116c9f77bb520d010de302c
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/CommonSequences/CaloSequences_FWD.py
@@ -0,0 +1,58 @@
+#
+#  Copyright (C) 2002-2021 CERN for the benefit of the ATLAS collaboration
+#
+
+from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import RecoFragmentsPool, MenuSequence
+from AthenaCommon.CFElements import seqAND
+
+class CaloMenuDefs_FWD(object):
+      """Static Class to collect all string manipulations in Calo sequences """
+      from TrigEDMConfig.TriggerEDMRun3 import recordable
+      L2CaloClusters= recordable("HLT_FastCaloEMClusters_FWD")
+
+
+#
+# central or forward fast calo sequence 
+#
+def fastCaloSequence_FWD(flags, name="fastCaloFWDSequence"):
+
+    from TrigT2CaloCommon.CaloDef import fastCaloEVFWDCreator 
+    from TrigT2CaloCommon.CaloDef import fastCaloRecoFWDSequence 
+    
+    (fastCaloViewsMaker, InViewRoIs) = fastCaloEVFWDCreator()
+    # reco sequence always build the rings
+    (fastCaloInViewSequence, sequenceOut) = fastCaloRecoFWDSequence(InViewRoIs, doRinger=True)
+     # connect EVC and reco
+    fastCaloSequence = seqAND(name, [fastCaloViewsMaker, fastCaloInViewSequence ])
+    return (fastCaloSequence, fastCaloViewsMaker, sequenceOut)
+
+
+
+#
+# Create e/g fast calo menu sequence for central or forward region.
+#
+def fastCaloMenuSequence_FWD(name, doRinger=True):
+    """ Creates Egamma Fast Calo FWD MENU sequence (Reco and Hypo)
+    The Hypo name changes depending on name, so for different implementations (Electron, Gamma,....)
+    """
+
+    (sequence, fastCaloViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(fastCaloSequence_FWD, flags=None)
+    
+    # hypo
+    from TrigEgammaForwardHypo.TrigEgammaForwardHypoConf import TrigEgammaForwardFastCaloHypoAlgMT
+    from TrigEgammaForwardHypo.TrigEgammaForwardFastCaloHypoTool import TrigEgammaForwardFastCaloHypoToolFromDict
+    theFastCaloHypo = TrigEgammaForwardFastCaloHypoAlgMT(name+"EgammaFastCaloFWDHypo")
+    theFastCaloHypo.CaloClusters = sequenceOut
+
+    from TrigEgammaForwardHypo.TrigEgammaForwardFastCaloHypoTool import createTrigEgammaForwardFastCaloHypoAlgMT
+   
+    theFastCaloHypo = createTrigEgammaForwardFastCaloHypoAlgMT(name+"EgammaFastCaloFWDHypo", sequenceOut)
+    CaloMenuDefs_FWD.L2CaloClusters = sequenceOut
+
+    return MenuSequence( Sequence    = sequence,
+                         Maker       = fastCaloViewsMaker,
+                         Hypo        = theFastCaloHypo,
+                         HypoToolGen = TrigEgammaForwardFastCaloHypoToolFromDict )
+
+
+
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronChainConfiguration.py
index ce940b38e94ce0e3f0e3a4ecfd2d56829972231a..e102b41baf4da804eea631598569ae36060ddc79 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronChainConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronChainConfiguration.py
@@ -7,13 +7,14 @@ log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.Egamma.ElectronChainConfigu
 
 from ..Menu.ChainConfigurationBase import ChainConfigurationBase
 from ..CommonSequences.CaloSequences import fastCaloMenuSequence
-from ..CommonSequences.CaloSequences import fastCaloFWDMenuSequence
+from ..CommonSequences.CaloSequences_FWD import fastCaloMenuSequence_FWD
 
 
-from .ElectronMenuSequences import fastElectronMenuSequence
-from .ElectronMenuSequences_LRT import fastElectronMenuSequence_LRT
+from .FastElectronMenuSequences import fastElectronMenuSequence
+from .FastElectronMenuSequences_LRT import fastElectronMenuSequence_LRT
 from .PrecisionCaloMenuSequences import precisionCaloMenuSequence
 from .PrecisionCaloMenuSequences_LRT import precisionCaloMenuSequence_LRT
+from .PrecisionCaloMenuSequences_FWD import precisionCaloMenuSequence_FWD
 from .PrecisionElectronMenuSequences import precisionElectronMenuSequence
 from .PrecisionElectronMenuSequences_GSF import precisionElectronMenuSequence_GSF
 from .PrecisionElectronMenuSequences_LRT import precisionElectronMenuSequence_LRT
@@ -31,9 +32,6 @@ from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool,
 def electronFastCaloCfg( flags ):
     return fastCaloMenuSequence("Electron")
 
-def electronFWDFastCaloCfg( flags ):
-    return fastCaloFWDMenuSequence("Electron")
-
 def fastElectronSequenceCfg( flags ):
     return fastElectronMenuSequence(do_idperf=False)
 
@@ -91,6 +89,15 @@ def diElectronJpsieeMassComboHypoToolFromDict(chainDict):
     monTool.HistPath = 'EgammaMassHypo/'+tool.getName()
     tool.MonTool = monTool
     return tool
+
+
+def electronFastCaloCfg_fwd( flags ):
+    return fastCaloMenuSequence_FWD("Electron")
+
+def precisionCaloSequenceCfg_fwd( flags ):
+    return precisionCaloMenuSequence_FWD('Electron')
+
+
 #----------------------------------------------------------------
 # Class to configure chain
 #----------------------------------------------------------------
@@ -162,8 +169,8 @@ class ElectronChainConfiguration(ChainConfigurationBase):
                 'mediumidperflrtloose'    : ['getFastCalo', 'getFastElectron_lrt_idperf', 'getPrecisionCaloElectron_lrt', 'getPrecisionTracking_lrt'],
                 'tightidperflrtloose'    : ['getFastCalo', 'getFastElectron_lrt_idperf', 'getPrecisionCaloElectron_lrt', 'getPrecisionTracking_lrt'],
                 
-                # forward sequences
-                'etcutfwd' : ['getFWDFastCalo']
+                # fwd sequences
+                'etcutfwd' : ['getFastCalo_fwd', 'getPrecisionCaloElectron_fwd']
                 }
 
         log.debug('electron chain part = %s', self.chainPart)
@@ -202,11 +209,6 @@ class ElectronChainConfiguration(ChainConfigurationBase):
         fastCaloCfg    = electronFastCaloCfg
         return self.getStep(1,stepName,[ fastCaloCfg])
 
-    def getFWDFastCalo(self):
-        stepName       = "FastCalo_FWD_electron"
-        fastCaloCfg    = electronFWDFastCaloCfg
-        return self.getStep(1, stepName, [fastCaloCfg])
-
     def getFastElectron(self):
         if "bBeeM6000" in self.chainName:
             stepName = "fast_electron_bBee"
@@ -283,3 +285,12 @@ class ElectronChainConfiguration(ChainConfigurationBase):
 
         stepName = "precision_electron_lrt"+str(isocut)
         return self.getStep(5,stepName,[ precisionElectronSequenceCfg_lrt])
+
+
+    def getFastCalo_fwd(self):
+        stepName       = "FastCalo_FWD_electron"
+        return self.getStep(1, stepName, [electronFastCaloCfg_fwd])
+
+    def getPrecisionCaloElectron_fwd(self):
+        stepName = "precisionCalo_FWD_electron"
+        return self.getStep(2,stepName,[ precisionCaloSequenceCfg_fwd])
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/FastElectronMenuSequences.py
similarity index 100%
rename from Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronMenuSequences.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/FastElectronMenuSequences.py
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronMenuSequences_LRT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/FastElectronMenuSequences_LRT.py
similarity index 100%
rename from Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/ElectronMenuSequences_LRT.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/FastElectronMenuSequences_LRT.py
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/FastPhotonMenuSequences.py
similarity index 55%
rename from Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonMenuSequences.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/FastPhotonMenuSequences.py
index 50b6cbbcc88486a739f2fd26775fc163334ba8ad..f9aa88521d905e17c1ff4d942ce4586040360569 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonMenuSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/FastPhotonMenuSequences.py
@@ -1,10 +1,10 @@
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 # menu components   
-from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, RecoFragmentsPool
+from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence
 from AthenaCommon.CFElements import parOR, seqAND
 from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm
-from DecisionHandling.DecisionHandlingConf import ViewCreatorCentredOnClusterROITool, ViewCreatorPreviousROITool
+from DecisionHandling.DecisionHandlingConf import ViewCreatorCentredOnClusterROITool
 import AthenaCommon.CfgMgr as CfgMgr
 from TrigEDMConfig.TriggerEDMRun3 import recordable
 
@@ -45,7 +45,6 @@ def fastPhotonMenuSequence():
     
     thePhotonFex.RoIs = l2PhotonViewsMaker.InViewRoIs
 
-
     photonInViewAlgs = parOR("photonInViewAlgs", [ViewVerify, thePhotonFex ])
 
     l2PhotonViewsMaker.ViewNodeName = "photonInViewAlgs"
@@ -68,47 +67,3 @@ def fastPhotonMenuSequence():
                          Hypo=thePhotonHypo,
                          HypoToolGen=TrigEgammaFastPhotonHypoToolFromDict)
 
-
-def precisionPhotonSequence(ConfigFlags):
-    """ This function creates the PrecisionPhoton sequence"""
-
-    # Prepare first the EventView
-    InViewRoIs="PrecisionPhotonRoIs"                                          
-    precisionPhotonViewsMaker = EventViewCreatorAlgorithm( "IMprecisionPhoton") 
-    precisionPhotonViewsMaker.ViewFallThrough = True                          
-    precisionPhotonViewsMaker.RequireParentView = True
-    precisionPhotonViewsMaker.RoIsLink = "initialRoI"            # ROI link used to merge inputs
-    precisionPhotonViewsMaker.RoITool = ViewCreatorPreviousROITool() # Tool used to supply ROIs for EventViews
-    precisionPhotonViewsMaker.InViewRoIs = InViewRoIs            # names to use for the collection of which the RoIs are picked up
-    precisionPhotonViewsMaker.Views = "precisionPhotonViews"     # Output container which has the view objects
-
-    # Configure the reconstruction algorithm sequence
-    from TriggerMenuMT.HLTMenuConfig.Photon.PhotonRecoSequences import precisionPhotonRecoSequence
-    (precisionPhotonInViewSequence, sequenceOut) = precisionPhotonRecoSequence(InViewRoIs)
-
-    precisionPhotonViewsMaker.ViewNodeName = precisionPhotonInViewSequence.name()
-
-    theSequence = seqAND("precisionPhotonSequence", [precisionPhotonViewsMaker,precisionPhotonInViewSequence])
-    return (theSequence, precisionPhotonViewsMaker, sequenceOut)
-
-
-
-def precisionPhotonMenuSequence(name):
-
-    # This will be executed after pricisionCalo, so we need to pickup indeed the topoClusters by precisionCalo and add them here as requirements
-
-    from AthenaConfiguration.AllConfigFlags import ConfigFlags
-    """Creates precisionPhoton  sequence"""
-    (sequence, precisionPhotonViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(precisionPhotonSequence,ConfigFlags)
-
-    # Hypo 
-    from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool import createTrigEgammaPrecisionPhotonHypoAlgMT
-    thePrecisionPhotonHypo = createTrigEgammaPrecisionPhotonHypoAlgMT(name+"precisionPhotonHypo", sequenceOut)
-    
-    from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool import TrigEgammaPrecisionPhotonHypoToolFromDict
-
-    return MenuSequence( Sequence    = sequence,
-                         Maker       = precisionPhotonViewsMaker, 
-                         Hypo        = thePrecisionPhotonHypo,
-                         HypoToolGen = TrigEgammaPrecisionPhotonHypoToolFromDict)
-
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonChainConfiguration.py
index 45c926261c0b075d52f7d51ca42835e1f3629eca..3025f10a471cfc081f383e07f631e5ea0523d45c 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonChainConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PhotonChainConfiguration.py
@@ -10,7 +10,8 @@ log = logging.getLogger("TriggerMenuMT.HLTMenuConfig.Egamma.PhotonDef")
 from ..Menu.ChainConfigurationBase import ChainConfigurationBase
 
 from ..CommonSequences.CaloSequences import fastCaloMenuSequence
-from .PhotonMenuSequences import fastPhotonMenuSequence, precisionPhotonMenuSequence
+from .FastPhotonMenuSequences import fastPhotonMenuSequence
+from .PrecisionPhotonMenuSequences import precisionPhotonMenuSequence
 from .PrecisionCaloMenuSequences import precisionCaloMenuSequence
 
 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool, defineHistogram
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences.py
index 2c5c0d69842bc1aaac72c4b2392361fce621b454..a59c2a05d68df4efdbccc2fee2a6a29e5c97a1fa 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences.py
@@ -32,7 +32,7 @@ def precisionCaloSequence(ConfigFlags):
     precisionCaloViewsMaker.RequireParentView = True
 
     # reco sequence
-    from TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionCaloRec import precisionCaloRecoSequence
+    from TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionCaloRecoSequences import precisionCaloRecoSequence
     (precisionCaloInViewSequence, sequenceOut) = precisionCaloRecoSequence(None,InViewRoIs)
         
     precisionCaloViewsMaker.ViewNodeName = precisionCaloInViewSequence.name()
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences_FWD.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences_FWD.py
new file mode 100644
index 0000000000000000000000000000000000000000..8af519b442388ad2e53ed2c37657c95a75aa013d
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences_FWD.py
@@ -0,0 +1,60 @@
+#
+#  Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+#
+
+# menu components   
+from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, RecoFragmentsPool
+from AthenaCommon.CFElements import seqAND
+from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm
+from DecisionHandling.DecisionHandlingConf import ViewCreatorPreviousROITool
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
+from TrigEDMConfig.TriggerEDMRun3 import recordable
+      
+class precisionCaloMenuDefs_FWD(object):
+      """Static class to collect all string manipulation in Calo sequences """
+      precisionCaloClusters= recordable("HLT_CaloEMClusters_FWD")
+
+
+def precisionCaloSequence_FWD(ConfigFlags):
+    """ Creates PrecisionCalo sequence """
+    # EV creator
+    InViewRoIs="PrecisionCaloRoIs_FWD"     
+    precisionCaloViewsMaker = EventViewCreatorAlgorithm( "IMprecisionCalo_FWD")
+    precisionCaloViewsMaker.ViewFallThrough = True
+    precisionCaloViewsMaker.RoIsLink = "initialRoI" # Merge inputs based on their initial L1 ROI
+    roiTool = ViewCreatorPreviousROITool()
+    # Note: This step processes Decision Objects which have followed either Electron reco, Photon reco, or both.
+    # For Decision Object which have followed both, there is an ambiguity about which ROI should be used in this
+    # merged step. In such cases we break the ambiguity by specifying that the Electron ROI is to be used.
+    #roiTool.RoISGKey = "HLT_Roi_FastElectron_FWD"
+    precisionCaloViewsMaker.RoITool = roiTool
+    precisionCaloViewsMaker.InViewRoIs = InViewRoIs
+    precisionCaloViewsMaker.Views = "precisionCaloViews_FWD"
+    precisionCaloViewsMaker.RequireParentView = True
+
+    # reco sequence
+    from TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionCaloRecoSequences import precisionCaloRecoSequence_FWD
+    (precisionCaloInViewSequence, sequenceOut) = precisionCaloRecoSequence_FWD(None,InViewRoIs)
+
+    precisionCaloViewsMaker.ViewNodeName = precisionCaloInViewSequence.name()
+
+    # connect EVC and reco
+    theSequence = seqAND("precisionCaloSequence_FWD", [precisionCaloViewsMaker, precisionCaloInViewSequence] )
+    return (theSequence, precisionCaloViewsMaker, sequenceOut)
+
+
+def precisionCaloMenuSequence_FWD(name):
+    """ Creates precisionCalo FWD MENU sequence """
+    (sequence, precisionCaloViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(precisionCaloSequence_FWD, ConfigFlags)
+
+    #Hypo
+    from TrigEgammaForwardHypo.TrigEgammaForwardHypoConf import TrigEgammaForwardPrecisionCaloHypoAlgMT
+    from TrigEgammaForwardHypo.TrigEgammaForwardPrecisionCaloHypoTool import TrigEgammaForwardPrecisionCaloHypoToolFromDict
+
+    thePrecisionCaloHypo = TrigEgammaForwardPrecisionCaloHypoAlgMT(name+"precisionCaloHypo_FWD")
+    thePrecisionCaloHypo.CaloClusters = sequenceOut
+
+    return MenuSequence( Sequence    = sequence,
+                         Maker       = precisionCaloViewsMaker, 
+                         Hypo        = thePrecisionCaloHypo,
+                         HypoToolGen = TrigEgammaForwardPrecisionCaloHypoToolFromDict)
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences_LRT.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences_LRT.py
index e8a9eb35a55a0c8f64668a61548ab50b9cbde77b..b5199356892b099191b65037941b2b942bb20b57 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences_LRT.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloMenuSequences_LRT.py
@@ -32,7 +32,7 @@ def precisionCaloSequence_LRT(ConfigFlags):
     precisionCaloViewsMaker.RequireParentView = True
 
     # reco sequence
-    from TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionCaloRec import precisionCaloRecoSequence_LRT
+    from TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionCaloRecoSequences import precisionCaloRecoSequence_LRT
     (precisionCaloInViewSequence, sequenceOut) = precisionCaloRecoSequence_LRT(None,InViewRoIs)
 
     precisionCaloViewsMaker.ViewNodeName = precisionCaloInViewSequence.name()
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRec.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRecoSequences.py
similarity index 68%
rename from Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRec.py
rename to Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRecoSequences.py
index 92ae5f06ca0ada930e158d77b55f6e8af57ee8a4..753a451e90f33135dc652c327ff386488c460f29 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRec.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRecoSequences.py
@@ -7,10 +7,13 @@ from egammaRec.Factories import AlgFactory
 from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import RecoFragmentsPool
 from .PrecisionCaloMenuSequences import precisionCaloMenuDefs
 from .PrecisionCaloMenuSequences_LRT import precisionCaloMenuDefs_LRT
-# logger
+from .PrecisionCaloMenuSequences_FWD import precisionCaloMenuDefs_FWD
 from AthenaCommon.Logging import logging
+
 log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionCaloRec' )
 
+
+
 # Dummy flag arg needed so that each reco sequence is held separately
 # in the RecoFragmentsPool -- only the RoIs are used to distinguish
 # different sequences. New convention is just to pass "None" for flags
@@ -27,7 +30,7 @@ def precisionCaloRecoSequence(DummyFlag, RoIs):
                                           doAdd = False )
 
     from TrigT2CaloCommon.CaloDef import HLTRoITopoRecoSequence
-    (precisionRecoSequence, caloclusters) = RecoFragmentsPool.retrieve(HLTRoITopoRecoSequence, None, RoIs=RoIs, lrtInfo='')
+    (precisionRecoSequence, caloclusters) = RecoFragmentsPool.retrieve(HLTRoITopoRecoSequence, None, RoIs=RoIs, algSuffix='')
 
     algo = egammaTopoClusterCopier()
     algo.InputTopoCollection = caloclusters
@@ -49,7 +52,31 @@ def precisionCaloRecoSequence_LRT(DummyFlag, RoIs):
                                           doAdd = False )
 
     from TrigT2CaloCommon.CaloDef import HLTRoITopoRecoSequence
-    (precisionRecoSequence, caloclusters) = RecoFragmentsPool.retrieve(HLTRoITopoRecoSequence, None, RoIs=RoIs,lrtInfo='_LRT')
+    (precisionRecoSequence, caloclusters) = RecoFragmentsPool.retrieve(HLTRoITopoRecoSequence, None, RoIs=RoIs,algSuffix='_LRT')
+
+    algo = egammaTopoClusterCopier()
+    algo.InputTopoCollection = caloclusters
+    precisionRecoSequence += algo
+    sequenceOut = algo.OutputTopoCollection
+
+    return (precisionRecoSequence, sequenceOut)
+
+
+
+
+def precisionCaloRecoSequence_FWD(DummyFlag, RoIs):
+    log.info('DummyFlag_FWD = %s',str(DummyFlag))
+    log.info('RoIs_FWD = %s',RoIs)
+
+    egammaTopoClusterCopier = AlgFactory( egammaAlgsConf.egammaTopoClusterCopier,
+                                          name = 'TrigEgammaTopoClusterCopier%s' % RoIs ,
+                                          InputTopoCollection= "caloclusters",
+                                          OutputTopoCollection=precisionCaloMenuDefs_FWD.precisionCaloClusters,
+                                          OutputTopoCollectionShallow="tmp_"+precisionCaloMenuDefs_FWD.precisionCaloClusters,
+                                          doAdd = False )
+
+    from TrigT2CaloCommon.CaloDef import HLTRoITopoRecoSequence
+    (precisionRecoSequence, caloclusters) = RecoFragmentsPool.retrieve(HLTRoITopoRecoSequence, None, RoIs=RoIs,algSuffix='_FWD')
 
     algo = egammaTopoClusterCopier()
     algo.InputTopoCollection = caloclusters
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionPhotonMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionPhotonMenuSequences.py
new file mode 100644
index 0000000000000000000000000000000000000000..0626ad43171d885e7f879209d010f363774e46d2
--- /dev/null
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionPhotonMenuSequences.py
@@ -0,0 +1,55 @@
+# Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
+
+# menu components   
+from TriggerMenuMT.HLTMenuConfig.Menu.MenuComponents import MenuSequence, RecoFragmentsPool
+from AthenaCommon.CFElements import seqAND
+from ViewAlgs.ViewAlgsConf import EventViewCreatorAlgorithm
+from DecisionHandling.DecisionHandlingConf import ViewCreatorPreviousROITool
+
+# logger
+from AthenaCommon.Logging import logging
+log = logging.getLogger( 'TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionPhotonMenuSequences' )
+
+
+def precisionPhotonSequence(ConfigFlags):
+    """ This function creates the PrecisionPhoton sequence"""
+    # Prepare first the EventView
+    InViewRoIs="PrecisionPhotonRoIs"                                          
+    precisionPhotonViewsMaker = EventViewCreatorAlgorithm( "IMprecisionPhoton") 
+    precisionPhotonViewsMaker.ViewFallThrough = True                          
+    precisionPhotonViewsMaker.RequireParentView = True
+    precisionPhotonViewsMaker.RoIsLink = "initialRoI"            # ROI link used to merge inputs
+    precisionPhotonViewsMaker.RoITool = ViewCreatorPreviousROITool() # Tool used to supply ROIs for EventViews
+    precisionPhotonViewsMaker.InViewRoIs = InViewRoIs            # names to use for the collection of which the RoIs are picked up
+    precisionPhotonViewsMaker.Views = "precisionPhotonViews"     # Output container which has the view objects
+
+    # Configure the reconstruction algorithm sequence
+    from TriggerMenuMT.HLTMenuConfig.Photon.PhotonRecoSequences import precisionPhotonRecoSequence
+    (precisionPhotonInViewSequence, sequenceOut) = precisionPhotonRecoSequence(InViewRoIs)
+
+    precisionPhotonViewsMaker.ViewNodeName = precisionPhotonInViewSequence.name()
+
+    theSequence = seqAND("precisionPhotonSequence", [precisionPhotonViewsMaker,precisionPhotonInViewSequence])
+    return (theSequence, precisionPhotonViewsMaker, sequenceOut)
+
+
+
+def precisionPhotonMenuSequence(name):
+
+    # This will be executed after pricisionCalo, so we need to pickup indeed the topoClusters by precisionCalo and add them here as requirements
+
+    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    """Creates precisionPhoton  sequence"""
+    (sequence, precisionPhotonViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(precisionPhotonSequence,ConfigFlags)
+
+    # Hypo 
+    from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool import createTrigEgammaPrecisionPhotonHypoAlgMT
+    thePrecisionPhotonHypo = createTrigEgammaPrecisionPhotonHypoAlgMT(name+"precisionPhotonHypo", sequenceOut)
+    
+    from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool import TrigEgammaPrecisionPhotonHypoToolFromDict
+
+    return MenuSequence( Sequence    = sequence,
+                         Maker       = precisionPhotonViewsMaker, 
+                         Hypo        = thePrecisionPhotonHypo,
+                         HypoToolGen = TrigEgammaPrecisionPhotonHypoToolFromDict)
+