13 from TriggerMenuMT.HLT.Menu.SignatureDicts
import ChainStore
14 from TriggerMenuMT.CFtest.TestUtils
import makeChain, makeChainStep
15 from TriggerMenuMT.HLT.Config.GenerateMenuMT
import GenerateMenuMT
17 menu.chainsInMenu = ChainStore()
21 if 'Egamma' in flags.Trigger.enabledSignatures:
22 from TriggerMenuMT.HLT.CommonSequences.CaloSequences
import fastCaloSequenceGenCfg
23 from TriggerMenuMT.HLT.Electron.FastElectronMenuSequences
import fastElectronSequenceGenCfg
24 from TriggerMenuMT.HLT.Electron.PrecisionCaloMenuSequences
import precisionCaloSequenceGenCfg
26 fastCaloSeq = functools.partial(fastCaloSequenceGenCfg, flags, name=
'Electron' )
27 electronSeq = functools.partial(fastElectronSequenceGenCfg, flags )
28 precisionCaloSeq = functools.partial(precisionCaloSequenceGenCfg, flags )
30 FastCaloStep = makeChainStep(
"ElectronFastCaloStep", [fastCaloSeq])
31 FastElectronStep = makeChainStep(
"ElectronFastTrackStep", [electronSeq])
32 PrecisionCaloStep = makeChainStep(
"ElectronPrecisionCaloStep", [precisionCaloSeq])
35 makeChain(flags, name=
'HLT_e3_etcut1step_L1EM3', L1Thresholds=[
"EM3"], ChainSteps=[FastCaloStep] ),
36 makeChain(flags, name=
'HLT_e3_etcut_L1EM3', L1Thresholds=[
"EM3"], ChainSteps=[FastCaloStep, FastElectronStep, PrecisionCaloStep] ),
37 makeChain(flags, name=
'HLT_e5_etcut_L1EM3', L1Thresholds=[
"EM3"], ChainSteps=[FastCaloStep, FastElectronStep, PrecisionCaloStep] ),
38 makeChain(flags, name=
'HLT_e7_etcut_L1EM3', L1Thresholds=[
"EM3"], ChainSteps=[FastCaloStep, FastElectronStep, PrecisionCaloStep] )
40 menu.chainsInMenu[
'Egamma'] += electronChains
42 from TriggerMenuMT.HLT.Photon.FastPhotonMenuSequences
import fastPhotonSequenceGenCfg
43 from TriggerMenuMT.HLT.Photon.PrecisionCaloMenuSequences
import precisionCaloSequenceGenCfg
45 fastCaloSeq = functools.partial(fastCaloSequenceGenCfg, flags, name=
'Photon' )
46 fastPhotonSeq = functools.partial(fastPhotonSequenceGenCfg, flags )
47 precisionCaloPhotonSeq = functools.partial(precisionCaloSequenceGenCfg, flags )
49 FastCaloStep = makeChainStep(
"PhotonFastCaloStep", [fastCaloSeq])
50 fastPhotonStep = makeChainStep(
"PhotonStep2", [fastPhotonSeq])
51 precisionCaloPhotonStep = makeChainStep(
"precisionCaloPhotonStep", [precisionCaloPhotonSeq])
54 makeChain(flags, name=
'HLT_g5_etcut_L1EM3', L1Thresholds=[
"EM3"], ChainSteps=[ FastCaloStep, fastPhotonStep, precisionCaloPhotonStep] )
56 menu.chainsInMenu[
'Egamma'] += photonChains
61 if 'Muon' in flags.Trigger.enabledSignatures:
62 from TriggerMenuMT.HLT.Muon.MuonMenuSequences
import (
63 muFastSequenceGenCfg, muCombSequenceGenCfg,
64 muEFSASequenceGenCfg, muEFCBSequenceGenCfg, muEFSAFSSequenceGenCfg, muEFCBFSSequenceGenCfg
69 mufastS= functools.partial(muFastSequenceGenCfg,flags)
70 step1mufast=makeChainStep(
"Step1_muFast", [ mufastS ])
72 mucombS = functools.partial(muCombSequenceGenCfg,flags)
73 step2muComb=makeChainStep(
"Step2_muComb", [ mucombS ])
75 muEFSAS = functools.partial(muEFSASequenceGenCfg,flags)
76 step3muEFSA=makeChainStep(
"Step3_muEFSA", [ muEFSAS ])
79 muEFCBS = functools.partial(muEFCBSequenceGenCfg,flags)
80 step4muEFCB = makeChainStep(
"Step4_muEFCB", [ muEFCBS ])
81 emptyStep = makeChainStep(
"Step2_empty", isEmpty=
True)
84 MuonChains += [
makeChain(flags, name=
'HLT_mu6fast_L1MU5VF', L1Thresholds=[
"MU5VF"], ChainSteps=[ step1mufast ])]
85 MuonChains += [
makeChain(flags, name=
'HLT_mu6Comb_L1MU5VF', L1Thresholds=[
"MU5VF"], ChainSteps=[ step1mufast, step2muComb ])]
86 MuonChains += [
makeChain(flags, name=
'HLT_mu6_L1MU5VF', L1Thresholds=[
"MU5VF"], ChainSteps=[ step1mufast, step2muComb, step3muEFSA, step4muEFCB ])]
87 MuonChains += [
makeChain(flags, name=
'HLT_mu6msonly_L1MU5VF', L1Thresholds=[
"MU5VF"], ChainSteps=[ step1mufast, emptyStep, step3muEFSA ])]
91 step1_2mufast_sym= makeChainStep(
"Step1_2muFast_sym", [ mufastS])
92 step2_2muComb_sym= makeChainStep(
"Step2_2muComb_sym", [ mucombS])
94 MuonChains += [
makeChain(flags, name=
'HLT_2mu6Comb_L12MU5VF', L1Thresholds=[
"MU5VF"], ChainSteps=[ step1_2mufast_sym, step2_2muComb_sym ])]
97 step1_2mufast_asym= makeChainStep(
"Step1_2muFast_asym", [ mufastS, mufastS])
98 step2_2muComb_asym= makeChainStep(
"Step1_2muComb_asym", [ mucombS, mucombS])
100 MuonChains += [
makeChain(flags, name=
'HLT_mu6_mu4_L12MU3V',
101 L1Thresholds=[
"MU3V",
"MU3V"],
102 ChainSteps=[ step1_2mufast_asym, step2_2muComb_asym ])]
107 muEFSAFSS = functools.partial(muEFSAFSSequenceGenCfg,flags)
108 muEFCBFSS = functools.partial(muEFCBFSSequenceGenCfg,flags)
109 stepFSmuEFSA=makeChainStep(
"Step_FSmuEFSA", [muEFSAFSS])
110 stepFSmuEFCB=makeChainStep(
"Step_FSmuEFCB", [muEFCBFSS])
111 MuonChains += [
makeChain(flags, name=
'HLT_mu6noL1_L1MU5VF', L1Thresholds=[
"FSNOSEED"], ChainSteps=[stepFSmuEFSA, stepFSmuEFCB])]
113 menu.chainsInMenu[
'Muon'] += MuonChains
120 from TriggerMenuMT.HLT.Jet.JetRecoCommon
import jetRecoDictFromString
121 def jetCaloHypoMenuSequenceFromString(jet_def_str):
123 from TriggerMenuMT.HLT.Jet.JetRecoSequencesConfig
import JetRecoDataDeps
125 from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig
import jetCaloHypoMenuSequenceGenCfg
126 return functools.partial(jetCaloHypoMenuSequenceGenCfg, flags, isPerf=
False, **jetDefDict)
128 def jetCaloPreselMenuSequenceFromString(jet_def_str):
130 from TriggerMenuMT.HLT.Jet.JetRecoSequencesConfig
import JetRecoDataDeps
132 from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig
import jetCaloPreselMenuSequenceGenCfg
133 return functools.partial(jetCaloPreselMenuSequenceGenCfg, flags, **jetDefDict)
135 def jetTrackingHypoMenuSequenceFromString(jet_def_str):
137 from TriggerMenuMT.HLT.Jet.JetRecoSequencesConfig
import JetRecoDataDeps
139 from TriggerMenuMT.HLT.Jet.JetMenuSequencesConfig
import jetFSTrackingHypoMenuSequenceGenCfg
140 return functools.partial(jetFSTrackingHypoMenuSequenceGenCfg, flags, isPerf=
False, **jetDefDict)
142 if 'Jet' in flags.Trigger.enabledSignatures:
145 jetSeq_a4_tc_em = jetCaloHypoMenuSequenceFromString(
"a4_tc_em_subjesIS")
146 step_a4_tc_em = makeChainStep(
"Step_jet_a4_tc_em", [jetSeq_a4_tc_em])
149 jetSeq_a10_tc_lcw_subjes = jetCaloHypoMenuSequenceFromString(
"a10_tc_lcw_subjes")
150 step_a10_tc_lcw_subjes = makeChainStep(
"Step_jet_a10_subjes_tc_lcw", [jetSeq_a10_tc_lcw_subjes])
152 jetSeq_a10r = jetCaloHypoMenuSequenceFromString(
"a10r_tc_em_subjesIS")
153 step_a10r = makeChainStep(
"Step_jet_a10r", [jetSeq_a10r])
155 jetSeq_a10t = jetCaloHypoMenuSequenceFromString(
"a10t_tc_lcw_jes")
156 step_a10t = makeChainStep(
"Step_jet_a10t", [jetSeq_a10t])
159 jetSeq_a4_tc_em_presel = jetCaloPreselMenuSequenceFromString(
"a4_tc_em_subjesIS")
160 step_a4_tc_em_presel = makeChainStep(
"Step_jet_a4_tc_em_presel", [jetSeq_a4_tc_em_presel])
161 jetSeq_a4_pf_em_ftf = jetTrackingHypoMenuSequenceFromString(
"a4_tc_em_subresjesgscIS_ftf")
162 step_a4_pf_em_ftf = makeChainStep(
"Step_jet_a4_pf_em_ftf", [jetSeq_a4_pf_em_ftf])
164 menu.chainsInMenu[
'Jet'] = [
165 makeChain(flags, name=
'HLT_j45_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a4_tc_em] ),
166 makeChain(flags, name=
'HLT_j85_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a4_tc_em] ),
167 makeChain(flags, name=
'HLT_j420_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a4_tc_em] ),
168 makeChain(flags, name=
'HLT_j260f_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a4_tc_em] ),
169 makeChain(flags, name=
'HLT_j460_a10_lcw_subjes_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a10_tc_lcw_subjes] ),
170 makeChain(flags, name=
'HLT_j460_a10r_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a10r] ),
171 makeChain(flags, name=
'HLT_j460_a10t_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a10t] ),
172 makeChain(flags, name=
'HLT_3j200_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a4_tc_em] ),
173 makeChain(flags, name=
'HLT_5j70c_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a4_tc_em] ),
174 makeChain(flags, name=
'HLT_j45_pf_subresjesgscIS_ftf_preselj20_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step_a4_tc_em_presel,step_a4_pf_em_ftf] ),
181 if 'Bjet' in flags.Trigger.enabledSignatures:
182 from TriggerMenuMT.HLT.Bjet.BjetMenuSequences
import getBJetSequenceGenCfg
184 jetSeq_a4_tc_em_presel = jetCaloPreselMenuSequenceFromString(
"a4_tc_em_subjesIS")
185 jetSeq_a4_tc_em_gsc_ftf = jetTrackingHypoMenuSequenceFromString(
"a4_tc_em_subjesgscIS_ftf")
186 jc_name =
"HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf"
188 bjet_sec= functools.partial(getBJetSequenceGenCfg, flags, jc_name)
190 step1 = makeChainStep(
"Step_jet_a4_tc_em_presel", [jetSeq_a4_tc_em_presel])
191 step2 = makeChainStep(
"Step_jet_a4_tc_em_gsc_ftf", [jetSeq_a4_tc_em_gsc_ftf])
192 step3 = makeChainStep(
"Step3_bjet", [bjet_sec])
194 menu.chainsInMenu[
'Bjet'] = [
195 makeChain(flags, name=
'HLT_j45_boffperf_ftf_subjesgscIS_preselj20_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step1,step2,step3] ),
196 makeChain(flags, name=
'HLT_j45_bdl1d70_ftf_subjesgscIS_preselj20_L1J20', L1Thresholds=[
"FSNOSEED"], ChainSteps=[step1,step2,step3] ),
203 if 'Tau' in flags.Trigger.enabledSignatures
and False:
204 from TriggerMenuMT.HLT.Tau.TauMenuSequences
import getTauSequence
206 step1=makeChainStep(
"Step1_tau", [getTauSequence(
'calo')])
207 step1MVA=makeChainStep(
"Step1MVA_tau", [getTauSequence(
'calo_mva')])
210 step2TP=makeChainStep(
"Step2TP_tau", [getTauSequence(
'track_core')])
213 step2PT=makeChainStep(
"Step2PT_tau", [getTauSequence(
'precision')])
215 menu.chainsInMenu[
'Tau'] = [
216 makeChain(flags, name=
'HLT_tau0_perf_ptonly_L1TAU8', L1Thresholds=[
"TAU8"], ChainSteps=[step1, step2] ),
217 makeChain(flags, name=
'HLT_tau25_medium1_tracktwo_L1TAU12IM', L1Thresholds=[
"TAU12IM"], ChainSteps=[step1, step2TP] ),
218 makeChain(flags, name=
'HLT_tau35_mediumRNN_tracktwoMVA_L1TAU12IM', L1Thresholds=[
"TAU20IM"], ChainSteps=[step1MVA, step2PT])
224 if 'Bphysics' in flags.Trigger.enabledSignatures:
225 from TriggerMenuMT.HLT.Muon.MuonMenuSequences
import muFastSequenceGenCfg, muCombSequenceGenCfg, muEFSASequenceGenCfg, muEFCBSequenceGenCfg
226 from TrigBphysHypo.TrigMultiTrkComboHypoConfig
import StreamerDimuL2ComboHypoCfg, DimuEFComboHypoCfg
228 muFast = functools.partial(muFastSequenceGenCfg, flags)
229 step1_dimufast=makeChainStep(
"Step1_dimuFast", [muFast])
230 mucombS = functools.partial(muCombSequenceGenCfg, flags)
231 step2_dimuComb=makeChainStep(
"Step2_dimuComb", [mucombS], comboHypoCfg=functools.partial(StreamerDimuL2ComboHypoCfg,flags))
232 muEFSAS = functools.partial(muEFSASequenceGenCfg, flags)
233 muEFCBS = functools.partial(muEFCBSequenceGenCfg, flags)
235 step3_dimuEFSA=makeChainStep(
"Step3_dimuEFSA", [muEFSAS])
236 step4_dimuEFCB=makeChainStep(
"Step4_dimuEFCB", [muEFCBS], comboHypoCfg=functools.partial(DimuEFComboHypoCfg,flags))
237 steps = [step1_dimufast, step2_dimuComb, step3_dimuEFSA, step4_dimuEFCB]
239 menu.chainsInMenu[
'Bphysics'] = [
240 makeChain(flags, name=
'HLT_2mu4_bBmumu_L12MU3V', L1Thresholds=[
"MU3V"], ChainSteps=steps),
241 makeChain(flags, name=
'HLT_2mu4_bDimu_L12MU3V', L1Thresholds=[
"MU3V"], ChainSteps=steps),
242 makeChain(flags, name=
'HLT_2mu4_bJpsimumu_L12MU3V', L1Thresholds=[
"MU3V"], ChainSteps=steps),
243 makeChain(flags, name=
'HLT_2mu6_bJpsimumu_L12MU5VF', L1Thresholds=[
"MU5VF"], ChainSteps=steps),
244 makeChain(flags, name=
'HLT_2mu4_bUpsimumu_L12MU3V', L1Thresholds=[
"MU3V"], ChainSteps=steps)
250 doCombinedSlice =
True
252 from TriggerMenuMT.HLT.CommonSequences.CaloSequences
import fastCaloSequenceGenCfg
253 fastCaloSeq = functools.partial(fastCaloSequenceGenCfg,flags, name=
'Electron')
255 from TriggerMenuMT.HLT.Muon.MuonMenuSequences
import muFastSequenceGenCfg
256 muFast = functools.partial(muFastSequenceGenCfg,flags)
258 comboStep_et_mufast = makeChainStep(
"Step1_et_mufast", [fastCaloSeq, muFast])
260 menu.chainsInMenu[
'Combined'] = [
261 makeChain(flags, name=
'HLT_e3_etcut_mu6_L12eEM10L_MU8F', L1Thresholds=[
"eEM10L",
"MU8F"], ChainSteps=[comboStep_et_mufast ])