ATLAS Offline Software
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
3 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
4 from AthenaConfiguration.ComponentFactory import CompFactory
5 from AthenaConfiguration.Enums import LHCPeriod
6 
7 def InDetTrackSelectionToolCfg(flags, name="InDetTrackSelectionTool", **kwargs):
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 
41 def isoTrackSelectionToolCfg(flags, name="isoTrackSelectionTool", **kwargs):
42  kwargs.setdefault("minPt", 1000)
43  return InDetTrackSelectionTool_Loose_Cfg(flags, name, **kwargs)
44 
45 
48 
50  flags, name="InDetTrackSelectionTool_LoosePrimary", **kwargs):
51  kwargs.setdefault("CutLevel", "LoosePrimary")
52  return InDetTrackSelectionToolCfg(flags, name, **kwargs)
53 
54 
57 
59  flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs):
60  kwargs.setdefault("CutLevel", "TightPrimary")
61  return InDetTrackSelectionToolCfg(flags, name, **kwargs)
62 
64  flags, name="InDetTrackSelectionTool_HILoose", **kwargs):
65  kwargs.setdefault("CutLevel", "HILoose")
66  return InDetTrackSelectionToolCfg(flags, name, **kwargs)
67 
69  flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs):
70  kwargs.setdefault("CutLevel", "TightPrimary")
71  return InDetTrackSelectionTool_TrackTools_Cfg(flags, name, **kwargs)
72 
73 def PFTrackSelectionToolCfg(flags, name="PFTrackSelectionTool", **kwargs):
74  kwargs.setdefault("minPt", 500.0)
75  return InDetTrackSelectionTool_TightPrimary_Cfg(flags, name, **kwargs)
76 
78  flags, name="IDAlignMonTrackSelectionTool", **kwargs):
79  kwargs.setdefault("TrackSummaryTool", None)
80  kwargs.setdefault("maxNPixelHoles" , 1)
81  kwargs.setdefault("minNBothInnermostLayersHits", 0)
82  kwargs.setdefault("minNInnermostLayerHits" , 1)
83  kwargs.setdefault("minPt" , 5000)
84  kwargs.setdefault("maxD0" , 100000)
85  kwargs.setdefault("maxZ0SinTheta" , 150)
86  return InDetTrackSelectionTool_TightPrimary_TrackTools_Cfg(flags, name, **kwargs)
87 
88 
91 
93  flags, name="VertexInDetTrackSelectionTool", **kwargs):
94  for key in (
95  "maxAbsEta",
96  "maxD0",
97  "maxNPixelHoles",
98  "maxSigmaD0",
99  "maxSigmaZ0SinTheta",
100  "maxZ0",
101  "maxZ0SinTheta",
102  "minNInnermostLayerHits",
103  "minNPixelHits",
104  "minNSctHits",
105  "minNSiHits",
106  "minNTrtHits",
107  "minPt",
108  ):
109  kwargs.setdefault(key, getattr(flags.Tracking.PriVertex, key))
110 
111  kwargs.setdefault("UseTrkTrackTools", False)
112 
113  # Cut level = NoCut for a few modes
114  if flags.Reco.EnableHI or \
115  flags.Tracking.doMinBias or \
116  flags.Tracking.doLowMu:
117  acc = ComponentAccumulator()
118  acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(name, **kwargs))
119  return acc
120 
121  # Default is TightPrimary
122  else:
123  return InDetTrackSelectionTool_TightPrimary_Cfg(flags, name, **kwargs)
124 
125 
126 def TrigVtxInDetTrackSelectionCfg(flags, name="InDetTrigDetailedTrackSelectionTool", **kwargs):
127 
128  acc = ComponentAccumulator()
129  import AthenaCommon.SystemOfUnits as Units
130 
131  kwargs.setdefault("CutLevel", "NoCut") #fill flags rather than hardcode here
132  kwargs.setdefault("minPt", 1.*Units.GeV)
133  kwargs.setdefault("maxD0", 4.*Units.mm)
134  kwargs.setdefault("maxZ0", 1000.*Units.mm)
135  kwargs.setdefault("maxZ0SinTheta",1000.*Units.mm)
136  kwargs.setdefault("maxSigmaD0", 5.)
137  kwargs.setdefault("maxSigmaZ0SinTheta", 10.)
138  kwargs.setdefault("maxChiSqperNdf", 3.5)
139  kwargs.setdefault("maxAbsEta", 2.4)
140  kwargs.setdefault("minNInnermostLayerHits", 0)
141  kwargs.setdefault("minNPixelHits", 1)
142  kwargs.setdefault("maxNPixelHoles", 1)
143  kwargs.setdefault("minNSctHits", 4)
144  kwargs.setdefault("minNTrtHits", 0)
145  kwargs.setdefault("minNSiHits", flags.Tracking.ActiveConfig.minNSiHits_vtx)
146  # 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
147 
148  acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(
149  name+flags.Tracking.ActiveConfig.input_name, **kwargs))
150  return acc
151 
152 def Tau_InDetTrackSelectionToolForTJVACfg(flags, name="tauRec_InDetTrackSelectionToolForTJVA", **kwargs):
153  acc = ComponentAccumulator()
154  kwargs.setdefault("minPt", 1000.)
155  kwargs.setdefault("minNPixelHits", 2)
156  kwargs.setdefault("minNSiHits", 7)
157  acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(name, **kwargs))
158  return acc
159 
160 def InDetGlobalLRTMonAlg_TrackSelectionToolCfg(flags, name="InDetGlobalLRTMonAlg_TrackSelectionTool", **kwargs):
161  kwargs.setdefault("minPt", 1000.)
162  kwargs.setdefault("maxNPixelHoles", 1)
163  return InDetTrackSelectionTool_TrackTools_Cfg(flags, name, **kwargs)
164 
165 def HI_InDetTrackSelectionToolForHITrackJetsCfg(flags, name="TrackSelHI", **kwargs):
166  """Provides track selection tool for HI track jet reconstruction."""
167  acc = ComponentAccumulator()
168  kwargs.setdefault("minNSiHits", 7)
169  kwargs.setdefault("maxAbsEta", 2.5)
170  kwargs.setdefault("maxNSiHoles", 2)
171  kwargs.setdefault("maxNPixelHoles", 1)
172  kwargs.setdefault("minPt", 4000.)
173  acc.setPrivateTools(CompFactory.InDet.InDetTrackSelectionTool(name, **kwargs))
174  return acc
175 
176 
179 
180 
181 def InDetTrackSelectionTool_AMSVF_Cfg(flags, name='InDetTrackSelectionTool_AMSVF', **kwargs):
182 
183  kwargs.setdefault("CutLevel", "NoCut")
184  kwargs.setdefault("minPt", 1000.)
185  kwargs.setdefault("maxD0", 500.0)
186  kwargs.setdefault("maxZ0", 1500.)
187  kwargs.setdefault("maxSigmaD0", -1.0)
188  kwargs.setdefault("maxSigmaZ0SinTheta", -1.0)
189  kwargs.setdefault("maxChiSqperNdf", 5.0)
190  kwargs.setdefault("maxAbsEta", 2.5)
191  kwargs.setdefault("minNInnermostLayerHits", 0)
192  kwargs.setdefault("minNPixelHits", 0)
193  kwargs.setdefault("maxNPixelHoles", 1)
194  kwargs.setdefault("minNSctHits", 2)
195  kwargs.setdefault("minNTrtHits", 0)
196  kwargs.setdefault("minNSiHits", 0)
197  kwargs.setdefault("maxNSiSharedHits", 6)
198 
199  return InDetTrackSelectionTool_TrackTools_Cfg(flags, name, **kwargs)
SystemOfUnits
python.InDetTrackSelectionToolConfig.PFTrackSelectionToolCfg
def PFTrackSelectionToolCfg(flags, name="PFTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:73
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_TightPrimary_Cfg
def InDetTrackSelectionTool_TightPrimary_Cfg(flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs)
Configs based on CutLevel TightPrimary #####.
Definition: InDetTrackSelectionToolConfig.py:58
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_AMSVF_Cfg
def InDetTrackSelectionTool_AMSVF_Cfg(flags, name='InDetTrackSelectionTool_AMSVF', **kwargs)
Configs for Sec Vtx #####.
Definition: InDetTrackSelectionToolConfig.py:181
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_LoosePrimary_Cfg
def InDetTrackSelectionTool_LoosePrimary_Cfg(flags, name="InDetTrackSelectionTool_LoosePrimary", **kwargs)
Configs based on CutLevel LoosePrimary #####.
Definition: InDetTrackSelectionToolConfig.py:49
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_TightPrimary_TrackTools_Cfg
def InDetTrackSelectionTool_TightPrimary_TrackTools_Cfg(flags, name="InDetTrackSelectionTool_TightPrimary", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:68
python.InDetTrackSelectionToolConfig.TrigVtxInDetTrackSelectionCfg
def TrigVtxInDetTrackSelectionCfg(flags, name="InDetTrigDetailedTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:126
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_Loose_Cfg
def InDetTrackSelectionTool_Loose_Cfg(flags, name="InDetTrackSelectionTool_Loose", **kwargs)
Configs based on CutLevel Loose #####.
Definition: InDetTrackSelectionToolConfig.py:36
python.InDetTrackSelectionToolConfig.InDetTrackSelectionToolCfg
def InDetTrackSelectionToolCfg(flags, name="InDetTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:7
python.InDetTrackSelectionToolConfig.HI_InDetTrackSelectionToolForHITrackJetsCfg
def HI_InDetTrackSelectionToolForHITrackJetsCfg(flags, name="TrackSelHI", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:165
python.InDetTrackSelectionToolConfig.VtxInDetTrackSelectionCfg
def VtxInDetTrackSelectionCfg(flags, name="VertexInDetTrackSelectionTool", **kwargs)
Configs not based on any CutLevel #####.
Definition: InDetTrackSelectionToolConfig.py:92
python.TrkTrackSummaryToolConfig.InDetTrackSummaryToolCfg
def InDetTrackSummaryToolCfg(flags, name='InDetTrackSummaryTool', **kwargs)
Definition: TrkTrackSummaryToolConfig.py:22
python.InDetTrackSelectionToolConfig.IDAlignMonTrackSelectionToolCfg
def IDAlignMonTrackSelectionToolCfg(flags, name="IDAlignMonTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:77
python.InDetTrackSelectionToolConfig.isoTrackSelectionToolCfg
def isoTrackSelectionToolCfg(flags, name="isoTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:41
python.InDetTrackSelectionToolConfig.Tau_InDetTrackSelectionToolForTJVACfg
def Tau_InDetTrackSelectionToolForTJVACfg(flags, name="tauRec_InDetTrackSelectionToolForTJVA", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:152
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_TrackTools_Cfg
def InDetTrackSelectionTool_TrackTools_Cfg(flags, name="InDetTrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:14
python.InDetTrackSelectionToolConfig.InDetTrackSelectionTool_HILoose_Cfg
def InDetTrackSelectionTool_HILoose_Cfg(flags, name="InDetTrackSelectionTool_HILoose", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:63
python.AtlasExtrapolatorConfig.InDetExtrapolatorCfg
def InDetExtrapolatorCfg(flags, name='InDetExtrapolator', **kwargs)
Definition: AtlasExtrapolatorConfig.py:315
python.InDetTrackSelectionToolConfig.InDetGlobalLRTMonAlg_TrackSelectionToolCfg
def InDetGlobalLRTMonAlg_TrackSelectionToolCfg(flags, name="InDetGlobalLRTMonAlg_TrackSelectionTool", **kwargs)
Definition: InDetTrackSelectionToolConfig.py:160