ATLAS Offline Software
SiSpacePointsSeedToolConfig.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
2 # Configuration of SiSpacePointsSeedTool_xk package
3 from AthenaConfiguration.ComponentFactory import CompFactory
4 from AthenaConfiguration.ComponentAccumulator import ComponentAccumulator
5 from AthenaConfiguration.Enums import BeamType
6 
7 
9  flags, name="InDetSpSeedsMaker_Cosmic", **kwargs):
10  acc = ComponentAccumulator()
11 
12  kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
13 
14  acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_Cosmic(
15  name, **kwargs))
16  return acc
17 
18 
20  flags, name="InDetSpSeedsMaker_HeavyIon", **kwargs):
21  acc = ComponentAccumulator()
22 
23  kwargs.setdefault("maxdImpact",
24  flags.Tracking.ActiveConfig.maxPrimaryImpact)
25  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
26  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
27  kwargs.setdefault("maxdImpactPPS",
28  flags.Tracking.ActiveConfig.maxdImpactPPSSeeds)
29  kwargs.setdefault("maxdImpactSSS",
30  flags.Tracking.ActiveConfig.maxdImpactSSSSeeds)
31  kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
32 
33  acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_HeavyIon(
34  name+flags.Tracking.ActiveConfig.extension, **kwargs))
35  return acc
36 
37 
39  flags, name="InDetSpSeedsMaker_LowMomentum", **kwargs):
40  acc = ComponentAccumulator()
41 
42  kwargs.setdefault("maxdImpact",
43  flags.Tracking.ActiveConfig.maxPrimaryImpact)
44  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
45  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
46  kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
47 
48  kwargs.setdefault("maxRadius1",
49  0.75*flags.Tracking.ActiveConfig.radMax)
50  kwargs.setdefault("maxRadius2",
51  flags.Tracking.ActiveConfig.radMax)
52  kwargs.setdefault("pTmax", flags.Tracking.ActiveConfig.maxPT)
53  kwargs.setdefault("mindRadius", 4.0)
54 
55  acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_LowMomentum(
56  name+flags.Tracking.ActiveConfig.extension, **kwargs))
57  return acc
58 
59 
61  flags, name="InDetSpSeedsMaker_BeamGas", **kwargs):
62  acc = ComponentAccumulator()
63 
64  kwargs.setdefault("maxdImpact",
65  flags.Tracking.ActiveConfig.maxPrimaryImpact)
66  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
67  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
68  kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
69 
70  kwargs.setdefault("maxRadius1",
71  0.75*flags.Tracking.ActiveConfig.radMax)
72  kwargs.setdefault("maxRadius2",
73  flags.Tracking.ActiveConfig.radMax)
74  kwargs.setdefault("maxRadius3",
75  flags.Tracking.ActiveConfig.radMax)
76 
77  acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_BeamGas(
78  name, **kwargs))
79  return acc
80 
81 
83  flags, name="InDetSpSeedsMaker", **kwargs):
84  acc = ComponentAccumulator()
85 
86  kwargs.setdefault("maxdImpact",
87  flags.Tracking.ActiveConfig.maxPrimaryImpact)
88  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
89  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
90  kwargs.setdefault("fieldScale",flags.BField.configuredSolenoidFieldScale)
91 
92  if flags.Tracking.ActiveConfig.extension in ["", "Forward"]:
93  kwargs.setdefault("maxdImpactSSS",
94  flags.Tracking.ActiveConfig.maxdImpactSSSSeeds)
95  kwargs.setdefault("maxSeedsForSpacePointStrips",
96  flags.Tracking.ActiveConfig.maxSeedsPerSP_Strips)
97  kwargs.setdefault("maxSeedsForSpacePointPixels",
98  flags.Tracking.ActiveConfig.maxSeedsPerSP_Pixels)
99  kwargs.setdefault("alwaysKeepConfirmedStripSeeds",
100  flags.Tracking.ActiveConfig.keepAllConfirmedStripSeeds)
101  kwargs.setdefault("alwaysKeepConfirmedPixelSeeds",
102  flags.Tracking.ActiveConfig.keepAllConfirmedPixelSeeds)
103  kwargs.setdefault("mindRadius", 10)
104  kwargs.setdefault("maxSizeSP", 200)
105  kwargs.setdefault("dImpactCutSlopeUnconfirmedSSS", 1.25)
106  kwargs.setdefault("dImpactCutSlopeUnconfirmedPPP", 2.0)
107 
108  if flags.Tracking.ActiveConfig.extension == "Forward":
109  kwargs.setdefault("checkEta", True)
110  kwargs.setdefault("etaMin", flags.Tracking.ActiveConfig.minEta)
111 
112  elif flags.Tracking.ActiveConfig.extension == "R3LargeD0":
113  kwargs.setdefault("optimisePhiBinning", False)
114  kwargs.setdefault("maxSeedsForSpacePointStrips",
115  flags.Tracking.ActiveConfig.maxSeedsPerSP_Strips)
116  kwargs.setdefault("alwaysKeepConfirmedStripSeeds",
117  flags.Tracking.ActiveConfig.keepAllConfirmedStripSeeds)
118  kwargs.setdefault("maxdRadius", 150)
119  kwargs.setdefault("seedScoreBonusConfirmationSeed", -2000)
120 
121  if flags.Tracking.writeSeedValNtuple:
122  kwargs.setdefault("WriteNtuple", True)
123  acc.addService(CompFactory.THistSvc(
124  Output=["valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"]))
125 
126  acc.setPrivateTools(CompFactory.InDet.SiSpacePointsSeedMaker_ATLxk(
127  name+flags.Tracking.ActiveConfig.extension, **kwargs))
128  return acc
129 
130 
131 def SiSpacePointsSeedMakerCfg(flags, **kwargs):
132  # Properties valid for all of the classes
133  kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT)
134  kwargs.setdefault("radMax", flags.Tracking.ActiveConfig.radMax)
135  kwargs.setdefault("etaMax", flags.Tracking.ActiveConfig.maxEta)
136  kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.usePixelSeeding)
137  kwargs.setdefault("SpacePointsPixelName", 'PixelSpacePoints')
138  kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useSCTSeeding)
139  kwargs.setdefault("SpacePointsSCTName", 'SCT_SpacePoints')
140  kwargs.setdefault("useOverlapSpCollection",
141  flags.Tracking.ActiveConfig.useSCTSeeding)
142  kwargs.setdefault("SpacePointsOverlapName", 'OverlapSpacePoints')
143 
144  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
145  # not all classes have that property !!!
146  kwargs.setdefault("PRDtoTrackMap", (
147  'InDetPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
148 
149  #
150  # --- Space points seeds maker, use different ones for cosmics and collisions
151  #
152  if flags.Beam.Type is BeamType.Cosmics:
153  return SiSpacePointsSeedMaker_CosmicCfg(flags, **kwargs)
154  elif flags.Tracking.ActiveConfig.isLowPt:
155  return SiSpacePointsSeedMaker_LowMomentumCfg(flags, **kwargs)
156  elif flags.Tracking.ActiveConfig.extension == "HeavyIon":
157  return SiSpacePointsSeedMaker_HeavyIonCfg(flags, **kwargs)
158  elif flags.Tracking.ActiveConfig.extension == "BeamGas":
159  return SiSpacePointsSeedMaker_BeamGasCfg(flags, **kwargs)
160  else:
161  return SiSpacePointsSeedMaker_ATLxkCfg(flags, **kwargs)
162 
163 
164 def TrigSiSpacePointsSeedMakerCfg(flags, **kwargs):
165 
166  # Properties valid for all of the classes
167  kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPT)
168  kwargs.setdefault("radMax", flags.Tracking.ActiveConfig.radMax)
169  kwargs.setdefault("etaMax", flags.Tracking.ActiveConfig.maxEta)
170  kwargs.setdefault("usePixel", flags.Tracking.ActiveConfig.usePixelSeeding)
171  kwargs.setdefault("SpacePointsPixelName", 'PixelTrigSpacePoints')
172  kwargs.setdefault("useSCT", flags.Tracking.ActiveConfig.useSCTSeeding)
173  kwargs.setdefault("SpacePointsSCTName", 'SCT_TrigSpacePoints')
174  kwargs.setdefault("useOverlapSpCollection",
175  flags.Tracking.ActiveConfig.useSCTSeeding)
176  kwargs.setdefault("SpacePointsOverlapName", 'OverlapSpacePoints')
177 
178  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
179  # not all classes have that property !!!
180  kwargs.setdefault("PRDtoTrackMap", 'TrigPRDtoTrackMap') #2023fix + flags.Tracking.ActiveConfig.extension))
181 
182  #
183  # --- Space points seeds maker, use different ones for cosmics and collisions
184  #
185  if flags.Tracking.ActiveConfig.input_name=="cosmics":
186  return SiSpacePointsSeedMaker_CosmicCfg(flags, **kwargs)
187  elif flags.Tracking.ActiveConfig.input_name=="minBiasPixel":
188  return SiSpacePointsSeedMaker_LowMomentumCfg(flags, **kwargs)
189  # elif flags.Reco.EnableHI: #2023fix - in principle minBias and HI should use specific versions too
190  # return SiSpacePointsSeedMaker_HeavyIonCfg(flags, **kwargs)
191  # elif flags.Tracking.ActiveConfig.isLowPt:
192  # return SiSpacePointsSeedMaker_LowMomentumCfg(flags, **kwargs)
193  else:
194  kwargs.setdefault("maxdImpact", flags.Tracking.ActiveConfig.maxPrimaryImpact)
195  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
196  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
197 
198  return SiSpacePointsSeedMaker_ATLxkCfg(flags,
199  name = 'TrigSiSpacePointsSeedMaker_'+flags.Tracking.ActiveConfig.input_name,
200  **kwargs)
201 
202 
203 def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", **kwargs):
204  acc = ComponentAccumulator()
205 
206  kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPTSeed)
207  kwargs.setdefault("maxdImpact",
208  flags.Tracking.ActiveConfig.maxPrimaryImpactSeed)
209  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpactSeed)
210  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpactSeed)
211  kwargs.setdefault("radMax", flags.Tracking.ActiveConfig.radMax)
212  kwargs.setdefault("etaMax", flags.Tracking.ActiveConfig.maxEta)
213 
214  kwargs.setdefault("usePixel",
215  flags.Tracking.ActiveConfig.useITkPixel and
216  flags.Tracking.ActiveConfig.useITkPixelSeeding)
217  kwargs.setdefault("SpacePointsPixelName", 'ITkPixelSpacePoints')
218  kwargs.setdefault("useStrip",
219  flags.Tracking.ActiveConfig.useITkStrip and
220  flags.Tracking.ActiveConfig.useITkStripSeeding)
221  kwargs.setdefault("SpacePointsStripName", 'ITkStripSpacePoints')
222  kwargs.setdefault("useOverlapSpCollection",
223  flags.Tracking.ActiveConfig.useITkStrip and
224  flags.Tracking.ActiveConfig.useITkStripSeeding)
225  kwargs.setdefault("SpacePointsOverlapName", 'ITkOverlapSpacePoints')
226 
227  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
228  # not all classes have that property !!!
229  kwargs.setdefault("PRDtoTrackMap", (
230  'ITkPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
231 
232  if flags.Tracking.doITkFastTracking:
233  kwargs.setdefault("useFastTracking", True)
234  kwargs.setdefault("maxSeedsForSpacePoint", 3)
235 
236  if flags.Tracking.ActiveConfig.extension == "LargeD0":
237  kwargs.setdefault("isLRT", True)
238 
239  if flags.Tracking.writeSeedValNtuple:
240  kwargs.setdefault("WriteNtuple", True)
241  acc.addService(CompFactory.THistSvc(
242  Output=["valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"]))
243 
244  acc.setPrivateTools(CompFactory.ITk.SiSpacePointsSeedMaker(
245  name+flags.Tracking.ActiveConfig.extension, **kwargs))
246  return acc
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMaker_BeamGasCfg
def SiSpacePointsSeedMaker_BeamGasCfg(flags, name="InDetSpSeedsMaker_BeamGas", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:60
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMaker_CosmicCfg
def SiSpacePointsSeedMaker_CosmicCfg(flags, name="InDetSpSeedsMaker_Cosmic", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:8
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMakerCfg
def SiSpacePointsSeedMakerCfg(flags, **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:131
python.SiSpacePointsSeedToolConfig.TrigSiSpacePointsSeedMakerCfg
def TrigSiSpacePointsSeedMakerCfg(flags, **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:164
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMaker_HeavyIonCfg
def SiSpacePointsSeedMaker_HeavyIonCfg(flags, name="InDetSpSeedsMaker_HeavyIon", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:19
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMaker_ATLxkCfg
def SiSpacePointsSeedMaker_ATLxkCfg(flags, name="InDetSpSeedsMaker", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:82
python.SiSpacePointsSeedToolConfig.ITkSiSpacePointsSeedMakerCfg
def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:203
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMaker_LowMomentumCfg
def SiSpacePointsSeedMaker_LowMomentumCfg(flags, name="InDetSpSeedsMaker_LowMomentum", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:38