51def ITkFastTrackFinderStandaloneCfg(flags, SiSPSeededTrackCollectionKey = None):
52 acc = ComponentAccumulator()
53
54 from TrkConfig.TrkTrackSummaryToolConfig import ITkTrackSummaryToolCfg
55
56 from InDetConfig.SiTrackMakerConfig import ITkSiTrackMaker_xkCfg
57 ITkSiTrackMakerTool = acc.popToolsAndMerge(ITkSiTrackMaker_xkCfg(flags))
58
59 ITkSiTrackMakerTool.CombinatorialTrackFinder.writeHolesFromPattern = False
60
61 if flags.Tracking.ActiveConfig.useTrigTrackFollowing:
62 acc.addPublicTool( CompFactory.TrigInDetTrackFollowingTool( name = "TrigTrackFollowingTool_FTF", LayerNumberTool = acc.popToolsAndMerge(ITkTrigL2LayerNumberToolCfg(flags))))
63
64 ITkSiTrackMakerTool.useTrigTrackFollowingTool = True
65 ITkSiTrackMakerTool.TrigTrackFollowingTool = acc.getPublicTool("TrigTrackFollowingTool_FTF")
66
67 if flags.Tracking.ActiveConfig.useTrigRoadPredictor:
68 acc.addPublicTool( CompFactory.TrigInDetRoadPredictorTool( name = "TrigRoadPredictorTool_FTF", LayerNumberTool = acc.popToolsAndMerge(ITkTrigL2LayerNumberToolCfg(flags))))
69
70 ITkSiTrackMakerTool.useTrigInDetRoadPredictorTool = True
71 ITkSiTrackMakerTool.TrigInDetRoadPredictorTool = acc.getPublicTool("TrigRoadPredictorTool_FTF")
72
73 ITkSiTrackMakerTool.trackletPoints = flags.Trigger.InDetTracking.trackletPoints
74
75 acc.addPublicTool(ITkSiTrackMakerTool)
76
77 acc.addPublicTool( CompFactory.TrigInDetTrackFitter( "TrigInDetTrackFitter" ) )
78
79 isLRT=flags.Tracking.ActiveConfig.extension == "LargeD0"
80
81 from TrigFastTrackFinder.TrigFastTrackFinderConfig import TrigFastTrackFinderMonitoringArg
82 from TriggerJobOpts.TriggerHistSvcConfig import TriggerHistSvcConfig
83
84 acc.merge(TriggerHistSvcConfig(flags))
85
86 monTool = TrigFastTrackFinderMonitoringArg(flags, name = "FullScanLRT" if isLRT else "FullScan", doResMon=False)
87
88 ftf = CompFactory.TrigFastTrackFinder( name = "TrigFastTrackFinder"+flags.Tracking.ActiveConfig.extension,
89 LayerNumberTool = acc.popToolsAndMerge(ITkTrigL2LayerNumberToolCfg(flags)),
90 TrigAccelerationTool = None,
91 TrigAccelerationSvc = None,
92 SpacePointProviderTool = None,
93 TrackSummaryTool = acc.popToolsAndMerge(ITkTrackSummaryToolCfg(flags)),
94 TrackSeedingTool = acc.popToolsAndMerge(ITkTrigTrackSeedingToolStandaloneCfg(flags)),
95 initialTrackMaker = ITkSiTrackMakerTool,
96 trigInDetTrackFitter = CompFactory.TrigInDetTrackFitter( "TrigInDetTrackFitter" ),
97 trigZFinder = CompFactory.TrigZFinder(),
98 doZFinder = False,
99 SeedRadBinWidth = 10,
100 TrackInitialD0Max = 300. if isLRT else 20.0,
101 TracksName = SiSPSeededTrackCollectionKey,
102 TrackZ0Max = 500. if isLRT else 300.,
103 Triplet_D0Max = 300. if isLRT else 4,
104 Triplet_MaxBufferLength = 3 if isLRT else 1,
105 Triplet_MinPtFrac = 0.8,
106 UseTrigSeedML = 1,
107 doResMon = False,
108 doSeedRedundancyCheck = True,
109 pTmin = flags.Tracking.ActiveConfig.minPT[0],
110 useNewLayerNumberScheme = True,
111 MinHits = 3,
112 ITkMode = True,
113 useGPU = False,
114 StandaloneMode = True,
115 UseTracklets = flags.Tracking.ActiveConfig.useTracklets,
116 doTrackRefit = False,
117 FreeClustersCut = 1,
118 MonTool = monTool,
119 DoubletDR_Max = 150.0,
120 LRT_Mode = isLRT,
121 doDisappearingTrk = False,
122 dodEdxTrk = False)
123
124 acc.addEventAlgo( ftf, primary=True )
125
126 return acc
127
128