ATLAS Offline Software
Loading...
Searching...
No Matches
InDetTrackSelectionToolConfig.py
Go to the documentation of this file.
1# Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2# Configuration of InDetTrackSelectionTool package
3from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4from AthenaConfiguration.ComponentFactory import CompFactory
5from AthenaConfiguration.Enums import LHCPeriod, BeamType
6
7def InDetTrackSelectionToolCfg(flags, name="InDetTrackSelectionTool", **kwargs):
8 acc = ComponentAccumulator()
9 kwargs.setdefault("maxAbsEta",
10 2.5 if flags.GeoModel.Run <= LHCPeriod.Run3 else 4.0)
11 acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(name, **kwargs))
12 return acc
13
15 flags, name="InDetTrackSelectionTool", **kwargs):
16 acc = ComponentAccumulator()
17
18 if "Extrapolator" not in kwargs:
19 from TrkConfig.AtlasExtrapolatorConfig import InDetExtrapolatorCfg
20 kwargs.setdefault("Extrapolator", acc.popToolsAndMerge(InDetExtrapolatorCfg(flags)))
21
22 if "TrackSummaryTool" not in kwargs:
23 from TrkConfig.TrkTrackSummaryToolConfig import InDetTrackSummaryToolCfg
24 kwargs.setdefault("TrackSummaryTool", acc.popToolsAndMerge(InDetTrackSummaryToolCfg(flags)))
25
26 kwargs.setdefault("UseTrkTrackTools", True)
27
28 acc.setPrivateTools(acc.popToolsAndMerge(
29 InDetTrackSelectionToolCfg(flags, name, **kwargs)))
30 return acc
31
32
35
37 flags, name="InDetTrackSelectionTool_Loose", **kwargs):
38 kwargs.setdefault("CutLevel", "Loose")
39 return InDetTrackSelectionToolCfg(flags, name, **kwargs)
40
41def isoTrackSelectionToolCfg(flags, name="isoTrackSelectionTool", **kwargs):
42 kwargs.setdefault("minPt", 1000)
43 return InDetTrackSelectionTool_Loose_Cfg(flags, name, **kwargs)
44
46 flags, name="InDetTrackSelectionTool_Loose", **kwargs):
47 kwargs.setdefault("CutLevel", "Loose")
48 return InDetTrackSelectionTool_TrackTools_Cfg(flags, name, **kwargs)
49
50
53
55 flags, name="InDetTrackSelectionTool_LoosePrimary", **kwargs):
56 kwargs.setdefault("CutLevel", "LoosePrimary")
57 return InDetTrackSelectionToolCfg(flags, name, **kwargs)
58
59
62
64 flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs):
65 kwargs.setdefault("CutLevel", "TightPrimary")
66 return InDetTrackSelectionToolCfg(flags, name, **kwargs)
67
69 flags, name="InDetTrackSelectionTool_HILoose", **kwargs):
70 kwargs.setdefault("CutLevel", "HILoose")
71 return InDetTrackSelectionToolCfg(flags, name, **kwargs)
72
74 flags, name="InDetTrackSelectionTool_HITight", **kwargs):
75 kwargs.setdefault("CutLevel", "HITight")
76 return InDetTrackSelectionToolCfg(flags, name, **kwargs)
77
79 flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs):
80 kwargs.setdefault("CutLevel", "TightPrimary")
81 return InDetTrackSelectionTool_TrackTools_Cfg(flags, name, **kwargs)
82
83def PFTrackSelectionToolCfg(flags, name="PFTrackSelectionTool", **kwargs):
84 kwargs.setdefault("minPt", 500.0)
85 return InDetTrackSelectionTool_TightPrimary_Cfg(flags, name, **kwargs)
86
87
90
92 flags, name="VertexInDetTrackSelectionTool", **kwargs):
93 for key in (
94 "maxAbsEta",
95 "maxD0",
96 "maxNPixelHoles",
97 "maxSigmaD0",
98 "maxSigmaZ0SinTheta",
99 "maxZ0",
100 "maxZ0SinTheta",
101 "minNInnermostLayerHits",
102 "minNPixelHits",
103 "minNSctHits",
104 "minNSiHits",
105 "minNTrtHits",
106 "minPt",
107 ):
108 kwargs.setdefault(key, getattr(flags.Tracking.PriVertex, key))
109
110 kwargs.setdefault("UseTrkTrackTools", False)
111
112 # Cut level = NoCut for a few modes
113 if flags.Reco.EnableHI or \
114 flags.Tracking.doMinBias or \
115 flags.Tracking.doLowMu:
116 acc = ComponentAccumulator()
117 acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(name, **kwargs))
118 return acc
119
120 # Default is TightPrimary
121 else:
122 return InDetTrackSelectionTool_TightPrimary_Cfg(flags, name, **kwargs)
123
124
125def TrigVtxInDetTrackSelectionCfg(flags, name="InDetTrigDetailedTrackSelectionTool", **kwargs):
126
127 acc = ComponentAccumulator()
128 import AthenaCommon.SystemOfUnits as Units
129
130 kwargs.setdefault("CutLevel", "NoCut") #fill flags rather than hardcode here
131 kwargs.setdefault("minPt", 1.*Units.GeV)
132 kwargs.setdefault("maxD0", 4.*Units.mm)
133 kwargs.setdefault("maxZ0", 1000.*Units.mm)
134 kwargs.setdefault("maxZ0SinTheta",1000.*Units.mm)
135 kwargs.setdefault("maxSigmaD0", 5.)
136 kwargs.setdefault("maxSigmaZ0SinTheta", 10.)
137 kwargs.setdefault("maxChiSqperNdf", 3.5)
138 kwargs.setdefault("maxAbsEta", 2.4)
139 kwargs.setdefault("minNInnermostLayerHits", 0)
140 kwargs.setdefault("minNPixelHits", 1)
141 kwargs.setdefault("maxNPixelHoles", 1)
142 kwargs.setdefault("minNSctHits", 4)
143 kwargs.setdefault("minNTrtHits", 0)
144 kwargs.setdefault("minNSiHits", flags.Tracking.ActiveConfig.minNSiHits_vtx)
145 # N.B. Legacy config used to set extrapolator + trackSummary tools but since UseTrkTrackTools is not set to True, they're not used in the InDetTrackSelectionTool
146
147 acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(
148 name+flags.Tracking.ActiveConfig.input_name, **kwargs))
149 return acc
150
151def Tau_InDetTrackSelectionToolForTJVACfg(flags, name="tauRec_InDetTrackSelectionToolForTJVA", **kwargs):
152 acc = ComponentAccumulator()
153 kwargs.setdefault("minPt", 1000.)
154 kwargs.setdefault("minNPixelHits", 2)
155 kwargs.setdefault("minNSiHits", 7)
156 acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(name, **kwargs))
157 return acc
158
159def InDetGlobalLRTMonAlg_TrackSelectionToolCfg(flags, name="InDetGlobalLRTMonAlg_TrackSelectionTool", **kwargs):
160 kwargs.setdefault("minPt", 1000.)
161 kwargs.setdefault("maxNPixelHoles", 1)
162 return InDetTrackSelectionTool_TrackTools_Cfg(flags, name, **kwargs)
163
164def HI_InDetTrackSelectionToolForHITrackJetsCfg(flags, name="TrackSelHI", **kwargs):
165 """Provides track selection tool for HI track jet reconstruction."""
166 acc = ComponentAccumulator()
167 kwargs.setdefault("minNSiHits", 7)
168 kwargs.setdefault("maxAbsEta", 2.5)
169 kwargs.setdefault("maxNSiHoles", 2)
170 kwargs.setdefault("maxNPixelHoles", 1)
171 kwargs.setdefault("minPt", 4000.)
172 acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(name, **kwargs))
173 return acc
174
175
178
179
180def InDetTrackSelectionTool_AMSVF_Cfg(flags, name='InDetTrackSelectionTool_AMSVF', **kwargs):
181
182 kwargs.setdefault("CutLevel", "NoCut")
183 kwargs.setdefault("minPt", 1000.)
184 kwargs.setdefault("maxD0", 500.0)
185 kwargs.setdefault("maxZ0", 1500.)
186 kwargs.setdefault("maxSigmaD0", -1.0)
187 kwargs.setdefault("maxSigmaZ0SinTheta", -1.0)
188 kwargs.setdefault("maxChiSqperNdf", 5.0)
189 kwargs.setdefault("maxAbsEta", 2.5)
190 kwargs.setdefault("minNInnermostLayerHits", 0)
191 kwargs.setdefault("minNPixelHits", 0)
192 kwargs.setdefault("maxNPixelHoles", 1)
193 kwargs.setdefault("minNSctHits", 2)
194 kwargs.setdefault("minNTrtHits", 0)
195 kwargs.setdefault("minNSiHits", 0)
196 kwargs.setdefault("maxNSiSharedHits", 6)
197
198 return InDetTrackSelectionTool_TrackTools_Cfg(flags, name, **kwargs)
199
200
203
204
205def Align_InDetTrackSelectionToolCfg(flags, name="Align_InDetTrackSelectionTool", **kwargs):
206 if flags.Beam.Type is BeamType.Cosmics:
207 kwargs.setdefault("minNPixelHits", 1)
208 kwargs.setdefault("minNSctHits", 8)
209 kwargs.setdefault("minNSiHitsModTop", 2)
210 kwargs.setdefault("minNSiHitsModBottom", 2)
211
212 else:
213 kwargs.setdefault("minPt", 3000.)
214 kwargs.setdefault("maxEtaForTrtHitCuts", 1.9)
215 kwargs.setdefault("maxTrtEtaAcceptance", 0)
216 kwargs.setdefault("minNTrtHits", 0)
217 kwargs.setdefault("maxD0", 500.)
218 kwargs.setdefault("maxZ0", 500.)
219 kwargs.setdefault("minNPixelHitsPhysical", 2)
220 kwargs.setdefault("minNSiHitsPhysical", 10)
221 kwargs.setdefault("minNSctHits", 5)
222 kwargs.setdefault("minNSctHitsPhysical", 7)
223
224 return InDetTrackSelectionTool_TightPrimary_TrackTools_Cfg(flags, name, **kwargs)
225
226def Monitor_Align_InDetTrackSelectionToolCfg(flags, name="Monitor_Align_InDetTrackSelectionTool", **kwargs):
227 kwargs.setdefault("minPt", 1000.)
228 kwargs.setdefault("maxD0", 5000.)
229 kwargs.setdefault("maxZ0", 5000.)
230 kwargs.setdefault("minNNextToInnermostLayerHits", 1)
231 return InDetTrackSelectionTool_Loose_TrackTools_Cfg(flags, name, **kwargs)
232
Align_InDetTrackSelectionToolCfg(flags, name="Align_InDetTrackSelectionTool", **kwargs)
Configs for alignment #####.
isoTrackSelectionToolCfg(flags, name="isoTrackSelectionTool", **kwargs)
PFTrackSelectionToolCfg(flags, name="PFTrackSelectionTool", **kwargs)
InDetTrackSelectionTool_HILoose_Cfg(flags, name="InDetTrackSelectionTool_HILoose", **kwargs)
InDetTrackSelectionTool_TightPrimary_TrackTools_Cfg(flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs)
InDetTrackSelectionTool_LoosePrimary_Cfg(flags, name="InDetTrackSelectionTool_LoosePrimary", **kwargs)
Configs based on CutLevel LoosePrimary #####.
HI_InDetTrackSelectionToolForHITrackJetsCfg(flags, name="TrackSelHI", **kwargs)
InDetTrackSelectionTool_AMSVF_Cfg(flags, name='InDetTrackSelectionTool_AMSVF', **kwargs)
Configs for Sec Vtx #####.
InDetTrackSelectionTool_Loose_Cfg(flags, name="InDetTrackSelectionTool_Loose", **kwargs)
Configs based on CutLevel Loose #####.
InDetTrackSelectionTool_Loose_TrackTools_Cfg(flags, name="InDetTrackSelectionTool_Loose", **kwargs)
Monitor_Align_InDetTrackSelectionToolCfg(flags, name="Monitor_Align_InDetTrackSelectionTool", **kwargs)
TrigVtxInDetTrackSelectionCfg(flags, name="InDetTrigDetailedTrackSelectionTool", **kwargs)
InDetTrackSelectionToolCfg(flags, name="InDetTrackSelectionTool", **kwargs)
VtxInDetTrackSelectionCfg(flags, name="VertexInDetTrackSelectionTool", **kwargs)
Configs not based on any CutLevel #####.
InDetTrackSelectionTool_TightPrimary_Cfg(flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs)
Configs based on CutLevel TightPrimary #####.
InDetTrackSelectionTool_HITight_Cfg(flags, name="InDetTrackSelectionTool_HITight", **kwargs)
Tau_InDetTrackSelectionToolForTJVACfg(flags, name="tauRec_InDetTrackSelectionToolForTJVA", **kwargs)
InDetTrackSelectionTool_TrackTools_Cfg(flags, name="InDetTrackSelectionTool", **kwargs)
InDetGlobalLRTMonAlg_TrackSelectionToolCfg(flags, name="InDetGlobalLRTMonAlg_TrackSelectionTool", **kwargs)