6def MuonR4SegmentCnvAlgCfg(flags, name="MuonR4SegmentCnvAlg", **kwargs):
7 result = ComponentAccumulator()
8
9 from ActsAlignmentAlgs.AlignmentAlgsConfig import ActsGeometryContextAlgCfg
10 result.merge(ActsGeometryContextAlgCfg(flags))
11
12 if not flags.Detector.GeometryMDT: kwargs.setdefault("MdtKey" ,"")
13 if not flags.Detector.GeometryRPC: kwargs.setdefault("RpcKey" ,"")
14 if not flags.Detector.GeometryTGC: kwargs.setdefault("TgcKey" ,"")
15 if not flags.Detector.GeometryMM: kwargs.setdefault("MmKey" ,"")
16 if not flags.Detector.GeometrysTGC: kwargs.setdefault("sTgcKey" ,"")
17
18 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig import MuonClusterOnTrackCreatorCfg, MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
19
20 if flags.Detector.GeometryMDT:
21 kwargs.setdefault("MdtRotCreator", result.popToolsAndMerge(MdtDriftCircleOnTrackCreatorCfg(flags)))
22 if flags.Detector.GeometryRPC or flags.Detector.GeometryTGC \
23 or flags.Detector.GeometryMM or flags.Detector.GeometrysTGC:
24 kwargs.setdefault("ClusterRotCreator", result.popToolsAndMerge(MuonClusterOnTrackCreatorCfg(flags)))
25 if flags.Detector.GeometryRPC or flags.Detector.GeometryTGC:
26 kwargs.setdefault("CompetingRotCreator", result.getPrimaryAndMerge(TriggerChamberClusterOnTrackCreatorCfg(flags)))
27 from MuonConfig.MuonRecToolsConfig import MuonEDMPrinterToolCfg
28 kwargs.setdefault("printerTool", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
29 the_alg = CompFactory.MuonR4.TrkSegmentCnvAlg(name, **kwargs)
30 result.addEventAlgo(the_alg, primary = True)
31 return result
32