3 from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory
import CompFactory
7 from BTagging.JetParticleAssociationAlgConfig
import JetParticleAssociationAlgCfg
8 from BTagging.BTagTrackAugmenterAlgConfig
import BTagTrackAugmenterAlgCfg
9 from BTagging.BTagConfig
import BTagAlgsCfg
10 from JetTagCalibration.JetTagCalibConfig
import JetTagCalibCfg
13 from FlavorTagDiscriminants.FlavorTagNNConfig
import getStaticTrackVars
14 from BeamSpotConditions.BeamSpotConditionsConfig
import BeamSpotCondAlgCfg
20 inputJetsPrefix = inputJets.replace(
"bJets",
"b")
24 acc.merge(JetTagCalibCfg(flags))
29 TrackCollection=inputTracks,
30 PrimaryVertexCollectionName=inputVertex
40 'BTagging/20211216trig/dips/AntiKt4EMPFlow/network.json',
42 'BTagging/20211216trig/dl1d/AntiKt4EMPFlow/network.json',
44 'BTagging/20220813trig/gn1/antikt4empflow/network.onnx',
46 'BTagging/20230314trig/dl1dbb/antikt4empflow/network.json',
48 'BTagging/20240122trig/gn2/antikt4empflow/SmallPrec.onnx'
54 JetCollection=inputJetsPrefix,
56 trackCollection=inputTracks,
58 primaryVertices=inputVertex,
59 BTagCollection=BTagName,
60 renameTrackJets=
False,
66 def fastFlavourTaggingCfg( flags, inputJets, inputVertex, inputTracks, isPFlow=False, fastDipsMinimumPt=None, doXbbtagLargeRJet = False):
68 This function tags jets directly: there is no b-tagging object
73 ca.merge(JetTagCalibCfg(flags))
81 TrackCollection=inputTracks,
82 PrimaryVertexCollectionName=inputVertex,
86 trackIpPrefix=
'simpleIp_'
92 trackIpPrefix=trackIpPrefix,
99 TrackCollection=inputTracks,
100 PrimaryVertexCollectionName=inputVertex,
106 tracksOnJetDecoratorName =
"TracksForMinimalJetTag"
107 pass_flag = f
'{tracksOnJetDecoratorName}_isValid'
111 JetCollection=jet_name,
112 InputParticleCollection=inputTracks,
113 OutputParticleDecoration=tracksOnJetDecoratorName,
114 MinimumJetPt=fastDipsMinimumPt,
115 MinimumJetPtFlag=pass_flag
125 if doXbbtagLargeRJet:
128 'BTagging/20230705/gn2xv01/antikt10ufo/network.onnx',
130 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
137 'BTagging/20211216trig/dips/AntiKt4EMPFlow/network.json',
139 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
143 'BTagging/20211215trig/fastDips/antikt4empflow/network.json',
145 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
150 'BTagging/20230331trig/gn1/antikt4empflow/network.onnx',
152 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
156 'BTagging/20240122trig/gn2/antikt4empflow/Small.onnx',
158 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
159 **{f
'p{x}': f
'tlaGN220240122_p{x}' for x
in 'cub'},
166 'BTagging/20220211trig/fastDips/antikt4empflow/network.json',
168 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
169 **{f
'fastDIPSnoPV20220211_p{x}': f
'fastDips_p{x}' for x
in 'cub'},
170 'btagIp_': trackIpPrefix,
174 'BTagging/20230327trig/gn1/antikt4emtopo/network.onnx',
176 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
177 **{f
'GN120230327_p{x}': f
'fastGN120230327_p{x}' for x
in 'cub'},
178 'btagIp_': trackIpPrefix,
182 'BTagging/20231122trig/dipz/antikt4emtopo/network.json',
184 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
185 'btagIp_': trackIpPrefix,
193 'BTagging/20230331trig/gn1/antikt4empflow/network.onnx',
195 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
196 **{f
'GN120230331_p{x}': f
'fastGN120230331_p{x}' for x
in 'cub'}
200 'BTagging/20240122trig/gn2/antikt4empflow/Small.onnx',
202 'BTagTrackToJetAssociator': tracksOnJetDecoratorName,
203 **{f
'p{x}': f
'fastGN220240122_p{x}' for x
in 'cub'},
207 [
'BTagging/20240216trig/gn2/antikt4emtopo/GNTau.onnx',
208 {
'BTagTrackToJetAssociator': tracksOnJetDecoratorName
209 ,
'GN2_ptau' :
'fastGNTau20240216_ptau'
210 ,
'GN2_pu' :
'fastGNTau20240216_pu'
220 for nnFile, variableRemapping
in dl2_configs:
221 nnAlgo = nnFile.replace(
'/',
'_').
split(
'.')
222 nnAlgoKey = nnAlgo[0]
223 nnAlgoext = nnAlgo[1]
225 "json": CompFactory.FlavorTagDiscriminants.DL2Tool,
226 "onnx": CompFactory.FlavorTagDiscriminants.GNNTool
229 CompFactory.FlavorTagDiscriminants.JetTagConditionalDecoratorAlg(
237 constituentContainer=inputTracks,
238 undeclaredReadDecorKeys=missingKeys,
240 decorator=toolDict[nnAlgoext](
246 variableRemapping=variableRemapping,
249 trackLinkType=
'IPARTICLE',
257 trackIpPrefix='simpleIp_'):
262 x = f
'{i}.{pfx}BeamPosX'
263 y = f
'{i}.{pfx}BeamPosY'
264 z = f
'{i}.{pfx}BeamPosZ'
265 sig_x = f
'{i}.{pfx}BeamPosSigmaX'
266 sig_y = f
'{i}.{pfx}BeamPosSigmaY'
267 sig_z = f
'{i}.{pfx}BeamPosSigmaZ'
268 cov_xy = f
'{i}.{pfx}BeamPosSigmaXY'
269 tilt_XZ = f
'{i}.{pfx}BeamTiltXZ'
270 tilt_YZ = f
'{i}.{pfx}BeamTiltYZ'
271 status = f
'{i}.{pfx}BeamStatus'
274 ca.addEventAlgo(CompFactory.xAODMaker.EventInfoBeamSpotDecoratorAlg(
276 'EventInfoBeamSpotDecorator',
280 ]).
replace(
'__',
'_').rstrip(
'_'),
284 beamPosSigmaXKey=sig_x,
285 beamPosSigmaYKey=sig_y,
286 beamPosSigmaZKey=sig_z,
287 beamPosSigmaXYKey=cov_xy,
288 beamTiltXZKey=tilt_XZ,
289 beamTiltYZKey=tilt_YZ,
290 beamStatusKey=status,
294 CompFactory.FlavorTagDiscriminants.PoorMansIpAugmenterAlg(
296 'SimpleTrackAugmenter',
300 ]).
replace(
'__',
'_').rstrip(
'_'),
301 trackContainer=tracks,
302 primaryVertexContainer=vertices,
303 prefix=trackIpPrefix,
304 beamspotSigmaX=sig_x,
305 beamspotSigmaY=sig_y,
306 beamspotSigmaZ=sig_z,
307 beamspotCovarianceXY=cov_xy