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.Reco.EnableHI: #2023fix - in principle minBias and HI should use specific versions too
188  # return SiSpacePointsSeedMaker_HeavyIonCfg(flags, **kwargs)
189  # elif flags.Tracking.ActiveConfig.isLowPt:
190  # return SiSpacePointsSeedMaker_LowMomentumCfg(flags, **kwargs)
191  else:
192  kwargs.setdefault("maxdImpact", flags.Tracking.ActiveConfig.maxRPhiImpact)
193  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpact)
194  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpact)
195 
196  return SiSpacePointsSeedMaker_ATLxkCfg(flags,
197  name = 'TrigSiSpacePointsSeedMaker_'+flags.Tracking.ActiveConfig.input_name,
198  **kwargs)
199 
200 
201 def ITkSiSpacePointsSeedMakerCfg(flags, name="ITkSpSeedsMaker", **kwargs):
202  acc = ComponentAccumulator()
203 
204  kwargs.setdefault("pTmin", flags.Tracking.ActiveConfig.minPTSeed)
205  kwargs.setdefault("maxdImpact",
206  flags.Tracking.ActiveConfig.maxPrimaryImpactSeed)
207  kwargs.setdefault("maxZ", flags.Tracking.ActiveConfig.maxZImpactSeed)
208  kwargs.setdefault("minZ", -flags.Tracking.ActiveConfig.maxZImpactSeed)
209  kwargs.setdefault("radMax", flags.Tracking.ActiveConfig.radMax)
210  kwargs.setdefault("etaMax", flags.Tracking.ActiveConfig.maxEta)
211 
212  kwargs.setdefault("usePixel",
213  flags.Tracking.ActiveConfig.useITkPixel and
214  flags.Tracking.ActiveConfig.useITkPixelSeeding)
215  kwargs.setdefault("SpacePointsPixelName", 'ITkPixelSpacePoints')
216  kwargs.setdefault("useStrip",
217  flags.Tracking.ActiveConfig.useITkStrip and
218  flags.Tracking.ActiveConfig.useITkStripSeeding)
219  kwargs.setdefault("SpacePointsStripName", 'ITkStripSpacePoints')
220  kwargs.setdefault("useOverlapSpCollection",
221  flags.Tracking.ActiveConfig.useITkStrip and
222  flags.Tracking.ActiveConfig.useITkStripSeeding)
223  kwargs.setdefault("SpacePointsOverlapName", 'ITkOverlapSpacePoints')
224 
225  if flags.Tracking.ActiveConfig.usePrdAssociationTool:
226  # not all classes have that property !!!
227  kwargs.setdefault("PRDtoTrackMap", (
228  'ITkPRDtoTrackMap' + flags.Tracking.ActiveConfig.extension))
229 
230  if flags.Tracking.doITkFastTracking:
231  kwargs.setdefault("useFastTracking", True)
232  kwargs.setdefault("maxSeedsForSpacePoint", 3)
233 
234  if flags.Tracking.ActiveConfig.extension == "LargeD0":
235  kwargs.setdefault("isLRT", True)
236 
237  if flags.Tracking.writeSeedValNtuple:
238  kwargs.setdefault("WriteNtuple", True)
239  acc.addService(CompFactory.THistSvc(
240  Output=["valNtuples DATAFILE='SeedMakerValidation.root' OPT='RECREATE'"]))
241 
242  acc.setPrivateTools(CompFactory.ITk.SiSpacePointsSeedMaker(
243  name+flags.Tracking.ActiveConfig.extension, **kwargs))
244  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:201
python.SiSpacePointsSeedToolConfig.SiSpacePointsSeedMaker_LowMomentumCfg
def SiSpacePointsSeedMaker_LowMomentumCfg(flags, name="InDetSpSeedsMaker_LowMomentum", **kwargs)
Definition: SiSpacePointsSeedToolConfig.py:38