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