53def SUSY20DTTriggerSkimmingToolCfg(flags, name, **kwargs):
54
55 """Configure the DT trigger skimming tool for SUSY20 derivations"""
56
57
58 if flags.Trigger.EDMVersion <= 2:
59
60 from TriggerMenuMT.TriggerAPI.TriggerAPI import TriggerAPI
61 from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerPeriod, TriggerType
62
63 allperiods = TriggerPeriod.y2015 | TriggerPeriod.y2016 | TriggerPeriod.y2017 | TriggerPeriod.y2018 | TriggerPeriod.future2e34
64
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)
70
71
72 xe_trig += ['HLT_xe70', 'HLT_xe70_tc_lcw', 'HLT_noalg_L1J400', 'HLT_noalg_L1J420', 'HLT_noalg_L1J450']
73
74
75 triggers = el_trig + mu_trig + g_trig + xe_trig
76 triggers = sorted(list(
set(triggers)))
77
78
79 else:
80
81 from TriggerMenuMT.TriggerAPI.TriggerEnums import TriggerType
82 from DerivationFrameworkPhys.TriggerListsHelper import getTapisSession
83
84
85 session = getTapisSession(flags)
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)
91
92
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'] )
97
98
99 triggers = sorted(list(
set(list(triggers))))
100
101 acc = ComponentAccumulator()
102 TriggerSkimmingTool = CompFactory.DerivationFramework.TriggerSkimmingTool
103 acc.addPublicTool(TriggerSkimmingTool
104 (
105 name,
106 TriggerListAND = [],
107 TriggerListOR = triggers,
108 **kwargs
109 ),
110 primary = True
111 )
112
113 return acc