365def MuonTrackSteeringCfg(flags, name="MuonTrackSteering", **kwargs):
366 Muon__MuonTrackSteering=CompFactory.Muon.MuonTrackSteering
367
368 result=ComponentAccumulator()
369
370
371 MoorelikeStrategy=[
372 "BarrelCombined[CombineSegInStation,DoRefinement,DoAmbiSolving,CutSeedsOnTracks]:BML,BMS;BOL,BOS;BIL,BIS",
373 "EndcapCombined[CombineSegInStation,DoRefinement,DoAmbiSolving,CutSeedsOnTracks]:EML,EMS;EOL,EOS;EIL,EIS;CSL,CSS;EEL,EES;BEE",
374 "BarrelEndcap[CombineSegInStation,DoRefinement,DoAmbiSolving,CutSeedsOnTracks,BarrelEndcapFilter]:EML,EMS;EEL,EES;BML,BMS;EIL,EIS;BIL,BIS;BOL,BOS"]
375
376 kwargs.setdefault("StrategyList", MoorelikeStrategy)
377
378
379
380
381 result = MCTBSLFitterCfg(flags)
382 mctbslfitter = result.getPrimary()
383
384 acc = MuonSegmentRegionRecoveryToolCfg(flags, name='MuonEORecoveryTool', OnlyEO = True, Fitter=mctbslfitter, UseFitterOutlierLogic=False)
385 muon_eo_recovery_tool = acc.getPrimary()
386 result.merge(acc)
387
388 kwargs.setdefault("HoleRecoveryTool", muon_eo_recovery_tool)
389 kwargs.setdefault("SegSeedQCut", 2 if flags.Beam.Type != BeamType.Cosmics else 1)
390 kwargs.setdefault("Seg2ndQCut", 1)
391
392 if "TrackBuilderTool" not in kwargs:
393
394
395
396
397
398
399
400 kwargs["TrackBuilderTool"] = result.popToolsAndMerge( MooTrackBuilderCfg(flags, name='MooMuonTrackBuilder', prefix="MuSt_"))
401
402 if "TrackRefinementTool" not in kwargs:
403 kwargs["TrackRefinementTool"] = result.popToolsAndMerge( MooTrackBuilderCfg(flags, name='MooTrackBuilderTemplate', doSegmentPhiMatching=False))
404
405 acc=MuPatCandidateToolCfg(flags)
406 cand_tool = acc.getPrimary()
407 result.merge(acc)
408 kwargs.setdefault("MuPatCandidateTool", cand_tool)
409
410 from MuonConfig.MuonRecToolsConfig import MuonAmbiProcessorCfg
411 acc = MuonAmbiProcessorCfg(flags, name='MuonAmbiProcessor')
412 ambi = acc.getPrimary()
413 result.merge(acc)
414 kwargs.setdefault("AmbiguityTool", ambi)
415
416 kwargs.setdefault("MooBuilderTool", result.popToolsAndMerge( MooTrackBuilderCfg(flags, name='MooMuonTrackBuilder', prefix="MuSt_")))
417
418 kwargs.setdefault("CandidateMatchingTool",
419 result.popToolsAndMerge(MooCandidateMatchingToolCfg(flags, doSegmentPhiMatching=True)))
420
421 kwargs.setdefault("MuonSegmentFittingTool",
422 result.popToolsAndMerge(MuonSegmentFittingToolCfg(flags)))
423 kwargs.setdefault("MuonTrackSelector",
424 result.popToolsAndMerge(MuonTrackSelectorCfg(flags)))
425
426 kwargs.setdefault("HoleRecoveryTool",
427 result.popToolsAndMerge(MuonChamberHoleRecoveryToolCfg(flags)))
428
429 from TrkConfig.TrkTrackSummaryToolConfig import MuonTrackSummaryToolCfg
430 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(MuonTrackSummaryToolCfg(flags)))
431 kwargs.setdefault("DoSummary", flags.Muon.printSummary)
432
433
434 track_maker_steering = Muon__MuonTrackSteering(name,**kwargs)
435 result.setPrivateTools(track_maker_steering)
436 return result
437