Loading [MathJax]/extensions/tex2jax.js
ATLAS Offline Software
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
FPGATrackSimConfigFlags.py
Go to the documentation of this file.
1 #Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 from AthenaConfiguration.Enums import FlagEnum
4 
6  from AthenaConfiguration.AthConfigFlags import AthConfigFlags
7  cf = AthConfigFlags()
8  cf.addFlag('pipeline', '')
9  cf.addFlag('algoTag', 'Hough')
10  cf.addFlag('wrapperFileName', [])
11  cf.addFlag('wrapperFileName2', [])
12  cf.addFlag('secondInputToolN', 0)
13  cf.addFlag('mapsDir', '__MUST_BE_SET__')
14  cf.addFlag('wrapperMetaData', "Default Meta Data")
15  cf.addFlag('sampleType', 'singleMuons')
16  cf.addFlag('FPGATrackSimMatrixFileRegEx', [])
17  cf.addFlag('FPGATrackSimMaxnMatrixInputFiles', -1)
18  cf.addFlag('outputMergedFPGATrackSimMatrixFile', 'combined_matrix.root')
19  cf.addFlag('FPGATrackSimNBanks', 1)
20  cf.addFlag('FPGATrackSimallBanks', False)
21  cf.addFlag('region', 34)
22  cf.addFlag('d0min', -2.0)
23  cf.addFlag('d0max', +2.0)
24  cf.addFlag('z0min', -150.0)
25  cf.addFlag('z0max', +150.0)
26  cf.addFlag('qOverPtmin', -0.001)
27  cf.addFlag('qOverPtmax', +0.001)
28  cf.addFlag('oldRegionDefs', False)
29  cf.addFlag('phiShift', 0.0)
30  cf.addFlag('minSpacePlusPixel', 3)
31  cf.addFlag('baseName', '')
32  cf.addFlag('CheckGood2ndStage', True)
33  cf.addFlag('Is2ndStage', False)
34  cf.addFlag('UseHitScaleFactor', False)
35  cf.addFlag('missHitsConsts', False)
36  cf.addFlag('tracking', False)
37  cf.addFlag('layerStudyStage', 0)
38  cf.addFlag('doOverlapRemoval', True)
39  cf.addFlag('clustering', 1)
40  cf.addFlag('bankDir', '')
41  cf.addFlag('slicesFile', 'eventSelectionSlices/v1.0/slices.txt')
42  cf.addFlag('spacePoints', True)
43  cf.addFlag('outputMonitorFile',"monitoring.root")
44  cf.addFlag('connectToToITkTracking',True)
45  cf.addFlag('loglevel', AthenaCommon.Constants.INFO)
46  cf.addFlag('msgLimit',-1)
47  cf.addFlag('singleTrackSample', True)
48  cf.addFlag('FakeNNonnxFile1st', 'banks_9L/v0.20/ClassificationHT_v5.onnx')
49  cf.addFlag('FakeNNonnxFile2nd', 'banks_9L/v0.20/ClassificationHT_v5.onnx')
50  cf.addFlag('ExtensionNNVolonnxFile', 'banks_9L/v0.20/HT_detector_v6_3.onnx')
51  cf.addFlag('ExtensionNNHitonnxFile', 'banks_9L/v0.20/Ath_Extrap_v51_6_superBig_0_outsideIN.onnx')
52  cf.addFlag('ParamNNonnxFile1st', 'banks_9L/v0.20/ParamEstimationHT_v5.onnx')
53  cf.addFlag('ParamNNonnxFile2nd', 'banks_9L/v0.20/ParamEstimationHT_v5.onnx')
54  cf.addFlag('doNNPathFinder', False)
55  cf.addFlag('windowR', [20])
56  cf.addFlag('windowZ', [20])
57  cf.addFlag('lowPtvalueR', -1)
58  cf.addFlag('lowPtvalueZ', -1)
59  cf.addFlag('lowPtWindowRScaling', 1.0)
60  cf.addFlag('lowPtWindowZScaling', 1.0)
61  cf.addFlag('missedHitRScaling', -1.0)
62  cf.addFlag('missedHitZScaling', -1.0)
63  cf.addFlag('maxBranches', -1)
64  cf.addFlag('hitThreshold', 10)
65 
66  def __httHough1DFlags():
67  """Additional function delays import"""
68  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createHough1dFPGATrackSimConfigFlags
70  cf.addFlagsCategory("Hough1D", __httHough1DFlags, prefix=True )
71 
72  def __httHoughFlags():
73  """Additional function delays import"""
74  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createHoughFPGATrackSimConfigFlags
76  cf.addFlagsCategory("Hough", __httHoughFlags, prefix=True )
77 
78  def __httGenScanFlags():
79  """Additional function delays import"""
80  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createGenScanFPGATrackSimConfigFlags
82  cf.addFlagsCategory("GenScan", __httGenScanFlags, prefix=True )
83 
84  def __httDev21_02_15Flags():
85  """Additional function delays import"""
86  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createDev21_02_15_FPGATrackSimConfigFlags
88  cf.addFlagsCategory("Dev21_02_15", __httDev21_02_15Flags, prefix=True )
89 
90  def __GNNFlags():
91  """Additional function delays import"""
92  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createGNNFPGATrackSimConfigFlags
94  cf.addFlagsCategory("GNN", __GNNFlags, prefix=True )
95 
96  # EDM conversion
97  cf.addFlag('doEDMConversion', False)
98  cf.addFlag('convertUnmappedHits', False)
99  cf.addFlag('writeToAOD', False)
100 
101  # Monitoring
102  cf.addFlag('writeAdditionalOutputData', True)
103 
104  # ACTS Tracking
105  cf.addFlag('runCKF',True)
106  cf.addFlag('useFPGATruthTrackMatching',False)
107  return cf
108 
109 
111  from AthenaConfiguration.AthConfigFlags import AthConfigFlags
112  cf = AthConfigFlags()
113 
114  # common
115  cf.addFlag('name', '')
116 
117  # input
118  cf.addFlag('firstInputToolN', 1)
119  cf.addFlag('realHitsOverlay', False)
120  cf.addFlag('hitFiltering', False)
121  cf.addFlag('spacePointFiltering', False)
122  cf.addFlag('writeTestOutput', True)
123 
124  # road finding selection
125  cf.addFlag('houghRootoutput1st', False)
126  cf.addFlag('houghRootoutput2nd', False)
127  cf.addFlag('hough', True)
128  cf.addFlag('hough1D', False)
129  cf.addFlag('houghType', 'Original')
130  cf.addFlag('roadMerge', False)
131  cf.addFlag('genScan', False)
132  cf.addFlag('NumOfHitPerGrouping', 5)
133 
134  cf.addFlag('etaPatternFilter', False)
135  cf.addFlag('phiRoadFilter', False)
136  cf.addFlag('GNN', False)
137 
138 
139  # NN filtering 1st stage
140  cf.addFlag('trackNNAnalysis', False)
141  # NN filtering 2nd stage
142  cf.addFlag('trackNNAnalysis2nd', False)
143 
144 
145  # overlap removal
146  cf.addFlag('doFastOR', False)
147 
148  #pass lowest chi2 track
149  cf.addFlag('passLowestChi2TrackOnly', False)
150 
151  # hough
152  cf.addFlag('xVar', 'phi')
153  cf.addFlag('yVar', 'q/pt')
154  cf.addFlag('qptMin', -1.0)
155  cf.addFlag('qptMax', 1.0)
156  cf.addFlag('d0Slices', [])
157  cf.addFlag('slicing', True)
158  cf.addFlag('localMaxWindowSize', 0)
159  cf.addFlag('roadSliceOR', False)
160  cf.addFlag('fieldCorrection', True)
161  cf.addFlag('phiMin', 0.0)
162  cf.addFlag('phiMax', 0.0)
163  cf.addFlag('xBins', 216)
164  cf.addFlag('yBins', 216)
165  cf.addFlag('xBufferBins', 6)
166  cf.addFlag('yBufferBins', 2)
167  cf.addFlag('threshold', [8])
168  cf.addFlag('IdealGeoRoads', True)
169  cf.addFlag('convolution', [])
170  cf.addFlag('convSizeX', 0)
171  cf.addFlag('convSizeY', 0)
172  cf.addFlag('hitExtendX', [])
173 
174  cf.addFlag('doMajority', 1)
175 
176  cf.addFlag('doTracking', False)
177  cf.addFlag('outputHitTxt', False)
178 
179  cf.addFlag('requirements', '')
180  # only for 2DHT Flex
181  cf.addFlag('r_max',2047)
182  cf.addFlag('phi_coord_max',65535)
183  cf.addFlag('phi_range', 6.399609375)
184  cf.addFlag('r_max_mm',1137.5)
185  cf.addFlag('bitwise_qApt_conv',204)
186  cf.addFlag('bitwise_phi0_conv',1)
187  cf.addFlag('phi0_sectors',1)
188  cf.addFlag('qApt_sectors',7)
189  cf.addFlag('pipes_qApt',8)
190  cf.addFlag('pipes_phi0',1)
191 
192  # performance monitoring
193  cf.addFlag('barcodeFracMatch', 0.5)
194 
195  # track Fitter
196  cf.addFlag('chi2DoFRecoveryMin', 40)
197  cf.addFlag('chi2DoFRecoveryMax', 20000)
198  cf.addFlag('nHitsNoRecovery', -1)
199  cf.addFlag('guessHits', True)
200  cf.addFlag('doMissingHitsChecks', False)
201  cf.addFlag('idealCoordFitType', 2)
202  cf.addFlag('doDeltaGPhis', False)
203  cf.addFlag('chi2cut', 9)
204  cf.addFlag('useVaryingChi2Cut', False)
205  # second stage fitting
206  cf.addFlag('secondStage', False)
207  cf.addFlag('secondChi2Cut', 36)
208 
209  # fast monitoring
210  cf.addFlag('fastMon', False)
211  cf.addFlag('canExtendHistRanges', False)
212  cf.addFlag('dataClass', 2)
213 
214  # lrt settings
215  cf.addFlag('lrt', False)
216  cf.addFlag('lrtUseBasicHitFilter', False)
217  cf.addFlag('lrtUseMlHitFilter', False)
218  cf.addFlag('lrtUseStraightTrackHT', False)
219  cf.addFlag('lrtUseDoubletHT', False)
220  cf.addFlag('lrtDoubletD0Range', 120.0)
221  cf.addFlag('lrtDoubletD0Bins', 216)
222  cf.addFlag('lrtDoubletQptRange', 0.02)
223  cf.addFlag('lrtDoubletQptBins', 216)
224  cf.addFlag('lrtMonPhiRange', (0.2, 0.5))
225  cf.addFlag('lrtMonD0Range', (-100,100))
226  cf.addFlag('lrtMonZ0Range', (-300,300))
227  cf.addFlag('sampleType', '')
228 
229  return cf
230 
231 
234 
235  cf.name = 'hough_1d'
236 
237  cf.hough1D = True
238 
239  cf.phiMin = 0.0
240  cf.phiMax = 0.8
241  cf.xBins = 200
242  cf.threshold = [7]
243  cf.hitExtendX = [1] * 9
244 
245  cf.addFlag('phiRangeCut', True)
246  cf.addFlag('splitpt', 1)
247  cf.addFlag('phifilterwindow', 0.005)
248 
249  cf.outputHitTxt = ""
250 
251  return cf
252 
253 
256 
257  cf.name = 'hough'
258  cf.hough = True
259 
260 
261  cf.phiMin = 0.3
262  cf.phiMax = 0.5
263  cf.xBins = 216
264  cf.yBins = 216
265  cf.xBufferBins = 6
266  cf.yBufferBins = 2
267  cf.addFlag('combineLayers', [])
268  cf.addFlag('scale', [])
269  cf.hitExtendX = [2,1,0,0,0,0,0,0,0]
270 
271  cf.addFlag('lrtSkipHitFiltering', False)
272  cf.addFlag('lrtPtmin', 5)
273  cf.addFlag('allowHighTruthBarcode', False)
274  cf.addFlag('mLRTpdgID', 0)
275  cf.addFlag('lrtStraighttrackXVar', 'phi')
276  cf.addFlag('lrtStraighttrackYVar', 'd0')
277  cf.addFlag('lrtStraighttrackPhiMin', 0.3)
278  cf.addFlag('lrtStraighttrackPhiMax', 0.5)
279  cf.addFlag('lrtStraighttrackD0Min', -300.0)
280  cf.addFlag('lrtStraighttrackD0Max', 300.0)
281  cf.addFlag('lrtStraighttrackXBins', 216)
282  cf.addFlag('lrtStraighttrackYBins', 216)
283  cf.addFlag('lrtStraighttrackXBufferBins', 6)
284  cf.addFlag('lrtStraighttrackYBufferBins', 2)
285  cf.addFlag('lrtStraighttrackSlicing', True)
286  cf.addFlag('lrtStraighttrackThreshold', [1])
287  cf.addFlag('lrtStraighttrackConvolution', [])
288  cf.addFlag('lrtStraighttrackCombineLayers', [0,1,2,3,4,5,6,7])
289  cf.addFlag('lrtStraighttrackScale', [1])
290  cf.addFlag('lrtStraighttrackConvSizeX', 0)
291  cf.addFlag('lrtStraighttrackConvSizeY', 0)
292  cf.addFlag('lrtStraighttrackHitExtendX', [])
293  cf.addFlag('lrtStraighttrackStereo', False)
294  cf.addFlag('lrtStraighttrackLocalMaxWindowSize', 0)
295 
296  return cf
297 
298 
301 
302  cf.name = 'dev_21-02-15'
303  cf.phiMin = 0.3
304  cf.phiMax = 0.5
305  cf.xBins = 64
306  cf.yBins = 216
307  cf.xBufferBins = 2
308  cf.yBufferBins = 2
309  cf.threshold = [70]
310  cf.convolution = [1, 10, 1]
311  cf.addFlag('combineLayers', [])
312  cf.addFlag('scale', [])
313  cf.convSizeX = 3
314  cf.convSizeY = 1
315 
316  cf.doMajority = 0
317  cf.doTracking = True
318 
319  return cf
320 
323 
324  cf.name = 'genScan'
325  cf.addFlag('genScanCuts','FPGATrackSimGenScanCuts')
326  cf.addFlag('reverse','True')
327  cf.addFlag('binFilter','IncrementalBuild')
328  cf.addFlag('layerStudy',False)
329  cf.addFlag('layerMapFile','')
330  cf.addFlag('noCuts',False)
331 
332  # These are used by the layer study, to avoid the need for Cuts_step0.
333  # They are only used in the layer study if initialLayerStudy is set to True
334  cf.addFlag('initialLayerStudy', False)
335  cf.addFlag('rin', 30)
336  cf.addFlag('rout', 300)
337  cf.addFlag('parBins', [20, 20, 5, 20, 3])
338  cf.addFlag('parMin', [-500, -500, 0.0, 0.0, -10])
339  cf.addFlag('parMax', [ 500, 500, 1.0, 1.0, 10])
340  cf.addFlag('parSet', "PhiSlicedKeyLyrPars")
341 
342  return cf
343 
344 class graphTool(FlagEnum):
345  ModuleMap = 'ModuleMap'
346  MetricLearning = 'MetricLearning'
347 
348 class moduleMapType(FlagEnum):
349  doublet = 'doublet'
350 
351 class moduleMapFunc(FlagEnum):
352  minmax = 'minmax'
353 
354 class roadMakerTool(FlagEnum):
355  ConnectedComponents = 'ConnectedComponents'
356 
359 
360  cf.name = 'GNN'
361  cf.addFlag("graphTool", graphTool.ModuleMap, type=graphTool)
362  cf.addFlag("moduleMapType", moduleMapType.doublet, type=moduleMapType)
363  cf.addFlag("moduleMapFunc", moduleMapFunc.minmax, type=moduleMapFunc)
364  cf.addFlag("moduleMapTol",0.0000000001) # 1e-10
365  cf.addFlag("moduleMapPath",'')
366  cf.addFlag("metricLearningR",0.1)
367  cf.addFlag("metricLearningMaxN", 50)
368  cf.addFlag("MLModelPath",'')
369  cf.addFlag("GNNModelPath",'')
370  cf.addFlag("roadMakerTool", roadMakerTool.ConnectedComponents, type=roadMakerTool)
371  cf.addFlag("edgeScoreCut",0.8)
372  cf.addFlag("doGNNRootOutput",False)
373  cf.addFlag("doGNNTracking",False)
374 
375  return cf
376 
377 
380 
381 if __name__ == "__main__":
382 
384  flags.loadAllDynamicFlags()
385  flags.initAll()
386  flags.dump()
387  assert flags.Hough.firstInputToolN == 1 , "default firstInputToolN is wrong"
388  assert flags.Hough.barcodeFracMatch == 0.5, "default barcodeFracMatch is wrong"
389  assert flags.Hough.fastMon is False , "default fastMon is wrong"
390  assert flags.Hough.lrtMonZ0Range == (-300,300), "default lrtMonZ0Rang is wrong"
391 
392  print( "allok" )
393 
394 
395 
396 
397 
398 
399 
400 
python.FPGATrackSimConfigFlags.moduleMapFunc
Definition: FPGATrackSimConfigFlags.py:351
python.FPGATrackSimConfigFlags.roadMakerTool
Definition: FPGATrackSimConfigFlags.py:354
python.FPGATrackSimConfigFlags.createHoughFPGATrackSimConfigFlags
def createHoughFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:254
python.FPGATrackSimConfigFlags.createGenScanFPGATrackSimConfigFlags
def createGenScanFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:321
python.FPGATrackSimConfigFlags.createDev21_02_15_FPGATrackSimConfigFlags
def createDev21_02_15_FPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:299
python.FPGATrackSimConfigFlags.moduleMapType
Definition: FPGATrackSimConfigFlags.py:348
python.FPGATrackSimConfigFlags.createFPGATrackSimConfigFlags
def createFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:5
python.FPGATrackSimConfigFlags.graphTool
Definition: FPGATrackSimConfigFlags.py:344
Constants
some useful constants -------------------------------------------------—
print
void print(char *figname, TCanvas *c1)
Definition: TRTCalib_StrawStatusPlots.cxx:25
python.FPGATrackSimConfigFlags.createGNNFPGATrackSimConfigFlags
def createGNNFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:357
python.FPGATrackSimConfigFlags.createHough1dFPGATrackSimConfigFlags
def createHough1dFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:232
python.FPGATrackSimConfigFlags.createBasicFPGATrackSimConfigFlags
def createBasicFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:110