ATLAS Offline Software
Loading...
Searching...
No Matches
InDetSelectionConfig.py
Go to the documentation of this file.
2# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3#
4
5'''@file InDetSelectionConfig.py
6@author M. Aparo
7@date 02-10-2023
8@brief CA-based python configurations for selection tools in this package
9'''
10
11from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
12from AthenaConfiguration.ComponentFactory import CompFactory
13
14
15def RoiSelectionToolCfg( flags, name="RoiSelectionTool", **kwargs ) :
16 '''
17 CA-based configuration for the Tool to retrieve and select RoIs
18 '''
19 acc = ComponentAccumulator()
20
21 kwargs.setdefault( "RoiKey", flags.PhysVal.IDTPM.currentTrkAna.RoiKey )
22 kwargs.setdefault( "ChainLeg", flags.PhysVal.IDTPM.currentTrkAna.ChainLeg )
23 kwargs.setdefault( "doTagNProbe", flags.PhysVal.IDTPM.currentTrkAna.doTagNProbe )
24 kwargs.setdefault( "RoiKeyTag", flags.PhysVal.IDTPM.currentTrkAna.RoiKeyTag )
25 kwargs.setdefault( "ChainLegTag", flags.PhysVal.IDTPM.currentTrkAna.ChainLegTag )
26 kwargs.setdefault( "RoiKeyProbe", flags.PhysVal.IDTPM.currentTrkAna.RoiKeyProbe )
27 kwargs.setdefault( "ChainLegProbe", flags.PhysVal.IDTPM.currentTrkAna.ChainLegProbe )
28
29 acc.setPrivateTools( CompFactory.IDTPM.RoiSelectionTool( name, **kwargs ) )
30 return acc
31
32
33def TrackRoiSelectionToolCfg( flags, name="TrackRoiSelectionTool", **kwargs ):
34 acc = ComponentAccumulator()
35
36 kwargs.setdefault( "TriggerTrkParticleContainerName",
37 flags.PhysVal.IDTPM.currentTrkAna.TrigTrkKey )
38
39 acc.setPrivateTools( CompFactory.IDTPM.TrackRoiSelectionTool( name, **kwargs ) )
40 return acc
41
42
43def VertexRoiSelectionToolCfg( flags, name="VertexRoiSelectionTool", **kwargs ):
44 acc = ComponentAccumulator()
45
46 kwargs.setdefault( "TriggerVertexContainerName",
47 flags.PhysVal.IDTPM.currentTrkAna.TrigVtxKey )
48
49 acc.setPrivateTools( CompFactory.IDTPM.VertexRoiSelectionTool( name, **kwargs ) )
50 return acc
51
52
53def TrackObjectSelectionToolCfg( flags, name="TrackObjectSelectionTool", **kwargs ):
54 acc = ComponentAccumulator()
55
56 objStr = flags.PhysVal.IDTPM.currentTrkAna.SelectOfflineObject
57 objQuality = flags.PhysVal.IDTPM.currentTrkAna.ObjectQuality
58 if objQuality == "Medium" and "Jet" in objStr :
59
60 objQuality = "DRtruthJet"
61 kwargs.setdefault( "ObjectType", objStr )
62 kwargs.setdefault( "ObjectQuality", objQuality )
63
64 if "Tau" in objStr:
65 kwargs.setdefault( "TauType", flags.PhysVal.IDTPM.currentTrkAna.TauType )
66 kwargs.setdefault( "TauNprongs", flags.PhysVal.IDTPM.currentTrkAna.TauNprongs )
67
68 if "Truth" in objStr:
69 kwargs.setdefault( "MatchingTruthProb", flags.PhysVal.IDTPM.currentTrkAna.TruthProbMin )
70
71 acc.setPrivateTools( CompFactory.IDTPM.TrackObjectSelectionTool( name, **kwargs ) )
72 return acc
73
74def OfflineQualitySelectionCfg( flags, name="OfflineSelectionTool", **kwargs ) :
75 acc = ComponentAccumulator()
76
77 # Default configurations
78 # ----------------------
79 minHitsVector = flags.PhysVal.IDTPM.currentTrkAna.offlMinHitsVector
80 minPtVector = flags.PhysVal.IDTPM.currentTrkAna.offlMinPtVector
81 maxD0Vector = flags.PhysVal.IDTPM.currentTrkAna.offlMaxD0Vector
82 maxZ0Vector = flags.PhysVal.IDTPM.currentTrkAna.offlMaxZ0Vector
83 etaBins = flags.PhysVal.IDTPM.currentTrkAna.offlEtaBins
84 qualityWP = flags.PhysVal.IDTPM.currentTrkAna.OfflineQualityWP
85
86 #if flags.PhysVal.IDTPM.currentTrkAna.CustomOfflSel == "EFTracking": # Default selection for EFTracking studies
87
88 if qualityWP == "EFTracking" :
89 etaBins = [-1., 2., 2.6, 9999.]
90 minHitsVector = [9, 8, 7]
91 minPtVector = [900., 400., 400.]
92 maxD0Vector = [2., 2., 10.]
93 maxZ0Vector = [150., 150., 150.]
94 qualityWP = "" # to avoid conflicts with InDetTrackSelectionTool options
95
96 kwargs_InDetTrackSelectionTool = {}
97
98 if flags.PhysVal.IDTPM.currentTrkAna.offlMinPt!=-9999.:
99 kwargs_InDetTrackSelectionTool.setdefault( "minPt", flags.PhysVal.IDTPM.currentTrkAna.offlMinPt )
100 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxAbsEta!=-9999.:
101 kwargs_InDetTrackSelectionTool.setdefault( "maxAbsEta", flags.PhysVal.IDTPM.currentTrkAna.offlMaxAbsEta )
102 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxZ0SinTheta!=-9999.:
103 kwargs_InDetTrackSelectionTool.setdefault( "maxZ0SinTheta", flags.PhysVal.IDTPM.currentTrkAna.offlMaxZ0SinTheta )
104 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxZ0!=-9999.:
105 kwargs_InDetTrackSelectionTool.setdefault( "maxZ0", flags.PhysVal.IDTPM.currentTrkAna.offlMaxZ0 )
106 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxD0!=-9999.:
107 kwargs_InDetTrackSelectionTool.setdefault( "maxD0", flags.PhysVal.IDTPM.currentTrkAna.offlMaxD0 )
108 if flags.PhysVal.IDTPM.currentTrkAna.offlMinNInnermostLayerHits!=-9999.:
109 kwargs_InDetTrackSelectionTool.setdefault( "minNInnermostLayerHits", flags.PhysVal.IDTPM.currentTrkAna.offlMinNInnermostLayerHits )
110 if flags.PhysVal.IDTPM.currentTrkAna.offlMinNBothInnermostLayersHits!=-9999.:
111 kwargs_InDetTrackSelectionTool.setdefault( "minNBothInnermostLayersHits", flags.PhysVal.IDTPM.currentTrkAna.offlMinNBothInnermostLayersHits )
112 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxNInnermostLayerSharedHits!=-9999.:
113 kwargs_InDetTrackSelectionTool.setdefault( "maxNInnermostLayerSharedHits", flags.PhysVal.IDTPM.currentTrkAna.offlMaxNInnermostLayerSharedHits )
114 if flags.PhysVal.IDTPM.currentTrkAna.offlMinNSiHits!=-9999.:
115 kwargs_InDetTrackSelectionTool.setdefault( "minNSiHits", flags.PhysVal.IDTPM.currentTrkAna.offlMinNSiHits )
116 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSiSharedHits!=-9999.:
117 kwargs_InDetTrackSelectionTool.setdefault( "maxNSiSharedHits", flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSiSharedHits )
118 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSiHoles!=-9999.:
119 kwargs_InDetTrackSelectionTool.setdefault( "maxNSiHoles", flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSiHoles )
120 if flags.PhysVal.IDTPM.currentTrkAna.offlMinNPixelHits!=-9999.:
121 kwargs_InDetTrackSelectionTool.setdefault( "minNPixelHits", flags.PhysVal.IDTPM.currentTrkAna.offlMinNPixelHits )
122 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxNPixelSharedHits!=-9999.:
123 kwargs_InDetTrackSelectionTool.setdefault( "maxNPixelSharedHits", flags.PhysVal.IDTPM.currentTrkAna.offlMaxNPixelSharedHits )
124 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxNPixelHoles!=-9999.:
125 kwargs_InDetTrackSelectionTool.setdefault( "maxNPixelHoles", flags.PhysVal.IDTPM.currentTrkAna.offlMaxNPixelHoles )
126 if flags.PhysVal.IDTPM.currentTrkAna.offlMinNSctHits!=-9999.:
127 kwargs_InDetTrackSelectionTool.setdefault( "minNSctHits", flags.PhysVal.IDTPM.currentTrkAna.offlMinNSctHits )
128 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSctSharedHits!=-9999.:
129 kwargs_InDetTrackSelectionTool.setdefault( "maxNSctSharedHits", flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSctSharedHits )
130 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSctHoles!=-9999.:
131 kwargs_InDetTrackSelectionTool.setdefault( "maxNSctHoles", flags.PhysVal.IDTPM.currentTrkAna.offlMaxNSctHoles )
132 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxChiSq!=-9999.:
133 kwargs_InDetTrackSelectionTool.setdefault( "maxChiSq", flags.PhysVal.IDTPM.currentTrkAna.offlMaxChiSq )
134 if flags.PhysVal.IDTPM.currentTrkAna.offlMaxChiSqperNdf!=-9999.:
135 kwargs_InDetTrackSelectionTool.setdefault( "maxChiSqperNdf", flags.PhysVal.IDTPM.currentTrkAna.offlMaxChiSqperNdf )
136 if flags.PhysVal.IDTPM.currentTrkAna.offlMinProb!=-9999.:
137 kwargs_InDetTrackSelectionTool.setdefault( "minProb", flags.PhysVal.IDTPM.currentTrkAna.offlMinProb )
138 kwargs_InDetTrackSelectionTool.setdefault( "CutLevel", qualityWP )
139
140 from InDetConfig.InDetTrackSelectionToolConfig import InDetTrackSelectionToolCfg
141 offlineSelectionTool = acc.popToolsAndMerge( InDetTrackSelectionToolCfg( flags, **kwargs_InDetTrackSelectionTool) )
142
143 kwargs.setdefault( "offlineTool", offlineSelectionTool )
144 kwargs.setdefault( "maxPt", flags.PhysVal.IDTPM.currentTrkAna.offlMaxPt )
145 kwargs.setdefault( "minEta", flags.PhysVal.IDTPM.currentTrkAna.offlMinEta )
146 kwargs.setdefault( "minPhi", flags.PhysVal.IDTPM.currentTrkAna.offlMinPhi )
147 kwargs.setdefault( "maxPhi", flags.PhysVal.IDTPM.currentTrkAna.offlMaxPhi )
148 kwargs.setdefault( "minD0", flags.PhysVal.IDTPM.currentTrkAna.offlMinD0 )
149 kwargs.setdefault( "minZ0", flags.PhysVal.IDTPM.currentTrkAna.offlMinZ0 )
150 kwargs.setdefault( "minQoPT", flags.PhysVal.IDTPM.currentTrkAna.offlMinQoPT )
151 kwargs.setdefault( "maxQoPT", flags.PhysVal.IDTPM.currentTrkAna.offlMaxQoPT )
152 kwargs.setdefault( "minAbsEta", flags.PhysVal.IDTPM.currentTrkAna.offlMinAbsEta )
153 kwargs.setdefault( "minAbsPhi", flags.PhysVal.IDTPM.currentTrkAna.offlMinAbsPhi )
154 kwargs.setdefault( "maxAbsPhi", flags.PhysVal.IDTPM.currentTrkAna.offlMaxAbsPhi )
155 kwargs.setdefault( "minAbsD0", flags.PhysVal.IDTPM.currentTrkAna.offlMinAbsD0 )
156 kwargs.setdefault( "maxAbsD0", flags.PhysVal.IDTPM.currentTrkAna.offlMaxAbsD0 )
157 kwargs.setdefault( "minAbsZ0", flags.PhysVal.IDTPM.currentTrkAna.offlMinAbsZ0 )
158 kwargs.setdefault( "maxAbsZ0", flags.PhysVal.IDTPM.currentTrkAna.offlMaxAbsZ0 )
159 kwargs.setdefault( "minAbsQoPT", flags.PhysVal.IDTPM.currentTrkAna.offlMinAbsQoPT )
160 kwargs.setdefault( "maxAbsQoPT", flags.PhysVal.IDTPM.currentTrkAna.offlMaxAbsQoPT )
161 kwargs.setdefault( "etaBins", etaBins )
162 kwargs.setdefault( "minHitsVec", minHitsVector )
163 kwargs.setdefault( "minPtVec", minPtVector )
164 kwargs.setdefault( "maxD0Vec", maxD0Vector )
165 kwargs.setdefault( "maxZ0Vec", maxZ0Vector )
166
167 acc.setPrivateTools( CompFactory.IDTPM.OfflineTrackQualitySelectionTool( name, **kwargs ) )
168
169 return acc
170
171
172def TruthSelectionBaseToolCfg( flags, name="TruthSelectionBaseTool", **kwargs ) :
173 '''
174 Copy of InDetPhysValMonitoring.InDetPhysValMonitoringConfig InDetRttTruthSelectionToolCfg
175 to handle flags internally in IDTPM, i.e. not relying on IDPVM's (default) flags
176 '''
177 acc = ComponentAccumulator()
178
179
180 kwargs.setdefault( "requireStable", True )
181 kwargs.setdefault( "requireCharged", True )
182 kwargs.setdefault( "selectedCharge", 0 )
183 kwargs.setdefault( "maxEta", 4.0 if flags.Detector.GeometryITk else 2.5 )
184
185 kwargs.setdefault( "requireOnlyPrimary", True )
186 kwargs.setdefault( "maxProdVertRadius", 300. )
187
188 kwargs.setdefault( "minPt", 1000 if flags.Detector.GeometryITk else 500 )
189 kwargs.setdefault( "ancestorList", [] )
190 kwargs.setdefault( "requireSiHit", 0 )
191 kwargs.setdefault( "Extrapolator", None )
192
193 acc.setPrivateTools( CompFactory.AthTruthSelectionTool( name, **kwargs ) )
194 return acc
195
196
197def TruthQualitySelectionToolCfg( flags, name="TruthQualitySelectionTool", **kwargs ) :
198 acc = ComponentAccumulator()
199
200 # Default configurations
201 # ----------------------
202 truthMinPt = flags.PhysVal.IDTPM.currentTrkAna.truthMinPt
203 truthMaxPt = flags.PhysVal.IDTPM.currentTrkAna.truthMaxPt
204 truthMaxAbsEta = flags.PhysVal.IDTPM.currentTrkAna.truthMaxAbsEta
205 truthPdgId = flags.PhysVal.IDTPM.currentTrkAna.truthPdgId
206
207 truthMinParentPt = flags.PhysVal.IDTPM.currentTrkAna.truthMinParentPt
208 truthMaxParentPt = flags.PhysVal.IDTPM.currentTrkAna.truthMaxParentPt
209
210
211 if "HighPt" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject :
212 truthMinPt = 10000 # 10 GeV
213 truthMaxPt = -9999. # +inf
214 elif "VeryLowPt" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject :
215 truthMinPt = 1000 # 1 GeV
216 truthMaxPt = 2000 # 2 GeV
217 elif "LowPt" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject :
218 truthMinPt = 1000 # 1 GeV
219 truthMaxPt = 10000 # 10 GeV
220
221
222 if "Muon" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject :
223 truthPdgId = 13
224 if "Electron" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject :
225 truthPdgId = 11
226
227 if "HighPt" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject :
228 truthMinPt = 20000 # 20 GeV
229 truthMaxPt = -9999. # +inf
230 if "LowPt" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject :
231 truthMinPt = 10000 # 10 GeV
232 truthMaxPt = 20000 # 20 GeV
233 truthIsHadron = ( "Hadron" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject )
234 truthIsPion = ( "Pion" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject )
235
236
237 truthIsFromB = ( "FromB" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject )
238 truthIsFromC = ( "FromC" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject )
239 truthIsFromHeavyFlav = ( "FromHeavyFlav" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject )
240 truthIsFromLightFlav = ( "FromLightFlav" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject )
241 truthIsFromTau = ( "FromTau" in flags.PhysVal.IDTPM.currentTrkAna.SelectTruthObject)
242
243 # TruthSelectionBaseTool properties
244 # ---------------------------------
245 kwargs_base = {}
246 if truthMinPt!=-9999. : kwargs_base.setdefault( "minPt", truthMinPt )
247 if truthMaxPt!=-9999. : kwargs_base.setdefault( "maxPt", truthMaxPt )
248 if truthMaxAbsEta!=-9999. : kwargs_base.setdefault( "maxEta", truthMaxAbsEta )
249 if truthPdgId!=-9999. : kwargs_base.setdefault( "pdgId", truthPdgId )
250
251
255
256 kwargs.setdefault( "truthTool" ,
257 acc.popToolsAndMerge( TruthSelectionBaseToolCfg( flags, **kwargs_base ) ) )
258
259 # Additional properties
260 # ---------------------
261 kwargs.setdefault( "maxEta", flags.PhysVal.IDTPM.currentTrkAna.truthMaxEta )
262 kwargs.setdefault( "minEta", flags.PhysVal.IDTPM.currentTrkAna.truthMinEta )
263 kwargs.setdefault( "minPhi", flags.PhysVal.IDTPM.currentTrkAna.truthMinPhi )
264 kwargs.setdefault( "maxPhi", flags.PhysVal.IDTPM.currentTrkAna.truthMaxPhi )
265 kwargs.setdefault( "minD0", flags.PhysVal.IDTPM.currentTrkAna.truthMinD0 )
266 kwargs.setdefault( "maxD0", flags.PhysVal.IDTPM.currentTrkAna.truthMaxD0 )
267 kwargs.setdefault( "minZ0", flags.PhysVal.IDTPM.currentTrkAna.truthMinZ0 )
268 kwargs.setdefault( "maxZ0", flags.PhysVal.IDTPM.currentTrkAna.truthMaxZ0 )
269 kwargs.setdefault( "minQoPT", flags.PhysVal.IDTPM.currentTrkAna.truthMinQoPT )
270 kwargs.setdefault( "maxQoPT", flags.PhysVal.IDTPM.currentTrkAna.truthMaxQoPT )
271 kwargs.setdefault( "minAbsEta", flags.PhysVal.IDTPM.currentTrkAna.truthMinAbsEta )
272 kwargs.setdefault( "minAbsPhi", flags.PhysVal.IDTPM.currentTrkAna.truthMinAbsPhi )
273 kwargs.setdefault( "maxAbsPhi", flags.PhysVal.IDTPM.currentTrkAna.truthMaxAbsPhi )
274 kwargs.setdefault( "minAbsD0", flags.PhysVal.IDTPM.currentTrkAna.truthMinAbsD0 )
275 kwargs.setdefault( "maxAbsD0", flags.PhysVal.IDTPM.currentTrkAna.truthMaxAbsD0 )
276 kwargs.setdefault( "minAbsZ0", flags.PhysVal.IDTPM.currentTrkAna.truthMinAbsZ0 )
277 kwargs.setdefault( "maxAbsZ0", flags.PhysVal.IDTPM.currentTrkAna.truthMaxAbsZ0 )
278 kwargs.setdefault( "minAbsQoPT", flags.PhysVal.IDTPM.currentTrkAna.truthMinAbsQoPT )
279 kwargs.setdefault( "maxAbsQoPT", flags.PhysVal.IDTPM.currentTrkAna.truthMaxAbsQoPT )
280 kwargs.setdefault( "isHadron", truthIsHadron )
281 kwargs.setdefault( "isPion", truthIsPion )
282 kwargs.setdefault( "isFromB", truthIsFromB )
283 kwargs.setdefault( "isFromC", truthIsFromC )
284 kwargs.setdefault( "isFromHeavyFlav", truthIsFromHeavyFlav )
285 kwargs.setdefault( "isFromLightFlav", truthIsFromLightFlav )
286 kwargs.setdefault( "isFromTau", truthIsFromTau )
287 if truthMinParentPt!=-9999. :kwargs.setdefault( "minParentPt", truthMinParentPt)
288 if truthMaxParentPt!=-9999. :kwargs.setdefault( "maxParentPt", truthMaxParentPt)
289
290 acc.setPrivateTools( CompFactory.IDTPM.TruthQualitySelectionTool( name, **kwargs ) )
291
292 return acc
293
294
295def TrackQualitySelectionToolCfg( flags, name="TrackQualitySelectionTool", **kwargs ):
296 acc = ComponentAccumulator()
297
298
299 if flags.PhysVal.IDTPM.currentTrkAna.OfflineQualityWP != "" or flags.PhysVal.IDTPM.currentTrkAna.DoOfflineSelection:
300 kwargs.setdefault( "DoOfflineSelection", True )
301
302 kwargs.setdefault( "OfflineSelectionTool", acc.popToolsAndMerge(
303 OfflineQualitySelectionCfg( flags, name="OfflineSelectionTool"+flags.PhysVal.IDTPM.currentTrkAna.anaTag ) ) )
304
305
306 if flags.Input.isMC:
307 kwargs.setdefault( "DoTruthSelection", True )
308
309 kwargs.setdefault( "TruthSelectionTool", acc.popToolsAndMerge(
310 TruthQualitySelectionToolCfg( flags, name="TruthQualitySelectionTool"+flags.PhysVal.IDTPM.currentTrkAna.anaTag ) ) )
311
312
313 if flags.PhysVal.IDTPM.currentTrkAna.SelectOfflineObject != "":
314 kwargs.setdefault( "DoObjectSelection", True )
315
316 if "TrackObjectSelectionTool" not in kwargs:
317 kwargs.setdefault( "TrackObjectSelectionTool", acc.popToolsAndMerge(
319 name="TrackObjectSelectionTool" + flags.PhysVal.IDTPM.currentTrkAna.anaTag ) ) )
320
321 acc.setPrivateTools( CompFactory.IDTPM.TrackQualitySelectionTool( name, **kwargs ) )
322 return acc
323
324
325def VertexQualitySelectionToolCfg( flags, name="VertexQualitySelectionTool", **kwargs ):
326 acc = ComponentAccumulator()
327
328
329
330 acc.setPrivateTools( CompFactory.IDTPM.VertexQualitySelectionTool( name, **kwargs ) )
331 return acc
OfflineQualitySelectionCfg(flags, name="OfflineSelectionTool", **kwargs)
TrackQualitySelectionToolCfg(flags, name="TrackQualitySelectionTool", **kwargs)
TruthSelectionBaseToolCfg(flags, name="TruthSelectionBaseTool", **kwargs)
VertexRoiSelectionToolCfg(flags, name="VertexRoiSelectionTool", **kwargs)
VertexQualitySelectionToolCfg(flags, name="VertexQualitySelectionTool", **kwargs)
RoiSelectionToolCfg(flags, name="RoiSelectionTool", **kwargs)
TrackRoiSelectionToolCfg(flags, name="TrackRoiSelectionTool", **kwargs)
TrackObjectSelectionToolCfg(flags, name="TrackObjectSelectionTool", **kwargs)
TruthQualitySelectionToolCfg(flags, name="TruthQualitySelectionTool", **kwargs)