37def CSC_DigitizationToolCommonCfg(flags, name="CscDigitizationTool", **kwargs):
38 """Return a ComponentAccumulator with configured CscDigitizationTool"""
39 acc = ComponentAccumulator()
40 if flags.Digitization.PileUp and not flags.Common.isOverlay:
41 intervals = []
42 if not flags.Digitization.DoXingByXingPileUp:
43 intervals += [acc.popToolsAndMerge(CSC_RangeCfg(flags))]
44 kwargs.setdefault("OnlyUseContainerName", True)
45 kwargs.setdefault("PileUpMergeSvc", acc.getPrimaryAndMerge(PileUpMergeSvcCfg(flags, Intervals=intervals)))
46 else:
47 kwargs.setdefault("OnlyUseContainerName", False)
48 kwargs.setdefault("PileUpMergeSvc", '')
49 if flags.Digitization.DoXingByXingPileUp:
50 kwargs.setdefault("FirstXing", CSC_FirstXing())
51 kwargs.setdefault("LastXing", CSC_LastXing())
52 kwargs.setdefault("pedestal", 0.0)
53 kwargs.setdefault("WindowLowerOffset", -25.0)
54 kwargs.setdefault("WindowUpperOffset", 25.0)
55 kwargs.setdefault("isPileUp", False)
56 kwargs.setdefault("amplification", 0.43e5)
57 kwargs.setdefault("NewDigitEDM", True)
58 kwargs.setdefault("DriftVelocity", 39)
59 kwargs.setdefault("ElectronEnergy", 66)
60
61 from MuonConfig.MuonCalibrationConfig import CscCalibToolCfg
62 kwargs.setdefault("cscCalibTool", acc.popToolsAndMerge(CscCalibToolCfg(flags)))
63
64 CscDigitizationTool = CompFactory.CscDigitizationTool
66 return acc
67
68