82 def makeAlgs (self, config) :
83
84 triggers = trigger_set(config, self.triggerChainsPerYear,
85 self.includeAllYearsPerRun)
86 decisionTool = TriggerAnalysisBlock.makeTriggerDecisionTool(config)
87
88 for chain in triggers:
89 chain_noHLT = chain.replace("HLT_", "")
90 chain_out = chain_noHLT if self.removeHLTPrefix else chain
91 chain_out = chain_out.replace(
"-",
"_").
replace(
".",
"p")
92
93 alg = config.createAlgorithm( 'CP::JetTriggerDecoratorAlg',
94 'JetTriggerDecoratorAlg_' + chain_out )
95
96 alg.trigger = chain
97
98
99
100
101 alg.triggerBugList = [
102 "HLT_j80c_020jvt_j55c_020jvt_j28c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bdl1d77_pf_ftf_presel2c20XX2c20b85_L1J45p0ETA21_3J15p0ETA25",
103 "HLT_j75c_020jvt_j50c_020jvt_j25c_020jvt_j20c_020jvt_SHARED_2j20c_020jvt_bgn177_pf_ftf_presel2c20XX2c20b85_L1J45p0ETA21_3J15p0ETA25"
104 ]
105
106 alg.TrigDecisionTool = f"{decisionTool.getType()}/{decisionTool.getName()}"
107
108 alg.doL1Matching = self.runL1Matching
109 alg.doHLTMatching = self.runHLTMatching
110 alg.jets = config.readName (self.containerName)
111
112
113
114
115 if config.dataType() is DataType.Data:
116 usePhaseIL1 = config.dataYear() >= 2024
117 else:
118 usePhaseIL1 = config.campaign() in (Campaign.MC23e, Campaign.MC23g)
119 alg.usePhaseIL1 = usePhaseIL1
120 alg.l1dR_cut = self.l1dR
121 alg.hltDR_cut = self.hltDR
122
123 if config.geometry() is LHCPeriod.Run2 and self.runHLTMatching:
124
125 alg.useEmulationTool = True
126 configure_emulationTool(alg, config, [chain])
127
128 decorations = []
129 if self.runL1Matching:
130 decorations += [('L1Et', 'L1et'), ('L1Eta', 'L1eta'),
131 ('L1Phi', 'L1phi'), ('L1DR', 'L1dr'),
132 ('L1Threshold', 'L1thresholds')]
133 if self.runHLTMatching:
134 decorations += [('HLTPt', 'HLTpt'), ('HLTEta', 'HLTeta'),
135 ('HLTPhi', 'HLTphi'), ('HLTDR', 'HLTdr'),
136 ('HLTThreshold', 'HLTthresholds')]
137 for prop, var in decorations:
138 outputName = "match_" + chain_out + "_" + var
139 setattr(alg, prop, outputName + "_%SYS%")
140 config.addOutputVar (self.containerName,
141 outputName + "_%SYS%",
142 outputName, noSys=True)
std::string replace(std::string s, const std::string &s2, const std::string &s3)