ATLAS Offline Software
Loading...
Searching...
No Matches
InDetTrackSelectorToolConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2# Configuration of InDetTrackSelectorTool package
3
4from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5from AthenaConfiguration.ComponentFactory import CompFactory
6from AthenaConfiguration.Enums import LHCPeriod, BeamType
7
8def InDetConversionTrackSelectorToolCfg(flags, name="TrackSelector", **kwargs):
9 acc = ComponentAccumulator()
10
11 if "Extrapolator" not in kwargs:
12 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
13 kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(
14 AtlasExtrapolatorCfg(flags)))
15
16 kwargs.setdefault("RatioCut1", flags.Egamma.PhotonConv.TrkSel.RatioCut1)
17 kwargs.setdefault("RatioCut2", flags.Egamma.PhotonConv.TrkSel.RatioCut2)
18 kwargs.setdefault("RatioCut3", flags.Egamma.PhotonConv.TrkSel.RatioCut3)
19 kwargs.setdefault("TRTTrksBinnedRatioTRT",
20 flags.Egamma.PhotonConv.TrkSel.TRTTrksBinnedRatioTRT)
21 kwargs.setdefault("TRTTrksEtaBins",
22 flags.Egamma.PhotonConv.TrkSel.TRTTrksEtaBins)
23 kwargs.setdefault("RatioTRT", flags.Egamma.PhotonConv.TrkSel.RatioTRT)
24 kwargs.setdefault("minPt", flags.Egamma.PhotonConv.TrkSel.minPt)
25
26 kwargs.setdefault("maxSiD0", 10000.)
27 kwargs.setdefault("maxSiZ0", 10000.)
28 kwargs.setdefault("maxTrtD0", 10000.)
29 kwargs.setdefault("maxTrtZ0", 10000.)
30 kwargs.setdefault("significanceD0_Si", -1.)
31 kwargs.setdefault("RatioV0", -1.)
32 kwargs.setdefault("IsConversion", True)
33
34 acc.setPrivateTools(
35 CompFactory.InDet.InDetConversionTrackSelectorTool(name, **kwargs))
36 return acc
37
38def V0InDetConversionTrackSelectorToolCfg(flags, name='InDetV0VxTrackSelector', **kwargs):
39 acc = ComponentAccumulator()
40
41 if "Extrapolator" not in kwargs:
42 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
43 kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(
44 AtlasExtrapolatorCfg(flags)))
45
46 kwargs.setdefault("maxTrtD0", 50.)
47 kwargs.setdefault("maxSiZ0", 250.)
48 kwargs.setdefault("significanceD0_Si", 1.)
49 kwargs.setdefault("significanceD0_Trt", 1.)
50 kwargs.setdefault("significanceZ0_Trt", 3.)
51 kwargs.setdefault("minPt", 400.0)
52 kwargs.setdefault("IsConversion", False)
53 kwargs.setdefault("UseEventInfoBS", True)
54
55 acc.setPrivateTools(
56 CompFactory.InDet.InDetConversionTrackSelectorTool(name, **kwargs))
57 return acc
58
59def InDetV0VxTrackSelectorLooseCfg(flags, name='InDetV0VxTrackSelectorLoose', **kwargs):
60 acc = ComponentAccumulator()
61
62 if "Extrapolator" not in kwargs:
63 from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg
64 kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(
65 InDetExtrapolatorCfg(flags)))
66
67 kwargs.setdefault("maxSiD0" , 99999.)
68 kwargs.setdefault("maxTrtD0" , 99999.)
69 kwargs.setdefault("maxSiZ0" , 99999.)
70 kwargs.setdefault("maxTrtZ0" , 99999.)
71 kwargs.setdefault("minPt" , 500.0)
72 kwargs.setdefault("significanceD0_Si" , 0.)
73 kwargs.setdefault("significanceD0_Trt", 0.)
74 kwargs.setdefault("significanceZ0_Trt", 0.)
75 kwargs.setdefault("IsConversion" , False)
76
77 acc.setPrivateTools(
78 CompFactory.InDet.InDetConversionTrackSelectorTool(name, **kwargs))
79 return acc
80
81
82def InDetTrackSelectorToolCfg(flags, name='InDetTrackSelectorTool', **kwargs):
83 result = ComponentAccumulator()
84
85 if "UseEventInfoBS" not in kwargs or kwargs["UseEventInfoBS"] is False:
86 # To produce the input InDet::BeamSpotData CondHandle
87 from BeamSpotConditions.BeamSpotConditionsConfig import (
88 BeamSpotCondAlgCfg)
89 result.merge(BeamSpotCondAlgCfg(flags))
90
91 # To produce the input AtlasFieldCacheCondObj
92 from MagFieldServices.MagFieldServicesConfig import (
93 AtlasFieldCacheCondAlgCfg)
94 result.merge(AtlasFieldCacheCondAlgCfg(flags))
95
96 if "Extrapolator" not in kwargs:
97 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
98 kwargs.setdefault("Extrapolator", result.popToolsAndMerge(
99 AtlasExtrapolatorCfg(flags)))
100
101 result.setPrivateTools(
102 CompFactory.InDet.InDetDetailedTrackSelectorTool(name, **kwargs))
103 return result
104
105def InDetImprovedJetFitterTrackSelectorToolCfg(flags, name='InDetImprovedJFTrackSelTool', **kwargs):
106 kwargs.setdefault("pTMin", 500.0)
107 kwargs.setdefault("IPd0Max", 7.0)
108 kwargs.setdefault("IPz0Max", 10.0)
109 kwargs.setdefault("sigIPd0Max", 0.35)
110 kwargs.setdefault("sigIPz0Max", 2.5)
111 kwargs.setdefault("etaMax", 9999.0)
112 kwargs.setdefault("nHitBLayer", 0)
113 kwargs.setdefault("nHitPix", 1)
114 kwargs.setdefault("nHitSct",
115 4 if flags.GeoModel.Run < LHCPeriod.Run4 else 0)
116 kwargs.setdefault("nHitSi", 7)
117 kwargs.setdefault("nHitTrt", 0)
118 kwargs.setdefault("fitChi2OnNdfMax", 3.5)
119 kwargs.setdefault("useTrackSummaryInfo", True)
120 kwargs.setdefault("useSharedHitInfo", False)
121 kwargs.setdefault("useTrackQualityInfo", True)
122 kwargs.setdefault("TrackSummaryTool", "")
123 return InDetTrackSelectorToolCfg(flags, name, **kwargs)
124
125def MuonCombinedInDetDetailedTrackSelectorToolCfg(flags, name="MuonCombinedInDetDetailedTrackSelectorTool", **kwargs):
126 if flags.Beam.Type is BeamType.Collisions:
127 kwargs.setdefault("pTMin", 2000)
128 kwargs.setdefault("nHitBLayer", 0)
129 kwargs.setdefault("nHitTrt", 0)
130 kwargs.setdefault("useTrackQualityInfo", False)
131 if flags.Muon.MuonTrigger:
132 kwargs.setdefault("IPd0Max", 19999.0)
133 kwargs.setdefault("IPz0Max", 19999.0)
134 kwargs.setdefault("z0Max", 19999.0)
135 kwargs.setdefault("nHitPix", 0)
136 kwargs.setdefault("nHitSct", 0)
137 kwargs.setdefault("nHitSi", 0)
138 kwargs.setdefault("useTrackSummaryInfo", False)
139 else:
140 kwargs.setdefault("IPd0Max", 50.0)
141 kwargs.setdefault("IPz0Max", 9999.0)
142 kwargs.setdefault("z0Max", 9999.0)
143 kwargs.setdefault("nHitPix", 1)
144 kwargs.setdefault("nHitSct", 3)
145 kwargs.setdefault("nHitSi", 4)
146 kwargs.setdefault("useTrackSummaryInfo", True)
147 else:
148 kwargs.setdefault("pTMin", 500)
149 kwargs.setdefault("IPd0Max", 19999.0)
150 kwargs.setdefault("IPz0Max", 19999.0)
151 kwargs.setdefault("z0Max", 19999.0)
152 kwargs.setdefault("useTrackSummaryInfo", False)
153 kwargs.setdefault("useTrackQualityInfo", False)
154
155 kwargs.setdefault("TrackSummaryTool", "")
156 return InDetTrackSelectorToolCfg(flags, name, **kwargs)
157
158def MuonCombinedInDetDetailedTrackSelectorTool_LRTCfg(flags, name='MuonCombinedInDetDetailedTrackSelectorTool_LRT', **kwargs):
159 kwargs.setdefault("pTMin", 2000)
160 kwargs.setdefault("IPd0Max", 1.e4)
161 kwargs.setdefault("IPz0Max", 1.e4)
162 kwargs.setdefault("z0Max", 1.e4)
163 kwargs.setdefault("nHitBLayer", 0)
164 kwargs.setdefault("nHitPix", 0)
165 kwargs.setdefault("nHitSct", 4)
166 kwargs.setdefault("nHitSi", 4)
167 kwargs.setdefault("nHitTrt", 0)
168 kwargs.setdefault("useTrackSummaryInfo", True)
169 kwargs.setdefault("useTrackQualityInfo", False)
170 return MuonCombinedInDetDetailedTrackSelectorToolCfg(flags, name, **kwargs)
171
172def MuonCombinedInDetDetailedForwardTrackSelectorToolCfg(flags, name='MuonCombinedInDetDetailedForwardTrackSelectorTool', **kwargs):
173 kwargs.setdefault("nHitSct", 0)
174 return MuonCombinedInDetDetailedTrackSelectorToolCfg(flags, name, **kwargs)
175
176def CaloTrkMuIdAlgTrackSelectorToolCfg(flags, name='CaloTrkMuIdAlgTrackSelectorTool', **kwargs):
177 result = ComponentAccumulator()
178
179 kwargs.setdefault("pTMin", 5000.)
180 kwargs.setdefault("IPd0Max", 7.)
181 kwargs.setdefault("IPz0Max", 130.) # (tuned on Z)
182 kwargs.setdefault("nHitBLayer", 0)
183 kwargs.setdefault("nHitPix", 1)
184 kwargs.setdefault("nHitSct", 5)
185 kwargs.setdefault("nHitSi", 7)
186 kwargs.setdefault("nHitTrt", 0)
187
188 from TrkConfig.TrkTrackSummaryToolConfig import (
189 MuonCombinedTrackSummaryToolCfg)
190 kwargs.setdefault("TrackSummaryTool", result.popToolsAndMerge(
191 MuonCombinedTrackSummaryToolCfg(flags)))
192
193 result.setPrivateTools(result.popToolsAndMerge(
194 InDetTrackSelectorToolCfg(flags, name, **kwargs)))
195 return result
196
197def TauRecInDetTrackSelectorToolCfg(flags, name='tauRec_InDetTrackSelectorTool', **kwargs):
198 kwargs.setdefault("pTMin", 1000.0)
199 kwargs.setdefault("IPd0Max", 1.)
200 kwargs.setdefault("IPz0Max", 1.5)
201 kwargs.setdefault("nHitBLayer", 0)
202 kwargs.setdefault("nHitPix", 2) # PixelHits + PixelDeadSensors
203 kwargs.setdefault("nHitSct", 0) # SCTHits + SCTDeadSensors
204 kwargs.setdefault("nHitSi", 7) # PixelHits + SCTHits + PixelDeadSensors + SCTDeadSensors
205 kwargs.setdefault("nHitTrt", 0)
206 kwargs.setdefault("fitChi2OnNdfMax", 99999)
207 kwargs.setdefault("useTrackSummaryInfo", True)
208 kwargs.setdefault("useSharedHitInfo", False)
209 kwargs.setdefault("useTrackQualityInfo", True)
210 kwargs.setdefault("TrackSummaryTool", "")
211 return InDetTrackSelectorToolCfg(flags, name, **kwargs)
212
213def BPHY_InDetDetailedTrackSelectorToolCfg(flags, name='BPHY_InDetDetailedTrackSelectorTool', **kwargs):
214 acc = ComponentAccumulator()
215
216 # Different from other InDetTrackSelectorToolCfg
217 if "Extrapolator" not in kwargs:
218 from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg
219 kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(
220 InDetExtrapolatorCfg(flags)))
221
222 kwargs.setdefault("pTMin" , 400.0)
223 kwargs.setdefault("IPd0Max" , 10000.0)
224 kwargs.setdefault("IPz0Max" , 10000.0)
225 kwargs.setdefault("z0Max" , 10000.0)
226 kwargs.setdefault("sigIPd0Max" , 10000.0)
227 kwargs.setdefault("sigIPz0Max" , 10000.0)
228 kwargs.setdefault("d0significanceMax" , -1.)
229 kwargs.setdefault("z0significanceMax" , -1.)
230 kwargs.setdefault("etaMax" , 9999.)
231 kwargs.setdefault("useTrackSummaryInfo" , True)
232 kwargs.setdefault("nHitBLayer" , 0)
233 kwargs.setdefault("nHitPix" , 1)
234 kwargs.setdefault("nHitSct" , 2)
235 kwargs.setdefault("nHitSi" , 3)
236 kwargs.setdefault("nHitTrt" , 0)
237 kwargs.setdefault("nHitTrtHighEFractionMax", 10000.0)
238 kwargs.setdefault("useSharedHitInfo" , False)
239 kwargs.setdefault("useTrackQualityInfo" , True)
240 kwargs.setdefault("fitChi2OnNdfMax" , 10000.0)
241 kwargs.setdefault("TrtMaxEtaAcceptance" , 1.9)
242 kwargs.setdefault("UseEventInfoBS" , True)
243 kwargs.setdefault("TrackSummaryTool" , None)
244
245 acc.setPrivateTools(acc.popToolsAndMerge(InDetTrackSelectorToolCfg(flags, name, **kwargs)))
246 return acc
247
248
249def InDetTRTDriftCircleCutToolCfg(flags, name='InDetTRTDriftCircleCutTool', **kwargs):
250 from TRT_ConditionsAlgs.TRT_ConditionsAlgsConfig import TRTActiveCondAlgCfg
251 result = TRTActiveCondAlgCfg(flags) # To produce the input TRTCond::ActiveFraction CondHandle
252 kwargs.setdefault("MinOffsetDCs", 5)
253 kwargs.setdefault("UseNewParameterization", flags.Tracking.useNewParamTRT)
254 kwargs.setdefault("UseActiveFractionSvc", flags.Detector.EnableTRT)
255 result.setPrivateTools(CompFactory.InDet.InDetTrtDriftCircleCutTool(name, **kwargs))
256 return result
257
258def InDetTrigTRTDriftCircleCutToolCfg(flags, name='InDetTrigTRTDriftCircleCutTool', **kwargs):
259 kwargs.setdefault("UseNewParameterization", True)
260 kwargs.setdefault("UseActiveFractionSvc", True)
261 return InDetTRTDriftCircleCutToolCfg(flags, name, **kwargs)
262
263
264
265# Tool to select tracks to be used for TRT calibration
267 flags, name="TRT_InDetDetailedTrackSelectorTool", **kwargs):
268
269 from AthenaCommon.SystemOfUnits import GeV, mm
270
271 acc = ComponentAccumulator()
272 kwargs.setdefault("pTMin", 1.0*GeV)
273 kwargs.setdefault("fitChi2OnNdfMax",50.0)
274 kwargs.setdefault("z0Max",9999.0*mm)
275 kwargs.setdefault("IPd0Max",10.0*mm)
276 kwargs.setdefault("IPz0Max",300.0*mm)
277 kwargs.setdefault("etaMax",2.1)
278 kwargs.setdefault("nHitBLayer",0)
279 kwargs.setdefault("nHitPix",2)
280 kwargs.setdefault("nHitSct",0)
281 kwargs.setdefault("nHitSi",7)
282 kwargs.setdefault("nHitTrt",20)
283 kwargs.setdefault("nHitTrtPlusOutliers",20)
284 kwargs.setdefault("nHitTrtPlusOutliersHighE",0)
285 kwargs.setdefault("nHitTrtHighE",0)
286
287 from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg
288 kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(InDetExtrapolatorCfg(flags)))
289
290 acc.setPrivateTools(acc.popToolsAndMerge(
291 InDetTrackSelectorToolCfg(flags, name, **kwargs)))
292 return acc
293
295 flags, name="TrigTau_InDetTrackSelectorTool", **kwargs):
296 acc = ComponentAccumulator()
297
298 if flags.Tracking.ActiveConfig.doTRT and "TrtDCCutTool" not in kwargs:
299 kwargs.setdefault("TrtDCCutTool", acc.popToolsAndMerge(
301
302 if "Extrapolator" not in kwargs:
303 from TrkConfig.AtlasExtrapolatorConfig import AtlasExtrapolatorCfg
304 kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(
305 AtlasExtrapolatorCfg(flags)))
306
307 kwargs.setdefault("pTMin", 1000.)
308 kwargs.setdefault("IPd0Max", 2.)
309 kwargs.setdefault("IPz0Max", 9999.)
310 kwargs.setdefault("nHitBLayer", 0)
311 kwargs.setdefault("nHitPix", 2) # PixelHits + PixelDeadSensors
312 kwargs.setdefault("nHitSct", 0) # SCTHits + SCTDeadSensors
313 kwargs.setdefault("nHitSi", 7) # PixelHits + SCTHits + PixelDeadSensors + SCTDeadSensors
314 kwargs.setdefault("nHitTrt", 0)
315 kwargs.setdefault("fitChi2OnNdfMax", 99999.)
316
317 kwargs.setdefault("useTrackSummaryInfo", True)
318 kwargs.setdefault("useSharedHitInfo", False)
319 kwargs.setdefault("useTrackQualityInfo", True)
320
321 acc.setPrivateTools(acc.popToolsAndMerge(
322 InDetTrackSelectorToolCfg(flags, name, **kwargs)))
323 return acc
InDetV0VxTrackSelectorLooseCfg(flags, name='InDetV0VxTrackSelectorLoose', **kwargs)
TauRecInDetTrackSelectorToolCfg(flags, name='tauRec_InDetTrackSelectorTool', **kwargs)
InDetTRTDriftCircleCutToolCfg(flags, name='InDetTRTDriftCircleCutTool', **kwargs)
TRT_InDetDetailedTrackSelectorToolCfg(flags, name="TRT_InDetDetailedTrackSelectorTool", **kwargs)
CaloTrkMuIdAlgTrackSelectorToolCfg(flags, name='CaloTrkMuIdAlgTrackSelectorTool', **kwargs)
InDetConversionTrackSelectorToolCfg(flags, name="TrackSelector", **kwargs)
V0InDetConversionTrackSelectorToolCfg(flags, name='InDetV0VxTrackSelector', **kwargs)
MuonCombinedInDetDetailedTrackSelectorToolCfg(flags, name="MuonCombinedInDetDetailedTrackSelectorTool", **kwargs)
MuonCombinedInDetDetailedForwardTrackSelectorToolCfg(flags, name='MuonCombinedInDetDetailedForwardTrackSelectorTool', **kwargs)
TrigTauInDetTrackSelectorToolCfg(flags, name="TrigTau_InDetTrackSelectorTool", **kwargs)
InDetImprovedJetFitterTrackSelectorToolCfg(flags, name='InDetImprovedJFTrackSelTool', **kwargs)
BPHY_InDetDetailedTrackSelectorToolCfg(flags, name='BPHY_InDetDetailedTrackSelectorTool', **kwargs)
MuonCombinedInDetDetailedTrackSelectorTool_LRTCfg(flags, name='MuonCombinedInDetDetailedTrackSelectorTool_LRT', **kwargs)
InDetTrackSelectorToolCfg(flags, name='InDetTrackSelectorTool', **kwargs)
InDetTrigTRTDriftCircleCutToolCfg(flags, name='InDetTrigTRTDriftCircleCutTool', **kwargs)