ATLAS Offline Software
Loading...
Searching...
No Matches
SiClusterizationToolConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
2# Configuration of SiClusterizationTool package
3
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory import CompFactory
6from AthenaConfiguration.Enums import BeamType, LHCPeriod
7from IOVDbSvc.IOVDbSvcConfig import addFoldersSplitOnline
8
9
10def ClusterMakerToolCfg(flags, name="InDetClusterMakerTool", **kwargs):
11 acc = ComponentAccumulator()
12
13 # This directly needs the following Conditions data:
14 # PixelChargeCalibCondData & PixelOfflineCalibData
15 from PixelConditionsAlgorithms.PixelConditionsConfig import (
16 PixelChargeCalibCondCfg, PixelOfflineCalibCondAlgCfg)
17 if ('SCT' in flags.Digitization.DoFastDigi and
18 'Pixel' not in flags.Digitization.DoFastDigi):
19 acc.merge(PixelChargeCalibCondCfg(flags, ReadKey=""))
20 else:
21 acc.merge(PixelChargeCalibCondCfg(flags))
22 acc.merge(PixelOfflineCalibCondAlgCfg(flags))
23
24 if "PixelLorentzAngleTool" not in kwargs:
25 from SiLorentzAngleTool.PixelLorentzAngleConfig import (
26 PixelLorentzAngleToolCfg)
27 kwargs.setdefault("PixelLorentzAngleTool", acc.popToolsAndMerge(
28 PixelLorentzAngleToolCfg(flags)))
29
30 if "SCTLorentzAngleTool" not in kwargs:
31 from SiLorentzAngleTool.SCT_LorentzAngleConfig import (
32 SCT_LorentzAngleToolCfg)
33 kwargs.setdefault("SCTLorentzAngleTool", acc.popToolsAndMerge(
34 SCT_LorentzAngleToolCfg(flags)))
35
36 acc.setPrivateTools(CompFactory.InDet.ClusterMakerTool(name, **kwargs))
37 return acc
38
39
40def ITkClusterMakerToolCfg(flags, name="ITkClusterMakerTool", **kwargs):
41 acc = ComponentAccumulator()
42
43 from PixelConditionsAlgorithms.ITkPixelConditionsConfig import (
44 ITkPixelChargeCalibCondAlgCfg)
45
46 # This directly needs the following Conditions data:
47 # PixelModuleData & PixelChargeCalibCondData
48 acc.merge(ITkPixelChargeCalibCondAlgCfg(flags))
49
50 if "PixelLorentzAngleTool" not in kwargs:
51 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import (
52 ITkPixelLorentzAngleToolCfg)
53 kwargs.setdefault("PixelLorentzAngleTool", acc.popToolsAndMerge(
54 ITkPixelLorentzAngleToolCfg(flags)))
55
56 if "SCTLorentzAngleTool" not in kwargs:
57 from SiLorentzAngleTool.ITkStripLorentzAngleConfig import (
58 ITkStripLorentzAngleToolCfg)
59 kwargs.setdefault("SCTLorentzAngleTool", acc.popToolsAndMerge(
60 ITkStripLorentzAngleToolCfg(flags)))
61
62 acc.setPrivateTools(CompFactory.InDet.ClusterMakerTool(name, **kwargs))
63 return acc
64
65
66def InDetPixelRDOToolCfg(flags, name="InDetPixelRDOTool", **kwargs):
67 # To produce PixelDetectorElementCollection condition data
68 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
69 acc = PixelReadoutGeometryCfg(flags)
70
71 kwargs.setdefault("PixelDetElStatus", "PixelDetectorElementStatus")
72
73 if kwargs["PixelDetElStatus"] != "":
74 from PixelConditionsAlgorithms.PixelConditionsConfig import (
75 PixelDetectorElementStatusAlgCfg)
76 acc.merge(PixelDetectorElementStatusAlgCfg(flags))
77
78 if "PixelConditionsSummaryTool" not in kwargs:
79 from PixelConditionsTools.PixelConditionsSummaryConfig import (
80 PixelConditionsSummaryCfg)
81 kwargs.setdefault("PixelConditionsSummaryTool", acc.popToolsAndMerge(
82 PixelConditionsSummaryCfg(flags)))
83
84 # Enable duplicated RDO check for data15 because duplication mechanism
85 # was used.
86 kwargs.setdefault("CheckDuplicatedRDO",
87 (len(flags.Input.ProjectName) >= 6 and
88 flags.Input.ProjectName[:6] == "data15"))
89
90 acc.setPrivateTools(CompFactory.InDet.PixelRDOTool(name, **kwargs))
91 return acc
92
93
94def ITkPixelRDOToolCfg(flags, name="ITkPixelRDOTool", **kwargs):
95 # To produce ITkPixelDetectorElementCollection condition data
96 from PixelGeoModelXml.ITkPixelGeoModelConfig import (
97 ITkPixelReadoutGeometryCfg)
98 acc = ITkPixelReadoutGeometryCfg(flags)
99
100 kwargs.setdefault("PixelConditionsSummaryTool", None) # PixelDetElStatus is used instead
101 if "PixelDetElStatus" not in kwargs :
102 if not flags.Trigger.doHLT :
103 from PixelConditionsAlgorithms.ITkPixelConditionsConfig import (
104 ITkPixelDetectorElementStatusAlgCfg)
105 acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
106 kwargs.setdefault("PixelDetElStatus", "ITkPixelDetectorElementStatus")
107
108 kwargs.setdefault("PixelDetEleCollKey", "ITkPixelDetectorElementCollection")
109 kwargs.setdefault("CheckGanged", False)
110 kwargs.setdefault("isITk", True)
111
112 acc.setPrivateTools(CompFactory.InDet.PixelRDOTool(name, **kwargs))
113 return acc
114
115
116def TrigPixelRDOToolCfg(flags, name="InDetTrigPixelRDOTool"):
117 return InDetPixelRDOToolCfg(flags, name, PixelDetElStatus="", PrintDuplicate=False)
118
119
120def MergedPixelsToolCfg(flags, name="InDetMergedPixelsTool", **kwargs):
121 acc = ComponentAccumulator()
122
123 kwargs.setdefault("globalPosAlg", acc.popToolsAndMerge(
124 ClusterMakerToolCfg(flags)))
125 kwargs.setdefault("PixelRDOTool", acc.popToolsAndMerge(
126 InDetPixelRDOToolCfg(flags)))
127
128 acc.setPrivateTools(CompFactory.InDet.MergedPixelsTool(name, **kwargs))
129 return acc
130
131
132def TrigMergedPixelsToolCfg(flags, name="InDetTrigMergedPixelsTool"):
133 acc = ComponentAccumulator()
134 kwargs = {}
135
136 kwargs["globalPosAlg"] = acc.popToolsAndMerge(ClusterMakerToolCfg(flags))
137 kwargs["PixelRDOTool"] = acc.popToolsAndMerge(TrigPixelRDOToolCfg(flags))
138
139 acc.setPrivateTools(CompFactory.InDet.MergedPixelsTool(name, **kwargs))
140 return acc
141
142
143def ITkMergedPixelsToolCfg(flags, name="ITkMergedPixelsTool", **kwargs):
144 acc = ComponentAccumulator()
145
146 kwargs.setdefault("globalPosAlg", acc.popToolsAndMerge(
148 kwargs.setdefault("PixelRDOTool", acc.popToolsAndMerge(
149 ITkPixelRDOToolCfg(flags)))
150
151 kwargs.setdefault("PixelChargeCalibCondData", "ITkPixelChargeCalibCondData")
152 kwargs.setdefault("PixelOfflineCalibData", "")
153
154 acc.setPrivateTools(CompFactory.InDet.MergedPixelsTool(name, **kwargs))
155 return acc
156
157
159 flags, name="PixelClusterNnCondAlg", trackNetwork=False, **kwargs):
160 acc = ComponentAccumulator()
161
162 nn_names = [
163 "NumberParticles_NoTrack/",
164 "ImpactPoints1P_NoTrack/",
165 "ImpactPoints2P_NoTrack/",
166 "ImpactPoints3P_NoTrack/",
167 "ImpactPointErrorsX1_NoTrack/",
168 "ImpactPointErrorsX2_NoTrack/",
169 "ImpactPointErrorsX3_NoTrack/",
170 "ImpactPointErrorsY1_NoTrack/",
171 "ImpactPointErrorsY2_NoTrack/",
172 "ImpactPointErrorsY3_NoTrack/"]
173
174 if trackNetwork:
175 nn_names = [elm.replace('_NoTrack', '') for elm in nn_names]
176
177 kwargs.setdefault("NetworkNames", nn_names)
178 kwargs.setdefault("GetInputsInfo", True)
179 kwargs.setdefault("WriteKey", ("PixelClusterNN" if not trackNetwork
180 else "PixelClusterNNWithTrack"))
181
182 acc.merge(addFoldersSplitOnline(
183 flags, "PIXEL",
184 "/PIXEL/Onl/PixelClustering/PixelClusNNCalib",
185 "/PIXEL/PixelClustering/PixelClusNNCalib",
186 className='CondAttrListCollection'))
187
188 if "NetworkToHistoTool" not in kwargs:
189 from TrkConfig.TrkNeuralNetworkUtilsConfig import (
190 NeuralNetworkToHistoToolCfg)
191 kwargs.setdefault("NetworkToHistoTool", acc.popToolsAndMerge(
192 NeuralNetworkToHistoToolCfg(flags)))
193
194 acc.addCondAlgo(CompFactory.InDet.TTrainedNetworkCondAlg(name, **kwargs))
195 return acc
196
197
199 flags, name="PixelClusterNnWithTrackCondAlg"):
200 return PixelClusterNnCondAlgCfg(flags, name, trackNetwork=True)
201
202
203def LWTNNCondAlgCfg(flags, name="LWTNNCondAlg", **kwargs):
204 acc = ComponentAccumulator()
205
206 acc.merge(addFoldersSplitOnline(
207 flags, "PIXEL",
208 "/PIXEL/Onl/PixelClustering/PixelNNCalibJSON",
209 "/PIXEL/PixelClustering/PixelNNCalibJSON",
210 className="CondAttrListCollection"))
211
212 kwargs.setdefault("WriteKey", "PixelClusterNNJSON")
213
214 acc.addCondAlgo(CompFactory.InDet.LWTNNCondAlg(name, **kwargs))
215 return acc
216
217
218def OnnxNNCondAlgCfg(flags, name="OnnxNNCondAlg", **kwargs):
219 from AthOnnxComps.OnnxRuntimeSvcConfig import OnnxRuntimeSvcCfg
220 acc = OnnxRuntimeSvcCfg(flags)
221 kwargs.setdefault("WriteKey", "PixelClusterNNONNX")
222 acc.addCondAlgo(CompFactory.InDet.OnnxNNCondAlg(name, **kwargs))
223 return acc
224
225
226def NnClusterizationFactoryCfg(flags, name="NnClusterizationFactory", **kwargs):
227 from PixelConditionsAlgorithms.PixelConditionsConfig import (
228 PixelChargeCalibCondCfg)
229 acc = PixelChargeCalibCondCfg(flags)
230
231 useONNX = kwargs.pop("useONNX", False)
232
233 if flags.GeoModel.Run is LHCPeriod.Run1:
234 acc.merge(PixelClusterNnCondAlgCfg(flags))
235 acc.merge(PixelClusterNnWithTrackCondAlgCfg(flags))
236 elif useONNX:
237 onnxKwargs = {}
238 for key in ["NumberNetworkPath", "PositionNetwork1Path",
239 "PositionNetwork2Path", "PositionNetwork3Path"]:
240 if key in kwargs:
241 onnxKwargs[key] = kwargs.pop(key)
242 missing = [key for key in ["NumberNetworkPath", "PositionNetwork1Path",
243 "PositionNetwork2Path", "PositionNetwork3Path"]
244 if key not in onnxKwargs]
245 if missing:
246 raise ValueError(
247 f"NnClusterizationFactoryCfg: missing required ONNX network paths when "
248 f"useONNX=True: {missing}")
249 acc.merge(OnnxNNCondAlgCfg(flags, **onnxKwargs))
250 else:
251 acc.merge(LWTNNCondAlgCfg(flags))
252
253 if "PixelLorentzAngleTool" not in kwargs:
254 from SiLorentzAngleTool.PixelLorentzAngleConfig import (
255 PixelLorentzAngleToolCfg)
256 kwargs.setdefault("PixelLorentzAngleTool", acc.popToolsAndMerge(
257 PixelLorentzAngleToolCfg(flags)))
258 kwargs.setdefault("useXPitches", True if flags.GeoModel.Run >= LHCPeriod.Run4 else False)
259 kwargs.setdefault("doRunI", flags.GeoModel.Run is LHCPeriod.Run1)
260 kwargs.setdefault("useToT", False)
261 kwargs.setdefault("useRecenteringNNWithoutTracks", (
262 flags.GeoModel.Run is LHCPeriod.Run1))
263 kwargs.setdefault("useRecenteringNNWithTracks", False)
264 kwargs.setdefault("correctLorShiftBarrelWithoutTracks", 0)
265 kwargs.setdefault("correctLorShiftBarrelWithTracks", (
266 0.03 if flags.GeoModel.Run is LHCPeriod.Run1 else 0.))
267 kwargs.setdefault("useTTrainedNetworks",
268 flags.GeoModel.Run is LHCPeriod.Run1)
269 kwargs.setdefault("NnCollectionReadKey", (
270 "PixelClusterNN" if flags.GeoModel.Run is LHCPeriod.Run1 else ""))
271 kwargs.setdefault("NnCollectionWithTrackReadKey", (
272 "PixelClusterNNWithTrack" if flags.GeoModel.Run is LHCPeriod.Run1
273 else ""))
274 kwargs.setdefault("NnCollectionJSONReadKey", (
275 "" if (flags.GeoModel.Run is LHCPeriod.Run1 or useONNX)
276 else "PixelClusterNNJSON"))
277
278 kwargs.setdefault("useONNX", useONNX)
279 kwargs.setdefault("NnCollectionONNXReadKey",
280 "PixelClusterNNONNX" if useONNX else "")
281
282 acc.setPrivateTools(
283 CompFactory.InDet.NnClusterizationFactory(name, **kwargs))
284 return acc
285
286
287def TrigNnClusterizationFactoryCfg(flags, name="TrigNnClusterizationFactory"):
288 acc = ComponentAccumulator()
289 kwargs = {}
290
291 from PixelConditionsAlgorithms.PixelConditionsConfig import (
292 PixelChargeCalibCondCfg)
293 acc.merge(PixelChargeCalibCondCfg(flags))
294
295 acc.merge(PixelClusterNnCondAlgCfg(flags))
296 acc.merge(PixelClusterNnWithTrackCondAlgCfg(flags))
297
298 from SiLorentzAngleTool.PixelLorentzAngleConfig import (
299 PixelLorentzAngleToolCfg)
300 kwargs["PixelLorentzAngleTool"] = acc.popToolsAndMerge(
301 PixelLorentzAngleToolCfg(flags))
302
303 kwargs["useToT"] = False
304 kwargs["NnCollectionReadKey"] = "PixelClusterNN"
305 kwargs["NnCollectionWithTrackReadKey"] = "PixelClusterNNWithTrack"
306
307 acc.setPrivateTools(
308 CompFactory.InDet.NnClusterizationFactory(name, **kwargs))
309 return acc
310
311def ITkNnClusterizationFactoryCfg(flags, name="ITkNnClusterizationFactory", **kwargs):
312 from PixelConditionsAlgorithms.ITkPixelConditionsConfig import (
313 ITkPixelChargeCalibCondAlgCfg)
314 acc = ITkPixelChargeCalibCondAlgCfg(flags)
315
316 useONNX = flags.Tracking.useONNXPixelNN
317 if useONNX:
318 folder = flags.Tracking.pixelNNONNXModelsFolder
319 acc.merge(OnnxNNCondAlgCfg(flags,
320 NumberNetworkPath=folder + 'number.onnx',
321 PositionNetwork1Path=folder + 'pos1.onnx',
322 PositionNetwork2Path=folder + 'pos2.onnx',
323 PositionNetwork3Path=folder + 'pos3.onnx'))
324 else:
325 acc.merge(LWTNNCondAlgCfg(flags))
326
327 if "PixelLorentzAngleTool" not in kwargs:
328 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import (
329 ITkPixelLorentzAngleToolCfg)
330 kwargs.setdefault("PixelLorentzAngleTool", acc.popToolsAndMerge(
331 ITkPixelLorentzAngleToolCfg(flags)))
332
333 kwargs.setdefault("useToT", False)
334 kwargs.setdefault("NnCollectionReadKey", "")
335 kwargs.setdefault("NnCollectionWithTrackReadKey", "")
336 kwargs.setdefault("NnCollectionJSONReadKey",
337 "" if useONNX else "PixelClusterNNJSON")
338 kwargs.setdefault("useONNX", useONNX)
339 kwargs.setdefault("NnCollectionONNXReadKey",
340 "PixelClusterNNONNX" if useONNX else "")
341 # the ITk ONNX models take the x pitches after the y pitches (67 inputs)
342 kwargs.setdefault("useXPitches", useONNX)
343
344 kwargs.setdefault("PixelChargeCalibCondData", "ITkPixelChargeCalibCondData")
345
346 acc.setPrivateTools(
347 CompFactory.InDet.NnClusterizationFactory(name, **kwargs))
348 return acc
349
350
352 flags, name="NnPixelClusterSplitProbTool", **kwargs):
353 acc = ComponentAccumulator()
354
355 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
357 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
358 kwargs.setdefault("useBeamSpotInfo", flags.Tracking.useBeamSpotInfoNN)
359
360 acc.setPrivateTools(
361 CompFactory.InDet.NnPixelClusterSplitProbTool(name, **kwargs))
362 return acc
363
365 flags, name="ITkNnPixelClusterSplitProbTool", **kwargs):
366 acc = ComponentAccumulator()
367
368 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
370 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
371 kwargs.setdefault("useBeamSpotInfo", flags.Tracking.useBeamSpotInfoNN)
372
373 acc.setPrivateTools(
374 CompFactory.InDet.NnPixelClusterSplitProbTool(name, **kwargs))
375 return acc
376
377
379 flags, name="InDetPixelGangedAmbiguitiesFinder", **kwargs):
380 # To produce PixelDetectorElementCollection condition data
381 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
382 acc = PixelReadoutGeometryCfg(flags)
383 acc.setPrivateTools(
384 CompFactory.InDet.PixelGangedAmbiguitiesFinder(name, **kwargs))
385 return acc
386
387
389 flags, name="ITkPixelGangedAmbiguitiesFinder", **kwargs):
390 # To produce ITkPixelDetectorElementCollection condition data
391 from PixelGeoModelXml.ITkPixelGeoModelConfig import (
392 ITkPixelReadoutGeometryCfg)
393 acc = ITkPixelReadoutGeometryCfg(flags)
394 kwargs.setdefault("PixelDetEleCollKey", "ITkPixelDetectorElementCollection")
395 acc.setPrivateTools(
396 CompFactory.InDet.PixelGangedAmbiguitiesFinder(name, **kwargs))
397 return acc
398
399
401 flags, name="InDetSCT_ClusteringTool", **kwargs):
402 # To produce SCT_DetectorElementCollection
403 from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
404 acc = SCT_ReadoutGeometryCfg(flags)
405
406 kwargs.setdefault("SCTDetElStatus",
407 "SCTDetectorElementStatusWithoutFlagged")
408 # Simplification introduced in r25
409 kwargs.setdefault("doSimplePositionWidthCalculation",
410 flags.InDet.doSCTSimpleWidth)
411
412 if "conditionsTool" not in kwargs:
413 from SCT_ConditionsTools.SCT_ConditionsToolsConfig import (
414 SCT_ConditionsSummaryToolCfg)
415 kwargs.setdefault("conditionsTool", acc.popToolsAndMerge(
416 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=False)))
417
418 if "LorentzAngleTool" not in kwargs:
419 from SiLorentzAngleTool.SCT_LorentzAngleConfig import (
420 SCT_LorentzAngleToolCfg)
421 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
422 SCT_LorentzAngleToolCfg(flags)))
423
424 kwargs.setdefault("globalPosAlg", acc.popToolsAndMerge(
425 ClusterMakerToolCfg(flags)))
426
427 if flags.InDet.selectSCTIntimeHits:
428 coll_25ns = (flags.Beam.BunchSpacing <= 25 and
429 flags.Beam.Type is BeamType.Collisions)
430 kwargs.setdefault("timeBins", "01X" if coll_25ns else "X1X")
431
432 acc.setPrivateTools(CompFactory.InDet.SCT_ClusteringTool(name, **kwargs))
433 return acc
434
435
436def Trig_SCT_ClusteringToolCfg(flags, name="Trig_SCT_ClusteringTool", **kwargs):
437 acc = ComponentAccumulator()
438
439 if "conditionsTool" not in kwargs:
440 from SCT_ConditionsTools.SCT_ConditionsToolsConfig import (
441 SCT_ConditionsSummaryToolCfg)
442 kwargs.setdefault("conditionsTool", acc.popToolsAndMerge(
443 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=False, withTdaqTool=False)))
444
445 kwargs.setdefault("SCTDetElStatus", "")
446
447 # Keep r24 config for now
448 kwargs.setdefault("doSimplePositionWidthCalculation", False)
449
450 acc.setPrivateTools(acc.popToolsAndMerge(
451 SCT_ClusteringToolCfg(flags, name, **kwargs)))
452 return acc
453
454
456 flags, name="ITkStripClusteringTool", **kwargs):
457 # To produce ITkStripDetectorElementCollection
458 from StripGeoModelXml.ITkStripGeoModelConfig import (
459 ITkStripReadoutGeometryCfg)
460 acc = ITkStripReadoutGeometryCfg(flags)
461
462 kwargs.setdefault("SCTDetEleCollKey", "ITkStripDetectorElementCollection")
463 kwargs.setdefault("doSimplePositionWidthCalculation", True)
464
465 kwargs.setdefault("conditionsTool",None) # SCTDetElStatus is used instead
466 if "SCTDetElStatus" not in kwargs :
467 if not flags.Trigger.doHLT :
468 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig import (
469 ITkStripDetectorElementStatusAlgCfg)
470 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
471 kwargs.setdefault("SCTDetElStatus","ITkStripDetectorElementStatus")
472
473 if "LorentzAngleTool" not in kwargs:
474 from SiLorentzAngleTool.ITkStripLorentzAngleConfig import (
475 ITkStripLorentzAngleToolCfg)
476 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
477 ITkStripLorentzAngleToolCfg(flags)))
478
479 kwargs.setdefault("globalPosAlg", acc.popToolsAndMerge(
481
482 if flags.ITk.selectStripIntimeHits:
483 coll_25ns = (flags.Beam.BunchSpacing <= 25 and
484 flags.Beam.Type is BeamType.Collisions)
485 kwargs.setdefault("timeBins", "01X" if coll_25ns else "X1X")
486
487 acc.setPrivateTools(CompFactory.InDet.SCT_ClusteringTool(name, **kwargs))
488 return acc
489
490
492 flags, name='TruthClusterizationFactory', **kwargs):
493 acc = ComponentAccumulator()
494
495 kwargs.setdefault("discardPUHits", flags.Digitization.PileUp)
496 kwargs.setdefault("truthClusterSplittingEff", flags.Tracking.TruthClusterSplittingEff)
497 acc.setPrivateTools(
498 CompFactory.InDet.TruthClusterizationFactory(name, **kwargs))
499 return acc
500
501
503 flags, name='ITkTruthClusterizationFactory', **kwargs):
504 acc = ComponentAccumulator()
505
506 kwargs.setdefault("InputSDOMap", "ITkPixelSDO_Map")
507 kwargs.setdefault("discardPUHits", flags.Digitization.PileUp)
508 kwargs.setdefault("truthClusterSplittingEff", flags.Tracking.TruthClusterSplittingEff)
509 acc.setPrivateTools(
510 CompFactory.InDet.TruthClusterizationFactory(name, **kwargs))
511 return acc
512
513
515 flags, name="TruthPixelClusterSplitProbTool", **kwargs):
516 acc = ComponentAccumulator()
517 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
518 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
520 acc.setPrivateTools(
521 CompFactory.InDet.TruthPixelClusterSplitProbTool(name, **kwargs))
522 return acc
523
524
526 flags, name="ITkTruthPixelClusterSplitProbTool", **kwargs):
527 acc = ComponentAccumulator()
528 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
529 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
531 acc.setPrivateTools(
532 CompFactory.InDet.TruthPixelClusterSplitProbTool(name, **kwargs))
533 return acc
534
535
537 ca = ComponentAccumulator()
538 from InDetConfig.SiClusterizationToolConfig import ITkPixelRDOToolCfg
539 tool = ca.popToolsAndMerge(ITkPixelRDOToolCfg(flags))
540 alg = CompFactory.InDet.HitsToxAODCopier(PixelRDOTool=tool, PixelRDOContainerKey="ITkPixelRDOs")
541 ca.addEventAlgo(alg)
542
543 from OutputStreamAthenaPool.OutputStreamConfig import addToESD, addToAOD
544 # for the available content of this collection, consult the HitsToxAODCopier.cxx
545 toRecod = [ "xAOD::BaseContainer#PixelHits", "xAOD::AuxContainerBase#PixelHitsAux.col.row.tot.eta_module.phi_module.layer_disk.barrel_ec.detid",
546 "xAOD::BaseContainer#StripHits", "xAOD::AuxContainerBase#StripHitsAux.strip.side.eta_module.phi_module.layer_disk.barrel_ec.detid" ]
547 ca.merge(addToAOD(flags, toRecod))
548 ca.merge(addToESD(flags, toRecod))
549
550 return ca
PixelGangedAmbiguitiesFinderCfg(flags, name="InDetPixelGangedAmbiguitiesFinder", **kwargs)
TruthPixelClusterSplitProbToolCfg(flags, name="TruthPixelClusterSplitProbTool", **kwargs)
NnPixelClusterSplitProbToolCfg(flags, name="NnPixelClusterSplitProbTool", **kwargs)
TrigMergedPixelsToolCfg(flags, name="InDetTrigMergedPixelsTool")
ITkTruthClusterizationFactoryCfg(flags, name='ITkTruthClusterizationFactory', **kwargs)
SCT_ClusteringToolCfg(flags, name="InDetSCT_ClusteringTool", **kwargs)
ITKStrip_SCT_ClusteringToolCfg(flags, name="ITkStripClusteringTool", **kwargs)
ITkClusterMakerToolCfg(flags, name="ITkClusterMakerTool", **kwargs)
PixelClusterNnWithTrackCondAlgCfg(flags, name="PixelClusterNnWithTrackCondAlg")
MergedPixelsToolCfg(flags, name="InDetMergedPixelsTool", **kwargs)
TrigNnClusterizationFactoryCfg(flags, name="TrigNnClusterizationFactory")
OnnxNNCondAlgCfg(flags, name="OnnxNNCondAlg", **kwargs)
PixelClusterNnCondAlgCfg(flags, name="PixelClusterNnCondAlg", trackNetwork=False, **kwargs)
ITkMergedPixelsToolCfg(flags, name="ITkMergedPixelsTool", **kwargs)
ITkTruthPixelClusterSplitProbToolCfg(flags, name="ITkTruthPixelClusterSplitProbTool", **kwargs)
ClusterMakerToolCfg(flags, name="InDetClusterMakerTool", **kwargs)
LWTNNCondAlgCfg(flags, name="LWTNNCondAlg", **kwargs)
NnClusterizationFactoryCfg(flags, name="NnClusterizationFactory", **kwargs)
Trig_SCT_ClusteringToolCfg(flags, name="Trig_SCT_ClusteringTool", **kwargs)
ITkNnClusterizationFactoryCfg(flags, name="ITkNnClusterizationFactory", **kwargs)
ITkPixelRDOToolCfg(flags, name="ITkPixelRDOTool", **kwargs)
TrigPixelRDOToolCfg(flags, name="InDetTrigPixelRDOTool")
TruthClusterizationFactoryCfg(flags, name='TruthClusterizationFactory', **kwargs)
ITkNnPixelClusterSplitProbToolCfg(flags, name="ITkNnPixelClusterSplitProbTool", **kwargs)
ITkPixelGangedAmbiguitiesFinderCfg(flags, name="ITkPixelGangedAmbiguitiesFinder", **kwargs)
InDetPixelRDOToolCfg(flags, name="InDetPixelRDOTool", **kwargs)