From 1f517af695557177d7048134c797c154059e4361 Mon Sep 17 00:00:00 2001
From: Rafal Bielski <rafal.bielski@cern.ch>
Date: Fri, 10 May 2019 14:54:13 +0200
Subject: [PATCH] Run TrigUpgradeTest MC tests on RDO produced with master

---
 .../TrigUpgradeTest/share/full_menu.py        | 35 ++++++++++++-------
 .../TrigUpgradeTest/share/testHLT_MT.py       | 16 ++++++---
 .../test/exec_TrigUpgradeTest_art_athenaMT.sh |  6 +++-
 .../test/test_trigUpgr_empty_menu_mc_build.sh |  2 +-
 .../test/test_trigUpgr_id_cf_mc_build.sh      |  2 +-
 5 files changed, 41 insertions(+), 20 deletions(-)

diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py
index 67e7686c709..860e8de2864 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/full_menu.py
@@ -248,20 +248,29 @@ for a in AthSequencer("HLTAllSteps").getChildren():
 from TriggerJobOpts.TriggerConfig import collectHypos, collectFilters, collectDecisionObjects, triggerOutputStreamCfg
 hypos = collectHypos(topSequence)
 filters = collectFilters(topSequence)
-from AthenaCommon.CFElements import findAlgorithm,findSubSequence
-decObj = collectDecisionObjects( hypos, filters, findAlgorithm(topSequence, 'L1Decoder') )
-print decObj
-
-from TrigEDMConfig.TriggerEDMRun3 import TriggerHLTList
-ItemList  = [ 'xAOD::TrigCompositeContainer#{}'.format(d) for d in decObj ]
-ItemList += [ 'xAOD::TrigCompositeAuxContainer#{}Aux.'.format(d) for d in decObj ]
-ItemList += [ k[0] for k in TriggerHLTList if 'ESD' in k[1] and "TrigComposite" not in k[0] ]
-ItemList += [ k[0] for k in TriggerHLTList if 'ESD' in k[1] and "TrigComposite" in k[0] ]
-ItemList += [ 'xAOD::TrigCompositeAuxContainer#{}Aux.'.format(k[0].split("#")[1]) for k in TriggerHLTList if 'ESD' in k[1] and "TrigComposite" in k[0] ]
-ItemList += [ "xAOD::EventInfo#EventInfo" ]
-
-ItemList = list(set(ItemList))
 
+# try to find L1Decoder
+from AthenaCommon.CFElements import findAlgorithm,findSubSequence
+l1decoder = findAlgorithm(topSequence,'L1Decoder')
+if not l1decoder:
+    l1decoder = findAlgorithm(topSequence,'L1EmulationTest')
+
+if l1decoder:
+    decObj = collectDecisionObjects( hypos, filters, l1decoder )
+    print decObj
+
+    from TrigEDMConfig.TriggerEDMRun3 import TriggerHLTList
+    ItemList  = [ 'xAOD::TrigCompositeContainer#{}'.format(d) for d in decObj ]
+    ItemList += [ 'xAOD::TrigCompositeAuxContainer#{}Aux.'.format(d) for d in decObj ]
+    ItemList += [ k[0] for k in TriggerHLTList if 'ESD' in k[1] and "TrigComposite" not in k[0] ]
+    ItemList += [ k[0] for k in TriggerHLTList if 'ESD' in k[1] and "TrigComposite" in k[0] ]
+    ItemList += [ 'xAOD::TrigCompositeAuxContainer#{}Aux.'.format(k[0].split("#")[1]) for k in TriggerHLTList if 'ESD' in k[1] and "TrigComposite" in k[0] ]
+    ItemList += [ "xAOD::EventInfo#EventInfo" ]
+
+    ItemList = list(set(ItemList))
+
+else:
+    ItemList = []
 
 
 import AthenaPoolCnvSvc.WriteAthenaPool
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/share/testHLT_MT.py b/Trigger/TrigValidation/TrigUpgradeTest/share/testHLT_MT.py
index d5da11c6db7..efe74082b51 100644
--- a/Trigger/TrigValidation/TrigUpgradeTest/share/testHLT_MT.py
+++ b/Trigger/TrigValidation/TrigUpgradeTest/share/testHLT_MT.py
@@ -275,13 +275,21 @@ if jobproperties.ConcurrencyFlags.NumThreads() > 0:
     AlgScheduler.ShowDataDependencies( True )
     AlgScheduler.EnableVerboseViews( True )
 
-# EventInfo creation if needed
-from RecExConfig.ObjKeyStore import objKeyStore
-if ( not objKeyStore.isInInput( "xAOD::EventInfo_v1") ) and ( not hasattr( topSequence, "xAODMaker::EventInfoCnvAlg" ) ):
+#--------------------------------------------------------------
+# Event Info setup
+#--------------------------------------------------------------
+# If no xAOD::EventInfo is found in a POOL file or we are reading BS, schedule conversion from old EventInfo
+if globalflags.InputFormat.is_pool():
+    from RecExConfig.ObjKeyStore import objKeyStore
+    from PyUtils.MetaReaderPeeker import convert_itemList
+    objKeyStore.addManyTypesInputFile(convert_itemList(layout='#join'))
+    if ( not objKeyStore.isInInput("xAOD::EventInfo") ) and ( not hasattr(topSequence, "xAODMaker::EventInfoCnvAlg") ):
+        from xAODEventInfoCnv.xAODEventInfoCreator import xAODMaker__EventInfoCnvAlg
+        topSequence += xAODMaker__EventInfoCnvAlg()
+else:
     from xAODEventInfoCnv.xAODEventInfoCreator import xAODMaker__EventInfoCnvAlg
     topSequence += xAODMaker__EventInfoCnvAlg()
 
-
 # ----------------------------------------------------------------
 # Detector geometry 
 # ----------------------------------------------------------------
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/test/exec_TrigUpgradeTest_art_athenaMT.sh b/Trigger/TrigValidation/TrigUpgradeTest/test/exec_TrigUpgradeTest_art_athenaMT.sh
index f8b94600a0f..936a54baae2 100755
--- a/Trigger/TrigValidation/TrigUpgradeTest/test/exec_TrigUpgradeTest_art_athenaMT.sh
+++ b/Trigger/TrigValidation/TrigUpgradeTest/test/exec_TrigUpgradeTest_art_athenaMT.sh
@@ -61,7 +61,11 @@ if [[ $INPUT == "run2data" ]]; then
 elif [[ $INPUT == "run2dataFTK" ]]; then
   export DS="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data18_13TeV.00360026.physics_EnhancedBias.MissingTowers._lb0151._SFO-6._0001.1,/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data18_13TeV.00360026.physics_EnhancedBias.MissingTowers._lb0151._SFO-6._0002.1,/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data18_13TeV.00360026.physics_EnhancedBias.MissingTowers._lb0151._SFO-6._0003.1,/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TrigP1Test/data18_13TeV.00360026.physics_EnhancedBias.MissingTowers._lb0151._SFO-6._0004.1"
 elif [[ $INPUT == "run2mc_ttbar" ]]; then
-  export DS="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2578_r7572_tid07644622_00/RDO.07644622._000001.pool.root.1,/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.110401.PowhegPythia_P2012_ttbar_nonallhad.recon.RDO.e3099_s2578_r7572_tid07644622_00/RDO.07644622._000002.pool.root.1"
+  # ttbar RDO_FTK produced in 21.3
+  export DS="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.digit.RDO_FTK.e4993_s3214_r11234_d1505/RDO_FTK.17071950._000065.pool.root.1,/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.digit.RDO_FTK.e4993_s3214_r11234_d1505/RDO_FTK.17071950._000235.pool.root.1"
+elif [[ $INPUT == "ttbar" ]]; then
+  # ttbar RDO produced with serial athena job in master r2019-03-20
+  export DS="/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.merge.RDO.e4993_s3214_r11315/RDO.17533168._000001.pool.root.1,/cvmfs/atlas-nightlies.cern.ch/repo/data/data-art/TriggerTest/valid1.410000.PowhegPythiaEvtGen_P2012_ttbar_hdamp172p5_nonallhad.merge.RDO.e4993_s3214_r11315/RDO.17533168._000002.pool.root.1"
 elif [[ $INPUT == "none" ]]; then
   export DS=""
 elif [[ -f $INPUT ]]; then
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_empty_menu_mc_build.sh b/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_empty_menu_mc_build.sh
index 8a0cdbce36c..fcd8282d67f 100755
--- a/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_empty_menu_mc_build.sh
+++ b/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_empty_menu_mc_build.sh
@@ -10,7 +10,7 @@
 export EVENTS=10
 export THREADS=1
 export SLOTS=1
-export INPUT="run2mc_ttbar"
+export INPUT="ttbar"
 export JOBOPTION="TrigUpgradeTest/full_menu.py"
 export EXTRA="doL1Sim=True;doEmptyMenu=True"
 
diff --git a/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_id_cf_mc_build.sh b/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_id_cf_mc_build.sh
index 656b801a8bc..2d5c8531e96 100755
--- a/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_id_cf_mc_build.sh
+++ b/Trigger/TrigValidation/TrigUpgradeTest/test/test_trigUpgr_id_cf_mc_build.sh
@@ -11,7 +11,7 @@ export SKIPEVENTS=0
 export EVENTS=10
 export THREADS=1
 export SLOTS=1
-export INPUT="run2mc_ttbar"
+export INPUT="ttbar"
 export JOBOPTION="TrigUpgradeTest/IDCalo.py"
 export EXTRA="doCalo=False"
 
-- 
GitLab