32def ZDC_PileUpToolCfg(flags, name="ZDC_PileUpTool",**kwargs):
33 """Return ComponentAccumulator with ZDC digitization tool."""
34 acc = ComponentAccumulator()
35
36
37 if flags.Digitization.PileUp:
38 intervals = []
39 if flags.Digitization.DoXingByXingPileUp:
40 kwargs.setdefault("FirstXing", ZDC_FirstXing() )
41 kwargs.setdefault("LastXing", ZDC_LastXing() )
42 else:
43 intervals += [acc.popToolsAndMerge(ZDC_RangeCfg(flags))]
44 kwargs.setdefault("mergeSvc", acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
45
46 else:
47 kwargs.setdefault("mergeSvc", '')
48
49
50 from RngComps.RngCompsConfig import AthRNGSvcCfg
51 kwargs.setdefault("RndmSvc", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
52
53 config = "PbPb2023"
54 from AthenaConfiguration.Enums import LHCPeriod
55 if flags.GeoModel.Run in [LHCPeriod.Run1, LHCPeriod.Run2]:
56 config = "PbPb2015"
57
58 acc.setPrivateTools(CompFactory.ZDC_PileUpTool(name, configuration = config, **kwargs))
59 return acc
60
61