27def MuonBucketDumpCfg(flags, name="MuonBucketDumper", **kwargs):
28 result = ComponentAccumulator()
29 from MuonSpacePointFormation.SpacePointFormationConfig import MuonSpacePointFormationCfg
30 result.merge(MuonSpacePointFormationCfg(flags))
31 kwargs.setdefault("isMC", flags.Input.isMC)
32
33
34 doCalo = bool(kwargs.pop("DoCaloDump", False))
35 if doCalo:
36 result.merge(CaloCellsDumperCfg(flags))
37
38 doMLBucketScore = bool(kwargs.pop("DoMLBucketScore", False))
39 doMLBucketFilter = bool(kwargs.pop("DoMLBucketFilter", False))
40 mlBucketBias = kwargs.pop("MLBucketBias", 1.0)
41 if doMLBucketScore:
42 kwargs.setdefault("DoMLBucketScore", True)
43 toolCfg = BucketScoreDumpCfg(flags, BiasClass0=mlBucketBias)
44 inferenceTool = result.popToolsAndMerge(toolCfg)
45 kwargs.setdefault("InferenceTool", inferenceTool)
46 if doMLBucketFilter:
47 kwargs.setdefault("DoMLBucketFilter", True)
48
49 from RngComps.RngCompsConfig import AthRNGSvcCfg
50 kwargs.setdefault("RndmSvc", result.getPrimaryAndMerge(AthRNGSvcCfg(flags)))
51 spCont = []
52 if flags.Detector.GeometryMDT or flags.Detector.GeometryRPC or flags.Detector.GeometryTGC:
53 spCont+=["MuonSpacePoints"]
54 if flags.Detector.GeometryMM or flags.Detector.GeometrysTGC:
55 spCont+=["NswSpacePoints"]
56
57 kwargs.setdefault("SpacePointKeys", spCont)
58
59 the_alg = CompFactory.MuonR4.BucketDumperAlg(name=name, **kwargs)
60 result.addEventAlgo(the_alg, primary = True)
61 return result
62