ATLAS Offline Software
Loading...
Searching...
No Matches
TrkAmbiguitySolverConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2
3# Configuration of TrkAmbiguitySolver
4# The Ambiguity Solver algorithm wraps a dedicated
5# ambiguity processor tool and performs
6# the ambiguity resolution step.
7from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
8from AthenaConfiguration.ComponentFactory import CompFactory
9
10
12 name="InDetAmbiguityScore",
13 SiSPSeededTrackCollectionKey=None,
14 ClusterSplitProbContainer='',
15 **kwargs):
16 acc = ComponentAccumulator()
17
18 if flags.Tracking.ActiveConfig.useTIDE_Ambi:
19 from TrkConfig.TrkAmbiguityProcessorConfig import (
20 DenseEnvironmentsAmbiguityScoreProcessorToolCfg)
21 InDetAmbiguityScoreProcessor = acc.popToolsAndMerge(
22 DenseEnvironmentsAmbiguityScoreProcessorToolCfg(
23 flags,
24 ClusterSplitProbContainer=ClusterSplitProbContainer))
25 else:
26 InDetAmbiguityScoreProcessor = None
27
28 #
29 # --- configure Ambiguity (score) solver
30 #
31 kwargs.setdefault("TrackInput",
32 [SiSPSeededTrackCollectionKey])
33 kwargs.setdefault("TrackOutput", (
34 'ScoredMapInDetAmbiguityScore' + flags.Tracking.ActiveConfig.extension))
35 kwargs.setdefault("AmbiguityScoreProcessor",
36 InDetAmbiguityScoreProcessor) # TODO: check the case when it is None object
37
38 acc.addEventAlgo(CompFactory.Trk.TrkAmbiguityScore(
39 name+flags.Tracking.ActiveConfig.extension, **kwargs))
40 return acc
41
42
44 flags,
45 name='InDetTRT_SeededAmbiguityScore',
46 **kwargs):
47 acc = ComponentAccumulator()
48
49 kwargs.setdefault("TrackInput",
50 ['TRTSeededTracks'])
51 kwargs.setdefault("TrackOutput",
52 'ScoredMapInDetTRT_SeededAmbiguityScore')
53
54 InDetAmbiguityScore = CompFactory.Trk.TrkAmbiguityScore(
55 name=name,
56 **kwargs)
57 acc.addEventAlgo(InDetAmbiguityScore)
58 return acc
59
60
62 flags,
63 name='InDetTrig_SeededAmbiguityScore',
64 **kwargs):
65
66 kwargs.setdefault("TrackInput", [flags.Tracking.ActiveConfig.trkTracks_FTF])
67 kwargs.setdefault("TrackOutput",
68 f"ScoreMap{flags.Tracking.ActiveConfig.input_name}")
69 kwargs.setdefault("AmbiguityScoreProcessor", None)
70
71 #allow internal useTIDE_Ambi control
72 return TrkAmbiguityScoreCfg(flags, name, **kwargs)
73
75 flags,
76 name="ITkAmbiguityScore",
77 SiSPSeededTrackCollectionKey=None,
78 ClusterSplitProbContainer='',
79 **kwargs):
80 acc = ComponentAccumulator()
81
82 if flags.Tracking.ActiveConfig.useTIDE_Ambi:
83 from TrkConfig.TrkAmbiguityProcessorConfig import (
84 ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg)
85 ITkAmbiguityScoreProcessor = acc.popToolsAndMerge(
86 ITkDenseEnvironmentsAmbiguityScoreProcessorToolCfg(
87 flags,
88 ClusterSplitProbContainer=ClusterSplitProbContainer))
89 else:
90 ITkAmbiguityScoreProcessor = None
91
92 #
93 # --- configure Ambiguity (score) solver
94 #
95 kwargs.setdefault("TrackInput",
96 [SiSPSeededTrackCollectionKey])
97 kwargs.setdefault("TrackOutput", (
98 'ScoredMapITkAmbiguityScore' + flags.Tracking.ActiveConfig.extension))
99 # TODO: check the case when it is None object
100 kwargs.setdefault("AmbiguityScoreProcessor", ITkAmbiguityScoreProcessor)
101
102 scorename = name + flags.Tracking.ActiveConfig.extension
103 kwargs.setdefault("name", scorename)
104
105 acc.addEventAlgo(CompFactory.Trk.TrkAmbiguityScore(**kwargs))
106 return acc
107
109 flags,
110 name='InDetTrig_SeededAmbiguityScore',
111 **kwargs):
112 kwargs.setdefault("TrackInput", [flags.Tracking.ActiveConfig.trkTracks_FTF])
113 kwargs.setdefault("TrackOutput",
114 f"ScoreMap{flags.Tracking.ActiveConfig.input_name}")
115 kwargs.setdefault("AmbiguityScoreProcessor", None)
116
117 return ITkTrkAmbiguityScoreCfg(flags, name, **kwargs)
118
119
121 flags,
122 name="InDetAmbiguitySolver",
123 ResolvedTrackCollectionKey=None,
124 ClusterSplitProbContainer='', **kwargs):
125 acc = ComponentAccumulator()
126
127 if flags.Tracking.ActiveConfig.useTIDE_Ambi:
128 from TrkConfig.TrkAmbiguityProcessorConfig import (
129 DenseEnvironmentsAmbiguityProcessorToolCfg)
130 InDetAmbiguityProcessor = acc.popToolsAndMerge(
131 DenseEnvironmentsAmbiguityProcessorToolCfg(flags))
132 else:
133 from TrkConfig.TrkAmbiguityProcessorConfig import (
134 SimpleAmbiguityProcessorToolCfg)
135 InDetAmbiguityProcessor = acc.popToolsAndMerge(
136 SimpleAmbiguityProcessorToolCfg(
137 flags,
138 ClusterSplitProbContainer=ClusterSplitProbContainer))
139
140 #
141 # --- configure Ambiguity solver
142 #
143 kwargs.setdefault("TrackInput", (
144 'ScoredMapInDetAmbiguityScore' + flags.Tracking.ActiveConfig.extension))
145 kwargs.setdefault("TrackOutput", ResolvedTrackCollectionKey)
146 kwargs.setdefault("AmbiguityProcessor", InDetAmbiguityProcessor)
147
148 acc.addEventAlgo(CompFactory.Trk.TrkAmbiguitySolver(
149 name+flags.Tracking.ActiveConfig.extension, **kwargs))
150 return acc
151
152
154 flags,
155 name='InDetTRT_SeededAmbiguitySolver',
156 ClusterSplitProbContainer='',
157 **kwargs):
158
159 acc = ComponentAccumulator()
160 from TrkConfig.TrkAmbiguityProcessorConfig import (
161 SimpleAmbiguityProcessorTool_TRT_Cfg)
162 InDetTRT_SeededAmbiguityProcessor = acc.popToolsAndMerge(
163 SimpleAmbiguityProcessorTool_TRT_Cfg(
164 flags,
165 ClusterSplitProbContainer=ClusterSplitProbContainer))
166
167 kwargs.setdefault("TrackInput", 'ScoredMapInDetTRT_SeededAmbiguityScore')
168 kwargs.setdefault("TrackOutput", 'ResolvedTRTSeededTracks')
169 kwargs.setdefault("AmbiguityProcessor", InDetTRT_SeededAmbiguityProcessor)
170
171 InDetTRT_SeededAmbiguitySolver = CompFactory.Trk.TrkAmbiguitySolver(
172 name=name, **kwargs)
173 acc.addEventAlgo(InDetTRT_SeededAmbiguitySolver)
174 return acc
175
176
178 flags,
179 name='InDetTrig_SeededAmbiguitySolver',
180 **kwargs):
181 acc = ComponentAccumulator()
182
183 if flags.Detector.GeometryITk:
184 from TrkConfig.TrkAmbiguityProcessorConfig import (
185 SimpleAmbiguityProcessorTool_ITkTrig_Cfg)
186 processorTool = acc.popToolsAndMerge(
187 SimpleAmbiguityProcessorTool_ITkTrig_Cfg(
188 flags,
189 name=f"TrigAmbiguityProcessor_{flags.Tracking.ActiveConfig.name}"))
190 else:
191 from TrkConfig.TrkAmbiguityProcessorConfig import (
192 SimpleAmbiguityProcessorTool_Trig_Cfg)
193 processorTool = acc.popToolsAndMerge(
194 SimpleAmbiguityProcessorTool_Trig_Cfg(
195 flags,
196 name=f"TrigAmbiguityProcessor_{flags.Tracking.ActiveConfig.name}"))
197
198 kwargs.setdefault(
199 "TrackInput", f"ScoreMap{flags.Tracking.ActiveConfig.input_name}")
200 kwargs.setdefault(
201 "TrackOutput", flags.Tracking.ActiveConfig.trkTracks_IDTrig+"_Amb")
202 kwargs.setdefault("AmbiguityProcessor", processorTool)
203
204 acc.addEventAlgo(CompFactory.Trk.TrkAmbiguitySolver(name, **kwargs))
205 return acc
206
207
209 flags,
210 name="ITkAmbiguitySolver",
211 ResolvedTrackCollectionKey=None, **kwargs):
212 acc = ComponentAccumulator()
213
214 from TrkConfig.TrkAmbiguityProcessorConfig import (
215 ITkDenseEnvironmentsAmbiguityProcessorToolCfg)
216 ITkAmbiguityProcessor = acc.popToolsAndMerge(
217 ITkDenseEnvironmentsAmbiguityProcessorToolCfg(flags))
218
219 #
220 # --- configure Ambiguity solver
221 #
222 kwargs.setdefault("TrackInput", (
223 'ScoredMapITkAmbiguityScore' + flags.Tracking.ActiveConfig.extension))
224 kwargs.setdefault("TrackOutput", ResolvedTrackCollectionKey)
225 kwargs.setdefault("AmbiguityProcessor", ITkAmbiguityProcessor)
226
227 acc.addEventAlgo(CompFactory.Trk.TrkAmbiguitySolver(
228 name+flags.Tracking.ActiveConfig.extension, **kwargs))
229 return acc
ITkTrkAmbiguitySolverCfg(flags, name="ITkAmbiguitySolver", ResolvedTrackCollectionKey=None, **kwargs)
TrkAmbiguitySolver_TRT_Cfg(flags, name='InDetTRT_SeededAmbiguitySolver', ClusterSplitProbContainer='', **kwargs)
TrigITkTrkAmbiguityScoreCfg(flags, name='InDetTrig_SeededAmbiguityScore', **kwargs)
TrkAmbiguityScore_Trig_Cfg(flags, name='InDetTrig_SeededAmbiguityScore', **kwargs)
TrkAmbiguityScoreCfg(flags, name="InDetAmbiguityScore", SiSPSeededTrackCollectionKey=None, ClusterSplitProbContainer='', **kwargs)
TrkAmbiguitySolverCfg(flags, name="InDetAmbiguitySolver", ResolvedTrackCollectionKey=None, ClusterSplitProbContainer='', **kwargs)
ITkTrkAmbiguityScoreCfg(flags, name="ITkAmbiguityScore", SiSPSeededTrackCollectionKey=None, ClusterSplitProbContainer='', **kwargs)
TrkAmbiguitySolver_Trig_Cfg(flags, name='InDetTrig_SeededAmbiguitySolver', **kwargs)
TrkAmbiguityScore_TRT_Cfg(flags, name='InDetTRT_SeededAmbiguityScore', **kwargs)