From 741f94ca71a94d3c5f1a126960f5304daf5dd8a7 Mon Sep 17 00:00:00 2001
From: Rafal Bielski <rafal.bielski@cern.ch>
Date: Thu, 19 Nov 2020 20:47:33 +0100
Subject: [PATCH] Replace TriggerFlags.EDMDecodingVersion with
 ConfigFlags.Trigger.EDMDecodingVersion

---
 .../share/DataQualitySteering_jobOptions.py   |   3 +-
 .../TrigTransform/share/test_run.sh           |   2 +-
 .../share/skeleton.AODtoDAOD_tf.py            |   2 +
 .../share/skeleton.PhysicsValidation_tf.py    |   6 +-
 .../share/skeleton.ESDtoAOD_tf.py             |   6 +-
 .../share/skeleton.RAWtoESD_tf.py             |   4 +
 .../share/skeleton.RDOtoRDOtriggerLegacy.py   |   8 +-
 Tools/Tier0ChainTests/test/test_q221_mt.sh    |   2 +-
 .../python/TrigBphysMonitCategory.py          |   4 +-
 .../python/TrigBphysMonitoringConfig.py       |   4 +-
 .../share/TrigHLTMonCommon_jobOptions.py      |   4 +-
 .../python/TrigIDPhysValMonitoringConfig.py   |   7 +-
 .../python/TrigIDtrkMonitoringConfig.py       |   7 +-
 .../python/TrigMuonMonitCategory.py           |   8 +-
 .../test_trigAna_RDOtoPhysval_v1Dev_build.py  |   2 +-
 .../test_trigAna_RDOtoPhysval_v1Dev_grid.py   |   2 +-
 .../TrigValAlgs/python/TrigValAlgsConfig.py   |   4 +-
 .../share/testCommonSliceAthenaTrigRDO.py     |   4 +
 .../test/test_trig_data_v1Dev_build.py        |   2 +-
 .../python/HLTTriggerResultGetter.py          | 121 ++----------------
 .../python/TriggerConfigGetter.py             |  13 +-
 .../TriggerJobOpts/python/TriggerFlags.py     |  14 +-
 .../share/Trigger_topOptions_standalone.py    |   3 +
 .../TriggerJobOpts/share/decodeBS.py          |   4 +-
 .../TriggerJobOpts/share/runHLT_standalone.py |   2 +
 .../share/runHLT_standalone_run2.py           |   7 +
 26 files changed, 94 insertions(+), 151 deletions(-)

diff --git a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py
index 3b58cb61aeb..b01e613fe7e 100644
--- a/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py
+++ b/Control/AthenaMonitoring/share/DataQualitySteering_jobOptions.py
@@ -351,14 +351,13 @@ if DQMonFlags.doMonitoring():
       from AthenaMonitoring.AthenaMonitoringCfg import AthenaMonitoringCfg
       from AthenaMonitoring.DQConfigFlags import allSteeringFlagsOff
       from AthenaMonitoring import AthenaMonitoringConf
-      from TriggerJobOpts.TriggerFlags import TriggerFlags
 
       Steering = ConfigFlags.DQ.Steering
       Steering.doGlobalMon=DQMonFlags.doGlobalMon()
       Steering.doLVL1CaloMon=DQMonFlags.doLVL1CaloMon()
       Steering.doCTPMon=DQMonFlags.doCTPMon()
       # do not enable new HLT monitoring if we are not in Run 3 EDM
-      Steering.doHLTMon=DQMonFlags.doHLTMon() and TriggerFlags.EDMDecodingVersion() == 3
+      Steering.doHLTMon=DQMonFlags.doHLTMon() and ConfigFlags.Trigger.EDMDecodingVersion == 3
       Steering.doPixelMon=DQMonFlags.doPixelMon()
       Steering.doSCTMon=DQMonFlags.doSCTMon()
       Steering.doTRTMon=DQMonFlags.doTRTMon()
diff --git a/HLT/Trigger/TrigTransforms/TrigTransform/share/test_run.sh b/HLT/Trigger/TrigTransforms/TrigTransform/share/test_run.sh
index 8eb081401d9..d8c3bf0e688 100644
--- a/HLT/Trigger/TrigTransforms/TrigTransform/share/test_run.sh
+++ b/HLT/Trigger/TrigTransforms/TrigTransform/share/test_run.sh
@@ -396,7 +396,7 @@ Trig_reco_tf.py \
 --outputNTUP_TRIGRATEFile="NTUP_TRIGRATE.04854087._000852.root.1" \
 --outputNTUP_TRIGEBWGHTFile="NTUP_TRIGEBWGHT.04854087._000852.root.1" \
 --geometryVersion 'ATLAS-R1-2012-02-00-00' --conditionsTag 'COMCOND-BLKPA-RUN1-07' --beamType 'collisions' --autoConfiguration 'everything' \
---preExec "RAWtoESD:from TriggerJobOpts.TriggerFlags import TriggerFlags; TriggerFlags.EDMDecodingVersion.set_Value_and_Lock(2);DQMonFlags.doStreamAwareMon=False;DQMonFlags.enableLumiAccess=False;from JetRec.JetRecFlags import jetFlags;jetFlags.useTracks=False;DQMonFlags.doLVL1CaloMon=False;DQMonFlags.doCTPMon=False" "ESDtoAOD:DQMonFlags.doStreamAwareMon=False;DQMonFlags.enableLumiAccess=False;from JetRec.JetRecFlags import jetFlags;jetFlags.useTracks=False;DQMonFlags.doLVL1CaloMon=False;DQMonFlags.doCTPMon=False;from TrigHLTMonitoring.HLTMonFlags import HLTMonFlags;HLTMonFlags.doTau=False" \
+--preExec "RAWtoESD:from AthenaConfiguration.AllConfigFlags import ConfigFlags; ConfigFlags.Trigger.EDMDecodingVersion=2;DQMonFlags.doStreamAwareMon=False;DQMonFlags.enableLumiAccess=False;from JetRec.JetRecFlags import jetFlags;jetFlags.useTracks=False;DQMonFlags.doLVL1CaloMon=False;DQMonFlags.doCTPMon=False" "ESDtoAOD:DQMonFlags.doStreamAwareMon=False;DQMonFlags.enableLumiAccess=False;from JetRec.JetRecFlags import jetFlags;jetFlags.useTracks=False;DQMonFlags.doLVL1CaloMon=False;DQMonFlags.doCTPMon=False;from TrigHLTMonitoring.HLTMonFlags import HLTMonFlags;HLTMonFlags.doTau=False" \
 --outputBSFile="RAW.05530098._000001.pool.root.1" \
 --outputESDFile='thetestESD.pool.root' \
 --outputAODFile='thetestAOD.pool.root'  \
diff --git a/PhysicsAnalysis/PATJobTransforms/share/skeleton.AODtoDAOD_tf.py b/PhysicsAnalysis/PATJobTransforms/share/skeleton.AODtoDAOD_tf.py
index 6a7f35948b2..70f399fe7c4 100644
--- a/PhysicsAnalysis/PATJobTransforms/share/skeleton.AODtoDAOD_tf.py
+++ b/PhysicsAnalysis/PATJobTransforms/share/skeleton.AODtoDAOD_tf.py
@@ -39,6 +39,8 @@ if hasattr(runArgs,"inputAODFile"):
     rec.doDPD.set_Value_and_Lock(True)
     rec.OutputFileNameForRecoStep.set_Value_and_Lock("AODtoDAOD")
     athenaCommonFlags.PoolAODInput.set_Value_and_Lock( runArgs.inputAODFile )
+    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    ConfigFlags.Input.Files = athenaCommonFlags.PoolAODInput()
 elif hasattr(runArgs,'inputEVNTFile') or hasattr(runArgs,'jobConfig'):
     # Assume that we're running from EVNT or straight through evgen
     globalflags.InputFormat.set_Value_and_Lock('pool')
diff --git a/PhysicsAnalysis/PATJobTransforms/share/skeleton.PhysicsValidation_tf.py b/PhysicsAnalysis/PATJobTransforms/share/skeleton.PhysicsValidation_tf.py
index 47d0198a85b..0ccf0a0e643 100644
--- a/PhysicsAnalysis/PATJobTransforms/share/skeleton.PhysicsValidation_tf.py
+++ b/PhysicsAnalysis/PATJobTransforms/share/skeleton.PhysicsValidation_tf.py
@@ -36,14 +36,18 @@ monMan.ManualRunLBSetup    = True
 monMan.Run                 = 1
 monMan.LumiBlock           = 1
 
+# Input
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 if hasattr(runArgs,"inputESDFile"):
     rec.readESD.set_Value_and_Lock( True )
     athenaCommonFlags.PoolESDInput.set_Value_and_Lock( runArgs.inputESDFile )
+    ConfigFlags.Input.Files = athenaCommonFlags.PoolESDInput()
     rec.readESD = True
     rec.readAOD = False
 elif hasattr(runArgs,"inputAODFile"):
     rec.readAOD.set_Value_and_Lock( True )
     athenaCommonFlags.PoolAODInput.set_Value_and_Lock( runArgs.inputAODFile )
+    ConfigFlags.Input.Files = athenaCommonFlags.PoolAODInput()
     rec.readESD = False
     rec.readAOD = True
 else:
@@ -151,7 +155,7 @@ if hasattr(runArgs,"postExec"):
 
 
 # Temporary (July 19) trigger additions
-if TriggerFlags.doMT() or TriggerFlags.EDMDecodingVersion() == 3:
+if ConfigFlags.Trigger.EDMDecodingVersion == 3:
   if hasattr(ToolSvc, 'TrigDecisionTool'):
     ToolSvc.TrigDecisionTool.NavigationFormat="TrigComposite"
 
diff --git a/Reconstruction/RecJobTransforms/share/skeleton.ESDtoAOD_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.ESDtoAOD_tf.py
index c2ea42f7927..c497f73ddad 100644
--- a/Reconstruction/RecJobTransforms/share/skeleton.ESDtoAOD_tf.py
+++ b/Reconstruction/RecJobTransforms/share/skeleton.ESDtoAOD_tf.py
@@ -21,14 +21,18 @@ recoLog.info( '****************** STARTING ESD->AOD MAKING *****************' )
 
 from AthenaCommon.AppMgr import ServiceMgr; import AthenaPoolCnvSvc.AthenaPool
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 ## Input
-if hasattr(runArgs,"inputFile"): athenaCommonFlags.FilesInput.set_Value_and_Lock( runArgs.inputFile )
+if hasattr(runArgs,"inputFile"):
+    athenaCommonFlags.FilesInput.set_Value_and_Lock( runArgs.inputFile )
+    ConfigFlags.Input.Files = athenaCommonFlags.FilesInput()
 if hasattr(runArgs,"inputESDFile"):
     globalflags.InputFormat.set_Value_and_Lock('pool')
     rec.readESD.set_Value_and_Lock( True )
     rec.readRDO.set_Value_and_Lock( False )
     athenaCommonFlags.PoolESDInput.set_Value_and_Lock( runArgs.inputESDFile )
+    ConfigFlags.Input.Files = athenaCommonFlags.PoolESDInput()
 
 ## Pre-exec
 if hasattr(runArgs,"preExec"):
diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py
index 62236d04687..18e4d1c26b1 100644
--- a/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py
+++ b/Reconstruction/RecJobTransforms/share/skeleton.RAWtoESD_tf.py
@@ -30,6 +30,7 @@ rec.DPDMakerScripts.append(SetupOutputDPDs(runArgs,listOfFlags))
 
 from AthenaCommon.AppMgr import ServiceMgr; import AthenaPoolCnvSvc.AthenaPool
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 
 
@@ -55,10 +56,12 @@ if hasattr(runArgs,"inputBSFile"):
     rec.readRDO.set_Value_and_Lock( True )
     globalflags.InputFormat.set_Value_and_Lock('bytestream')
     athenaCommonFlags.BSRDOInput.set_Value_and_Lock( runArgs.inputBSFile )
+    ConfigFlags.Input.Files = athenaCommonFlags.BSRDOInput()
 if len(DRAWInputs) == 1:
     rec.readRDO.set_Value_and_Lock( True )
     globalflags.InputFormat.set_Value_and_Lock('bytestream')
     athenaCommonFlags.BSRDOInput.set_Value_and_Lock( getattr(runArgs, DRAWInputs[0]) )
+    ConfigFlags.Input.Files = athenaCommonFlags.BSRDOInput()
 elif len(DRAWInputs) > 1:
     raise RuntimeError('Impossible to run RAWtoESD with multiple input DRAW files (viz.: {0})'.format(DRAWInputs))
 
@@ -72,6 +75,7 @@ if hasattr(runArgs,"inputRDO_TRIGFile"):
     rec.readRDO.set_Value_and_Lock( True )
     globalflags.InputFormat.set_Value_and_Lock('pool')
     athenaCommonFlags.PoolRDOInput.set_Value_and_Lock( runArgs.inputRDO_TRIGFile)
+    ConfigFlags.Input.Files = athenaCommonFlags.PoolRDOInput()
     rec.doTrigger.set_Value_and_Lock(False)
     recAlgs.doTrigger.set_Value_and_Lock(False)
     from TrigHLTMonitoring.HLTMonFlags import HLTMonFlags
diff --git a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtriggerLegacy.py b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtriggerLegacy.py
index 144f768a016..f93f8dcb14f 100644
--- a/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtriggerLegacy.py
+++ b/Reconstruction/RecJobTransforms/share/skeleton.RDOtoRDOtriggerLegacy.py
@@ -10,6 +10,7 @@ from RecExConfig.RecAlgsFlags import recAlgs
 from AthenaCommon.GlobalFlags import globalflags
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
 from TriggerJobOpts.TriggerFlags import TriggerFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 import six
 
 #Common job options disable most RecExCommon by default. Re-enable below on demand.
@@ -31,6 +32,9 @@ from AthenaMonitoring.DQMonFlags import DQMonFlags
 DQMonFlags.doMonitoring.set_Value_and_Lock(False)
 DQMonFlags.doLArMon.set_Value_and_Lock(False)
 
+# Legacy (Run-2) trigger produces Run-2 EDM
+ConfigFlags.Trigger.EDMDecodingVersion = 2
+
 #disable offline ID configuration and reco
 from InDetRecExample.InDetJobProperties import InDetFlags
 InDetFlags.doNewTracking.set_Value_and_Lock(False)
@@ -150,8 +154,8 @@ if _streamRDO:
     _TriggerESDList = {}
     _TriggerAODList = {}
     from TrigEDMConfig.TriggerEDM import getTriggerEDMList
-    _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(),  TriggerFlags.EDMDecodingVersion()) )
-    _TriggerAODList.update( getTriggerEDMList(TriggerFlags.AODEDMSet(),  TriggerFlags.EDMDecodingVersion()) )
+    _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(),  ConfigFlags.Trigger.EDMDecodingVersion) )
+    _TriggerAODList.update( getTriggerEDMList(TriggerFlags.AODEDMSet(),  ConfigFlags.Trigger.EDMDecodingVersion) )
 
     _streamRDO.ItemList += ["HLT::HLTResult#HLTResult_HLT"]
     _streamRDO.ItemList += ["TrigDec::TrigDecision#TrigDecision"]
diff --git a/Tools/Tier0ChainTests/test/test_q221_mt.sh b/Tools/Tier0ChainTests/test/test_q221_mt.sh
index 72ae6d3a1b6..76b3d511b6d 100755
--- a/Tools/Tier0ChainTests/test/test_q221_mt.sh
+++ b/Tools/Tier0ChainTests/test/test_q221_mt.sh
@@ -11,7 +11,7 @@
 Reco_tf.py --AMI=q221 --athenaopts='--threads=1' --outputRDOFile=myRDO.pool.root --outputAODFile=myAOD.pool.root --outputESDFile=myESD.pool.root --imf False  --preExec="all:from IOVDbSvc.CondDB import conddb; conddb.addOverride('/PIXEL/PixMapOverlay','PixMapOverlay-SIM-MC16-000-03');"
 echo "art-result: $? Reco"
 
-Reco_tf.py --validationFlags 'doExample,doMET,doPFlow,doTau,doEgamma,doBtag,doZee,doJet,doTopoCluster,doMuon,doTrigMinBias,doTrigIDtrk,doTrigBphys,doTrigMET,doTrigJet,doTrigTau, doTrigEgamma,doTrigMuon,doTrigBjet,doTrigHLTResult' --inputAODFile=myAOD.pool.root  --outputNTUP_PHYSVALFile=myNTUP_PHYSVAL.root --preExec="TriggerFlags.EDMDecodingVersion.set_Value_and_Lock(3)"
+Reco_tf.py --validationFlags 'doExample,doMET,doPFlow,doTau,doEgamma,doBtag,doZee,doJet,doTopoCluster,doMuon,doTrigMinBias,doTrigIDtrk,doTrigBphys,doTrigMET,doTrigJet,doTrigTau, doTrigEgamma,doTrigMuon,doTrigBjet,doTrigHLTResult' --inputAODFile=myAOD.pool.root  --outputNTUP_PHYSVALFile=myNTUP_PHYSVAL.root
 echo "art-result: $? PhysVal"
 
 ArtPackage=$1
diff --git a/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitCategory.py b/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitCategory.py
index c5417da529f..1243cb23f1b 100644
--- a/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitCategory.py
+++ b/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitCategory.py
@@ -1,6 +1,6 @@
 # Copyright (C) 2002-2017 CERN for the benefit of the ATLAS collaboration
 
-from TriggerJobOpts.TriggerFlags import TriggerFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 monitoring_bphys = [
                     # For individual chain monitoring folders, to fill DetailedIndividualChains - put them first
@@ -75,7 +75,7 @@ primary_bphys = [
                  'HLT_mu11_mu6_bDimu',
                  ]
 
-if TriggerFlags.EDMDecodingVersion == 3 :
+if ConfigFlags.Trigger.EDMDecodingVersion == 3 :
   monitoring_bphys = [
                       'HLT_2mu4_bJpsimumu_L12MU4',
                       'HLT_2mu4_bUpsimumu_L12MU4',
diff --git a/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitoringConfig.py b/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitoringConfig.py
index de36f5b2fef..dfd33f3bb2e 100644
--- a/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitoringConfig.py
+++ b/Trigger/TrigMonitoring/TrigBphysMonitoring/python/TrigBphysMonitoringConfig.py
@@ -3,7 +3,7 @@
 from TrigHLTMonitoring.HLTMonTriggerList import HLTMonTriggerList
 hltmonList = HLTMonTriggerList()
 
-from TriggerJobOpts.TriggerFlags import TriggerFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 # default configuration for pp
 #if hltmonList.pp_mode :
@@ -17,7 +17,7 @@ containers = [
               "HLT_xAOD__TrigBphysContainer_MultiTrkFex",
               "HLT_xAOD__TrigBphysContainer_EFTrackMass"
               ]
-if TriggerFlags.EDMDecodingVersion == 3 :
+if ConfigFlags.Trigger.EDMDecodingVersion == 3 :
   # will add the MT version of TrigBphys containers once they are available in EDM
   containers = [ "HLT_DimuEF" ]
   
diff --git a/Trigger/TrigMonitoring/TrigHLTMonitoring/share/TrigHLTMonCommon_jobOptions.py b/Trigger/TrigMonitoring/TrigHLTMonitoring/share/TrigHLTMonCommon_jobOptions.py
index 3c0032bd774..ae5eae361c2 100755
--- a/Trigger/TrigMonitoring/TrigHLTMonitoring/share/TrigHLTMonCommon_jobOptions.py
+++ b/Trigger/TrigMonitoring/TrigHLTMonitoring/share/TrigHLTMonCommon_jobOptions.py
@@ -125,8 +125,8 @@ if data_type == 'pool':
     ToolSvc += Trig__TrigDecisionTool( "TrigDecisionTool" )
     from TrigEDMConfig.TriggerEDM import EDMLibraries
     ToolSvc.TrigDecisionTool.Navigation.Dlls = [e for e in  EDMLibraries if 'TPCnv' not in e]
-    from TriggerJobOpts.TriggerFlags import TriggerFlags
-    if TriggerFlags.doMT() or TriggerFlags.EDMDecodingVersion() == 3:
+    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    if ConfigFlags.Trigger.EDMDecodingVersion == 3:
         ToolSvc.TrigDecisionTool.NavigationFormat="TrigComposite"
     
     if hasattr(runArgs,"useDB") and runArgs.useDB:
diff --git a/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDPhysValMonitoringConfig.py b/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDPhysValMonitoringConfig.py
index d991cce6bfd..10bc44022b2 100644
--- a/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDPhysValMonitoringConfig.py
+++ b/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDPhysValMonitoringConfig.py
@@ -12,13 +12,10 @@ def TrigIDPhysValMonitoringTool( legacy_monitoring=False ):
   if 'rec' not in dir():
     from RecExConfig.RecFlags  import rec
     
-  from TriggerJobOpts.HLTTriggerResultGetter import EDMDecodingVersion
-  from TriggerJobOpts.TriggerFlags import TriggerFlags
-      
-  EDMDecodingVersion()
+  from AthenaConfiguration.AllConfigFlags import ConfigFlags
       
   mt_chains = True
-  if ( TriggerFlags.EDMDecodingVersion < 3 or legacy_monitoring ) :
+  if ( ConfigFlags.Trigger.EDMDecodingVersion < 3 or legacy_monitoring ) :
     mt_chains = False
         
   if rec.doInDet:
diff --git a/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py b/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py
index 2ddf8fe659b..a9dd373b594 100644
--- a/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py
+++ b/Trigger/TrigMonitoring/TrigIDtrkMonitoring/python/TrigIDtrkMonitoringConfig.py
@@ -6,13 +6,10 @@ def TrigIDtrkMonitoringTool( legacy_monitoring=False ):
 
         # do we want the lagacy monitoring ?
  
-        from TriggerJobOpts.HLTTriggerResultGetter import EDMDecodingVersion
-        from TriggerJobOpts.TriggerFlags import TriggerFlags
-
-        EDMDecodingVersion()
+        from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
         mt_chains = True
-        if ( TriggerFlags.EDMDecodingVersion < 3 or legacy_monitoring ) :
+        if ( ConfigFlags.Trigger.EDMDecodingVersion < 3 or legacy_monitoring ) :
                 mt_chains = False
 
         list = []
diff --git a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
index 400f966613d..2367d76f3ab 100644
--- a/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
+++ b/Trigger/TrigMonitoring/TrigMuonMonitoring/python/TrigMuonMonitCategory.py
@@ -1,26 +1,26 @@
 # Copyright (C) 2002-2019 CERN for the benefit of the ATLAS collaboration
 
-from TriggerJobOpts.TriggerFlags import TriggerFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 monitoring_muonNonIso = ['HLT_mu50']
 monitoring_muonNonIso_HI = ['HLT_mu8','HLT_mu3', 'HLT_mu4']#8TeV
 #monitoring_muonNonIso_HI = ['HLT_mu10','HLT_mu14']
 monitoring_muonNonIso_pp = ['HLT_mu50']
-if TriggerFlags.EDMDecodingVersion == 3:
+if ConfigFlags.Trigger.EDMDecodingVersion == 3:
     monitoring_muonNonIso = ['HLT_mu50_L1MU20']
     monitoring_muonNonIso_pp = ['HLT_mu50_L1MU20']
 
 monitoring_muonIso = ['HLT_mu26_ivarmedium']
 monitoring_muonIso_HI = ['']
 monitoring_muonIso_pp = ['HLT_mu26_ivarmedium']
-if TriggerFlags.EDMDecodingVersion == 3:
+if ConfigFlags.Trigger.EDMDecodingVersion == 3:
     monitoring_muonIso = ['HLT_mu26_ivarmedium_L1MU20']
     monitoring_muonIso_pp = ['HLT_mu26_ivarmedium_L1MU20']
 
 monitoring_MSonly = ['HLT_mu60_0eta105_msonly']
 monitoring_MSonly_HI = ['HLT_mu15_msonly']
 monitoring_MSonly_pp = ['HLT_mu60_0eta105_msonly']
-if TriggerFlags.EDMDecodingVersion == 3:
+if ConfigFlags.Trigger.EDMDecodingVersion == 3:
     monitoring_MSonly = ['HLT_mu60_0eta105_msonly_L1MU20']
     monitoring_MSonly_pp = ['HLT_mu60_0eta105_msonly_L1MU20']
 
diff --git a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_build.py b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_build.py
index 7e918a0ce78..fd7ba59ad69 100755
--- a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_build.py
+++ b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_build.py
@@ -30,7 +30,7 @@ physval.args = '--inputAODFile=AOD.pool.root --outputNTUP_PHYSVALFile=NTUP_PHYSV
 physval.args += ' --postInclude="TriggerTest/disableChronoStatSvcPrintout.py"'
 
 validationFlags = 'doTrigEgamma,doTrigBphys,doTrigMET,doTrigJet,doTrigMuon,doTrigHLTResult,doTrigCalo,doTrigMinBias,doTrigTau,doTrigIDtrk,doTrigBjet'
-validationPreExec = 'TriggerFlags.EDMDecodingVersion.set_Value_and_Lock(3); from TrigEDMConfig import ContainerRemapping_Run2Run3; ContainerRemapping_Run2Run3.remapHLTContainerNames();'
+validationPreExec = 'from TrigEDMConfig import ContainerRemapping_Run2Run3; ContainerRemapping_Run2Run3.remapHLTContainerNames();'
 physval.args += ' --validationFlags="{:s}" --preExec="{:s}"'.format(validationFlags, validationPreExec)
 
 test = Test.Test()
diff --git a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_grid.py b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_grid.py
index dcf7dafd916..56a1f27ccfd 100755
--- a/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_grid.py
+++ b/Trigger/TrigValidation/TrigAnalysisTest/test/test_trigAna_RDOtoPhysval_v1Dev_grid.py
@@ -50,7 +50,7 @@ physval.explicit_input = True
 physval.args = '--inputAODFile=AOD.pool.root --outputNTUP_PHYSVALFile=NTUP_PHYSVAL.pool.root --valid=True'
 
 validationFlags = 'doTrigEgamma,doTrigBphys,doTrigMET,doTrigJet,doTrigMuon,doTrigHLTResult,doTrigCalo,doTrigMinBias,doTrigTau,doTrigIDtrk,doTrigBjet'
-validationPreExec = 'TriggerFlags.EDMDecodingVersion.set_Value_and_Lock(3); from TrigEDMConfig import ContainerRemapping_Run2Run3; ContainerRemapping_Run2Run3.remapHLTContainerNames();'
+validationPreExec = 'from TrigEDMConfig import ContainerRemapping_Run2Run3; ContainerRemapping_Run2Run3.remapHLTContainerNames();'
 physval.args += ' --validationFlags="{:s}" --preExec="{:s}"'.format(validationFlags, validationPreExec)
 
 test = Test.Test()
diff --git a/Trigger/TrigValidation/TrigValAlgs/python/TrigValAlgsConfig.py b/Trigger/TrigValidation/TrigValAlgs/python/TrigValAlgsConfig.py
index 7412ed724c5..cf76b135711 100755
--- a/Trigger/TrigValidation/TrigValAlgs/python/TrigValAlgsConfig.py
+++ b/Trigger/TrigValidation/TrigValAlgs/python/TrigValAlgsConfig.py
@@ -65,8 +65,8 @@ class TrigEDMChecker ( TrigEDMChecker ):
 
 def getEDMAuxList():
     from TrigEDMConfig.TriggerEDM import getTriggerEDMList
-    from TriggerJobOpts.HLTTriggerResultGetter import EDMDecodingVersion
-    EDMVersion = EDMDecodingVersion()
+    from AthenaConfiguration.AllConfigFlags import ConfigFlags
+    EDMVersion = ConfigFlags.Trigger.EDMDecodingVersion
     tlist=getTriggerEDMList('AODFULL',EDMVersion)
     objlist=[]
     for t,kset in six.iteritems(tlist):
diff --git a/Trigger/TrigValidation/TriggerTest/share/testCommonSliceAthenaTrigRDO.py b/Trigger/TrigValidation/TriggerTest/share/testCommonSliceAthenaTrigRDO.py
index 64f9d5b8d50..790f374fd28 100644
--- a/Trigger/TrigValidation/TriggerTest/share/testCommonSliceAthenaTrigRDO.py
+++ b/Trigger/TrigValidation/TriggerTest/share/testCommonSliceAthenaTrigRDO.py
@@ -4,6 +4,7 @@
 #  flags for command-line input
 from RecExConfig.RecFlags import rec
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags as acf
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
 if not acf.EvtMax.is_locked():
     acf.EvtMax=10
@@ -28,6 +29,9 @@ doTAG=False
 #rec.doTruth=True
 rec.doTruth.set_Value_and_Lock(False)
 
+# Legacy (Run-2) trigger produces Run-2 EDM
+ConfigFlags.Trigger.EDMDecodingVersion = 2
+
 #-----------------------------------------------------------
 include("RecExCond/RecExCommon_flags.py")
 #-----------------------------------------------------------
diff --git a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
index c54c98f1955..a9351b76305 100755
--- a/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
+++ b/Trigger/TrigValidation/TriggerTest/test/test_trig_data_v1Dev_build.py
@@ -34,7 +34,7 @@ test.check_steps = CheckSteps.default_check_steps(test)
 # Ultimately there should be no per-event messages
 msgcount = test.get_step("MessageCount")
 msgcount.thresholds = {
-  'WARNING': 500,
+  'WARNING': 600,
   'INFO': 1200,
   'other': 80
 }
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
index d73defe177d..7875574b0c5 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/HLTTriggerResultGetter.py
@@ -1,6 +1,7 @@
 # Copyright (C) 2002-2020 CERN for the benefit of the ATLAS collaboration
 
 from TriggerJobOpts.TriggerFlags import TriggerFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from AthenaCommon.Logging import logging
 from AthenaCommon.GlobalFlags import globalflags
 
@@ -13,97 +14,6 @@ from RecExConfig.RecFlags import rec
 from TrigRoiConversion.TrigRoiConversionConf import RoiWriter
 
 
-def  EDMDecodingVersion():
-
-    log = logging.getLogger("EDMDecodingVersion")
-
-    # BYTESTREAM: decide Run3 or later based on ROD version, decide Run1/Run2 based on run number
-    if globalflags.InputFormat.is_bytestream():
-
-        # Check HLT ROD version in first event of first input file
-        from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
-        inputFileName = athenaCommonFlags.FilesInput()[0]
-        if not inputFileName and athenaCommonFlags.isOnline():
-            log.info("Online reconstruction mode, no input file available. Leaving default TriggerFlags.EDMDecodingVersion=%d", TriggerFlags.EDMDecodingVersion())
-            return
-
-        import eformat
-        from libpyeformat_helper import SubDetector
-        bs = eformat.istream(inputFileName)
-
-        rodVersionM = -1
-        rodVersionL = -1
-        # Find the first HLT ROBFragment in the first event
-        for robf in bs[0]:
-            if robf.rob_source_id().subdetector_id()==SubDetector.TDAQ_HLT:
-                rodVersionM = robf.rod_minor_version() >> 8
-                rodVersionL = robf.rod_minor_version() & 0xFF
-                log.debug("HLT ROD minor version from input file is %d.%d", rodVersionM, rodVersionL)
-                break
-
-        if rodVersionM < 0 or rodVersionL < 0:
-            log.warning("Cannot determine HLT ROD version from input file, falling back to runNumber-based decision")
-        elif rodVersionM >= 1:
-            TriggerFlags.EDMDecodingVersion = 3
-            log.info("Decoding version set to 3, because running on BS file with HLT ROD version %d.%d", rodVersionM, rodVersionL)
-            return
-
-        # Use run number to determine decoding version
-        from RecExConfig.AutoConfiguration  import GetRunNumber
-        runNumber = GetRunNumber()
-
-        boundary_run12 = 230000
-        boundary_run23 = 368000
-
-        if runNumber <= 0:
-            log.error("Cannot determine decoding version because run number %d is invalid. Leaving the default version %d",
-                        runNumber, TriggerFlags.EDMDecodingVersion())
-        elif runNumber < boundary_run12:
-            # Run-1 data
-            TriggerFlags.EDMDecodingVersion = 1
-            TriggerFlags.doMergedHLTResult = False
-            log.info("Decoding version set to 1 based on BS file run number (runNumber < %d)",
-                        boundary_run12)
-        elif runNumber < boundary_run23:
-            # Run-2 data
-            TriggerFlags.EDMDecodingVersion = 2
-            log.info("Decoding version set to 2 based on BS file run number (%d < runNumber < %d)",
-                        boundary_run12, boundary_run23)
-        else:
-            # Run-3 data
-            TriggerFlags.EDMDecodingVersion = 3
-            log.info("Decoding version set to 3 based on BS file run number (runNumber > %d)",
-                        boundary_run23)
-
-    else:
-        # POOL files: decide based on HLT output type present in file
-        from RecExConfig.ObjKeyStore import cfgKeyStore
-        from PyUtils.MetaReaderPeeker import convert_itemList
-        cfgKeyStore.addManyTypesInputFile(convert_itemList(layout='#join'))
-
-        TriggerFlags.doMergedHLTResult = True
-        if cfgKeyStore.isInInputFile( "HLT::HLTResult", "HLTResult_EF" ):
-            TriggerFlags.EDMDecodingVersion = 1
-            TriggerFlags.doMergedHLTResult = False
-            log.info("Decoding version set to 1, because HLTResult_EF found in POOL file")
-        elif cfgKeyStore.isInInputFile( "xAOD::TrigNavigation", "TrigNavigation" ):
-            TriggerFlags.EDMDecodingVersion = 2
-            log.info("Decoding version set to 2, because TrigNavigation found in POOL file")
-        elif cfgKeyStore.isInInputFile( "xAOD::TrigCompositeContainer", "HLTNav_Summary"):
-            TriggerFlags.EDMDecodingVersion = 3
-            log.info("Decoding version set to 3, because HLTNav_Summary found in POOL file")
-        elif rec.readRDO():
-            # If running Trigger on RDO input (without previous trigger result), choose Run-2 or Run-3 based on doMT
-            if TriggerFlags.doMT():
-                TriggerFlags.EDMDecodingVersion = 3
-                log.info("Decoding version set to 3, because running Trigger with doMT=True")
-            else:
-                TriggerFlags.EDMDecodingVersion = 2
-                log.info("Decoding version set to 2, because running Trigger with doMT=False")
-        else:
-            log.warning("Cannot recognise HLT EDM format, leaving default TriggerFlags.EDMDecodingVersion=%d", TriggerFlags.EDMDecodingVersion())
-
-
 class xAODConversionGetter(Configured):
     def configure(self):
         from AthenaCommon.AlgSequence import AlgSequence
@@ -118,10 +28,10 @@ class xAODConversionGetter(Configured):
 
         from TrigEDMConfig.TriggerEDM import getPreregistrationList
         from TrigEDMConfig.TriggerEDM import getEFRun1BSList,getEFRun2EquivalentList,getL2Run1BSList,getL2Run2EquivalentList
-        xaodconverter.Navigation.ClassesToPreregister = getPreregistrationList(TriggerFlags.EDMDecodingVersion())
-        ## if TriggerFlags.EDMDecodingVersion() == 2:
+        xaodconverter.Navigation.ClassesToPreregister = getPreregistrationList(ConfigFlags.Trigger.EDMDecodingVersion)
+        ## if ConfigFlags.Trigger.EDMDecodingVersion == 2:
         ##     #        if TriggerFlags.doMergedHLTResult():
-        ##     #if EDMDecodingVersion() =='Run2': #FPP
+        ##     #if ConfigFlags.Trigger.EDMDecodingVersion == 2: #FPP
         ##     xaodconverter.Navigation.ClassesToPreregister = getHLTPreregistrationList()
         ## else:
         ##     xaodconverter.Navigation.ClassesToPreregister = list(set(getL2PreregistrationList()+getEFPreregistrationList()+getHLTPreregistrationList()))
@@ -214,7 +124,7 @@ class ByteStreamUnpackGetterRun2(Configured):
             extr.Navigation.Dlls = getEDMLibraries()            
 
             from TrigEDMConfig.TriggerEDM import getPreregistrationList
-            extr.Navigation.ClassesToPreregister = getPreregistrationList(TriggerFlags.EDMDecodingVersion())
+            extr.Navigation.ClassesToPreregister = getPreregistrationList(ConfigFlags.Trigger.EDMDecodingVersion)
             
             if TriggerFlags.doMergedHLTResult():
                 extr.L2ResultKey=""
@@ -250,7 +160,7 @@ class ByteStreamUnpackGetterRun2(Configured):
         from AthenaCommon.AppMgr import ToolSvc
         ToolSvc += TrigSerToolTP
         from TrigEDMConfig.TriggerEDM import getTPList
-        TrigSerToolTP.TPMap = getTPList((TriggerFlags.EDMDecodingVersion()))
+        TrigSerToolTP.TPMap = getTPList((ConfigFlags.Trigger.EDMDecodingVersion))
         
         from TrigSerializeCnvSvc.TrigSerializeCnvSvcConf import TrigSerializeConvHelper
         TrigSerializeConvHelper = TrigSerializeConvHelper(doTP = True)
@@ -376,9 +286,6 @@ class HLTTriggerResultGetter(Configured):
         log = logging.getLogger("HLTTriggerResultGetter.py")
         from RecExConfig.ObjKeyStore import objKeyStore
 
-        # set EDMDecodingVersion
-        EDMDecodingVersion()
-
         # Set AODFULL for data unless it was set explicitly already
         if TriggerFlags.AODEDMSet.isDefault() and globalflags.DataSource()=='data':
             TriggerFlags.AODEDMSet = 'AODFULL'
@@ -387,25 +294,25 @@ class HLTTriggerResultGetter(Configured):
         topSequence = AlgSequence()
         log.info("BS unpacking (TF.readBS): %d", TriggerFlags.readBS() )
         if TriggerFlags.readBS():
-            if TriggerFlags.EDMDecodingVersion() <= 2:
+            if ConfigFlags.Trigger.EDMDecodingVersion <= 2:
                 bs = ByteStreamUnpackGetterRun2()  # noqa: F841
             else:
                 bs = ByteStreamUnpackGetter()  # noqa: F841
 
         xAODContainers = {}
 #        if not recAlgs.doTrigger():      #only convert when running on old data
-        if TriggerFlags.EDMDecodingVersion()==1:
+        if ConfigFlags.Trigger.EDMDecodingVersion == 1:
             xaodcnvrt = xAODConversionGetter()
             xAODContainers = xaodcnvrt.xaodlist
 
         if recAlgs.doTrigger() or TriggerFlags.doTriggerConfigOnly():
-            if TriggerFlags.EDMDecodingVersion() <= 2:
+            if ConfigFlags.Trigger.EDMDecodingVersion <= 2:
                 tdt = TrigDecisionGetterRun2()  # noqa: F841
             else:
                 tdt = TrigDecisionGetter()  # noqa: F841
 
         # Temporary hack to add Run-3 navigation to ESD and AOD
-        if (rec.doESD() or rec.doAOD()) and TriggerFlags.EDMDecodingVersion() == 3:
+        if (rec.doESD() or rec.doAOD()) and ConfigFlags.Trigger.EDMDecodingVersion == 3:
             # The hack with wildcards is needed for BS->ESD because we don't know the exact keys
             # of HLT navigation containers before unpacking them from the BS event.
             objKeyStore._store['streamESD'].allowWildCard(True)
@@ -474,17 +381,17 @@ class HLTTriggerResultGetter(Configured):
         if(xAODContainers):
             _TriggerESDList.update( xAODContainers )
         else:
-            _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(),  TriggerFlags.EDMDecodingVersion()) ) 
+            _TriggerESDList.update( getTriggerEDMList(TriggerFlags.ESDEDMSet(),  ConfigFlags.Trigger.EDMDecodingVersion) ) 
         
-        log.info("ESD content set according to the ESDEDMSet flag: %s and EDM version %d", TriggerFlags.ESDEDMSet() ,TriggerFlags.EDMDecodingVersion())
+        log.info("ESD content set according to the ESDEDMSet flag: %s and EDM version %d", TriggerFlags.ESDEDMSet(), ConfigFlags.Trigger.EDMDecodingVersion)
 
         # AOD objects choice
         _TriggerAODList = {}
         
         #from TrigEDMConfig.TriggerEDM import getAODList    
-        _TriggerAODList.update( getTriggerEDMList(TriggerFlags.AODEDMSet(),  TriggerFlags.EDMDecodingVersion()) ) 
+        _TriggerAODList.update( getTriggerEDMList(TriggerFlags.AODEDMSet(),  ConfigFlags.Trigger.EDMDecodingVersion) ) 
 
-        log.info("AOD content set according to the AODEDMSet flag: %s and EDM version %d", TriggerFlags.AODEDMSet(),TriggerFlags.EDMDecodingVersion())
+        log.info("AOD content set according to the AODEDMSet flag: %s and EDM version %d", TriggerFlags.AODEDMSet(),ConfigFlags.Trigger.EDMDecodingVersion)
 
         log.debug("ESD EDM list: %s", _TriggerESDList)
         log.debug("AOD EDM list: %s", _TriggerAODList)
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py
index d3f95dbdefc..0d036ccf75d 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerConfigGetter.py
@@ -242,10 +242,8 @@ class TriggerConfigGetter(Configured):
         ########################################################################
         # START OF TEMPORARY SOLUTION FOR RUN-3 TRIGGER DEVELOPMENT
         ########################################################################
-        from TriggerJobOpts.HLTTriggerResultGetter import EDMDecodingVersion
-        EDMDecodingVersion()  # In most use cases this needs to be called much earlier than in HLTTriggerResultGetter
-
-        if TriggerFlags.EDMDecodingVersion() >= 3:
+        from AthenaConfiguration.AllConfigFlags import ConfigFlags
+        if ConfigFlags.Trigger.EDMDecodingVersion >= 3:
             if self.hasxAODMeta:
                 if not hasattr(svcMgr, 'xAODConfigSvc'):
                     from TrigConfxAOD.TrigConfxAODConf import TrigConf__xAODConfigSvc
@@ -435,7 +433,6 @@ class TriggerConfigGetter(Configured):
 
         # Get the algorithm sequence:
         from AthenaCommon.AlgSequence import AlgSequence
-        from .TriggerFlags import TriggerFlags
         topAlgs = AlgSequence()
 
         # Add the algorithm creating the trigger configuration metadata for
@@ -443,7 +440,8 @@ class TriggerConfigGetter(Configured):
         try: 
             writeTriggerMenu = True
             writeMenuJSON = False
-            if TriggerFlags.EDMDecodingVersion() <= 2:
+            from AthenaConfiguration.AllConfigFlags import ConfigFlags
+            if ConfigFlags.Trigger.EDMDecodingVersion <= 2:
                 from TrigConfxAOD.TrigConfxAODConf import TrigConf__xAODMenuWriter
                 topAlgs += TrigConf__xAODMenuWriter( OverwriteEventObj = True )
             else:
@@ -462,7 +460,6 @@ class TriggerConfigGetter(Configured):
                 Configurable.configurableRun3Behavior += 1
                 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator, appendCAtoAthena
                 from TrigConfigSvc.TrigConfigSvcCfg import  L1PrescaleCondAlgCfg, HLTPrescaleCondAlgCfg
-                from AthenaConfiguration.AllConfigFlags import ConfigFlags
                 acc = ComponentAccumulator()
                 acc.merge( L1PrescaleCondAlgCfg( ConfigFlags ) )
                 acc.merge( HLTPrescaleCondAlgCfg( ConfigFlags ) )
@@ -493,7 +490,7 @@ class TriggerConfigGetter(Configured):
                                 ]
                 objKeyStore.addManyTypesMetaData( metadataItems )
 
-            if TriggerFlags.EDMDecodingVersion() >= 3:
+            if ConfigFlags.Trigger.EDMDecodingVersion >= 3:
                 from TrigEDMConfig.TriggerEDMRun3 import recordable
                 from AthenaConfiguration.ComponentFactory import CompFactory
                 from AthenaConfiguration.ComponentAccumulator import conf2toConfigurable
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
index 20ce5bdbdab..b20416d0477 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/python/TriggerFlags.py
@@ -98,11 +98,23 @@ _flags.append(doMT)
 
 class EDMDecodingVersion(JobProperty):
     """ if 1, Run1 decoding version is set; if 2, Run2; if 3, Run3 """
-    statusOn=True
+    statusOn=False
     allowedType=['int']
     allowedValues=[1,2,3]
     StoredValue=3
 
+    def _do_action(self):
+        self.statusOn = True
+
+    def __call__(self):
+        if not self.statusOn:
+            log = logging.getLogger('TriggerJobOpts.TriggerFlags')
+            log.warning('TriggerFlags.EDMDecodingVersion is deprecated, please use ConfigFlags.Trigger.EDMDecodingVersion')
+            from AthenaConfiguration.AllConfigFlags import ConfigFlags
+            self.StoredValue = ConfigFlags.Trigger.EDMDecodingVersion
+            self.statusOn = True
+        return JobProperty.__call__(self)
+
 _flags.append(EDMDecodingVersion)
 
 class enableMonitoring(JobProperty):
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/share/Trigger_topOptions_standalone.py b/Trigger/TriggerCommon/TriggerJobOpts/share/Trigger_topOptions_standalone.py
index 268cae97692..db97896cd0a 100755
--- a/Trigger/TriggerCommon/TriggerJobOpts/share/Trigger_topOptions_standalone.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/share/Trigger_topOptions_standalone.py
@@ -6,7 +6,10 @@ log = logging.getLogger( 'Trigger_topOptions_standalone.py' )
 from TriggerJobOpts.TriggerFlags import TriggerFlags
 from AthenaCommon.GlobalFlags import globalflags
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 
+# Legacy (Run-2) trigger produces Run-2 EDM
+ConfigFlags.Trigger.EDMDecodingVersion = 2
 
 if globalflags.InputFormat() == 'bytestream':
     TriggerFlags.doLVL1=False
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/share/decodeBS.py b/Trigger/TriggerCommon/TriggerJobOpts/share/decodeBS.py
index 185a96970cb..a075da975a7 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/share/decodeBS.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/share/decodeBS.py
@@ -62,10 +62,10 @@ topSequence.remove( StreamESD )
 outSequence.remove( StreamESD )
 
 # Define what to write into ESD
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 from TriggerJobOpts.TriggerFlags import TriggerFlags
 from TrigEDMConfig.TriggerEDM import getTriggerEDMList
-TriggerFlags.EDMDecodingVersion = 3 # currently hard-coded
-edmList = getTriggerEDMList(TriggerFlags.ESDEDMSet(), TriggerFlags.EDMDecodingVersion())
+edmList = getTriggerEDMList(TriggerFlags.ESDEDMSet(), ConfigFlags.Trigger.EDMDecodingVersion)
 if len(ItemList) == 0:
     for edmType, edmKeys in edmList.items():
         for key in edmKeys:
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py
index 8506c702564..58b2a1dbc12 100644
--- a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone.py
@@ -168,6 +168,8 @@ else:   # athenaHLT
 
 ConfigFlags.Input.Format = 'BS' if globalflags.InputFormat=='bytestream' else 'POOL'
 
+# Run-3 Trigger produces Run-3 EDM
+ConfigFlags.Trigger.EDMDecodingVersion = 3
 
 # Set final Cond/Geo tag based on input file, command line or default
 globalflags.DetDescrVersion = opt.setDetDescr or ConfigFlags.Trigger.OnlineGeoTag
diff --git a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone_run2.py b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone_run2.py
index 9bb40a1bc65..bdb7ccd920b 100755
--- a/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone_run2.py
+++ b/Trigger/TriggerCommon/TriggerJobOpts/share/runHLT_standalone_run2.py
@@ -373,7 +373,9 @@ TriggerFlags.doMuon=True
 TriggerFlags.doCalo=True
 
 from AthenaCommon.AthenaCommonFlags import athenaCommonFlags
+from AthenaConfiguration.AllConfigFlags import ConfigFlags
 athenaCommonFlags.isOnline = True
+ConfigFlags.Common.isOnline = True
 
 #TriggerFlags.CosmicSlice.testCosmic=False #Makes cosmic slice more quiet by default
 
@@ -399,6 +401,11 @@ elif PoolRDOInput!=None:
         athenaCommonFlags.PoolRDOInput=PoolRDOInput
     athenaCommonFlags.FilesInput = athenaCommonFlags.PoolRDOInput()
 
+ConfigFlags.Input.Files = athenaCommonFlags.FilesInput()
+
+# Legacy (Run-2) trigger produces Run-2 EDM
+ConfigFlags.Trigger.EDMDecodingVersion = 2
+
 # Conditions and geometry tag
 if globalflags.InputFormat.is_pool() and (setDetDescr==None or setGlobalTag==None):
     import PyUtils.AthFile as athFile
-- 
GitLab