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
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 acc.merge(LWTNNCondAlgCfg(flags))
317
318 if "PixelLorentzAngleTool" not in kwargs:
319 from SiLorentzAngleTool.ITkPixelLorentzAngleConfig import (
320 ITkPixelLorentzAngleToolCfg)
321 kwargs.setdefault("PixelLorentzAngleTool", acc.popToolsAndMerge(
322 ITkPixelLorentzAngleToolCfg(flags)))
323
324 kwargs.setdefault("useToT", False)
325 kwargs.setdefault("NnCollectionReadKey", "")
326 kwargs.setdefault("NnCollectionWithTrackReadKey", "")
327 kwargs.setdefault("NnCollectionJSONReadKey", "PixelClusterNNJSON")
328
329 kwargs.setdefault("PixelChargeCalibCondData", "ITkPixelChargeCalibCondData")
330
331 acc.setPrivateTools(
332 CompFactory.InDet.NnClusterizationFactory(name, **kwargs))
333 return acc
334
335
337 flags, name="NnPixelClusterSplitProbTool", **kwargs):
338 acc = ComponentAccumulator()
339
340 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
342 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
343 kwargs.setdefault("useBeamSpotInfo", flags.Tracking.useBeamSpotInfoNN)
344
345 acc.setPrivateTools(
346 CompFactory.InDet.NnPixelClusterSplitProbTool(name, **kwargs))
347 return acc
348
350 flags, name="ITkNnPixelClusterSplitProbTool", **kwargs):
351 acc = ComponentAccumulator()
352
353 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
355 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
356 kwargs.setdefault("useBeamSpotInfo", flags.Tracking.useBeamSpotInfoNN)
357
358 acc.setPrivateTools(
359 CompFactory.InDet.NnPixelClusterSplitProbTool(name, **kwargs))
360 return acc
361
362
364 flags, name="InDetPixelGangedAmbiguitiesFinder", **kwargs):
365 # To produce PixelDetectorElementCollection condition data
366 from PixelGeoModel.PixelGeoModelConfig import PixelReadoutGeometryCfg
367 acc = PixelReadoutGeometryCfg(flags)
368 acc.setPrivateTools(
369 CompFactory.InDet.PixelGangedAmbiguitiesFinder(name, **kwargs))
370 return acc
371
372
374 flags, name="ITkPixelGangedAmbiguitiesFinder", **kwargs):
375 # To produce ITkPixelDetectorElementCollection condition data
376 from PixelGeoModelXml.ITkPixelGeoModelConfig import (
377 ITkPixelReadoutGeometryCfg)
378 acc = ITkPixelReadoutGeometryCfg(flags)
379 kwargs.setdefault("PixelDetEleCollKey", "ITkPixelDetectorElementCollection")
380 acc.setPrivateTools(
381 CompFactory.InDet.PixelGangedAmbiguitiesFinder(name, **kwargs))
382 return acc
383
384
386 flags, name="InDetSCT_ClusteringTool", **kwargs):
387 # To produce SCT_DetectorElementCollection
388 from SCT_GeoModel.SCT_GeoModelConfig import SCT_ReadoutGeometryCfg
389 acc = SCT_ReadoutGeometryCfg(flags)
390
391 kwargs.setdefault("SCTDetElStatus",
392 "SCTDetectorElementStatusWithoutFlagged")
393 # Simplification introduced in r25
394 kwargs.setdefault("doSimplePositionWidthCalculation",
395 flags.InDet.doSCTSimpleWidth)
396
397 if "conditionsTool" not in kwargs:
398 from SCT_ConditionsTools.SCT_ConditionsToolsConfig import (
399 SCT_ConditionsSummaryToolCfg)
400 kwargs.setdefault("conditionsTool", acc.popToolsAndMerge(
401 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=False)))
402
403 if "LorentzAngleTool" not in kwargs:
404 from SiLorentzAngleTool.SCT_LorentzAngleConfig import (
405 SCT_LorentzAngleToolCfg)
406 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
407 SCT_LorentzAngleToolCfg(flags)))
408
409 kwargs.setdefault("globalPosAlg", acc.popToolsAndMerge(
410 ClusterMakerToolCfg(flags)))
411
412 if flags.InDet.selectSCTIntimeHits:
413 coll_25ns = (flags.Beam.BunchSpacing <= 25 and
414 flags.Beam.Type is BeamType.Collisions)
415 kwargs.setdefault("timeBins", "01X" if coll_25ns else "X1X")
416
417 acc.setPrivateTools(CompFactory.InDet.SCT_ClusteringTool(name, **kwargs))
418 return acc
419
420
421def Trig_SCT_ClusteringToolCfg(flags, name="Trig_SCT_ClusteringTool", **kwargs):
422 acc = ComponentAccumulator()
423
424 if "conditionsTool" not in kwargs:
425 from SCT_ConditionsTools.SCT_ConditionsToolsConfig import (
426 SCT_ConditionsSummaryToolCfg)
427 kwargs.setdefault("conditionsTool", acc.popToolsAndMerge(
428 SCT_ConditionsSummaryToolCfg(flags, withFlaggedCondTool=False, withTdaqTool=False)))
429
430 kwargs.setdefault("SCTDetElStatus", "")
431
432 # Keep r24 config for now
433 kwargs.setdefault("doSimplePositionWidthCalculation", False)
434
435 acc.setPrivateTools(acc.popToolsAndMerge(
436 SCT_ClusteringToolCfg(flags, name, **kwargs)))
437 return acc
438
439
441 flags, name="ITkStripClusteringTool", **kwargs):
442 # To produce ITkStripDetectorElementCollection
443 from StripGeoModelXml.ITkStripGeoModelConfig import (
444 ITkStripReadoutGeometryCfg)
445 acc = ITkStripReadoutGeometryCfg(flags)
446
447 kwargs.setdefault("SCTDetEleCollKey", "ITkStripDetectorElementCollection")
448 kwargs.setdefault("doSimplePositionWidthCalculation", True)
449
450 kwargs.setdefault("conditionsTool",None) # SCTDetElStatus is used instead
451 if "SCTDetElStatus" not in kwargs :
452 if not flags.Trigger.doHLT :
453 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig import (
454 ITkStripDetectorElementStatusAlgCfg)
455 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
456 kwargs.setdefault("SCTDetElStatus","ITkStripDetectorElementStatus")
457
458 if "LorentzAngleTool" not in kwargs:
459 from SiLorentzAngleTool.ITkStripLorentzAngleConfig import (
460 ITkStripLorentzAngleToolCfg)
461 kwargs.setdefault("LorentzAngleTool", acc.popToolsAndMerge(
462 ITkStripLorentzAngleToolCfg(flags)))
463
464 kwargs.setdefault("globalPosAlg", acc.popToolsAndMerge(
466
467 if flags.ITk.selectStripIntimeHits:
468 coll_25ns = (flags.Beam.BunchSpacing <= 25 and
469 flags.Beam.Type is BeamType.Collisions)
470 kwargs.setdefault("timeBins", "01X" if coll_25ns else "X1X")
471
472 acc.setPrivateTools(CompFactory.InDet.SCT_ClusteringTool(name, **kwargs))
473 return acc
474
475
477 flags, name='TruthClusterizationFactory', **kwargs):
478 acc = ComponentAccumulator()
479
480 kwargs.setdefault("discardPUHits", flags.Digitization.PileUp)
481 kwargs.setdefault("truthClusterSplittingEff", flags.Tracking.TruthClusterSplittingEff)
482 acc.setPrivateTools(
483 CompFactory.InDet.TruthClusterizationFactory(name, **kwargs))
484 return acc
485
486
488 flags, name='ITkTruthClusterizationFactory', **kwargs):
489 acc = ComponentAccumulator()
490
491 kwargs.setdefault("InputSDOMap", "ITkPixelSDO_Map")
492 kwargs.setdefault("discardPUHits", flags.Digitization.PileUp)
493 kwargs.setdefault("truthClusterSplittingEff", flags.Tracking.TruthClusterSplittingEff)
494 acc.setPrivateTools(
495 CompFactory.InDet.TruthClusterizationFactory(name, **kwargs))
496 return acc
497
498
500 flags, name="TruthPixelClusterSplitProbTool", **kwargs):
501 acc = ComponentAccumulator()
502 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
503 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
505 acc.setPrivateTools(
506 CompFactory.InDet.TruthPixelClusterSplitProbTool(name, **kwargs))
507 return acc
508
509
511 flags, name="ITkTruthPixelClusterSplitProbTool", **kwargs):
512 acc = ComponentAccumulator()
513 kwargs.setdefault("PriorMultiplicityContent", [1, 1, 1])
514 kwargs.setdefault("NnClusterizationFactory", acc.popToolsAndMerge(
516 acc.setPrivateTools(
517 CompFactory.InDet.TruthPixelClusterSplitProbTool(name, **kwargs))
518 return acc
519
520
522 ca = ComponentAccumulator()
523 from InDetConfig.SiClusterizationToolConfig import ITkPixelRDOToolCfg
524 tool = ca.popToolsAndMerge(ITkPixelRDOToolCfg(flags))
525 alg = CompFactory.InDet.HitsToxAODCopier(PixelRDOTool=tool, PixelRDOContainerKey="ITkPixelRDOs")
526 ca.addEventAlgo(alg)
527
528 from OutputStreamAthenaPool.OutputStreamConfig import addToESD, addToAOD
529 # for the available content of this collection, consult the HitsToxAODCopier.cxx
530 toRecod = [ "xAOD::BaseContainer#PixelHits", "xAOD::AuxContainerBase#PixelHitsAux.col.row.tot.eta_module.phi_module.layer_disk.barrel_ec.detid",
531 "xAOD::BaseContainer#StripHits", "xAOD::AuxContainerBase#StripHitsAux.strip.side.eta_module.phi_module.layer_disk.barrel_ec.detid" ]
532 ca.merge(addToAOD(flags, toRecod))
533 ca.merge(addToESD(flags, toRecod))
534
535 return ca
TrigMergedPixelsToolCfg(flags, name="InDetTrigMergedPixelsTool")
ITkPixelRDOToolCfg(flags, name="ITkPixelRDOTool", **kwargs)
ITKStrip_SCT_ClusteringToolCfg(flags, name="ITkStripClusteringTool", **kwargs)
ITkTruthPixelClusterSplitProbToolCfg(flags, name="ITkTruthPixelClusterSplitProbTool", **kwargs)
ITkNnClusterizationFactoryCfg(flags, name="ITkNnClusterizationFactory", **kwargs)
LWTNNCondAlgCfg(flags, name="LWTNNCondAlg", **kwargs)
ITkMergedPixelsToolCfg(flags, name="ITkMergedPixelsTool", **kwargs)
Trig_SCT_ClusteringToolCfg(flags, name="Trig_SCT_ClusteringTool", **kwargs)
PixelGangedAmbiguitiesFinderCfg(flags, name="InDetPixelGangedAmbiguitiesFinder", **kwargs)
ClusterMakerToolCfg(flags, name="InDetClusterMakerTool", **kwargs)
TruthClusterizationFactoryCfg(flags, name='TruthClusterizationFactory', **kwargs)
OnnxNNCondAlgCfg(flags, name="OnnxNNCondAlg", **kwargs)
SCT_ClusteringToolCfg(flags, name="InDetSCT_ClusteringTool", **kwargs)
PixelClusterNnWithTrackCondAlgCfg(flags, name="PixelClusterNnWithTrackCondAlg")
ITkPixelGangedAmbiguitiesFinderCfg(flags, name="ITkPixelGangedAmbiguitiesFinder", **kwargs)
InDetPixelRDOToolCfg(flags, name="InDetPixelRDOTool", **kwargs)
ITkClusterMakerToolCfg(flags, name="ITkClusterMakerTool", **kwargs)
TrigNnClusterizationFactoryCfg(flags, name="TrigNnClusterizationFactory")
NnClusterizationFactoryCfg(flags, name="NnClusterizationFactory", **kwargs)
MergedPixelsToolCfg(flags, name="InDetMergedPixelsTool", **kwargs)
ITkNnPixelClusterSplitProbToolCfg(flags, name="ITkNnPixelClusterSplitProbTool", **kwargs)
TruthPixelClusterSplitProbToolCfg(flags, name="TruthPixelClusterSplitProbTool", **kwargs)
ITkTruthClusterizationFactoryCfg(flags, name='ITkTruthClusterizationFactory', **kwargs)
PixelClusterNnCondAlgCfg(flags, name="PixelClusterNnCondAlg", trackNetwork=False, **kwargs)
NnPixelClusterSplitProbToolCfg(flags, name="NnPixelClusterSplitProbTool", **kwargs)
TrigPixelRDOToolCfg(flags, name="InDetTrigPixelRDOTool")