ATLAS Offline Software
FPGATrackSimAlgorithmTags.py
Go to the documentation of this file.
1 # Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 '''
3 @file FPGATrackSimAlgorithmTags.py
4 @author Riley Xu - riley.xu@cern.ch
5 @date Mar 16th 2020
6 
7 This file declares tags for configuration parameters of algorithm jobs in this package.
8 All options can be further overridden from the command line or job options.
9 
10 In general, tags should not be edited after creation for consistent results.
11 
12 See FPGATrackSim README for more info on tag heirarchy and usage.
13 '''
14 
15 
16 
17 empty_tag = { # template to add a new tag, and some description of the fields
18  # Common
19  'name': '', # Name of this tag
20  'package': 'algo', # Package identifier
21 
22  # Input
23  'FirstInputToolN': 1,
24  'realHitsOverlay': None,
25  'HitFiltering': False,
26  'SpacePoints': False,
27  'SpacePointFiltering': False,
28  'writeOutputData': True,
29 
30  # Road Finding Selection
31  'hough': None,
32  'hough_d0phi0': None,
33  'hough_1d': None,
34  'hough_rootoutput': None,
35 
36  # NN Track Filtering
37  'TrackNNAnalysis': None,
38 
39  # Overlap removal - default or fast
40  'doFastOR' : False,
41 
42  # Hough
43  'xVar': '', # Variable to use on x axis
44  'yVar': '', # Variable to use on y axis
45  'phi_min': 0,
46  'phi_max': 0,
47  'qpt_min': 0,
48  'qpt_max': 0,
49  'd0_slices': [],
50  'xBins': 0,
51  'yBins': 0,
52  'xBufferBins': 0, # Number of extra buffer bins on each side
53  'yBufferBins': 0,
54  'slicing': True, # Number of slices will be pulled from map tag
55  'threshold': [],
56  'IdealGeoRoads': True,
57  'convolution': [],
58  'convSize_x': 0,
59  'convSize_y': 0,
60  'hitExtend_x': 0, # Hit lines will fill extra bins in x by this amount on each side
61  'roadSliceOR': False,
62  'fieldCorrection': True,
63 
64  # Performance monitoring
65  'barcodeFracMatch' : 0.5,
66 
67  # Track Fitter
68  'chi2DofRecoveryMin' : None,
69  'chi2DofRecoveryMax' : None,
70 
71  'doMajority': None,
72 
73  'nHits_noRecovery': None,
74 
75  'GuessHits': None,
76  'DoMissingHitsChecks': None,
77  'IdealCoordFitType': None,
78  'EtaPatternRoadFilter': None,
79  'PhiRoadFilter' : None,
80  'PhiRoad_ptscaling' :0.0,
81  'DoDeltaGPhis' : False, # True if doing the fit with delta global phis method
82 
83  # Second stage fitting
84  'secondStage' : False,
85 
86  # Fast Monitoring
87  'fastMon': False,
88  'canExtendHistRanges': False,
89 
90  'DataClass': None,
91 
92  'doTracking' : None,
93  'outputHitTxt': None,
94 
95  # lrt settings
96  'lrt': False,
97  'lrt_use_basicHitFilter': False,
98  'lrt_use_mlHitFilter': False,
99  'lrt_use_straightTrackHT': False,
100  'lrt_use_doubletHT': False,
101  'lrt_doublet_d0_range': 120.0,
102  'lrt_doublet_d0_bins': 216,
103  'lrt_doublet_qpt_range': 0.02,
104  'lrt_doublet_qpt_bins': 216,
105  'lrt_mon_phiRange': (0.2, 0.5),
106  'lrt_mon_d0Range': (-100,100),
107  'lrt_mon_z0Range': (-300,300),
108 
109 }
110 
111 def update( otherdict ):
112  empty_tag_clone = empty_tag.copy()
113  empty_tag_clone.update(otherdict)
114  return empty_tag_clone
115 
116 defaultTag = 'dev_21-02-15'
117 
118 
119 FPGATrackSimAlgorithmTags = {
120  'hough_1d': { # Runs the Hough 1D transform
121  # Common
122  'name': 'hough_1d',
123  'package': 'algo',
124 
125  # Input
126  'FirstInputToolN': 1,
127  'realHitsOverlay': False,
128  'HitFiltering': False,
129  'SpacePoints': False,
130  'SpacePointFiltering': False,
131  'writeOutputData': True,
132 
133  # Road Finding Selection
134  'hough': False,
135  'hough_1d': True,
136  'hough_rootoutput': False,
137 
138  # NN Track Filtering
139  'TrackNNAnalysis': False,
140 
141  # Overlap removal - default or fast
142  'doFastOR' : False,
143 
144  # Hough
145  'xVar': 'phi',
146  'yVar': 'q/pt',
147  'phi_min': 0.0,
148  'phi_max': 0.8,
149  'qpt_min': -1.0,
150  'qpt_max': 1.0,
151  'd0_slices': [],
152  'xBins': 200,
153  'yBins': 0,
154  'xBufferBins': 0,
155  'yBufferBins': 0,
156  'slicing': True,
157  'threshold': [7],
158  'IdealGeoRoads': True,
159  'convolution': [],
160  'convSize_x': 0,
161  'convSize_y': 0,
162  'hitExtend_x': [1] * 8,
163  'localMaxWindowSize': 0,
164  'roadSliceOR': False,
165  'fieldCorrection': True,
166 
167  # Performance monitoring
168  'barcodeFracMatch' : 0.5,
169 
170  # Hough 1D
171  'phiRangeCut' : True,
172  'splitpt' : 1,
173  'radiiFile' : None,
174 
175  # Track Fitter
176  'chi2DofRecoveryMin': 40,
177  'chi2DofRecoveryMax': 100000000000,
178  'doMajority': 1,
179  'nHits_noRecovery': -1,
180  'GuessHits': True,
181  'DoMissingHitsChecks': False,
182  'IdealCoordFitType': 0,
183  'EtaPatternRoadFilter': None,
184  'PhiRoadFilter' : None,
185  'DoDeltaGPhis' : False,
186 
187  # Second stage fitting
188  'secondStage' : False,
189 
190  # Fast Monitoring
191  'fastMon': False,
192  'canExtendHistRanges': False,
193 
194  'DataClass': 2,
195 
196  'doTracking': False,
197  'outputHitTxt': None,
198 
199  'lrt': False,
200  'lrt_use_basicHitFilter': False,
201  'lrt_use_mlHitFilter': False,
202  'lrt_use_straightTrackHT': False,
203  'lrt_use_doubletHT': False,
204  'lrt_doublet_d0_range': 120.0,
205  'lrt_doublet_d0_bins': 216,
206  'lrt_doublet_qpt_range': 0.02,
207  'lrt_doublet_qpt_bins': 216,
208  'lrt_mon_phiRange': (0.2, 0.5),
209  'lrt_mon_d0Range': (-100,100),
210  'lrt_mon_z0Range': (-300,300),
211  },
212  'hough': { # Runs the 2d hough transform
213  # Common
214  'name': 'hough',
215  'package': 'algo',
216 
217  # Input
218  'FirstInputToolN': 1,
219  'realHitsOverlay': False,
220  'HitFiltering': False,
221  'SpacePoints': False,
222  'SpacePointFiltering': False,
223  'writeOutputData': True,
224 
225  # Road Finding Selection
226  'hough': True,
227  'hough_1d': False,
228  'hough_rootoutput': False,
229 
230  # NN Filtering - toggle this one
231  'TrackNNAnalysis': False,
232 
233  # Overlap removal - default or fast
234  'doFastOR' : False,
235 
236  # Hough
237  'xVar': 'phi',
238  'yVar': 'q/pt',
239  'phi_min': 0.3,
240  'phi_max': 0.5,
241  'qpt_min': -1.0,
242  'qpt_max': 1.0,
243  'd0_slices': [],
244  'xBins': 216,
245  'yBins': 216,
246  'xBufferBins': 6,
247  'yBufferBins': 2,
248  'slicing': True,
249  'threshold': [7],
250  'IdealGeoRoads': True,
251  'convolution': [],
252  'combine_layers': [],
253  'scale': [],
254  'convSize_x': 0,
255  'convSize_y': 0,
256  'hitExtend_x': [2,1,0,0,0,0,0,0],
257  'localMaxWindowSize': 0,
258  'roadSliceOR': False,
259  'fieldCorrection': True,
260 
261  # Track Fitter
262  'chi2DofRecoveryMin': 40,
263  'chi2DofRecoveryMax': 20000,
264  'doMajority': 1,
265  'nHits_noRecovery': -1,
266  'GuessHits': True,
267  'DoMissingHitsChecks': False,
268  'IdealCoordFitType': 0,
269  'EtaPatternRoadFilter': None,
270  'PhiRoadFilter' : None,
271  'DoDeltaGPhis' : False,
272 
273  # Second stage fitting
274  'secondStage' : False,
275 
276  # Fast Monitoring
277  'fastMon': False,
278  'canExtendHistRanges': False,
279 
280  'DataClass': 2,
281 
282  'doTracking': False,
283  'outputHitTxt': False,
284 
285  # Performance monitoring
286  'barcodeFracMatch' : 0.5,
287 
288  # Everything for large radius tracking
289  'lrt': False,
290  'lrt_use_basicHitFilter': False,
291  'lrt_use_mlHitFilter': False,
292  'lrt_use_straightTrackHT': False,
293  'lrt_use_doubletHT': False,
294  # Overrides to turn off any hit filtering
295  'lrt_skip_hit_filtering' : False,
296  # Minimum pT cut to include in analysis, in GeV
297  'lrt_ptmin' : 5,
298  # Truth particles to allow
299  # By default any PDGID and low barcode
300  'allowHighTruthBarcode' : False,
301  'm_LRT_pdgID' : 0,
302  # Doublet HT flags
303  'lrt_doublet_d0_range': 120.0,
304  'lrt_doublet_d0_bins': 216,
305  'lrt_doublet_qpt_range': 0.02,
306  'lrt_doublet_qpt_bins': 216,
307  # Straight track HT flags
308  'lrt_straighttrack_xVar': 'phi',
309  'lrt_straighttrack_yVar': 'd0',
310  'lrt_straighttrack_phi_min': 0.3,
311  'lrt_straighttrack_phi_max': 0.5,
312  'lrt_straighttrack_d0_min': -300.0,
313  'lrt_straighttrack_d0_max': 300.0,
314  'lrt_straighttrack_xBins': 216,
315  'lrt_straighttrack_yBins': 216,
316  'lrt_straighttrack_xBufferBins': 6,
317  'lrt_straighttrack_yBufferBins': 2,
318  'lrt_straighttrack_slicing': True,
319  'lrt_straighttrack_threshold': [7],
320  'lrt_straighttrack_convolution': [],
321  'lrt_straighttrack_combine_layers': [0,1,2,3,4,5,6,7],
322  'lrt_straighttrack_scale': [1,1,1,1,1,1,1,1],
323  'lrt_straighttrack_convSize_x': 0,
324  'lrt_straighttrack_convSize_y': 0,
325  'lrt_straighttrack_hitExtend_x': [2,1,0,0,0,0,0,0],
326  'lrt_straighttrack_stereo': False,
327  'lrt_straighttrack_localMaxWindowSize': 0,
328  # For monitoring (not totally implemented)
329  'lrt_mon_phiRange': (0.2, 0.5),
330  'lrt_mon_d0Range': (-100,100),
331  'lrt_mon_z0Range': (-300,300),
332  },
333  'dev_21-02-15': { # For development use
334  'name': 'dev_21-02-15',
335  'package': 'algo',
336 
337  # Input
338  'FirstInputToolN': 1,
339  'realHitsOverlay': False,
340  'HitFiltering': False,
341  'SpacePoints': False,
342  'SpacePointFiltering': False,
343  'writeOutputData': True,
344 
345  # Road Finding Selection
346  'hough': False,
347  'hough_1d': False,
348  'hough_rootoutput': False,
349 
350  # NN Filtering
351  'TrackNNAnalysis' : False,
352 
353  # Overlap removal - default or fast
354  'doFastOR' : False,
355 
356  # Hough
357  'xVar': 'phi',
358  'yVar': 'q/pt',
359  'phi_min': 0.3,
360  'phi_max': 0.5,
361  'qpt_min': -1.0,
362  'qpt_max': 1.0,
363  'd0_slices': [],
364  'xBins': 64,
365  'yBins': 216,
366  'xBufferBins': 2,
367  'yBufferBins': 2,
368  'slicing': True,
369  'threshold': [70],
370  'IdealGeoRoads': True,
371  'convolution': [1, 10, 1],
372  'combine_layers': [],#[1,2,3,4,5,6,7,8], # i.e. [1,2,3,1,2,3,1,2] will combine (1st, 4th, 7th) (2nd, 5th, 8th) (3rd, 6th) layers
373  'scale': [], # i.e. [1,1,2,2,3,3,4,4] will scale the image size by 1/2 for (2nd,3rd) layers, by 1/3 for (5th, 6th) layers, by 1/4 for (7th, 8th) layers, must be compatible with combine layers
374  'convSize_x': 3,
375  'convSize_y': 1,
376  'hitExtend_x': [],
377  'localMaxWindowSize': 0,
378  'roadSliceOR': False,
379  'fieldCorrection': True,
380 
381  # Performance monitoring
382  'barcodeFracMatch' : 0.5,
383 
384  # Track Fitter
385  'chi2DofRecoveryMin': 40,
386  'chi2DofRecoveryMax': 100000000000,
387  'doMajority': 0,
388  'nHits_noRecovery': -1,
389  'GuessHits': True,
390  'DoMissingHitsChecks': False,
391  'IdealCoordFitType': 0,
392  'DoDeltaGPhis' : False,
393 
394  'EtaPatternRoadFilter': None,
395  'PhiRoadFilter' : None,
396 
397  # Second stage fitting
398  'secondStage' : False,
399 
400  # Fast Monitoring
401  'fastMon': False,
402  'canExtendHistRanges': False,
403 
404  'DataClass': 2,
405 
406  'doTracking': True,
407  'outputHitTxt': False,
408  'lrt': False,
409  'lrt_use_basicHitFilter': False,
410  'lrt_use_mlHitFilter': False,
411  'lrt_use_straightTrackHT': False,
412  'lrt_use_doubletHT': False,
413  'lrt_doublet_d0_range': 120.0,
414  'lrt_doublet_d0_bins': 216,
415  'lrt_doublet_qpt_range': 0.02,
416  'lrt_doublet_qpt_bins': 216,
417  'lrt_mon_phiRange': (0.2, 0.5),
418  'lrt_mon_d0Range': (-100,100),
419  'lrt_mon_z0Range': (-300,300),
420  },
421 }
python.FPGATrackSimAlgorithmTags.update
def update(otherdict)
Definition: FPGATrackSimAlgorithmTags.py:111