96def MuonClusterOnTrackCreatorCfg(flags, name="MuonClusterOnTrackCreator", **kwargs):
97 result=ComponentAccumulator()
98 if not flags.Input.isMC:
99
100 kwargs.setdefault("DoFixedErrorTgcEta", True)
101 kwargs.setdefault("FixedErrorTgcEta", 15.)
102 else:
103 kwargs.setdefault("DoFixedErrorTgcEta", False)
104
105 if flags.Detector.EnablesTGC or flags.Detector.EnableMM:
106 from MuonConfig.MuonCalibrationConfig import NSWCalibToolCfg
107 kwargs.setdefault("NSWCalibTool", result.popToolsAndMerge(NSWCalibToolCfg(flags)))
108
109 from MuonConfig.MuonConfigFlags import MMClusterBuilderEnum
110 if flags.Muon.MMClusterCalibRecoTool == MMClusterBuilderEnum.Centroid:
111 from MuonConfig.MuonRecToolsConfig import SimpleMMClusterBuilderToolCfg
112 kwargs.setdefault("MMClusterBuilder", result.popToolsAndMerge(SimpleMMClusterBuilderToolCfg(flags)))
113 elif flags.Muon.MMClusterCalibRecoTool == MMClusterBuilderEnum.ClusterTimeProjection:
114
115 if not flags.Input.isMC:
116 kwargs["NSWCalibTool"].calibrateDriftVelocityFromData = True
117
118 from MuonConfig.MuonRecToolsConfig import ClusterTimeProjectionMMClusterBuilderToolCfg
119 kwargs.setdefault("MMClusterBuilder", result.popToolsAndMerge(ClusterTimeProjectionMMClusterBuilderToolCfg(flags)))
120
121 muon_cluster_rot_creator = CompFactory.Muon.MuonClusterOnTrackCreator(name, **kwargs)
122 result.setPrivateTools(muon_cluster_rot_creator)
123 return result
124