diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py
index f42d5e734cfce1656694c4cfebf873d7d347287a..4b79098620451c4cb836cb8252a2b7e23fd9eec1 100644
--- a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py
+++ b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtrigger.py
@@ -21,7 +21,7 @@ rec.doTrigger.set_Value_and_Lock(True)
 rec.doRDOTrigger.set_Value_and_Lock(True)
 recAlgs.doTrigger.set_Value_and_Lock(True)
 
-
+from AthenaCommon.CFElements import findAlgorithm, findOwningSequence, findSubSequence
 from AthenaCommon.Logging import logging
 recoLog = logging.getLogger('rdo_to_rdotrigger')
 recoLog.info( '****************** STARTING RDO->RDOTrigger MAKING *****************' )
@@ -59,7 +59,7 @@ if hasattr(runArgs,"preExec"):
         exec(cmd)
 
 ## Pre-include
-if hasattr(runArgs,"preInclude"): 
+if hasattr(runArgs,"preInclude"):
     for fragment in runArgs.preInclude:
         include(fragment)
 
@@ -69,25 +69,16 @@ topSequence = AlgSequence()
 from AthenaCommon.AlgSequence import AthSequencer
 outSequence = AthSequencer("AthOutSeq")
 
-if TriggerFlags.doMT():
-    log.info("configuring MT Trigger")
-    from AthenaCommon.AlgScheduler import AlgScheduler
-    AlgScheduler.CheckDependencies( True )
-    AlgScheduler.ShowControlFlow( True )
-    AlgScheduler.ShowDataDependencies( True )
-    AlgScheduler.EnableVerboseViews( True )
-    from TriggerJobOpts.Lvl1SimulationConfig import Lvl1SimulationSequence
-    topSequence += Lvl1SimulationSequence(None)
 
-else:
-        
+if not TriggerFlags.doMT():
+
     from TriggerJobOpts.TriggerConfigGetter import TriggerConfigGetter
     from AthenaCommon.AppMgr import ServiceMgr as svcMgr
     # small hack, switching temporarily the ESD writing on, to allow writing of some trigger containers into the RDOTrigger file
-    rec.doWriteESD = True 
+    rec.doWriteESD = True
     cfg = TriggerConfigGetter()
     rec.doWriteESD.set_Value_and_Lock( False )
-    # end of hack. 
+    # end of hack.
 
 def preplist(input):
     triglist = []
@@ -99,14 +90,72 @@ def preplist(input):
 
 if TriggerFlags.doMT():
     TriggerFlags.doHLT.set_Value_and_Lock(False)
-    
-    
+
+
 #========================================================
 # Central topOptions (this is one is a string not a list)
 #========================================================
 if hasattr(runArgs,"topOptions"): include(runArgs.topOptions)
 else: include( "RecExCommon/RecExCommon_topOptions.py" )
 
+
+if TriggerFlags.doMT():
+    log.info("configuring MT Trigger")
+    from AthenaCommon.AlgScheduler import AlgScheduler
+    AlgScheduler.CheckDependencies( True )
+    AlgScheduler.ShowControlFlow( True )
+    AlgScheduler.ShowDataDependencies( True )
+    AlgScheduler.EnableVerboseViews( True )
+    recoLog.info( "Configuring LVL1 simulation (MT)" )
+    from TriggerJobOpts.Lvl1SimulationConfig import Lvl1SimulationSequence
+    topSequence += Lvl1SimulationSequence(None)
+    recoLog.info( "Configuring HLT (MT)" )
+
+
+    from TrigUpgradeTest.TestUtils import L1DecoderTest
+    topSequence += L1DecoderTest()
+
+    include( "TriggerRelease/jobOfragment_TransBS_standalone.py" )
+    topSequence.StreamBS.ItemList =     [ x for x in topSequence.StreamBS.ItemList if 'RoIBResult' not in x ] # eliminate RoIBResult
+
+    # add fake data dependency assuring StreaBS runs before L1 decoder of HLT
+    fakeTypeKey = ("FakeBSOutType","StoreGateSvc+FakeBSOutKey")
+    topSequence.StreamBS.ExtraOutputs += [fakeTypeKey]
+    findAlgorithm( topSequence, "L1Decoder" ).ExtraInputs += [fakeTypeKey]
+    from AthenaCommon.Configurable import Configurable
+    Configurable.configurableRun3Behavior=True
+    from TriggerJobOpts.TriggerConfig import triggerIDCCacheCreatorsCfg
+    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    ConfigFlags.lock()
+    triggerIDCCacheCreatorsCfg(ConfigFlags).appendToGlobals()
+    Configurable.configurableRun3Behavior=False
+
+
+    include ("InDetRecExample/InDetRecCabling.py")
+
+    TriggerFlags.triggerMenuSetup = "LS2_v1"
+    from TriggerMenuMT.HLTMenuConfig.Menu.GenerateMenuMT import GenerateMenuMT
+    menu = GenerateMenuMT()
+    def signaturesToGenerate():
+        TriggerFlags.Slices_all_setOff()
+        TriggerFlags.EgammaSlice.setAll()
+        TriggerFlags.MuonSlice.setAll()
+        TriggerFlags.METSlice.setAll()
+        TriggerFlags.JetSlice.setAll()
+        TriggerFlags.TauSlice.setAll()
+        TriggerFlags.CombinedSlice.setAll()
+
+    menu.overwriteSignaturesWith(signaturesToGenerate)
+    allChainConfigs = menu.generateMT()
+
+    if not hasattr(svcMgr, 'THistSvc'):
+        from GaudiSvc.GaudiSvcConf import THistSvc
+        svcMgr += THistSvc()
+
+    from TriggerJobOpts.HLTTriggerGetter import setTHistSvcOutput
+    setTHistSvcOutput(svcMgr.THistSvc.Output)
+
+
 if rec.doFileMetaData():
    from RecExConfig.ObjKeyStore import objKeyStore
    metadataItems = [ "xAOD::TriggerMenuContainer#TriggerMenu",
@@ -123,12 +172,12 @@ for i in topSequence.getAllChildren():
        if not hasattr(i,'RoIBResultToxAOD'):
            idx += 1
            topSequence.insert(idx, RoIBResultToAOD("RoIBResultToxAOD"))
-           
+
 for i in outSequence.getAllChildren():
     if "StreamRDO" in i.getName() and ( not TriggerFlags.doMT() ):
         from TrigDecisionMaker.TrigDecisionMakerConfig import TrigDecisionMaker,WritexAODTrigDecision
         topSequence.insert(idx, TrigDecisionMaker('TrigDecMaker'))
-        from AthenaCommon.Logging import logging 
+        from AthenaCommon.Logging import logging
         log = logging.getLogger( 'WriteTrigDecisionToAOD' )
         log.info('TrigDecision writing enabled')
         from xAODTriggerCnv.xAODTriggerCnvConf import xAODMaker__TrigDecisionCnvAlg
@@ -143,7 +192,7 @@ for i in outSequence.getAllChildren():
         from TrigEDMConfig.TriggerEDM import getTriggerEDMList
         _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(),  TriggerFlags.EDMDecodingVersion()) )
         _TriggerAODList.update( getTriggerEDMList(TriggerFlags.AODEDMSet(),  TriggerFlags.EDMDecodingVersion()) )
-    
+
 
         StreamRDO.ItemList += ["HLT::HLTResult#HLTResult_HLT"]
         StreamRDO.ItemList += ["TrigDec::TrigDecision#TrigDecision"]
@@ -154,8 +203,8 @@ for i in outSequence.getAllChildren():
         StreamRDO.ItemList += preplist(getLvl1ESDList())
         from TrigEDMConfig.TriggerEDM import getLvl1AODList
         StreamRDO.ItemList += preplist(getLvl1AODList())
-        StreamRDO.MetadataItemList +=  [ "xAOD::TriggerMenuContainer#*", "xAOD::TriggerMenuAuxContainer#*" ]             
-       
+        StreamRDO.MetadataItemList +=  [ "xAOD::TriggerMenuContainer#*", "xAOD::TriggerMenuAuxContainer#*" ]
+
     if "StreamRDO" in i.getName() and TriggerFlags.doMT():
         from TrigEDMConfig.TriggerEDMRun3 import TriggerHLTList
         from TrigEDMConfig.TriggerEDM import getLvl1ESDList
@@ -164,8 +213,8 @@ for i in outSequence.getAllChildren():
         StreamRDO.ItemList += ["TrigInDetTrackTruthMap#*"]
         for item in TriggerHLTList:
             if "ESD" in item[1] or "AOD" in item[1]:
-                StreamRDO.ItemList += item[0]
-        
+                StreamRDO.ItemList += [item[0]]
+
 from AthenaCommon.AppMgr import ServiceMgr, ToolSvc
 from TrigDecisionTool.TrigDecisionToolConf import *
 
@@ -205,7 +254,7 @@ StreamRDO.ItemList +=["2934#*"]
 rec.OutputFileNameForRecoStep="RDOtoRDO_TRIG"
 
 ## Post-include
-if hasattr(runArgs,"postInclude"): 
+if hasattr(runArgs,"postInclude"):
     for fragment in runArgs.postInclude:
         include(fragment)
 
@@ -216,7 +265,5 @@ if hasattr(runArgs,"postExec"):
         recoLog.info(cmd)
         exec(cmd)
 
-
-# topSequence.McAodBuilder.OutputLevel=DEBUG
-
-# del topSequence.McAodBuilder
+ServiceMgr.MessageSvc.debugLimit=10000000
+ServiceMgr.MessageSvc.Format = "% F%40W%S%4W%e%s%7W%R%T %0W%M"
diff --git a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx
index 893faf804d9c112735c482a58bd749c01ca02ea9..adf9bef94ae6ea3abf2a44419cfb5a91da292d0e 100644
--- a/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx
+++ b/Trigger/TrigAlgorithms/TrigT2CaloCommon/src/TrigCaloDataAccessSvc.cxx
@@ -158,10 +158,10 @@ StatusCode TrigCaloDataAccessSvc::loadFullCollections ( const EventContext& cont
   }
 
   unsigned int sc = prepareLArFullCollections( context );
-  if ( sc ) return StatusCode::FAILURE;
+  ATH_CHECK( sc == 0 );
 
   sc = prepareTileFullCollections( context );
-  if ( sc ) return StatusCode::FAILURE;
+  ATH_CHECK( sc == 0 );
 
   m_hLTCaloSlot.get(context)->lastFSEvent = context.evt();
 
@@ -171,8 +171,8 @@ StatusCode TrigCaloDataAccessSvc::loadFullCollections ( const EventContext& cont
   cont.reserve( cont_to_copy->size() );
   for( const CaloCell* c : *cont_to_copy ) cont.push_back( c );
       
-  if ( sc ) return StatusCode::FAILURE;
-  else return StatusCode::SUCCESS;
+  ATH_CHECK( sc == 0 );
+  return StatusCode::SUCCESS;
 }
 
 
@@ -180,6 +180,7 @@ unsigned int TrigCaloDataAccessSvc::prepareLArFullCollections( const EventContex
 
   ATH_MSG_DEBUG( "Full Col " << " requested for event " << context );
   if ( !m_lateInitDone && lateInit() ) {
+    ATH_MSG_ERROR("Could not execute late init");
     return 0x1; // dummy code
   }
 
@@ -225,6 +226,7 @@ unsigned int TrigCaloDataAccessSvc::prepareTileFullCollections( const EventConte
 
   ATH_MSG_DEBUG( "Full Col " << " requested for event " << context );
   if ( !m_lateInitDone && lateInit() ) {
+    ATH_MSG_ERROR("Could not execute late init");
     return 0x1; // dummy code
   }
 
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py
index 929fca761384e9b5eb70d0176125ed3915af77eb..7295090a4c66e393651ab12d9d718964b0707e46 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerGetter.py
@@ -129,7 +129,7 @@ class TriggerGetter(Configured):
                 # StreamBS.ItemList +=["TileRawChannelContainer#*"]
                 StreamBS.ItemList +=["2927#*"]
                 StreamBS.ItemList +=["2934#*"] # added on request from: Arantxa Ruiz Martinez for TileRODMu
-
+                
                 # don't need Muons in transient BS
                 # StreamBS.ItemList +=["MdtCsmContainer#*"]
                 # StreamBS.ItemList +=["RpcPadContainer#*"]