36def BCM_DigitizationToolCommonCfg(flags, name="BCM_DigitizationTool", **kwargs):
37 """Return a ComponentAccumulator with configured BCM_DigitizationTool"""
38 acc = ComponentAccumulator()
39 kwargs.setdefault("RndmSvc",
40 acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
41 kwargs.setdefault("HitCollName", "BCMHits")
42 if flags.Common.ProductionStep == ProductionStep.PileUpPresampling:
43 kwargs.setdefault("OutputRDOKey", flags.Overlay.BkgPrefix + "BCM_RDOs")
44 kwargs.setdefault("OutputSDOKey", flags.Overlay.BkgPrefix + "BCM_SDO_Map")
45 elif flags.Common.isOverlay:
46 kwargs.setdefault("OnlyUseContainerName", False)
47 kwargs.setdefault("OutputRDOKey", flags.Overlay.SigPrefix + "BCM_RDOs")
48 kwargs.setdefault("OutputSDOKey", flags.Overlay.SigPrefix + "BCM_SDO_Map")
49 else:
50 kwargs.setdefault("OutputRDOKey", "BCM_RDOs")
51 kwargs.setdefault("OutputSDOKey", "BCM_SDO_Map")
52 if flags.Digitization.DoInnerDetectorNoise:
53 kwargs.setdefault("ModNoise", [90.82] * 8)
54 else:
55 kwargs.setdefault("ModNoise", [0.0] * 8)
56 kwargs.setdefault("ModSignal", [450.0] * 8)
57 kwargs.setdefault("NinoThr", [330.0] * 8)
58
59 kwargs.setdefault("MIPDeposit", 0.33)
60
61
62 kwargs.setdefault("EffDistanceParam", 4.0)
63 kwargs.setdefault("EffSharpnessParam", 0.11)
64 kwargs.setdefault("TimeDelay", 9.0)
65 if flags.Digitization.DoXingByXingPileUp:
66 kwargs.setdefault("FirstXing", BCM_FirstXing())
67 kwargs.setdefault("LastXing", BCM_LastXing())
68 kwargs.setdefault("RndmSvc", acc.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
69
70 BCM_DigitizationTool = CompFactory.BCM_DigitizationTool
72 return acc
73
74