7 from AthenaConfiguration.ComponentAccumulator 
import ComponentAccumulator
 
    8 from AthenaConfiguration.ComponentFactory 
import CompFactory
 
   13   """Configure the event/jet cleaning tool for SUSY20 derivations""" 
   17   from JetSelectorTools.JetSelectorToolsConfig 
import EventCleaningToolCfg, JetCleaningToolCfg
 
   21     name           = 
"SUSY20JetCleaningTool_" + cleaningLevel + 
"_EMTopo",
 
   22     jetdef         = 
"AntiKt4EMTopo", 
 
   23     cleaningLevel  = cleaningLevel, 
 
   24     useDecorations = 
False 
   26   acc.addPublicTool(JetCleaningTool)
 
   30     name          = 
"SUSY20EventCleaningTool_" + cleaningLevel + 
"_EMTopo", 
 
   31     cleaningLevel = cleaningLevel
 
   33   EventCleaningTool.JetCleanPrefix  = 
"DFCommonJets_" 
   34   EventCleaningTool.OrDecorator     = 
"passOR_EMTopo" 
   35   EventCleaningTool.JetContainer    = 
"AntiKt4EMTopoJets" 
   36   EventCleaningTool.JetCleaningTool = JetCleaningTool
 
   37   EventCleaningTool.DoDecorations   = 
True 
   38   acc.addPublicTool(EventCleaningTool)
 
   40   EventCleanAlg = CompFactory.EventCleaningTestAlg(
 
   41     name              = 
"SUSY20EventCleaningTestAlg_" + cleaningLevel + 
"_EMTopo",
 
   42     EventCleaningTool = EventCleaningTool,
 
   43     JetCollectionName = 
"AntiKt4EMTopoJets",
 
   44     EventCleanPrefix  = 
"DFCommonJets_",
 
   45     CleaningLevel     = cleaningLevel,
 
   48   acc.addEventAlgo(EventCleanAlg)
 
   55   """Configure the DT trigger skimming tool for SUSY20 derivations""" 
   58   if flags.Trigger.EDMVersion <= 2:
 
   60     from TriggerMenuMT.TriggerAPI.TriggerAPI 
import TriggerAPI
 
   61     from TriggerMenuMT.TriggerAPI.TriggerEnums 
import TriggerPeriod, TriggerType
 
   63     allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
 
   65     TriggerAPI.setConfigFlags(flags)
 
   66     el_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.el_single, livefraction = 0.8)
 
   67     mu_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.mu_single, livefraction = 0.8)
 
   68     g_trig  = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.g_single,  livefraction = 0.8)
 
   69     xe_trig = TriggerAPI.getLowestUnprescaledAnyPeriod(allperiods, triggerType = TriggerType.xe,        livefraction = 0.8) 
 
   72     xe_trig += [
'HLT_xe70', 
'HLT_xe70_tc_lcw', 
'HLT_noalg_L1J400', 
'HLT_noalg_L1J420', 
'HLT_noalg_L1J450']
 
   75     triggers = el_trig + mu_trig + g_trig + xe_trig
 
   81     from TriggerMenuMT.TriggerAPI.TriggerEnums 
import TriggerType
 
   82     from DerivationFrameworkPhys.TriggerListsHelper 
import getTapisSession
 
   87     triggers = session.getLowestUnprescaled(triggerType = TriggerType.el_single, livefraction = 0.8).union(triggers)
 
   88     triggers = session.getLowestUnprescaled(triggerType = TriggerType.mu_single, livefraction = 0.8).union(triggers)
 
   89     triggers = session.getLowestUnprescaled(triggerType = TriggerType.g_single,  livefraction = 0.8).union(triggers)
 
   90     triggers = session.getLowestUnprescaled(triggerType = TriggerType.xe,        livefraction = 0.8).union(triggers)
 
   93     triggers.update( [
'HLT_e26_lhtight_ivarloose_L1EM22VHI', 
'HLT_e60_lhmedium_L1EM22VHI', 
'HLT_e140_lhloose_L1EM22VHI', 
'HLT_e300_etcut_L1EM22VHI'] )
 
   94     triggers.update( [
'HLT_g140_loose_L1EM22VHI', 
'HLT_g300_etcut_L1EM22VHI'] )
 
   95     triggers.update( [
'HLT_mu60_L1MU14FCH'] )
 
   96     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'] )
 
  102   TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
 
  103   acc.addPublicTool(TriggerSkimmingTool
 
  107       TriggerListOR  = triggers,