ATLAS Offline Software
Functions
ActsTrackFindingConfig Namespace Reference

Functions

list isdet (flags, *list pixel=None, list strip=None)
 
ComponentAccumulator ActsTrackStatePrinterCfg (flags, str name="ActsTrackStatePrinterTool", **kwargs)
 
ComponentAccumulator ActsMainTrackFindingAlgCfg (flags, str name="ActsTrackFindingAlg", **kwargs)
 
ComponentAccumulator ActsTrackFindingCfg (flags, **kwargs)
 
ComponentAccumulator ActsMainAmbiguityResolutionAlgCfg (flags, str name="ActsAmbiguityResolutionAlg", **kwargs)
 
ComponentAccumulator ActsAmbiguityResolutionCfg (flags, **kwargs)
 
ComponentAccumulator ActsTrackToTrackParticleCnvAlgCfg (flags, str name="ActsTrackToTrackParticleCnvAlg", **kwargs)
 

Function Documentation

◆ ActsAmbiguityResolutionCfg()

ComponentAccumulator ActsTrackFindingConfig.ActsAmbiguityResolutionCfg (   flags,
**  kwargs 
)

Definition at line 257 of file ActsTrackFindingConfig.py.

258  **kwargs) -> ComponentAccumulator:
259  acc = ComponentAccumulator()
260  kwargs.setdefault('TracksLocation', f"{flags.Tracking.ActiveConfig.extension}Tracks")
261  kwargs.setdefault('ResolvedTracksLocation', f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks")
262  acc.merge(ActsMainAmbiguityResolutionAlgCfg(flags,
263  name=f"{flags.Tracking.ActiveConfig.extension}AmbiguityResolutionAlg",
264  **kwargs))
265 
266  # Analysis extensions
267  if flags.Acts.doAnalysis:
268  from ActsConfig.ActsAnalysisConfig import ActsTrackAnalysisAlgCfg
269  acc.merge(ActsTrackAnalysisAlgCfg(flags,
270  name=f"{flags.Tracking.ActiveConfig.extension}ResolvedTrackAnalysisAlg",
271  TracksLocation=f"{flags.Tracking.ActiveConfig.extension}ResolvedTracks"))
272  return acc
273 

◆ ActsMainAmbiguityResolutionAlgCfg()

ComponentAccumulator ActsTrackFindingConfig.ActsMainAmbiguityResolutionAlgCfg (   flags,
str   name = "ActsAmbiguityResolutionAlg",
**  kwargs 
)

Definition at line 232 of file ActsTrackFindingConfig.py.

233  name: str = "ActsAmbiguityResolutionAlg",
234  **kwargs) -> ComponentAccumulator:
235  acc = ComponentAccumulator()
236 
237  kwargs.setdefault('TracksLocation', 'ActsTracks')
238  kwargs.setdefault('ResolvedTracksLocation', 'ActsResolvedTracks')
239  kwargs.setdefault('MaximumSharedHits', 3)
240  kwargs.setdefault('MaximumIterations', 10000)
241  kwargs.setdefault('NMeasurementsMin', 7)
242 
243  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
244  from ActsConfig.ActsMonitoringConfig import ActsAmbiguityResolutionMonitoringToolCfg
245  kwargs.setdefault('MonTool', acc.popToolsAndMerge(
247  if 'TrackingGeometryTool' not in kwargs:
248  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
249  kwargs.setdefault(
250  "TrackingGeometryTool",
251  acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags)))
252  acc.addEventAlgo(
253  CompFactory.ActsTrk.AmbiguityResolutionAlg(name, **kwargs))
254  return acc
255 
256 

◆ ActsMainTrackFindingAlgCfg()

ComponentAccumulator ActsTrackFindingConfig.ActsMainTrackFindingAlgCfg (   flags,
str   name = "ActsTrackFindingAlg",
**  kwargs 
)

Definition at line 47 of file ActsTrackFindingConfig.py.

48  name: str = "ActsTrackFindingAlg",
49  **kwargs) -> ComponentAccumulator:
50  def tolist(c):
51  return c if isinstance(c, list) else [c]
52 
53  acc = ComponentAccumulator()
54 
55  # Seed labels and collections. These 3 lists must match element for element.
56  kwargs.setdefault("SeedLabels", isdet(flags, pixel=["PPP"], strip=["SSS"]))
57  kwargs.setdefault("EstimatedTrackParametersKeys", isdet(flags, pixel=["ActsPixelEstimatedTrackParams"], strip=["ActsStripEstimatedTrackParams"]))
58  kwargs.setdefault("SeedContainerKeys", isdet(flags, pixel=["ActsPixelSeeds"], strip=["ActsStripSeeds"]))
59  # Measurement collections. These 2 lists must match element for element.
60  kwargs.setdefault("UncalibratedMeasurementContainerKeys", isdet(flags, pixel=["ITkPixelClusters_Cached" if flags.Acts.useCache else "ITkPixelClusters"], strip=["ITkStripClusters_Cached" if flags.Acts.useCache else "ITkStripClusters"]))
61  kwargs.setdefault("DetectorElementCollectionKeys", isdet(flags, pixel=["ITkPixelDetectorElementCollection"], strip=["ITkStripDetectorElementCollection"]))
62 
63  kwargs.setdefault('ACTSTracksLocation', 'ActsTracks')
64 
65  kwargs.setdefault("maxPropagationStep", 10000)
66  kwargs.setdefault("skipDuplicateSeeds", flags.Acts.skipDuplicateSeeds)
67  kwargs.setdefault("doTwoWay", flags.Acts.doTwoWayCKF)
68  # bins in |eta|, used for both MeasurementSelectorCuts and TrackSelector::EtaBinnedConfig
69  if flags.Detector.GeometryITk:
70  kwargs.setdefault("etaBins", flags.Tracking.ActiveConfig.etaBins)
71  kwargs.setdefault("chi2CutOff", tolist(flags.Tracking.ActiveConfig.Xi2maxNoAdd))
72  # @ TODO when using the new measurement selector can chose chi2 cut-off for outliers and measurements
73  # if flags.Acts.useDefaultActsMeasurementSelector is True :
74  # # only a single chi2 cut-off exist for the default Acts measurement selector
75  # kwargs.setdefault("chi2CutOff", tolist(flags.Tracking.ActiveConfig.Xi2maxNoAdd))
76  # else :
77  # # clusters with chi2 above this value will be treated as outliers
78  # kwargs.setdefault("chi2CutOff", tolist(flags.Tracking.ActiveConfig.Xi2maxNo))
79  # # clusters with chi2 above this value will be discarded.
80  # kwargs.setdefault("chi2OutlierCutOff", tolist(flags.Tracking.ActiveConfig.Xi2maxNoAdd))
81  kwargs.setdefault("numMeasurementsCutOff", [1])
82 
83  # there is always an over and underflow bin so the first bin will be 0. - 0.5 the last bin 3.5 - inf.
84  # if all eta bins are >=0. the counter will be categorized by abs(eta) otherwise eta
85  kwargs.setdefault("StatisticEtaBins", [eta/10. for eta in range(5, 40, 5)]) # eta 0.0 - 4.0 in steps of 0.5
86 
87  if flags.Acts.doTrackFindingTrackSelector:
88  # Use settings from flags.Tracking.ActiveConfig, initialised in createITkTrackingPassFlags() at
89  # https://gitlab.cern.ch/atlas/athena/-/blob/main/Tracking/TrkConfig/python/TrackingPassFlags.py#L215
90  kwargs.setdefault("absEtaMax", flags.Tracking.ActiveConfig.maxEta)
91  kwargs.setdefault("ptMin",
92  [p / Units.GeV * UnitConstants.GeV for p in tolist(flags.Tracking.ActiveConfig.minPT)])
93  kwargs.setdefault("minMeasurements",
94  tolist(flags.Tracking.ActiveConfig.minClusters))
95  if flags.Acts.doTrackFindingTrackSelector == 2:
96  # use the same cut for all eta - for comparison with previous behaviour
97  kwargs["ptMin"] = [min(kwargs["ptMin"])]
98  kwargs["minMeasurements"] = [min(kwargs["minMeasurements"])]
99  elif flags.Acts.doTrackFindingTrackSelector != 3:
100  # include hole/shared hit cuts
101  kwargs.setdefault("maxHoles", tolist(flags.Tracking.ActiveConfig.maxHoles))
102  if flags.Acts.doTrackFindingTrackSelector != 5:
103  # Acts counts many holes as outliers, so use the same cut for maxOutliers
104  kwargs.setdefault("maxOutliers", tolist(flags.Tracking.ActiveConfig.maxHoles))
105  kwargs.setdefault("maxSharedHits", tolist(flags.Tracking.ActiveConfig.maxShared))
106  if flags.Acts.doTrackFindingTrackSelector == 4:
107  # don't use branch stopper - for comparison with previous behaviour
108  kwargs.setdefault("doBranchStopper", False)
109  if flags.Acts.doTrackFindingTrackSelector == 1: # disable with 6
110  kwargs.setdefault("ptMinMeasurements", isdet(flags, pixel=[3], strip=[6]))
111  kwargs.setdefault("absEtaMaxMeasurements", isdet(flags, pixel=[3], strip=[999999]))
112 
113  if 'TrackingGeometryTool' not in kwargs:
114  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
115  kwargs.setdefault(
116  "TrackingGeometryTool",
117  acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags)),
118  )
119 
120  if 'ExtrapolationTool' not in kwargs:
121  from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
122  kwargs.setdefault(
123  "ExtrapolationTool",
124  acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags, MaxSteps=10000)),
125  )
126 
127  if 'ATLASConverterTool' not in kwargs:
128  from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
129  kwargs.setdefault(
130  "ATLASConverterTool",
131  acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)),
132  )
133 
134  if flags.Acts.doPrintTrackStates and 'TrackStatePrinter' not in kwargs:
135  kwargs.setdefault(
136  "TrackStatePrinter",
137  acc.popToolsAndMerge(ActsTrackStatePrinterCfg(flags)),
138  )
139 
140  if 'FitterTool' not in kwargs:
141  from ActsConfig.ActsTrackFittingConfig import ActsFitterCfg
142  kwargs.setdefault(
143  'FitterTool',
144  acc.popToolsAndMerge(ActsFitterCfg(flags,
145  ReverseFilteringPt=0,
146  OutlierChi2Cut=30))
147  )
148 
149  if 'PixelCalibrator' not in kwargs:
150  from AthenaConfiguration.Enums import BeamType
151  from ActsConfig.ActsConfigFlags import PixelCalibrationStrategy
152  from ActsConfig.ActsMeasurementCalibrationConfig import ActsAnalogueClusteringToolCfg
153 
154  if not (flags.Tracking.doPixelDigitalClustering or flags.Beam.Type is BeamType.Cosmics):
155  if flags.Acts.PixelCalibrationStrategy in (PixelCalibrationStrategy.AnalogueClustering,
156  PixelCalibrationStrategy.AnalogueClusteringAfterSelection) :
157  kwargs.setdefault(
158  'PixelCalibrator',
159  acc.popToolsAndMerge(ActsAnalogueClusteringToolCfg(flags,
160  CalibrateAfterMeasurementSelection = flags.Acts.PixelCalibrationStrategy is PixelCalibrationStrategy.AnalogueClusteringAfterSelection))
161  )
162 
163  if flags.Acts.doMonitoring and 'MonTool' not in kwargs:
164  from ActsConfig.ActsMonitoringConfig import ActsTrackFindingMonitoringToolCfg
165  kwargs.setdefault('MonTool', acc.popToolsAndMerge(
167 
168  kwargs.setdefault("UseDefaultActsMeasurementSelector",flags.Acts.useDefaultActsMeasurementSelector)
169 
170  acc.addEventAlgo(CompFactory.ActsTrk.TrackFindingAlg(name, **kwargs))
171  return acc
172 
173 
174 

◆ ActsTrackFindingCfg()

ComponentAccumulator ActsTrackFindingConfig.ActsTrackFindingCfg (   flags,
**  kwargs 
)

Definition at line 175 of file ActsTrackFindingConfig.py.

175 def ActsTrackFindingCfg(flags,
176  **kwargs) -> ComponentAccumulator:
177  acc = ComponentAccumulator()
178 
179  # Define Uncalibrated Measurement keys
180  dataPrepPrefix = f'ITk{flags.Tracking.ActiveConfig.extension.replace("Acts", "")}'
181  if not flags.Tracking.ActiveConfig.isSecondaryPass:
182  dataPrepPrefix = 'ITk'
183  pixelClusters = f'{dataPrepPrefix}PixelClusters'
184  stripClusters = f'{dataPrepPrefix}StripClusters'
185  # If cache is activated the keys have "_Cached" as postfix
186  if flags.Acts.useCache:
187  pixelClusters += '_Cached'
188  stripClusters += '_Cached'
189  # Consider case detectors are not active
190 
191  # Understand what are the seeds we need to consider
192  pixelSeedLabels = ['PPP']
193  stripSeedLabels = ['SSS']
194  # Conversion and LRT do not process pixel seeds
195  if flags.Tracking.ActiveConfig.extension in ['ActsConversion', 'ActsLargeRadius']:
196  pixelSeedLabels = None
197  # Main pass does not process strip seeds in the fast tracking configuration
198  elif flags.Tracking.ActiveConfig.extension in ['Acts'] and flags.Tracking.doITkFastTracking:
199  stripSeedLabels = None
200 
201  # Now set the seed and estimated parameters keys accordingly
202  pixelSeedKeys = [f'{flags.Tracking.ActiveConfig.extension}PixelSeeds']
203  stripSeedKeys = [f'{flags.Tracking.ActiveConfig.extension}StripSeeds']
204  pixelParameterKeys = [f'{flags.Tracking.ActiveConfig.extension}PixelEstimatedTrackParams']
205  stripParameterKeys = [f'{flags.Tracking.ActiveConfig.extension}StripEstimatedTrackParams']
206  if pixelSeedLabels is None:
207  pixelSeedKeys = None
208  pixelParameterKeys = None
209  if stripSeedLabels is None:
210  stripSeedKeys = None
211  stripParameterKeys = None
212 
213  kwargs.setdefault('ACTSTracksLocation', f"{flags.Tracking.ActiveConfig.extension}Tracks")
214  kwargs.setdefault('UncalibratedMeasurementContainerKeys', isdet(flags, pixel=[pixelClusters], strip=[stripClusters]))
215  kwargs.setdefault('SeedLabels', isdet(flags, pixel=pixelSeedLabels, strip=stripSeedLabels))
216  kwargs.setdefault('SeedContainerKeys', isdet(flags, pixel=pixelSeedKeys, strip=stripSeedKeys))
217  kwargs.setdefault('EstimatedTrackParametersKeys', isdet(flags, pixel=pixelParameterKeys, strip=stripParameterKeys))
218 
219  acc.merge(ActsMainTrackFindingAlgCfg(flags,
220  name=f"{flags.Tracking.ActiveConfig.extension}TrackFindingAlg",
221  **kwargs))
222 
223  # Analysis extensions
224  if flags.Acts.doAnalysis:
225  from ActsConfig.ActsAnalysisConfig import ActsTrackAnalysisAlgCfg
226  acc.merge(ActsTrackAnalysisAlgCfg(flags,
227  name=f"{flags.Tracking.ActiveConfig.extension}TrackAnalysisAlg",
228  TracksLocation=f"{flags.Tracking.ActiveConfig.extension}Tracks"))
229 
230  return acc
231 

◆ ActsTrackStatePrinterCfg()

ComponentAccumulator ActsTrackFindingConfig.ActsTrackStatePrinterCfg (   flags,
str   name = "ActsTrackStatePrinterTool",
**  kwargs 
)

Definition at line 21 of file ActsTrackFindingConfig.py.

21 def ActsTrackStatePrinterCfg(flags,
22  name: str = "ActsTrackStatePrinterTool",
23  **kwargs) -> ComponentAccumulator:
24  acc = ComponentAccumulator()
25 
26  kwargs.setdefault("InputSpacePoints", isdet(flags, pixel=["ITkPixelSpacePoints"], strip=["ITkStripSpacePoints", "ITkStripOverlapSpacePoints"]))
27 
28  if 'TrackingGeometryTool' not in kwargs:
29  from ActsConfig.ActsGeometryConfig import ActsTrackingGeometryToolCfg
30  kwargs.setdefault(
31  "TrackingGeometryTool",
32  acc.popToolsAndMerge(ActsTrackingGeometryToolCfg(flags)),
33  )
34 
35  if 'ATLASConverterTool' not in kwargs:
36  from ActsConfig.ActsEventCnvConfig import ActsToTrkConverterToolCfg
37  kwargs.setdefault(
38  "ATLASConverterTool",
39  acc.popToolsAndMerge(ActsToTrkConverterToolCfg(flags)),
40  )
41 
42  acc.setPrivateTools(CompFactory.ActsTrk.TrackStatePrinter(name, **kwargs))
43  return acc
44 
45 # ACTS only algorithm
46 

◆ ActsTrackToTrackParticleCnvAlgCfg()

ComponentAccumulator ActsTrackFindingConfig.ActsTrackToTrackParticleCnvAlgCfg (   flags,
str   name = "ActsTrackToTrackParticleCnvAlg",
**  kwargs 
)

Definition at line 274 of file ActsTrackFindingConfig.py.

275  name: str = "ActsTrackToTrackParticleCnvAlg",
276  **kwargs) -> ComponentAccumulator:
277  acc = ComponentAccumulator()
278 
279  if 'ExtrapolationTool' not in kwargs:
280  from ActsConfig.ActsGeometryConfig import ActsExtrapolationToolCfg
281  kwargs.setdefault('ExtrapolationTool', acc.popToolsAndMerge(ActsExtrapolationToolCfg(flags)) )
282 
283  kwargs.setdefault('BeamSpotKey', 'BeamSpotData')
284  kwargs.setdefault('FirstAndLastParameterOnly',True)
285 
286  det_elements=[]
287  element_types=[]
288  if flags.Detector.EnableITkPixel:
289  det_elements += ['ITkPixelDetectorElementCollection']
290  element_types += [1]
291  if flags.Detector.EnableITkStrip:
292  det_elements += ['ITkStripDetectorElementCollection']
293  element_types += [2]
294 
295  kwargs.setdefault('SiDetectorElementCollections',det_elements)
296  kwargs.setdefault('SiDetEleCollToMeasurementType',element_types)
297  acc.addEventAlgo(
298  CompFactory.ActsTrk.TrackToTrackParticleCnvAlg(name, **kwargs))
299  return acc
300 
301 

◆ isdet()

list ActsTrackFindingConfig.isdet (   flags,
*list   pixel = None,
list   strip = None 
)

Definition at line 10 of file ActsTrackFindingConfig.py.

10 def isdet(flags,
11  *,
12  pixel: list = None,
13  strip: list = None) -> list:
14  keys = []
15  if flags.Detector.EnableITkPixel and pixel is not None:
16  keys += pixel
17  if flags.Detector.EnableITkStrip and strip is not None:
18  keys += strip
19  return keys
20 
ActsTrackFindingConfig.ActsTrackFindingCfg
ComponentAccumulator ActsTrackFindingCfg(flags, **kwargs)
Definition: ActsTrackFindingConfig.py:175
python.JetAnalysisCommon.ComponentAccumulator
ComponentAccumulator
Definition: JetAnalysisCommon.py:302
ActsMonitoringConfig.ActsTrackFindingMonitoringToolCfg
ComponentAccumulator ActsTrackFindingMonitoringToolCfg(flags, str name="ActsTrackFindingMonitoringTool", **kwargs)
Definition: ActsMonitoringConfig.py:163
ActsEventCnvConfig.ActsToTrkConverterToolCfg
ComponentAccumulator ActsToTrkConverterToolCfg(flags, str name="ActsToTrkConverterTool", **kwargs)
Definition: ActsEventCnvConfig.py:6
ActsTrackFindingConfig.isdet
list isdet(flags, *list pixel=None, list strip=None)
Definition: ActsTrackFindingConfig.py:10
ActsMeasurementCalibrationConfig.ActsAnalogueClusteringToolCfg
ComponentAccumulator ActsAnalogueClusteringToolCfg(flags, str name='ActsAnalogueClusteringTool', **kwargs)
Definition: ActsMeasurementCalibrationConfig.py:6
ActsAnalysisConfig.ActsTrackAnalysisAlgCfg
ComponentAccumulator ActsTrackAnalysisAlgCfg(flags, str name="ActsTrackAnalysisAlg", **kwargs)
Definition: ActsAnalysisConfig.py:6
ActsTrackFindingConfig.ActsTrackStatePrinterCfg
ComponentAccumulator ActsTrackStatePrinterCfg(flags, str name="ActsTrackStatePrinterTool", **kwargs)
Definition: ActsTrackFindingConfig.py:21
ActsGeometryConfig.ActsExtrapolationToolCfg
ComponentAccumulator ActsExtrapolationToolCfg(flags, str name="ActsExtrapolationTool", **kwargs)
Definition: ActsGeometryConfig.py:108
plotBeamSpotVxVal.range
range
Definition: plotBeamSpotVxVal.py:195
ActsGeometryConfig.ActsTrackingGeometryToolCfg
ComponentAccumulator ActsTrackingGeometryToolCfg(flags, str name="ActsTrackingGeometryTool")
Definition: ActsGeometryConfig.py:99
ActsTrackFindingConfig.ActsAmbiguityResolutionCfg
ComponentAccumulator ActsAmbiguityResolutionCfg(flags, **kwargs)
Definition: ActsTrackFindingConfig.py:257
min
#define min(a, b)
Definition: cfImp.cxx:40
ActsMonitoringConfig.ActsAmbiguityResolutionMonitoringToolCfg
ComponentAccumulator ActsAmbiguityResolutionMonitoringToolCfg(flags, str name="ActsAmbiguityResolutionMonitoringTool", **kwargs)
Definition: ActsMonitoringConfig.py:180
ActsTrackFindingConfig.ActsMainAmbiguityResolutionAlgCfg
ComponentAccumulator ActsMainAmbiguityResolutionAlgCfg(flags, str name="ActsAmbiguityResolutionAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:232
ActsTrackFindingConfig.ActsMainTrackFindingAlgCfg
ComponentAccumulator ActsMainTrackFindingAlgCfg(flags, str name="ActsTrackFindingAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:47
ActsTrackFittingConfig.ActsFitterCfg
ComponentAccumulator ActsFitterCfg(flags, str name="ActsKalmanFitter", **kwargs)
Definition: ActsTrackFittingConfig.py:8
ActsTrackFindingConfig.ActsTrackToTrackParticleCnvAlgCfg
ComponentAccumulator ActsTrackToTrackParticleCnvAlgCfg(flags, str name="ActsTrackToTrackParticleCnvAlg", **kwargs)
Definition: ActsTrackFindingConfig.py:274