431 **kwargs):
432
433 acc = ComponentAccumulator()
434
435
436 if "ScoringTool" not in kwargs:
437 if (flags.Beam.Type is BeamType.Cosmics):
438 from InDetConfig.InDetTrackScoringToolsConfig import (
439 InDetCosmicsScoringToolCfg as InDetScoringToolCfg)
440 elif (flags.Tracking.ActiveConfig.extension == "R3LargeD0" and
441 flags.Tracking.nnCutLargeD0Threshold > 0):
442 from InDetConfig.InDetTrackScoringToolsConfig import (
443 InDetNNScoringToolSiCfg as InDetScoringToolCfg)
444 else:
445 from InDetConfig.InDetTrackScoringToolsConfig import (
446 InDetAmbiScoringToolSiCfg as InDetScoringToolCfg)
447 kwargs.setdefault("ScoringTool", acc.popToolsAndMerge(
448 InDetScoringToolCfg(flags)))
449
450 if "Fitter" not in kwargs:
451 fitter_list = []
452
453 if flags.Tracking.ActiveConfig.isLowPt:
454 from TrkConfig.CommonTrackFitterConfig import (
455 InDetTrackFitterLowPtAmbiCfg)
456 InDetTrackFitterLowPt = acc.popToolsAndMerge(
457 InDetTrackFitterLowPtAmbiCfg(
458 flags,
459 name=('InDetTrackFitterLowPt' +
460 flags.Tracking.ActiveConfig.extension)))
461 fitter_list.append(InDetTrackFitterLowPt)
462 else:
463 from TrkConfig.CommonTrackFitterConfig import (
464 InDetTrackFitterAmbiCfg)
465 InDetTrackFitterAmbi = acc.popToolsAndMerge(
466 InDetTrackFitterAmbiCfg(
467 flags,
468 name=('InDetTrackFitterAmbi' +
469 flags.Tracking.ActiveConfig.extension)))
470 fitter_list.append(InDetTrackFitterAmbi)
471
472 kwargs.setdefault("Fitter", fitter_list)
473
474 if "AssociationTool" not in kwargs:
475 from InDetConfig.InDetAssociationToolsConfig import (
476 InDetPRDtoTrackMapToolGangedPixelsCfg)
477 kwargs.setdefault("AssociationTool", acc.popToolsAndMerge(
478 InDetPRDtoTrackMapToolGangedPixelsCfg(flags)))
479
480 if "TrackSummaryTool" not in kwargs:
481 from TrkConfig.TrkTrackSummaryToolConfig import (
482 InDetTrackSummaryToolCfg)
483 kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(
484 InDetTrackSummaryToolCfg(flags)))
485
486 if "SelectionTool" not in kwargs:
487 from InDetConfig.InDetAmbiTrackSelectionToolConfig import (
488 InDetAmbiTrackSelectionToolCfg)
489 kwargs.setdefault("SelectionTool", acc.popToolsAndMerge(
490 InDetAmbiTrackSelectionToolCfg(flags)))
491
492 kwargs.setdefault("AssociationMapName", (
493 'PRDtoTrackMapAmbi_' + flags.Tracking.ActiveConfig.extension))
494 kwargs.setdefault("InputClusterSplitProbabilityName", (
495 'SplitProb'+flags.Tracking.ActiveConfig.extension))
496 kwargs.setdefault("OutputClusterSplitProbabilityName", (
497 'InDetAmbiguityProcessorSplitProb' +
498 flags.Tracking.ActiveConfig.extension))
499 kwargs.setdefault("SuppressTrackFit", (
500 not flags.Tracking.ActiveConfig.doAmbiguityProcessorTrackFit))
501 kwargs.setdefault("SuppressHoleSearch", False)
502 kwargs.setdefault("tryBremFit",
503 flags.Tracking.ActiveConfig.doBremRecoverySi)
504 kwargs.setdefault("caloSeededBrem", flags.Tracking.doCaloSeededBrem)
505 kwargs.setdefault("pTminBrem", flags.Tracking.ActiveConfig.minPTBrem)
506 kwargs.setdefault("RefitPrds", True)
507 kwargs.setdefault("KeepHolesFromBeforeRefit", False)
508 kwargs.setdefault("MatEffects", flags.Tracking.materialInteractionsType
509 if flags.Tracking.materialInteractions else 0)
510
511 if (flags.Tracking.doTIDE_AmbiTrackMonitoring and
512 flags.Tracking.ActiveConfig.extension == ""):
513 from TrkConfig.TrkValToolsConfig import (
514 TrkObserverToolCfg, WriterTrkObserverToolCfg)
515 TrkObserverTool = acc.popToolsAndMerge(TrkObserverToolCfg(flags))
516 acc.addPublicTool(TrkObserverTool)
517 kwargs.setdefault("ObserverTool", TrkObserverTool)
518
519 TrkObserverToolWriter = acc.popToolsAndMerge(
520 WriterTrkObserverToolCfg(flags))
521 acc.addPublicTool(TrkObserverToolWriter)
522 kwargs.setdefault("ObserverToolWriter", TrkObserverToolWriter)
523
524 acc.setPrivateTools(
525 CompFactory.Trk.DenseEnvironmentsAmbiguityProcessorTool(
526 name+flags.Tracking.ActiveConfig.extension, **kwargs))
527 return acc
528
529