3from Campaigns.Utils
import getDataYear
5msg = logging.getLogger(
'BJetTriggerByYearContent')
6msg.setLevel(logging.INFO)
8run3_year_tagger_map = {
17run3_tagger_deco_map = {
19 "bdl1d": [
"DL1d20211216"],
20 "bgn1" : [
"GN120220813"],
21 "bgn2" : [
"GN220240122"],
24def getDecoByTrigName(trigName):
26 for tagger, deco
in run3_tagger_deco_map.items():
27 if tagger
in trigName:
28 decoration_list += deco
29 if len(decoration_list) == 0:
30 raise ValueError(f
"Could not find decorations for trigger name {trigName}, avaialable sub-strings: {list(run3_tagger_deco_map.keys())}")
32 return list(
set(decoration_list))
34def getBJetTriggerContent(flags):
35 if flags.Trigger.EDMVersion == 2:
37 "HLT_xAOD__BTaggingContainer_HLTBjetFex",
38 "HLT_xAOD__BTaggingContainer_HLTBjetFexAux.MV2c00_discriminant.MV2c10_discriminant.MV2c20_discriminant.BTagBtagToJetAssociator",
43 "HLT_xAOD__JetContainer_a4tcemsubjesFS",
44 "HLT_xAOD__JetContainer_a4tcemsubjesFSAux.pt.eta.phi.m",
46 "HLT_xAOD__JetContainer_EFJet",
47 "HLT_xAOD__JetContainer_EFJetAux.pt.eta.phi.m",
48 "HLT_xAOD__JetContainer_SplitJet",
49 "HLT_xAOD__JetContainer_SplitJetAux.pt.eta.phi.m",
53 "HLT_xAOD__JetContainer_a4tcemsubjesISFS",
54 "HLT_xAOD__JetContainer_a4tcemsubjesISFSAux.pt.eta.phi.m",
56 "HLT_xAOD__JetContainer_SplitJet",
57 "HLT_xAOD__JetContainer_SplitJetAux.pt.eta.phi.m",
58 "HLT_xAOD__JetContainer_GSCJet",
59 "HLT_xAOD__JetContainer_GSCJetAux.pt.eta.phi.m",
62 jetCollections[2015] = jetCollections[2016]
63 jetCollections[2018] = jetCollections[2017]
65 year = getDataYear(flags)
66 msg.debug(f
'Configured b-jet trigger content for {year}')
68 triggerContent += jetCollections[year]
70 elif flags.Trigger.EDMVersion >= 3:
71 year = getDataYear(flags)
72 msg.debug(f
'Configured Run 3 / Run 4 b-jet trigger content for {year}')
75 ftaggers = run3_tagger_deco_map.get(run3_year_tagger_map[year])
76 for ftagger
in ftaggers:
77 ftagstrs.append(
'.'.join([f
'{ftagger}_{p}' for p
in [
'pb',
'pc',
'pu']]))
78 jetstrs = ftagstrs + [
'pt',
'eta',
'phi',
'm']
79 jetvars =
'.'.join(jetstrs)
81 "HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJets",
82 f
"HLT_AntiKt4EMPFlowJets_subresjesgscIS_ftf_bJetsAux.{jetvars}",
86 elif flags.Trigger.EDMVersion == -1:
88 msg.debug(
'Received EDMVersion=-1: no trigger info available. Returning empty b-jet trigger content')
91 raise ValueError(f
"Unsupported EDM version {flags.Trigger.EDMVersion} determined")