3from AthenaConfiguration.ComponentAccumulator
import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory
import CompFactory
5from AthenaConfiguration.AccumulatorCache
import AccumulatorCache
6from TrkConfig.TrkGlobalChi2FitterConfig
import MCTBFitterCfg, MCTBSLFitterCfg
7from MuonConfig.MuonRecToolsConfig
import MuonTrackCleanerCfg, MuonSegmentMomentumFromFieldCfg, MuonSeededSegmentFinderCfg, MuonEDMPrinterToolCfg
8from AthenaConfiguration.Enums
import BeamType
9from MuonConfig.MuonSegmentFindingConfig
import MuonSegmentFittingToolCfg
14 Muon__MooTrackFitter=CompFactory.Muon.MooTrackFitter
15 MuonSegmentMomentum=CompFactory.MuonSegmentMomentum
16 from MuonConfig.MuonRecToolsConfig
import MuonPhiHitSelectorCfg, MuonTrackToSegmentToolCfg, MuonTrackSummaryHelperToolCfg, MuPatHitToolCfg
18 result = ComponentAccumulator()
19 mctb_fitter = result.getPrimaryAndMerge(MCTBFitterCfg(flags, name = prefix+
'MCTBFitter'))
20 kwargs.setdefault(
"Fitter", mctb_fitter)
22 mu_pat_hit_tool = result.popToolsAndMerge(MuPatHitToolCfg(flags))
23 result.addPublicTool(mu_pat_hit_tool)
24 kwargs.setdefault(
"HitTool", mu_pat_hit_tool)
26 from TrkConfig.TrkExSTEP_PropagatorConfig
import AtlasSTEP_PropagatorCfg
27 muon_prop = result.popToolsAndMerge(AtlasSTEP_PropagatorCfg(flags, name=
'MuonPropagator'))
29 kwargs.setdefault(
"Propagator", muon_prop)
30 kwargs.setdefault(
"SLFit" ,
not (flags.BField.barrelToroidOn
and flags.BField.endcapToroidOn) )
31 if flags.Muon.MuonTrigger:
32 kwargs.setdefault(
"SLFit",
False)
33 kwargs.setdefault(
"ReducedChi2Cut", flags.Muon.Chi2NDofCut)
36 if flags.Beam.Type
is BeamType.Cosmics:
39 momentum_estimator=result.popToolsAndMerge(MuonSegmentMomentumFromFieldCfg(flags))
41 result.addPublicTool(momentum_estimator)
42 kwargs.setdefault(
"SegmentMomentum", momentum_estimator )
44 kwargs.setdefault(
"MuonPrinterTool", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags) ))
46 track_to_segment_tool = result.popToolsAndMerge(MuonTrackToSegmentToolCfg(flags))
47 kwargs.setdefault(
"TrackToSegmentTool", track_to_segment_tool)
49 kwargs.setdefault(
"PhiHitSelector", result.popToolsAndMerge(MuonPhiHitSelectorCfg(flags)))
50 kwargs.setdefault(
"TrackCleaner", result.popToolsAndMerge(MuonTrackCleanerCfg(flags)))
55 track_summary_helper = result.popToolsAndMerge(MuonTrackSummaryHelperToolCfg(flags))
56 kwargs.setdefault(
"TrackSummaryTool", track_summary_helper)
58 kwargs.setdefault(
"CleanPhiHits",
True)
59 kwargs.setdefault(
"UsePreciseHits",
True)
60 kwargs.setdefault(
"UsePrefit",
False)
61 kwargs.setdefault(
"SeedAtStartOfTrack",
False)
63 fitter = Muon__MooTrackFitter(prefix + name, **kwargs)
64 result.setPrivateTools(fitter)
68def MooTrackBuilderCfg(flags, name="MooTrackBuilderTemplate", prefix="", doSegmentPhiMatching=True, **kwargs):
69 Muon__MooTrackBuilder=CompFactory.Muon.MooTrackBuilder
70 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
71 from MuonConfig.MuonRecToolsConfig
import MuonTrackToSegmentToolCfg, MuonTrackExtrapolationToolCfg
72 from MagFieldServices.MagFieldServicesConfig
import AtlasFieldCacheCondAlgCfg
76 result = ComponentAccumulator()
77 moo_track_fitter = result.popToolsAndMerge(
MooTrackFitterCfg(flags, name=
'MooTrackFitter', prefix=prefix))
78 kwargs.setdefault(
"Fitter", moo_track_fitter)
82 mctbslfitter = result.popToolsAndMerge(MCTBSLFitterCfg(flags, name=prefix+
'MCTBSLFitter'))
85 from TrkConfig.TrkExSTEP_PropagatorConfig
import AtlasSTEP_PropagatorCfg
86 muon_prop = result.popToolsAndMerge(AtlasSTEP_PropagatorCfg(flags, name =
'MuonStraightLinePropagator'))
88 moo_sl_track_fitter = result.popToolsAndMerge(
MooTrackFitterCfg( flags, name=
"MooSLTrackFitter", prefix=prefix, Fitter = mctbslfitter, Propagator=muon_prop, ReducedChi2Cut=10.0, SLFit=
True))
90 kwargs.setdefault(
"SLFitter", moo_sl_track_fitter)
91 kwargs.setdefault(
"RecalibrateMDTHitsOnTrack", ( (
not flags.Muon.doSegmentT0Fit)
and flags.Beam.Type
is BeamType.Collisions) )
93 muon_seeded_segment_finder = result.popToolsAndMerge(MuonSeededSegmentFinderCfg(flags))
94 kwargs.setdefault(
"SeededSegmentFinder", muon_seeded_segment_finder)
96 mdt_dcot_creator = result.popToolsAndMerge(MdtDriftCircleOnTrackCreatorCfg(flags))
97 kwargs.setdefault(
"MdtRotCreator", mdt_dcot_creator)
99 muon_comp_cluster_creator = result.popToolsAndMerge(TriggerChamberClusterOnTrackCreatorCfg(flags))
100 kwargs.setdefault(
"CompetingClustersCreator", muon_comp_cluster_creator)
102 kwargs.setdefault(
"Propagator", muon_prop)
103 kwargs.setdefault(
"ChamberHoleRecoveryTool",
106 result.merge(AtlasFieldCacheCondAlgCfg(flags) )
108 kwargs.setdefault(
"TrackToSegmentTool", result.popToolsAndMerge(MuonTrackToSegmentToolCfg(flags)))
109 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)))
110 kwargs.setdefault(
'Extrapolator', result.popToolsAndMerge( MuonTrackExtrapolationToolCfg(flags) ) )
116 kwargs.setdefault(
"CandidateMatchingTool",
118 doSegmentPhiMatching=doSegmentPhiMatching, prefix=prefix)))
120 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
121 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(MuonTrackSummaryToolCfg(flags)))
123 if "PullCalculator" not in kwargs:
124 from TrkConfig.TrkResidualPullCalculatorConfig
import (
125 ResidualPullCalculatorCfg)
126 kwargs.setdefault(
"PullCalculator", result.popToolsAndMerge(
127 ResidualPullCalculatorCfg(flags)))
129 result.setPrivateTools(Muon__MooTrackBuilder(name, **kwargs))
133 from MuonConfig.MuonRecToolsConfig
import MuonEDMHelperSvcCfg
134 from TrkConfig.TrkExRungeKuttaPropagatorConfig
import RungeKuttaPropagatorCfg
135 result = ComponentAccumulator()
136 kwargs.setdefault(
"edmHelper", result.getPrimaryAndMerge(MuonEDMHelperSvcCfg(flags)) )
137 kwargs.setdefault(
"Printer", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags)) )
138 kwargs.setdefault(
"AtlasRungeKuttaPropagator", result.popToolsAndMerge(
139 RungeKuttaPropagatorCfg(flags)))
141 if "ResidualPullCalculator" not in kwargs:
142 from TrkConfig.TrkResidualPullCalculatorConfig
import (
143 ResidualPullCalculatorCfg)
144 kwargs.setdefault(
"ResidualPullCalculator", result.popToolsAndMerge(
145 ResidualPullCalculatorCfg(flags)))
147 result.setPrivateTools(CompFactory.Muon.MuonSegmentInOverlapResolvingTool(name, **kwargs))
153 Muon__MuonSegmentMatchingTool=CompFactory.Muon.MuonSegmentMatchingTool
155 kwargs.setdefault(
"doThetaMatching", flags.Muon.useSegmentMatching)
156 kwargs.setdefault(
"doPhiMatching",
False )
157 if flags.Beam.Type
is BeamType.Cosmics:
158 kwargs.setdefault(
"OverlapMatchAveragePhiHitPullCut", 200.)
159 kwargs.setdefault(
"ToroidOn",
False )
167 result = MuonEDMPrinterToolCfg(flags)
168 kwargs.setdefault(
"Printer", result.getPrimary() )
169 kwargs.setdefault(
"MuonSegmentInOverlapResolvingTool", result.popToolsAndMerge(
171 kwargs.setdefault(
"MuonSegmentPairMatchingTool", CompFactory.Muon.MuonSegmentPairMatchingTool(
'MuonSegmentPairMatchingTool'))
173 matching = Muon__MuonSegmentMatchingTool(name, **kwargs)
174 result.setPrivateTools(matching)
178 Muon__MooCandidateMatchingTool=CompFactory.Muon.MooCandidateMatchingTool
179 from TrkConfig.AtlasExtrapolatorConfig
import AtlasExtrapolatorCfg
181 result = ComponentAccumulator()
184 kwargs.setdefault(
"MuonPrinterTool", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags) ))
185 kwargs.setdefault(
"Extrapolator", result.popToolsAndMerge(AtlasExtrapolatorCfg(flags)))
188 muon_seg_matching = acc.getPrimary()
190 kwargs.setdefault(
"SegmentMatchingTool", muon_seg_matching)
192 acc =
MuonSegmentMatchingToolCfg(flags, name = prefix+
"MuonSegmentMatchingToolTight", TightSegmentMatching=
True, doPhiMatching = doSegmentPhiMatching)
193 muon_seg_matching_tight = acc.getPrimary()
195 kwargs.setdefault(
"SegmentMatchingToolTight", muon_seg_matching_tight)
197 kwargs.setdefault(
"DoTrackSegmentMatching", flags.Muon.useTrackSegmentMatching)
198 kwargs.setdefault(
"RequireSameSide", flags.Beam.Type
is not BeamType.Collisions)
199 if flags.Muon.useAlignmentCorrections:
200 kwargs.setdefault(
"AlignmentErrorPosX", 5.0)
201 kwargs.setdefault(
"AlignmentErrorPosY", 0.2)
202 kwargs.setdefault(
"AlignmentErrorAngleX", 0.002)
203 kwargs.setdefault(
"AlignmentErrorAngleY", 0.001)
206 kwargs.setdefault(
"AlignmentErrorPosX", 10.0)
207 kwargs.setdefault(
"AlignmentErrorPosY", 5.0)
208 kwargs.setdefault(
"AlignmentErrorAngleX", 0.004)
209 kwargs.setdefault(
"AlignmentErrorAngleY", 0.002)
213 moo_cand_matching_tool = Muon__MooCandidateMatchingTool(prefix+name,**kwargs)
214 result.setPrivateTools(moo_cand_matching_tool)
218 from TrkConfig.AtlasExtrapolatorConfig
import MuonExtrapolatorCfg
219 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
220 from MuonConfig.MuonCondAlgConfig
import MuonStationIntersectCondAlgCfg
221 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import CombinedMuonTrackBuilderFitCfg
222 from MuonConfig.MuonRecToolsConfig
import MuonHitSummaryToolCfg
226 result = ComponentAccumulator()
227 kwargs.setdefault(
"SeededSegmentFinder",
228 result.popToolsAndMerge(MuonSeededSegmentFinderCfg(flags)))
230 kwargs.setdefault(
"TrackSegmentMatchingTool",
233 kwargs.setdefault(
"ChamberHoleRecoveryTool",
236 kwargs.setdefault(
"Extrapolator",
237 result.popToolsAndMerge(MuonExtrapolatorCfg(flags)))
238 if 'OnlyEO' in kwargs:
240 kwargs.setdefault(
"Builder", result.popToolsAndMerge(
241 CombinedMuonTrackBuilderFitCfg(flags)))
243 kwargs.setdefault(
"Builder", result.popToolsAndMerge(
244 CombinedMuonTrackBuilderFitCfg(flags, MuonHoleRecovery=
"")))
247 kwargs.setdefault(
"Fitter",
248 result.popToolsAndMerge(MCTBSLFitterCfg(flags, name=
'MCTBSLFitter')))
249 kwargs.setdefault(
"HitSummaryTool", result.popToolsAndMerge( MuonHitSummaryToolCfg(flags)))
250 kwargs.setdefault(
"EDMPrinter", result.getPrimaryAndMerge(
251 MuonEDMPrinterToolCfg(flags)))
252 result.merge( MuonStationIntersectCondAlgCfg(flags))
256 from RegionSelector.RegSelToolConfig
import regSelTool_MDT_Cfg, regSelTool_RPC_Cfg, regSelTool_TGC_Cfg
257 if flags.Detector.GeometryMDT:
258 kwargs.setdefault(
"MDTRegionSelector", result.popToolsAndMerge(regSelTool_MDT_Cfg(flags)))
260 if flags.Detector.GeometryTGC:
261 kwargs.setdefault(
"TGCRegionSelector", result.popToolsAndMerge(regSelTool_TGC_Cfg(flags)))
263 if flags.Detector.GeometryRPC:
264 kwargs.setdefault(
"RPCRegionSelector", result.popToolsAndMerge(regSelTool_RPC_Cfg(flags)))
266 if flags.Detector.GeometryCSC:
267 from RegionSelector.RegSelToolConfig
import regSelTool_CSC_Cfg
268 kwargs.setdefault(
"CSCRegionSelector", result.popToolsAndMerge(regSelTool_CSC_Cfg(flags)))
270 if flags.Detector.GeometrysTGC:
271 from RegionSelector.RegSelToolConfig
import regSelTool_STGC_Cfg
272 kwargs.setdefault(
"STGCRegionSelector", result.popToolsAndMerge(regSelTool_STGC_Cfg(flags)))
274 if flags.Detector.GeometryMM:
275 from RegionSelector.RegSelToolConfig
import regSelTool_MM_Cfg
276 kwargs.setdefault(
"MMRegionSelector", result.popToolsAndMerge(regSelTool_MM_Cfg(flags)))
278 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(MuonTrackSummaryToolCfg(flags)))
280 segment_region_recovery_tool = CompFactory.Muon.MuonSegmentRegionRecoveryTool(name, **kwargs)
281 result.setPrivateTools(segment_region_recovery_tool)
287 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg, TriggerChamberClusterOnTrackCreatorCfg
288 from MuonCombinedConfig.MuonCombinedRecToolsConfig
import MuonSegmentSelectionToolCfg
289 result = MdtDriftCircleOnTrackCreatorCfg(flags)
290 kwargs.setdefault(
"MdtRotCreator", result.getPrimary())
292 if flags.Detector.GeometryCSC:
293 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import CscClusterOnTrackCreatorCfg
294 kwargs.setdefault(
"CscRotCreator", result.popToolsAndMerge(CscClusterOnTrackCreatorCfg(flags)))
296 kwargs.setdefault(
"CscRotCreator",
"")
298 kwargs.setdefault(
"CompetingClustersCreator", result.popToolsAndMerge(TriggerChamberClusterOnTrackCreatorCfg(flags)))
300 kwargs.setdefault(
"MuonPrinterTool", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags) ))
302 from MuonConfig.MuonRecToolsConfig
import MuPatHitToolCfg
303 kwargs.setdefault(
"HitTool", result.getPrimaryAndMerge(MuPatHitToolCfg(flags)))
304 kwargs.setdefault(
"SegmentSelector", result.popToolsAndMerge(MuonSegmentSelectionToolCfg(flags)))
306 result.setPrivateTools(CompFactory.Muon.MuPatCandidateTool(name, **kwargs))
310 result=ComponentAccumulator()
313 from TrkConfig.AtlasExtrapolatorConfig
import MuonExtrapolatorCfg
314 kwargs.setdefault(
"Extrapolator", result.popToolsAndMerge(MuonExtrapolatorCfg(flags)))
316 from MuonConfig.MuonGeometryConfig
import TrackingVolumesSvcCfg
317 kwargs.setdefault(
"TrackingVolumesSvc", result.getPrimaryAndMerge(TrackingVolumesSvcCfg(flags)))
319 if not flags.Detector.GeometryMDT:
320 kwargs.setdefault(
"MdtPrepDataContainer",
"")
322 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import MdtDriftCircleOnTrackCreatorCfg, MuonClusterOnTrackCreatorCfg
323 kwargs.setdefault(
"MdtRotCreator", result.getPrimaryAndMerge(MdtDriftCircleOnTrackCreatorCfg(flags)))
325 if not flags.Detector.GeometryRPC:
326 kwargs.setdefault(
"RpcPrepDataContainer",
"")
327 if not flags.Detector.GeometryTGC:
328 kwargs.setdefault(
"TgcPrepDataContainer",
"")
330 kwargs.setdefault(
"AddMeasurements",
not flags.Muon.doSegmentT0Fit )
333 if flags.Detector.GeometryCSC:
334 from MuonConfig.MuonRIO_OnTrackCreatorToolConfig
import CscClusterOnTrackCreatorCfg
335 kwargs.setdefault(
"CscRotCreator", result.popToolsAndMerge(CscClusterOnTrackCreatorCfg(flags)))
337 kwargs.setdefault(
"CscPrepDataContainer",
"")
339 kwargs.setdefault(
"ClusterRotCreator", result.popToolsAndMerge(MuonClusterOnTrackCreatorCfg(flags)))
341 if not flags.Detector.GeometrysTGC:
342 kwargs.setdefault(
"sTgcPrepDataContainer",
"")
344 if not flags.Detector.GeometryMM:
345 kwargs.setdefault(
"MMPrepDataContainer",
"")
347 kwargs.setdefault(
'TgcPrepDataContainer',
'TGC_MeasurementsAllBCs')
348 kwargs.setdefault(
"EDMPrinter", result.getPrimaryAndMerge(MuonEDMPrinterToolCfg(flags) ))
350 if "PullCalculator" not in kwargs:
351 from TrkConfig.TrkResidualPullCalculatorConfig
import (
352 ResidualPullCalculatorCfg)
353 kwargs.setdefault(
"PullCalculator", result.popToolsAndMerge(
354 ResidualPullCalculatorCfg(flags)))
356 result.setPrivateTools(CompFactory.Muon.MuonChamberHoleRecoveryTool(name, **kwargs))
360 Muon__MuonTrackSteering=CompFactory.Muon.MuonTrackSteering
362 result=ComponentAccumulator()
366 "BarrelCombined[CombineSegInStation,DoRefinement,DoAmbiSolving,CutSeedsOnTracks]:BML,BMS;BOL,BOS;BIL,BIS",
367 "EndcapCombined[CombineSegInStation,DoRefinement,DoAmbiSolving,CutSeedsOnTracks]:EML,EMS;EOL,EOS;EIL,EIS;CSL,CSS;EEL,EES;BEE",
368 "BarrelEndcap[CombineSegInStation,DoRefinement,DoAmbiSolving,CutSeedsOnTracks,BarrelEndcapFilter]:EML,EMS;EEL,EES;BML,BMS;EIL,EIS;BIL,BIS;BOL,BOS"]
370 kwargs.setdefault(
"StrategyList", MoorelikeStrategy)
375 result = MCTBSLFitterCfg(flags)
376 mctbslfitter = result.getPrimary()
379 muon_eo_recovery_tool = acc.getPrimary()
382 kwargs.setdefault(
"HoleRecoveryTool", muon_eo_recovery_tool)
383 kwargs.setdefault(
"SegSeedQCut", 2
if flags.Beam.Type != BeamType.Cosmics
else 1)
384 kwargs.setdefault(
"Seg2ndQCut", 1)
386 if "TrackBuilderTool" not in kwargs:
394 kwargs[
"TrackBuilderTool"] = result.popToolsAndMerge(
MooTrackBuilderCfg(flags, name=
'MooMuonTrackBuilder', prefix=
"MuSt_"))
396 if "TrackRefinementTool" not in kwargs:
397 kwargs[
"TrackRefinementTool"] = result.popToolsAndMerge(
MooTrackBuilderCfg(flags, name=
'MooTrackBuilderTemplate', doSegmentPhiMatching=
False))
400 cand_tool = acc.getPrimary()
402 kwargs.setdefault(
"MuPatCandidateTool", cand_tool)
404 from MuonConfig.MuonRecToolsConfig
import MuonAmbiProcessorCfg
405 acc = MuonAmbiProcessorCfg(flags, name=
'MuonAmbiProcessor')
406 ambi = acc.getPrimary()
408 kwargs.setdefault(
"AmbiguityTool", ambi)
410 kwargs.setdefault(
"MooBuilderTool", result.popToolsAndMerge(
MooTrackBuilderCfg(flags, name=
'MooMuonTrackBuilder', prefix=
"MuSt_")))
412 kwargs.setdefault(
"CandidateMatchingTool",
415 kwargs.setdefault(
"MuonSegmentFittingTool",
416 result.popToolsAndMerge(MuonSegmentFittingToolCfg(flags)))
417 kwargs.setdefault(
"MuonTrackSelector",
420 kwargs.setdefault(
"HoleRecoveryTool",
423 from TrkConfig.TrkTrackSummaryToolConfig
import MuonTrackSummaryToolCfg
424 kwargs.setdefault(
"TrackSummaryTool", result.popToolsAndMerge(MuonTrackSummaryToolCfg(flags)))
425 kwargs.setdefault(
"DoSummary", flags.Muon.printSummary)
428 track_maker_steering = Muon__MuonTrackSteering(name,**kwargs)
429 result.setPrivateTools(track_maker_steering)
433 from MuonConfig.MuonRecToolsConfig
import MuonTrackSummaryHelperToolCfg
435 result = ComponentAccumulator()
436 if flags.Beam.Type
in [BeamType.Cosmics, BeamType.SingleBeam]
or not flags.Input.isMC:
437 kwargs.setdefault(
"UseRPCHoles",
False)
438 kwargs.setdefault(
"UseTGCHoles",
False)
439 kwargs.setdefault(
"MaxMdtHolesOnTwoStationTrack", 10)
440 kwargs.setdefault(
"MaxMdtHolesOnTrack", 30)
441 kwargs.setdefault(
"HolesToHitsRatioCutPerStation", 2)
442 kwargs.setdefault(
"CountMDTOutlierAsHoles",
False)
444 kwargs.setdefault(
"MaxMdtHolesOnTwoStationTrack", 4)
445 kwargs.setdefault(
"MaxMdtHolesOnTrack", 5)
446 kwargs.setdefault(
"CountMDTOutlierAsHoles",
True)
448 kwargs.setdefault(
"TrackSummaryHelperTool", result.popToolsAndMerge(MuonTrackSummaryHelperToolCfg(flags)))
450 theTool = CompFactory.Muon.MuonTrackSelectorTool(name, **kwargs)
451 result.setPrivateTools(theTool)
456 result=ComponentAccumulator()
458 track_steering = acc.getPrimary()
461 kwargs.setdefault(
"TrackSteering", track_steering)
462 kwargs.setdefault(
"MuonSegmentCollection",
"TrackMuonSegments")
463 kwargs.setdefault(
"SpectrometerTrackOutputLocation",
"MuonSpectrometerTracks")
465 track_builder = CompFactory.MuPatTrackBuilder(name=name, **kwargs)
466 result.addEventAlgo( track_builder, primary=
True )
471 result=ComponentAccumulator()
474 from MuonConfig.MuonGeometryConfig
import MuonGeoModelCfg
475 result.merge( MuonGeoModelCfg(flags) )
476 from MuonConfig.MuonRecToolsConfig
import MuonEDMHelperSvcCfg
477 result.merge(MuonEDMHelperSvcCfg(flags))
480 from MuonConfig.MuonSegmentNameFixConfig
import MuonSegmentNameFixCfg
481 result.merge(MuonSegmentNameFixCfg(flags))
487if __name__==
"__main__":
490 from MuonConfig.MuonConfigUtils
import SetupMuonStandaloneConfigFlags, SetupMuonStandaloneOutput, SetupMuonStandaloneCA
492 flags = SetupMuonStandaloneConfigFlags()
493 cfg = SetupMuonStandaloneCA(flags)
501 AddressRemappingSvc, ProxyProviderSvc=CompFactory.getComps(
"AddressRemappingSvc",
"ProxyProviderSvc",)
504 pps.ProviderNames += [
'AddressRemappingSvc' ]
505 ars.TypeKeyRenameMaps += [
'%s#%s->%s' % (
"TrackCollection",
"MuonSpectrometerTracks",
"MuonSpectrometerTracks_old") ]
510 itemsToRecord = [
"TrackCollection#MuonSpectrometerTracks"]
511 SetupMuonStandaloneOutput(cfg, flags, itemsToRecord)
513 cfg.printConfig(withDetails =
True)
515 f=open(
"MuonTrackBuilding.pkl",
"wb")
519 from MuonConfig.MuonConfigUtils
import executeTest
This class provides the interface to the LCG POOL persistency software.
manages the address providers and add proxies on demand to the store
MuonSegmentRegionRecoveryToolCfg(flags, name="MuonSegmentRegionRecoveryTool", **kwargs)
MuonSegmentMatchingToolCfg(flags, name="MuonSegmentMatchingTool", **kwargs)
MuonTrackSteeringCfg(flags, name="MuonTrackSteering", **kwargs)
MuPatCandidateToolCfg(flags, name="MuPatCandidateTool", **kwargs)
MuonSegmentInOverlapResolvingToolCfg(flags, name="MuonSegmentInOverlapResolvingTool", **kwargs)
MuPatTrackBuilderCfg(flags, name="MuPatTrackBuilder", **kwargs)
MooCandidateMatchingToolCfg(flags, name="MooCandidateMatchingTool", doSegmentPhiMatching=False, prefix="", **kwargs)
MooTrackBuilderCfg(flags, name="MooTrackBuilderTemplate", prefix="", doSegmentPhiMatching=True, **kwargs)
MuonTrackSelectorCfg(flags, name="MuonTrackSelectorTool", **kwargs)
MooTrackFitterCfg(flags, name='MooTrackFitter', prefix='', **kwargs)
MuonTrackBuildingCfg(flags, name="MuPatTrackBuilder", **kwargs)
MuonChamberHoleRecoveryToolCfg(flags, name="MuonChamberHoleRecoveryTool", **kwargs)