ATLAS Offline Software
FPGATrackSimConfigFlags.py
Go to the documentation of this file.
1 #Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
2 
4  from AthenaConfiguration.AthConfigFlags import AthConfigFlags
5  cf = AthConfigFlags()
6  cf.addFlag('algoTag', 'Hough')
7  cf.addFlag('wrapperFileName', [])
8  cf.addFlag('mapsDir', '__MUST_BE_SET__')
9  cf.addFlag('wrapperMetaData', "Default Meta Data")
10  cf.addFlag('sampleType', 'singleMuons')
11  cf.addFlag('FPGATrackSimMatrixFileRegEx', [])
12  cf.addFlag('FPGATrackSimMaxnMatrixInputFiles', -1)
13  cf.addFlag('outputMergedFPGATrackSimMatrixFile', 'combined_matrix.root')
14  cf.addFlag('FPGATrackSimNBanks', 1)
15  cf.addFlag('FPGATrackSimallBanks', False)
16  cf.addFlag('region', 0)
17  cf.addFlag('minSpacePlusPixel', 3)
18  cf.addFlag('baseName', '')
19  cf.addFlag('CheckGood2ndStage', True)
20  cf.addFlag('Is2ndStage', False)
21  cf.addFlag('UseHitScaleFactor', False)
22  cf.addFlag('missHitsConsts', False)
23  cf.addFlag('tracking', False)
24  cf.addFlag('clustering', True)
25  cf.addFlag('bankDir', '')
26  cf.addFlag('spacePoints', True)
27 
28  def __httHough1DFlags():
29  """Additional function delays import"""
30  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createHough1dFPGATrackSimConfigFlags
32  cf.addFlagsCategory("Hough1D", __httHough1DFlags, prefix=True )
33 
34  def __httHoughFlags():
35  """Additional function delays import"""
36  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createHoughFPGATrackSimConfigFlags
38  cf.addFlagsCategory("Hough", __httHoughFlags, prefix=True )
39 
40  def __httDev21_02_15Flags():
41  """Additional function delays import"""
42  from FPGATrackSimConfTools.FPGATrackSimConfigFlags import createDev21_02_15_FPGATrackSimConfigFlags
44  cf.addFlagsCategory("Dev21_02_15", __httDev21_02_15Flags, prefix=True )
45 
46 
47  # EDM conversion
48  cf.addFlag('doEDMConversion', False)
49  cf.addFlag('convertUnmappedHits', False)
50  cf.addFlag('writeToAOD', False)
51 
52  return cf
53 
54 
56  from AthenaConfiguration.AthConfigFlags import AthConfigFlags
57  cf = AthConfigFlags()
58 
59  # common
60  cf.addFlag('name', '')
61 
62  # input
63  cf.addFlag('firstInputToolN', 1)
64  cf.addFlag('realHitsOverlay', False)
65  cf.addFlag('hitFiltering', False)
66  cf.addFlag('spacePointFiltering', False)
67  cf.addFlag('writeOutputData', True)
68 
69  # road finding selection
70  cf.addFlag('houghRootoutput', False)
71  cf.addFlag('hough', True)
72  cf.addFlag('hough1D', False)
73 
74  # NN filtering
75  cf.addFlag('trackNNAnalysis', False)
76 
77  # overlap removal
78  cf.addFlag('doFastOR', False)
79 
80  # hough
81  cf.addFlag('xVar', 'phi')
82  cf.addFlag('yVar', 'q/pt')
83  cf.addFlag('qptMin', -1.0)
84  cf.addFlag('qptMax', 1.0)
85  cf.addFlag('d0Slices', [])
86  cf.addFlag('slicing', True)
87  cf.addFlag('localMaxWindowSize', 0)
88  cf.addFlag('roadSliceOR', False)
89  cf.addFlag('fieldCorrection', True)
90  cf.addFlag('phiMin', 0.0)
91  cf.addFlag('phiMax', 0.0)
92  cf.addFlag('xBins', 216)
93  cf.addFlag('yBins', 216)
94  cf.addFlag('xBufferBins', 6)
95  cf.addFlag('yBufferBins', 2)
96  cf.addFlag('threshold', [8])
97  cf.addFlag('IdealGeoRoads', True)
98  cf.addFlag('convolution', [])
99  cf.addFlag('convSizeX', 0)
100  cf.addFlag('convSizeY', 0)
101  cf.addFlag('hitExtendX', [])
102 
103  cf.addFlag('doMajority', 1)
104 
105  cf.addFlag('doTracking', False)
106  cf.addFlag('outputHitTxt', False)
107 
108  # performance monitoring
109  cf.addFlag('barcodeFracMatch', 0.5)
110 
111  # track Fitter
112  cf.addFlag('chi2DoFRecoveryMin', 40)
113  cf.addFlag('chi2DoFRecoveryMax', 20000)
114  cf.addFlag('nHitsNoRecovery', -1)
115  cf.addFlag('guessHits', True)
116  cf.addFlag('doMissingHitsChecks', False)
117  cf.addFlag('idealCoordFitType', 2)
118  cf.addFlag('doDeltaGPhis', False)
119 
120  # second stage fitting
121  cf.addFlag('secondStage', False)
122 
123  # fast monitoring
124  cf.addFlag('fastMon', False)
125  cf.addFlag('canExtendHistRanges', False)
126  cf.addFlag('dataClass', 2)
127 
128  # lrt settings
129  cf.addFlag('lrt', False)
130  cf.addFlag('lrtUseBasicHitFilter', False)
131  cf.addFlag('lrtUseMlHitFilter', False)
132  cf.addFlag('lrtUseStraightTrackHT', False)
133  cf.addFlag('lrtUseDoubletHT', False)
134  cf.addFlag('lrtDoubletD0Range', 120.0)
135  cf.addFlag('lrtDoubletD0Bins', 216)
136  cf.addFlag('lrtDoubletQptRange', 0.02)
137  cf.addFlag('lrtDoubletQptBins', 216)
138  cf.addFlag('lrtMonPhiRange', (0.2, 0.5))
139  cf.addFlag('lrtMonD0Range', (-100,100))
140  cf.addFlag('lrtMonZ0Range', (-300,300))
141 
142  # FPGATrackSimLogicalHistProcessAlg
143  # cf.addFlag('etaPatternRoadFilter', None) #TO DO (will be uncomment when the value is known)
144  # cf.addFlag('phiRoadFilter', None) #TO DO (will be uncomment when the value is known)
145  cf.addFlag('sampleType', '')
146 
147  return cf
148 
149 
152 
153  cf.name = 'hough_1d'
154 
155  cf.hough1D = True
156 
157  cf.phiMin = 0.0
158  cf.phiMax = 0.8
159  cf.xBins = 200
160  cf.threshold = [7]
161  cf.hitExtendX = [1] * 9
162 
163  cf.addFlag('phiRangeCut', True)
164  cf.addFlag('splitpt', 1)
165  cf.addFlag('phifilterwindow', 0.005)
166  cf.outputHitTxt = ""
167 
168  return cf
169 
170 
173 
174  cf.name = 'hough'
175  cf.hough = True
176 
177  cf.addFlag('etaPatternFilter', False)
178  cf.addFlag('phiRoadFilter', False)
179  cf.phiMin = 0.3
180  cf.phiMax = 0.5
181  cf.xBins = 216
182  cf.yBins = 216
183  cf.xBufferBins = 6
184  cf.yBufferBins = 2
185  cf.addFlag('combineLayers', [])
186  cf.addFlag('scale', [])
187  cf.hitExtendX = [2,1,0,0,0,0,0,0,0]
188 
189  cf.addFlag('lrtSkipHitFiltering', False)
190  cf.addFlag('lrtPtmin', 5)
191  cf.addFlag('allowHighTruthBarcode', False)
192  cf.addFlag('mLRTpdgID', 0)
193  cf.addFlag('lrtStraighttrackXVar', 'phi')
194  cf.addFlag('lrtStraighttrackYVar', 'd0')
195  cf.addFlag('lrtStraighttrackPhiMin', 0.3)
196  cf.addFlag('lrtStraighttrackPhiMax', 0.5)
197  cf.addFlag('lrtStraighttrackD0Min', -300.0)
198  cf.addFlag('lrtStraighttrackD0Max', 300.0)
199  cf.addFlag('lrtStraighttrackXBins', 216)
200  cf.addFlag('lrtStraighttrackYBins', 216)
201  cf.addFlag('lrtStraighttrackXBufferBins', 6)
202  cf.addFlag('lrtStraighttrackYBufferBins', 2)
203  cf.addFlag('lrtStraighttrackSlicing', True)
204  cf.addFlag('lrtStraighttrackThreshold', [1])
205  cf.addFlag('lrtStraighttrackConvolution', [])
206  cf.addFlag('lrtStraighttrackCombineLayers', [0,1,2,3,4,5,6,7])
207  cf.addFlag('lrtStraighttrackScale', [1])
208  cf.addFlag('lrtStraighttrackConvSizeX', 0)
209  cf.addFlag('lrtStraighttrackConvSizeY', 0)
210  cf.addFlag('lrtStraighttrackHitExtendX', [])
211  cf.addFlag('lrtStraighttrackStereo', False)
212  cf.addFlag('lrtStraighttrackLocalMaxWindowSize', 0)
213 
214  return cf
215 
216 
219 
220  cf.name = 'dev_21-02-15'
221  cf.phiMin = 0.3
222  cf.phiMax = 0.5
223  cf.xBins = 64
224  cf.yBins = 216
225  cf.xBufferBins = 2
226  cf.yBufferBins = 2
227  cf.threshold = [70]
228  cf.convolution = [1, 10, 1]
229  cf.addFlag('combineLayers', [])
230  cf.addFlag('scale', [])
231  cf.convSizeX = 3
232  cf.convSizeY = 1
233 
234  cf.doMajority = 0
235  cf.doTracking = True
236 
237  return cf
238 
239 
240 
241 
242 
245 
246 if __name__ == "__main__":
247 
249  flags.loadAllDynamicFlags()
250  flags.initAll()
251  flags.dump()
252  assert flags.Hough.firstInputToolN == 1 , "default firstInputToolN is wrong"
253  assert flags.Hough.barcodeFracMatch == 0.5, "default barcodeFracMatch is wrong"
254  assert flags.Hough.fastMon is False , "default fastMon is wrong"
255  assert flags.Hough.lrtMonZ0Range == (-300,300), "default lrtMonZ0Rang is wrong"
256 
257  print( "allok" )
258 
259 
260 
261 
262 
263 
264 
python.FPGATrackSimConfigFlags.createHoughFPGATrackSimConfigFlags
def createHoughFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:171
python.FPGATrackSimConfigFlags.createDev21_02_15_FPGATrackSimConfigFlags
def createDev21_02_15_FPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:217
python.FPGATrackSimConfigFlags.createFPGATrackSimConfigFlags
def createFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:3
python.FPGATrackSimConfigFlags.createHough1dFPGATrackSimConfigFlags
def createHough1dFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:150
Muon::print
std::string print(const MuPatSegment &)
Definition: MuonTrackSteering.cxx:28
python.FPGATrackSimConfigFlags.createBasicFPGATrackSimConfigFlags
def createBasicFPGATrackSimConfigFlags()
Definition: FPGATrackSimConfigFlags.py:55