Skip to content
Snippets Groups Projects
Commit 4288aebc authored by Tadej Novak's avatar Tadej Novak
Browse files

Merge branch 'DAOD_SUSY20_trigger_fix' into 'main'

DAOD SUSY20: fixing Run-3 trigger skimming

See merge request atlas/athena!75567
parents 0a114202 631977c3
No related branches found
No related tags found
No related merge requests found
......@@ -2,7 +2,7 @@
#!/usr/bin/env python
#========================================================================
# DAOD_SUSY20.py
# This defines DAOD_SUSY20, an unskimmed DAOD format for Run-2 and Run-3.
# This defines DAOD_SUSY20, a skimmed DAOD format for Run-2 and Run-3.
# It requires the flag SUSY20 in Derivation_tf.py
#========================================================================
......@@ -480,18 +480,21 @@ def SUSY20Cfg(flags):
# Run 2
if flags.Trigger.EDMVersion == 2:
from DerivationFrameworkPhys.TriggerMatchingCommonConfig import AddRun2TriggerMatchingToSlimmingHelper
AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = SUSY20SlimmingHelper,
OutputContainerPrefix = "TrigMatch_",
TriggerList = SUSY20TriggerListsHelper.Run2TriggerNamesTau)
AddRun2TriggerMatchingToSlimmingHelper(SlimmingHelper = SUSY20SlimmingHelper,
OutputContainerPrefix = "TrigMatch_",
TriggerList = SUSY20TriggerListsHelper.Run2TriggerNamesNoTau)
AddRun2TriggerMatchingToSlimmingHelper(
SlimmingHelper = SUSY20SlimmingHelper,
OutputContainerPrefix = "TrigMatch_",
TriggerList = SUSY20TriggerListsHelper.Run2TriggerNamesTau
)
AddRun2TriggerMatchingToSlimmingHelper(
SlimmingHelper = SUSY20SlimmingHelper,
OutputContainerPrefix = "TrigMatch_",
TriggerList = SUSY20TriggerListsHelper.Run2TriggerNamesNoTau
)
# Run 3, or Run 2 with navigation conversion
if flags.Trigger.EDMVersion == 3 or (flags.Trigger.EDMVersion == 2 and flags.Trigger.doEDMVersionConversion):
from TrigNavSlimmingMT.TrigNavSlimmingMTConfig import AddRun3TrigNavSlimmingCollectionsToSlimmingHelper
AddRun3TrigNavSlimmingCollectionsToSlimmingHelper(SUSY20SlimmingHelper)
# Output stream
SUSY20ItemList = SUSY20SlimmingHelper.GetItemList()
acc.merge(OutputStreamCfg(flags, "DAOD_SUSY20", ItemList = SUSY20ItemList, AcceptAlgs = ["SUSY20Kernel"]))
......
......@@ -53,22 +53,49 @@ def SUSY20DTTriggerSkimmingToolCfg(flags, name, **kwargs):
"""Configure the DT trigger skimming tool for SUSY20 derivations"""
from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI
from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType
allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
# Trigger API for Run-1 and Run-2
if flags.Trigger.EDMVersion <= 2:
from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI
from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType
allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
TriggerAPI.setConfigFlags(flags)
el_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.el_single, livefraction = 0.8)
mu_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.mu_single, livefraction = 0.8)
g_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.g_single, livefraction = 0.8)
xe_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.xe, livefraction = 0.8)
TriggerAPI.setConfigFlags(flags)
el_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.el_single, livefraction = 0.8)
mu_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.mu_single, livefraction = 0.8)
g_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.g_single, livefraction = 0.8)
xe_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.xe, livefraction = 0.8)
# Additional unprescaled met triggers for 2015
xe_trig += ['HLT_xe70', 'HLT_xe70_tc_lcw', 'HLT_noalg_L1J400', 'HLT_noalg_L1J420', 'HLT_noalg_L1J450']
# Merge and remove duplicates
triggers = el_trig + mu_trig + g_trig + xe_trig
triggers = sorted(list(set(triggers)))
# Run-3 and beyond
else:
from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerType
from DerivationFrameworkPhys.TriggerListsHelper import getTapisSession
# TriggerAPI Session based trigger lists
session = getTapisSession(flags)
triggers = set()
triggers = session.getLowestUnprescaled(triggerType = TriggerType.el_single, livefraction = 0.8).union(triggers)
triggers = session.getLowestUnprescaled(triggerType = TriggerType.mu_single, livefraction = 0.8).union(triggers)
triggers = session.getLowestUnprescaled(triggerType = TriggerType.g_single, livefraction = 0.8).union(triggers)
triggers = session.getLowestUnprescaled(triggerType = TriggerType.xe, livefraction = 0.8).union(triggers)
# Additional unprescaled met trigger for 2015
xe_trig += ['HLT_xe70', 'HLT_xe70_tc_lcw', 'HLT_noalg_L1J400', 'HLT_noalg_L1J420', 'HLT_noalg_L1J450']
# Additional unprescaled triggers
triggers.update( ['HLT_e26_lhtight_ivarloose_L1EM22VHI', 'HLT_e60_lhmedium_L1EM22VHI', 'HLT_e140_lhloose_L1EM22VHI', 'HLT_e300_etcut_L1EM22VHI'] )
triggers.update( ['HLT_g140_loose_L1EM22VHI', 'HLT_g300_etcut_L1EM22VHI'] )
triggers.update( ['HLT_mu60_L1MU14FCH'] )
triggers.update( ['HLT_xe55_cell_xe70_tcpufit_xe90_pfsum_vssk_L1XE50', 'HLT_xe55_cell_xe70_tcpufit_xe95_pfsum_cssk_L1XE50', 'HLT_xe60_cell_xe95_pfsum_cssk_L1XE50', 'HLT_xe65_cell_xe100_mhtpufit_pf_L1XE50', 'HLT_xe65_cell_xe105_mhtpufit_em_L1XE50', 'HLT_xe75_cell_xe65_tcpufit_xe90_trkmht_L1XE50'] )
triggers = el_trig + mu_trig + g_trig + xe_trig
triggers = sorted(list(set(triggers)))
# Merge and remove duplicates
triggers = sorted(list(set(list(triggers))))
acc = ComponentAccumulator()
TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment