2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
4 Define sets of standard variables to save in output files.
5 The variable lists returned by these functions are used by the smart slimming
6 service to determine which variables to save in derivations.
9 from AthenaConfiguration.Enums
import LHCPeriod
16 """Convenience function for getting btagging names"""
17 btaggingtmp =
"BTagging_" + jetcol.split(
'Jets')[0]
18 if 'BTagging' in jetcol:
19 stamp = jetcol.split(
'BTagging')[1]
20 btaggingtmp +=
'_'+stamp
22 btagging = btaggingtmp.replace(
"PV0Track",
"Track")
26 """Convenience function for checking if we are in Run4"""
27 return ConfigFlags
is not None and ConfigFlags.GeoModel.Run >= LHCPeriod.Run4
30 """Convenience function for getting variable list"""
31 return [collection] + [
".".
join( [ collection +
"Aux" ] + aux_list )]
33 def _getVars(name, extra_flavours=None, flip_modes=None):
34 """Convenience function for getting output variable names"""
35 if extra_flavours
is None:
37 if flip_modes
is None:
39 flavors =
list(
"cub") + extra_flavours
40 variants = [
""] + flip_modes
41 return [f
'{name}{v}_p{f}' for v
in variants
for f
in flavors]
44 vals = [
'ID',
'Pt',
'Lxy',
'DR',
'PdgId',
'Barcode']
45 algs = [
'HadronConeExcl',
'HadronGhost']
46 base = [f
'{a}TruthLabel{v}' for v
in vals
for a
in algs + [
'PartonTruthLabel'] ]
47 extended = [f
'{a}ExtendedTruthLabelID' for a
in algs]
48 return base + extended
54 fold_hashes = [
'jetFoldHash',
'jetFoldHash_noHits']
55 JetStandardAux = fold_hashes + [
61 "ConeExclBHadronsFinal",
62 "ConeExclCHadronsFinal",
68 "GhostBHadronsFinalCount",
69 "GhostBHadronsFinalPt",
70 "GhostCHadronsFinalCount",
71 "GhostCHadronsFinalPt",
72 "GhostTausFinalCount",
74 "PartonTruthLabelEnergy",
78 BTaggingRun3Aux = [
"SV1_NGTinSvx",
"SV1_masssvx",]
79 BTaggingRun3Aux +=
_getVars(
"DL1dv01", flip_modes=[
'Flip'])
80 BTaggingRun3Aux +=
_getVars(
"GN2v01", extra_flavours=[
'tau'], flip_modes=[
'SimpleFlip'])
86 "dipsrun420221008_pu",
87 "dipsrun420221008_pc",
88 "dipsrun420221008_pb",
89 "DL1drun420221017_pu",
90 "DL1drun420221017_pc",
91 "DL1drun420221017_pb",
98 BTaggingHighLevelAux = [
101 "softMuon_scatteringNeighbourSignificance",
102 "softMuon_momentumBalanceSignificance",
103 "softMuon_qOverPratio",
105 "softMuon_ip3dD0Significance",
107 "softMuon_ip3dZ0Significance",
109 "JetFitter_isDefaults",
110 "JetFitter_energyFraction",
111 "JetFitter_significance3d",
113 "JetFitter_nSingleTracks",
114 "JetFitter_nTracksAtVtx",
123 "SV1_significance3d",
128 "JetFitterSecondaryVertex_nTracks",
129 "JetFitterSecondaryVertex_isDefaults",
130 "JetFitterSecondaryVertex_mass",
131 "JetFitterSecondaryVertex_energy",
132 "JetFitterSecondaryVertex_energyFraction",
133 "JetFitterSecondaryVertex_displacement3d",
134 "JetFitterSecondaryVertex_displacement2d",
135 "JetFitterSecondaryVertex_maximumTrackRelativeEta",
136 "JetFitterSecondaryVertex_minimumTrackRelativeEta",
137 "JetFitterSecondaryVertex_averageTrackRelativeEta",
138 "JetFitterDMeson_mass",
139 "JetFitterDMeson_isDefaults",
140 "maximumTrackRelativeEta",
141 "minimumTrackRelativeEta",
142 "averageTrackRelativeEta",
146 "softMuon_isDefaults",
147 "BTagTrackToJetAssociator"
161 aux = BTaggingRun4Aux
if isRun4
else BTaggingRun3Aux
162 aux += BTaggingHighLevelAux
165 return jetcontent + btagcontent
176 aux = BTaggingRun4Aux
if isRun4
else BTaggingRun3Aux
179 return jetcontent + btagcontent
186 jetAllAux = JetStandardAux + JetExtendedAux
191 aux = BTaggingRun4Aux
if isRun4
else BTaggingRun3Aux
192 aux += BTaggingHighLevelAux
195 return jetcontent + btagcontent