46 triggers = trigger_set(config, self.triggerChainsPerYear,
47 self.includeAllYearsPerRun)
48 decisionTool = TriggerAnalysisBlock.makeTriggerDecisionTool(config)
50 for chain
in triggers:
51 chain_noHLT = chain.replace(
"HLT_",
"")
52 chain_out = chain_noHLT
if self.removeHLTPrefix
else chain
53 chain_out = chain_out.replace(
"-",
"_").
replace(
".",
"p")
55 alg = config.createAlgorithm(
'CP::JetTriggerDecoratorAlg',
56 'JetTriggerDecoratorAlg_' + chain_out )
63 alg.triggerBugList = [
64 "HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bdl1d77_pf_ftf_presel2c20XX2c20b85_L1J45p0ETA21_3J15p0ETA25",
65 "HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L1J45p0ETA21_3J15p0ETA25"
68 alg.TrigDecisionTool = f
"{decisionTool.getType()}/{decisionTool.getName()}"
77 if config.dataType()
is DataType.Data:
78 usePhaseIL1 = config.dataYear() >= 2024
80 usePhaseIL1 = config.campaign()
in (Campaign.MC23e, Campaign.MC23g)
81 alg.usePhaseIL1 = usePhaseIL1
83 alg.hltDR = self.hltDR
89 alg.useEmulationTool =
True
90 config.addPrivateTool(
'trigEmulationTool',
91 'Trig::TrigBtagEmulationTool' )
93 from TrigBtagEmulationTool.TrigBtagEmulationToolHelpers
import (
94 TrigBtagEmulation_kwargs)
95 tool_kwargs = TrigBtagEmulation_kwargs(config.flags, [chain])
96 for prop, value
in tool_kwargs.items():
97 setattr(alg.trigEmulationTool, prop, value)
99 alg.trigEmulationTool.TrigDecisionTool = (
100 f
"{decisionTool.getType()}/{decisionTool.getName()}")
102 config.addPrivateTool(
'trigEmulationTool.JM_a4tcemsubjes_CNT',
103 'Trig::JetManagerTool' )
104 a4tcemsubjesJet = (
'HLT_xAOD__JetContainer_a4tcemsubjesFS'
105 if config.campaign()
is Campaign.MC20a
or config.dataYear()==2016
106 else 'HLT_xAOD__JetContainer_a4tcemsubjesISFS')
107 alg.trigEmulationTool.JM_a4tcemsubjes_CNT.JetContainerName = a4tcemsubjesJet
108 alg.trigEmulationTool.JM_a4tcemsubjes_CNT.LHCPeriod = 2
110 config.addPrivateTool(
'trigEmulationTool.JM_Split_CNT',
111 'Trig::JetManagerTool' )
112 alg.trigEmulationTool.JM_Split_CNT.JetContainerName =
'HLT_xAOD__JetContainer_SplitJet'
113 alg.trigEmulationTool.JM_Split_CNT.LHCPeriod = 2
115 if not(config.campaign()
is Campaign.MC20a
or config.dataYear()==2016):
116 config.addPrivateTool(
'trigEmulationTool.JM_GSC_CNT',
117 'Trig::JetManagerTool' )
118 alg.trigEmulationTool.JM_GSC_CNT.JetContainerName =
'HLT_xAOD__JetContainer_GSCJet'
119 alg.trigEmulationTool.JM_GSC_CNT.LHCPeriod = 2
122 alg.L1Et =
"match_" + chain_out +
"_L1et_%SYS%"
123 alg.L1Eta =
"match_" + chain_out +
"_L1eta_%SYS%"
124 alg.L1Phi =
"match_" + chain_out +
"_L1phi_%SYS%"
125 alg.L1DR =
"match_" + chain_out +
"_L1dr_%SYS%"
126 alg.L1Threshold =
"match_" + chain_out +
"_L1thresholds_%SYS%"
127 for var
in [
"L1et",
"L1eta",
"L1phi",
"L1dr",
"L1thresholds"]:
129 "match_" + chain_out +
"_" + var +
"_%SYS%",
130 "match_" + chain_out +
"_" + var, noSys=
True)
133 alg.HLTPt =
"match_" + chain_out +
"_HLTpt_%SYS%"
134 alg.HLTEta =
"match_" + chain_out +
"_HLTeta_%SYS%"
135 alg.HLTPhi =
"match_" + chain_out +
"_HLTphi_%SYS%"
136 alg.HLTDR =
"match_" + chain_out +
"_HLTdr_%SYS%"
137 alg.HLTThreshold =
"match_" + chain_out +
"_HLTthresholds_%SYS%"
138 for var
in [
"HLTpt",
"HLTeta",
"HLTphi",
"HLTdr",
"HLTthresholds"]:
140 "match_" + chain_out +
"_" + var +
"_%SYS%",
141 "match_" + chain_out +
"_" + var, noSys=
True)