diff --git a/Trigger/TrigValidation/TriggerTest/share/checklogTriggerTest.conf b/Trigger/TrigValidation/TriggerTest/share/checklogTriggerTest.conf
index 94875e1b69f1501db17a925ff8684a4cd90565e3..018b1ef0ec8a6e0aed39566609238cfb84f0010c 100644
--- a/Trigger/TrigValidation/TriggerTest/share/checklogTriggerTest.conf
+++ b/Trigger/TrigValidation/TriggerTest/share/checklogTriggerTest.conf
@@ -2,3 +2,5 @@ ignore 'WARNING - AttributeError for beamGasHitsFile'
 ignore 'WARNING - AttributeError for cavernHitsFile'
 ignore 'WARNING - AttributeError for beamHaloHitsFile'
 ignore 'TrailerOverflowError'
+ignore 'Py:Configurable     ERROR attempt to add a duplicate \(egammaFSRecoSequence\.HLTCaloCellMakerEGFS\) \.\.\. dupe ignored'
+ignore 'Py:Configurable     ERROR attempt to add a duplicate \(egammaFSRecoSequence\.HLTEventShapeMakerEG\) \.\.\. dupe ignored'
diff --git a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
index 1ce924f3d123599409ca17042b90777729905c77..68f86f7e82347caa771b29f9e3a9df9a3275df77 100644
--- a/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
+++ b/Trigger/TriggerCommon/TrigEDMConfig/python/TriggerEDMRun3.py
@@ -343,14 +343,14 @@ TriggerHLTListRun3 = [
     ('xAOD::CaloClusterTrigAuxContainer#HLT_TopoCaloClustersHIRoIAux.nCells',   'BS ESD AODFULL', 'Egamma'),
 
     # These are for precision photon and precision Electron Keeping same names as in Run2
-    ('xAOD::ElectronContainer#HLT_egamma_Electrons',                'BS ESD AODFULL', 'Egamma', 'inViews:precisionElectronViews'),
+    ('xAOD::ElectronContainer#HLT_egamma_Electrons',                'BS ESD AODFULL', 'Egamma', 'inViews:precisionElectronViews,precisionHIElectronViews'),
     ('xAOD::ElectronAuxContainer#HLT_egamma_ElectronsAux.'+ElVars,     'BS ESD AODFULL', 'Egamma'),
     ('xAOD::ElectronContainer#HLT_egamma_Electrons_GSF',                'BS ESD AODFULL', 'Egamma', 'inViews:precisionElectronViews_GSF'),
     ('xAOD::ElectronAuxContainer#HLT_egamma_Electrons_GSFAux.'+ElVars,     'BS ESD AODFULL', 'Egamma'),
     ('xAOD::ElectronContainer#HLT_egamma_Electrons_LRT',                'BS ESD AODFULL', 'Egamma', 'inViews:precisionElectronViews_LRT'),
     ('xAOD::ElectronAuxContainer#HLT_egamma_Electrons_LRTAux.'+ElVars,     'BS ESD AODFULL', 'Egamma'),
 
-    ('xAOD::PhotonContainer#HLT_egamma_Photons',                    'BS ESD AODFULL', 'Egamma', 'inViews:precisionPhotonViews'),
+    ('xAOD::PhotonContainer#HLT_egamma_Photons',                    'BS ESD AODFULL', 'Egamma', 'inViews:precisionPhotonViews,precisionHIPhotonViews'),
     ('xAOD::PhotonAuxContainer#HLT_egamma_PhotonsAux.'+PhVars,         'BS ESD AODFULL', 'Egamma'),
 
     ('TrigRoiDescriptorCollection#HLT_Roi_FastElectron',            'BS ESD AODFULL', 'Egamma'),
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRecoSequences.py
index f1f55cdbd1999c4e46a028180ea1988aacdec0e7..4008910d0677b113f37b3fbad92680ad060c7125 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRecoSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/PrecisionCaloRecoSequences.py
@@ -46,9 +46,9 @@ def precisionCaloRecoSequence(DummyFlag, RoIs, ion=False, is_photon=False):
     precisionRecoSequence = parOR( ('photon' if is_photon else 'electron')+"RoITopoRecoSequence"+tag)
     precisionRecoSequence += caloRecoSequence
     precisionRecoSequence += algo
-    _trigEgammaRec = TrigEgammaRec(name = ('g' if is_photon else 'e') + 'TrigEgammaRec%s' % RoIs)
+    _trigEgammaRec = TrigEgammaRec(name = ('g' if is_photon else 'e') + 'TrigEgammaRec' + tag + RoIs)
     precisionRecoSequence += _trigEgammaRec
-    _trigEgammaSuperClusterBuilder = TrigEgammaSuperClusterBuilder(name = ('g' if is_photon else 'e') + 'TrigEgammaSuperClusterBuilder%s' % RoIs)
+    _trigEgammaSuperClusterBuilder = TrigEgammaSuperClusterBuilder(name = ('g' if is_photon else 'e') + 'TrigEgammaSuperClusterBuilder' + tag + RoIs)
     _trigEgammaSuperClusterBuilder.SuperClusterCollectionName = outputCaloClusters
     _trigEgammaSuperClusterBuilder.CalibrationType = 'photon' if is_photon else 'electron'
     precisionRecoSequence +=  _trigEgammaSuperClusterBuilder
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py
index bd7d5e333738893ccf5bb70296c67cb4381fb0b5..3b9c5de5c7ae610f022e562b674ee3e2be5915ed 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Egamma/TrigEgammaFactories.py
@@ -124,6 +124,12 @@ TrigEMShowerBuilder = ToolFactory( egammaToolsConf.EMShowerBuilder,
          HadronicLeakageTool  = egammaIso,
          Print = False)
 
+TrigEMShowerBuilder_HI = ToolFactory( egammaToolsConf.EMShowerBuilder,
+         CellsName = 'CorrectedRoICaloCells',
+         CaloNums  = [SUBCALO.LAREM, SUBCALO.LARHEC, SUBCALO.TILE],
+         ShowerShapeTool      = egammaShowerShape,
+         HadronicLeakageTool  = egammaIso,
+         Print = False)
 
 """Configure the ObjectQuality tool"""
 TrigEgammaOQFlagsBuilder = ToolFactory( egammaToolsConf.egammaOQFlagsBuilder,
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Dev_HI_run3_v1.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Dev_HI_run3_v1.py
index ff14b7fd3dea31b941e410799a304be17109586f..b6ea30a636a83bf01ce8cc554a500fb0a255d500 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Dev_HI_run3_v1.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/Dev_HI_run3_v1.py
@@ -11,8 +11,7 @@
 
 from TriggerMenuMT.HLTMenuConfig.Menu.ChainDefInMenu import ChainProp
 
-#from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import SingleMuonGroup,SinglePhotonGroup,MinBiasGroup,MultiMuonGroup,SingleElectronGroup,MultiElectronGroup,PrimaryLegGroup,PrimaryL1MuGroup,SupportLegGroup,SupportGroup,SingleJetGroup
-from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import SingleMuonGroup,MinBiasGroup,MultiMuonGroup,SingleElectronGroup,MultiElectronGroup,PrimaryLegGroup,PrimaryL1MuGroup,SupportLegGroup,SupportGroup,SingleJetGroup
+from TriggerMenuMT.HLTMenuConfig.Menu.Physics_pp_run3_v1 import SingleMuonGroup,MinBiasGroup,MultiMuonGroup,SinglePhotonGroup,SingleElectronGroup,MultiElectronGroup,PrimaryLegGroup,PrimaryL1MuGroup,SupportLegGroup,SupportGroup,SingleJetGroup
 
 import TriggerMenuMT.HLTMenuConfig.Menu.PhysicsP1_HI_run3_v1 as HIp1_menu
 
@@ -63,10 +62,12 @@ def setupMenu():
         
         # PhotonChains----------
         #----------- g etcut
-        #ChainProp(name='HLT_g18_etcut_L1EM12', stream=[HardProbesStream], groups=SinglePhotonGroup+SupportLegGroup),
+        ChainProp(name='HLT_g15_etcut_ion_L1EM12', stream=[HardProbesStream], groups=SinglePhotonGroup+SupportLegGroup),
+        ChainProp(name='HLT_g20_etcut_ion_L1EM12', stream=[HardProbesStream], groups=SinglePhotonGroup+SupportLegGroup),
         
         #----------- g isEM
-        #ChainProp(name='HLT_g20_loose_L1EM12', stream=[HardProbesStream], groups=SinglePhotonGroup+SupportLegGroup),
+        ChainProp(name='HLT_g15_loose_ion_L1EM12', stream=[HardProbesStream], groups=SinglePhotonGroup+PrimaryLegGroup),
+        ChainProp(name='HLT_g20_loose_ion_L1EM12', stream=[HardProbesStream], groups=SinglePhotonGroup+PrimaryLegGroup),
     ]
 
     chains['Jet'] += [
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
index 0bd6f87d800498b23c4ea74c8444624a83ea92ae..494a8928a5761aef11b75b3353ce23e6159bc7bd 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Menu/SignatureDicts.py
@@ -611,7 +611,7 @@ PhotonChainParts = {
     'multiplicity'   : '',
     'trigType'       : ['g'],
     'threshold'      : '',
-    'extra'          : ['hiptrt'],
+    'extra'          : ['hiptrt', 'ion'],
     'IDinfo'         : ['etcut','loose','medium','tight'],
     'isoInfo'        : ['icaloloose','icalomedium','icalotight'],
     'reccalibInfo'   : [],
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonChainConfiguration.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonChainConfiguration.py
index fe4611fa9cd999244e3bcdce94974bfe1ba4f64b..cb84ffbfbb1969c40f835e52b634f0789b74b71f 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonChainConfiguration.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PhotonChainConfiguration.py
@@ -37,9 +37,15 @@ def TLAPhotonSequenceCfg(flags,  HLT_threshold ):
 def precisionPhotonCaloSequenceCfg( flags ):
     return precisionCaloMenuSequence('Photon', is_photon=True)
 
+def precisionPhotonCaloSequenceCfg_ion( flags ):
+    return precisionCaloMenuSequence('Photon', is_photon=True, ion=True)
+
 def precisionPhotonSequenceCfg( flags ):
     return precisionPhotonMenuSequence('Photon')
 
+def precisionPhotonSequenceCfg_ion( flags ):
+    return precisionPhotonMenuSequence('Photon', ion=True)
+
 def hipTRTMenuSequenceCfg( flags ):
     return hipTRTMenuSequence()
 
@@ -151,6 +157,10 @@ class PhotonChainConfiguration(ChainConfigurationBase):
         return self.getStep(5, stepName, [TLAPhotonSequenceCfg],  HLT_threshold=HLT_threshold)
 
     def getPrecisionCaloPhoton(self):
+        if self.chainPart['extra'] == 'ion':
+            stepName = "PhotonPrecisionHICalo"
+            return self.getStep(3,stepName, [precisionPhotonCaloSequenceCfg_ion])
+
         stepName = "PhotonPrecisionCalo"
         return self.getStep(3,stepName,[ precisionPhotonCaloSequenceCfg])
     
@@ -168,6 +178,10 @@ class PhotonChainConfiguration(ChainConfigurationBase):
                 stepName = "precision_photon_dPhi15"
                 return self.getStep(4,stepName,sequenceCfgArray=[precisionPhotonSequenceCfg], comboTools=[diphotonDPhiHypoToolFromDict])
         else:
+            if self.chainPart['extra'] == 'ion':
+                stepName = "precision_photon_ion"
+                return self.getStep(4,stepName, [precisionPhotonSequenceCfg_ion])
+
             stepName = "precision_photon"
             return self.getStep(4,stepName,[ precisionPhotonSequenceCfg])
     
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonMenuSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonMenuSequences.py
index a20ce7761e0499b1b9a1ba877e9c7d9a9e4f36eb..759b0457da0f85eb2f2bb2c4659f9d4d05b5338e 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonMenuSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonMenuSequences.py
@@ -10,41 +10,43 @@ from DecisionHandling.DecisionHandlingConf import ViewCreatorPreviousROITool
 from AthenaCommon.Logging import logging
 log = logging.getLogger(__name__)
 
+def tag(ion):
+    return 'precision' + ('HI' if ion is True else '') + 'Photon'
 
-def precisionPhotonSequence(ConfigFlags):
+def precisionPhotonSequence(ConfigFlags, ion=False):
     """ This function creates the PrecisionPhoton sequence"""
     # Prepare first the EventView
     InViewRoIs="PrecisionPhotonRoIs"                                          
-    precisionPhotonViewsMaker = EventViewCreatorAlgorithm( "IMprecisionPhoton") 
+    precisionPhotonViewsMaker = EventViewCreatorAlgorithm( "IM" + tag(ion))
     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
+    precisionPhotonViewsMaker.Views = tag(ion) + "Views"     # Output container which has the view objects
 
     # Configure the reconstruction algorithm sequence
     from TriggerMenuMT.HLTMenuConfig.Photon.PrecisionPhotonRecoSequences import precisionPhotonRecoSequence
-    (precisionPhotonInViewSequence, sequenceOut) = precisionPhotonRecoSequence(InViewRoIs)
+    (precisionPhotonInViewSequence, sequenceOut) = precisionPhotonRecoSequence(InViewRoIs, ion)
 
     precisionPhotonViewsMaker.ViewNodeName = precisionPhotonInViewSequence.name()
 
-    theSequence = seqAND("precisionPhotonSequence", [precisionPhotonViewsMaker,precisionPhotonInViewSequence])
+    theSequence = seqAND(tag(ion)+"Sequence", [precisionPhotonViewsMaker,precisionPhotonInViewSequence])
     return (theSequence, precisionPhotonViewsMaker, sequenceOut)
 
 
 
-def precisionPhotonMenuSequence(name):
+def precisionPhotonMenuSequence(name,ion=False):
 
     # 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)
+    (sequence, precisionPhotonViewsMaker, sequenceOut) = RecoFragmentsPool.retrieve(precisionPhotonSequence,ConfigFlags,ion=ion)
 
     # Hypo 
     from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool import createTrigEgammaPrecisionPhotonHypoAlg
-    thePrecisionPhotonHypo = createTrigEgammaPrecisionPhotonHypoAlg(name+"precisionPhotonHypo", sequenceOut)
+    thePrecisionPhotonHypo = createTrigEgammaPrecisionPhotonHypoAlg(name+ tag(ion) +"Hypo", sequenceOut)
     
     from TrigEgammaHypo.TrigEgammaPrecisionPhotonHypoTool import TrigEgammaPrecisionPhotonHypoToolFromDict
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonRecoSequences.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonRecoSequences.py
index 16e89329a78811e4e32c7207988f2ffd9ff33aec..15117bafe849fee19a1e1fadf4d776bb6c582e89 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonRecoSequences.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/PrecisionPhotonRecoSequences.py
@@ -6,7 +6,7 @@ from AthenaCommon.CFElements import parOR
 from AthenaCommon.Logging import logging
 log = logging.getLogger(__name__)
 
-def precisionPhotonRecoSequence(RoIs):
+def precisionPhotonRecoSequence(RoIs, ion=False):
     """ With this function we will setup the sequence of offline EgammaAlgorithms so to make a photon for TrigEgamma 
 
     Sequence of algorithms is the following:
@@ -20,54 +20,62 @@ def precisionPhotonRecoSequence(RoIs):
 
     log.debug('precisionPhotonRecoSequence(RoIs = %s)',RoIs)
 
+    tag = '_ion' if ion is True else ''
+
     # First the data verifiers:
     # Here we define the data dependencies. What input needs to be available for the Fexs (i.e. TopoClusters from precisionCalo) in order to run
     from TriggerMenuMT.HLTMenuConfig.Egamma.PrecisionCaloMenuSequences import precisionCaloMenuDefs
     import AthenaCommon.CfgMgr as CfgMgr
-    ViewVerify = CfgMgr.AthViews__ViewDataVerifier("PrecisionPhotonPhotonViewDataVerifier")
-    ViewVerify.DataObjects = [( 'xAOD::CaloClusterContainer' , 'StoreGateSvc+%s' % precisionCaloMenuDefs.precisionCaloClusters ),
-                              ( 'CaloCellContainer' , 'StoreGateSvc+CaloCells' )]
 
+    caloClusters = precisionCaloMenuDefs.caloClusters(ion)
+
+    ViewVerify = CfgMgr.AthViews__ViewDataVerifier("PrecisionPhotonPhotonViewDataVerifier" + tag)
+    ViewVerify.DataObjects = [( 'xAOD::CaloClusterContainer' , 'StoreGateSvc+%s' % caloClusters ),
+                              ( 'CaloCellContainer' , 'StoreGateSvc+CaloCells' )]
+    if ion is True: ViewVerify.DataObjects.append(( 'CaloCellContainer' , 'StoreGateSvc+CorrectedRoICaloCells' ))
 
     # Retrieve the factories now
-    from TriggerMenuMT.HLTMenuConfig.Photon.TrigPhotonFactories import TrigEgammaRecPhoton, TrigPhotonSuperClusterBuilder, TrigTopoEgammaPhotons
+    from TriggerMenuMT.HLTMenuConfig.Photon.TrigPhotonFactories import TrigEgammaRecPhoton, TrigPhotonSuperClusterBuilder, TrigTopoEgammaPhotons_HI, TrigTopoEgammaPhotons
 
     log.debug('retrieve(precisionPhotonRecoSequence,None,RoIs = %s)',RoIs)
 
+
     # The sequence of these algorithms
-    thesequence = parOR( "precisionPhotonAlgs") # This thing creates the sequence with name precisionPhotonAlgs
+    thesequence = parOR( "precisionPhotonAlgs" + tag) # This thing creates the sequence with name precisionPhotonAlgs
     thesequence += ViewVerify
 
     # Add to the sequence the three steps:
     #  - TrigEgammaBuilder, TrigPhotonSuperClusters, TrigTopoEgammaPhotons
-    TrigEgammaAlgo = TrigEgammaRecPhoton()
-    TrigEgammaAlgo.InputClusterContainerName = precisionCaloMenuDefs.precisionCaloClusters
+    TrigEgammaAlgo = TrigEgammaRecPhoton('TrigEgammaRecPhoton'+tag)
+    TrigEgammaAlgo.InputClusterContainerName = caloClusters
     thesequence += TrigEgammaAlgo
 
-    trigPhotonAlgo = TrigPhotonSuperClusterBuilder()
+    trigPhotonAlgo = TrigPhotonSuperClusterBuilder('TrigPhotonSuperClusterBuilder'+tag)
     trigPhotonAlgo.InputEgammaRecContainerName = TrigEgammaAlgo.egammaRecContainer
     thesequence += trigPhotonAlgo
 
-    trigTopoEgammaAlgo = TrigTopoEgammaPhotons()
+    egammaPhotonAlgo = TrigTopoEgammaPhotons_HI if ion is True else TrigTopoEgammaPhotons
+
+    trigTopoEgammaAlgo = egammaPhotonAlgo('TrigTopoEgammaPhotons' +tag)
     trigTopoEgammaAlgo.InputPhotonRecCollectionName = trigPhotonAlgo.SuperPhotonRecCollectionName
     collectionOut = trigTopoEgammaAlgo.PhotonOutputName
     thesequence += trigTopoEgammaAlgo
 
     # Add CaloIsolationTool
     from TriggerMenuMT.HLTMenuConfig.Egamma.TrigEgammaFactories import TrigPhotonIsoBuilderCfg
-    isoBuilder = TrigPhotonIsoBuilderCfg()
+    isoBuilder = TrigPhotonIsoBuilderCfg('TrigPhotonIsolationBuilder' + tag)
     thesequence += isoBuilder
 
     #online monitoring for topoEgammaBuilder
     from TriggerMenuMT.HLTMenuConfig.Photon.TrigPhotonFactories import PrecisionPhotonTopoMonitorCfg
-    PrecisionPhotonRecoMonAlgo = PrecisionPhotonTopoMonitorCfg()
+    PrecisionPhotonRecoMonAlgo = PrecisionPhotonTopoMonitorCfg('PrecisionPhotonTopoEgammaBuilder' + tag)
     PrecisionPhotonRecoMonAlgo.PhotonKey = trigTopoEgammaAlgo.PhotonOutputName
     PrecisionPhotonRecoMonAlgo.IsoVarKeys = [ '%s.topoetcone20' % trigTopoEgammaAlgo.PhotonOutputName, '%s.topoetcone40' % trigTopoEgammaAlgo.PhotonOutputName]
     thesequence += PrecisionPhotonRecoMonAlgo
 
     #online monitoring for TrigPhotonSuperClusterBuilder
     from TriggerMenuMT.HLTMenuConfig.Photon.TrigPhotonFactories import PrecisionPhotonSuperClusterMonitorCfg
-    PrecisionPhotonSuperClusterMonAlgo = PrecisionPhotonSuperClusterMonitorCfg()
+    PrecisionPhotonSuperClusterMonAlgo = PrecisionPhotonSuperClusterMonitorCfg('PrecisionPhotonSuperClusterBuilder' + tag)
     PrecisionPhotonSuperClusterMonAlgo.InputEgammaRecContainerName = trigPhotonAlgo.SuperPhotonRecCollectionName
     thesequence += PrecisionPhotonSuperClusterMonAlgo
 
diff --git a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/TrigPhotonFactories.py b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/TrigPhotonFactories.py
index 9800b0c61ce62f885573fd35e79d840fa63416ae..f3be3a09ac3dff822c5d66376c6cf8a732bd96b7 100644
--- a/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/TrigPhotonFactories.py
+++ b/Trigger/TriggerCommon/TriggerMenuMT/python/HLTMenuConfig/Photon/TrigPhotonFactories.py
@@ -16,7 +16,7 @@ from egammaRec.Factories import AlgFactory,  FcnWrapper
 from egammaTools.egammaToolsFactories import egammaSwSuperClusterTool, egammaMVASvc, EGammaAmbiguityTool
 
 # Tools and funtions from TrigEgammaFactories
-from TriggerMenuMT.HLTMenuConfig.Egamma.TrigEgammaFactories import TrigEMClusterTool, TrigEMShowerBuilder ,TrigEgammaDecorationTools, TrigPhotonDecorationTools, TrigEMTrackMatchBuilder
+from TriggerMenuMT.HLTMenuConfig.Egamma.TrigEgammaFactories import TrigEMClusterTool, TrigEMShowerBuilder_HI, TrigEMShowerBuilder, TrigEgammaDecorationTools, TrigPhotonDecorationTools, TrigEMTrackMatchBuilder
 
 # Load TrigEgammaKeys where we store the container names and other TrigEgamma configuration values
 from TriggerMenuMT.HLTMenuConfig.Egamma.TrigEgammaKeys import getTrigEgammaKeys
@@ -56,6 +56,22 @@ TrigPhotonSuperClusterBuilder = AlgFactory( egammaAlgsConf.photonSuperClusterBui
         )
 
 #Factory for photons
+TrigTopoEgammaPhotons_HI = AlgFactory( egammaAlgsConf.xAODEgammaBuilder,
+        name = 'TrigTopoEgammaPhotons_HI',
+        InputElectronRecCollectionName = TrigEgammaKeys.SuperElectronRecCollectionName,
+        InputPhotonRecCollectionName = TrigEgammaKeys.SuperPhotonRecCollectionName,
+        ElectronOutputName = TrigEgammaKeys.outputElectronKey,
+        PhotonOutputName = TrigEgammaKeys.outputPhotonKey,
+        AmbiguityTool = EGammaAmbiguityTool,
+        EMClusterTool = TrigEMClusterTool,
+        EMShowerTool=TrigEMShowerBuilder_HI,
+        egammaTools = FcnWrapper(TrigEgammaDecorationTools),
+        PhotonTools = FcnWrapper(TrigPhotonDecorationTools),
+        doAdd = False,
+        doPhotons = True,
+        doElectrons = False,
+        )
+
 TrigTopoEgammaPhotons = AlgFactory( egammaAlgsConf.xAODEgammaBuilder, 
         name = 'TrigTopoEgammaPhotons',
         InputElectronRecCollectionName = TrigEgammaKeys.SuperElectronRecCollectionName,