ATLAS Offline Software
Loading...
Searching...
No Matches
F100IntegrationConfig Namespace Reference

Functions

 F1X0IntegrationCfg (flags, name='F1X0IntegrationAlg', **kwarg)
 F1X0XRTIntegrationCfg (flags, name='F1X0IntegrationAlg', **kwarg)
 F100StreamIntegrationCfg (flags, name='F100StreamIntegrationAlg', **kwarg)
 F110IntegrationCfg (flags, name='F110IntegrationAlg', **kwarg)
 F110StreamIntegrationCfg (flags, name='F110StreamIntegrationAlg', **kwarg)
 F100DataEncodingCfg (flags, name='F100DataEncodingAlg', **kwarg)
 F100EDMConversionCfg (flags, name='F100EDMConversionAlg', **kwarg)
 FPGAClusterSortingCfg (flags, **kwargs)
 F100FlagsCfg (flags)
 FPGADataPreparation (flags, runStandalone=False)

Variables

 flags = initConfigFlags()
 EnableCalo
 DoActs
 doRotCorrection
 NumThreads
 Files
 AODFileName
 DumpEvtStore
 ClusterOnly
 useCache
 doActsSeed
 doAthenaToActsCluster
 doAthenaToActsSpacePoint
 doAthenaSpacePoint
 doTruth
 cfg = MainServicesCfg(flags)
list OutputItemList = []
 OutputLevel
 withDetails
 True
 summariseProps

Function Documentation

◆ F100DataEncodingCfg()

F100IntegrationConfig.F100DataEncodingCfg ( flags,
name = 'F100DataEncodingAlg',
** kwarg )

Definition at line 164 of file F100IntegrationConfig.py.

164def F100DataEncodingCfg(flags, name = 'F100DataEncodingAlg', **kwarg):
165 acc = ComponentAccumulator()
166
167 # Set up Cluster maker tool
168 if("FPGADataFormatTool" not in kwarg):
169 from EFTrackingFPGAPipeline.DataPrepConfig import FPGADataFormatToolCfg
170 dataFormatTool = acc.popToolsAndMerge(FPGADataFormatToolCfg(flags))
171 kwarg.setdefault('FPGADataFormatTool', dataFormatTool)
172
173 kwarg.setdefault('isRoI_Seeded', False)
174
175 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.F100DataEncodingAlg(name, **kwarg))
176
177 return acc
178
if(febId1==febId2)

◆ F100EDMConversionCfg()

F100IntegrationConfig.F100EDMConversionCfg ( flags,
name = 'F100EDMConversionAlg',
** kwarg )

Definition at line 179 of file F100IntegrationConfig.py.

179def F100EDMConversionCfg(flags, name = 'F100EDMConversionAlg', **kwarg):
180 acc = ComponentAccumulator()
181
182 from ActsConfig.ActsUtilities import extractChildKwargs
183
184 # Set up Cluster maker tool
185 if("xAODClusterMaker" not in kwarg):
186 from EFTrackingFPGAPipeline.DataPrepConfig import xAODClusterMakerCfg
187 clusterMakerTool = acc.popToolsAndMerge(xAODClusterMakerCfg(flags,name="xAODClusterMakerTool",
188 **extractChildKwargs(prefix="xAODClusterMakerTool.", **kwarg)))
189 kwarg.setdefault('F100EDMConversionAlg.xAODClusterMaker', clusterMakerTool)
190
191 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.F100EDMConversionAlg(name,
192 **extractChildKwargs(prefix="F100EDMConversionAlg.", **kwarg)))
193
194 return acc
195
196

◆ F100FlagsCfg()

F100IntegrationConfig.F100FlagsCfg ( flags)

Definition at line 205 of file F100IntegrationConfig.py.

205def F100FlagsCfg(flags):
206 flags.Scheduler.ShowDataDeps=True
207 flags.Scheduler.CheckDependencies=True
208 flags.Debug.DumpEvtStore=False
209
210 return flags
211
212

◆ F100StreamIntegrationCfg()

F100IntegrationConfig.F100StreamIntegrationCfg ( flags,
name = 'F100StreamIntegrationAlg',
** kwarg )

Definition at line 77 of file F100IntegrationConfig.py.

77def F100StreamIntegrationCfg(flags, name = 'F100StreamIntegrationAlg', **kwarg):
78 acc = ComponentAccumulator()
79
80 kwarg.setdefault('bdfID', flags.FPGADataPrep.bdfID) # On the testbed
81 kwarg.setdefault('xclbin', flags.FPGADataPrep.xclbin)
82 kwarg.setdefault('PixelStartClusterKernelName','loaderPixel')
83 kwarg.setdefault('PixelEndClusterKernelName','unloaderPixelCluster')
84 kwarg.setdefault('PixelEndClusterEdmKernelName','unloaderPixelEdm')
85
86 kwarg.setdefault('StripStartClusterKernelName','loaderStrip')
87 kwarg.setdefault('StripEndClusterKernelName','unloaderStrip')
88 kwarg.setdefault('PixelL2GKernelName','l2g_pixel_tool')
89 kwarg.setdefault('StripL2GKernelName','l2g_strip_tool')
90 kwarg.setdefault('PixelEDMPrepKernelName', 'PixelEDMPrep')
91 kwarg.setdefault('StripEDMPrepKernelName', 'StripEDMPrep')
92
93 if ("isRoI_Seeded" in kwarg) and kwarg["isRoI_Seeded"]:
94 if 'RegSelTool' not in kwarg:
95 from RegionSelector.RegSelToolConfig import regSelTool_ITkPixel_Cfg
96 kwarg.setdefault('RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
97
98 # Set up Chrono service
99 acc.addService(CompFactory.ChronoStatSvc(
100 PrintUserTime = True,
101 PrintSystemTime = True,
102 PrintEllapsedTime = True
103 ))
104
105 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.F100StreamIntegrationAlg(name, **kwarg))
106
107 return acc
108

◆ F110IntegrationCfg()

F100IntegrationConfig.F110IntegrationCfg ( flags,
name = 'F110IntegrationAlg',
** kwarg )

Definition at line 109 of file F100IntegrationConfig.py.

109def F110IntegrationCfg(flags, name = 'F110IntegrationAlg', **kwarg):
110 acc = ComponentAccumulator()
111
112 kwarg.setdefault('bdfID', flags.FPGADataPrep.bdfID) # On the testbed
113 kwarg.setdefault('xclbin', flags.FPGADataPrep.xclbin)
114 kwarg.setdefault('PixelClusterKernelName','pixel_clustering_tool')
115 kwarg.setdefault('StripClusterKernelName','processHits')
116 kwarg.setdefault('StripL2GKernelName','l2g_strip_tool')
117 kwarg.setdefault('PixelEDMPrepKernelName', 'PixelEDMPrep')
118 kwarg.setdefault('StripEDMPrepKernelName', 'StripEDMPrep')
119
120 if ("isRoI_Seeded" in kwarg) and kwarg["isRoI_Seeded"]:
121 if 'RegSelTool' not in kwarg:
122 from RegionSelector.RegSelToolConfig import regSelTool_ITkPixel_Cfg
123 kwarg.setdefault('RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
124
125 # Set up Chrono service
126 acc.addService(CompFactory.ChronoStatSvc(
127 PrintUserTime = True,
128 PrintSystemTime = True,
129 PrintEllapsedTime = True
130 ))
131
132 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.F110IntegrationAlg(name, **kwarg))
133
134 return acc
135

◆ F110StreamIntegrationCfg()

F100IntegrationConfig.F110StreamIntegrationCfg ( flags,
name = 'F110StreamIntegrationAlg',
** kwarg )

Definition at line 136 of file F100IntegrationConfig.py.

136def F110StreamIntegrationCfg(flags, name = 'F110StreamIntegrationAlg', **kwarg):
137 acc = ComponentAccumulator()
138
139 kwarg.setdefault('bdfID', flags.FPGADataPrep.bdfID) # On the testbed
140 kwarg.setdefault('xclbin', flags.FPGADataPrep.xclbin)
141 kwarg.setdefault('PixelStartClusterKernelName','pixelLoader')
142 kwarg.setdefault('PixelEndClusterKernelName','PixelEDMWriter')
143
144 kwarg.setdefault('StripStartClusterKernelName','stripLoader')
145 kwarg.setdefault('StripEndClusterKernelName','StripEDMWriter')
146
147 if ("isRoI_Seeded" in kwarg) and kwarg["isRoI_Seeded"]:
148 if 'RegSelTool' not in kwarg:
149 from RegionSelector.RegSelToolConfig import regSelTool_ITkPixel_Cfg
150 kwarg.setdefault('RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
151
152 # Set up Chrono service
153 acc.addService(CompFactory.ChronoStatSvc(
154 PrintUserTime = True,
155 PrintSystemTime = True,
156 PrintEllapsedTime = True
157 ))
158
159 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.F110StreamIntegrationAlg(name, **kwarg))
160
161 return acc
162
163

◆ F1X0IntegrationCfg()

F100IntegrationConfig.F1X0IntegrationCfg ( flags,
name = 'F1X0IntegrationAlg',
** kwarg )

Definition at line 7 of file F100IntegrationConfig.py.

7def F1X0IntegrationCfg(flags, name = 'F1X0IntegrationAlg', **kwarg):
8 acc = ComponentAccumulator()
9
10 kwarg.setdefault('bdfID', flags.FPGADataPrep.bdfID) # On the testbed
11 kwarg.setdefault('xclbin', flags.FPGADataPrep.xclbin)
12 if(flags.FPGADataPrep.doF110):
13 kwarg.setdefault('PixelClusterKernelName','pixel_clustering_tool')
14 else:
15 kwarg.setdefault('PixelClusterKernelName', 'pixclustering_top_v1_0')
16 kwarg.setdefault('StripClusterKernelName','processHits')
17 kwarg.setdefault('PixelL2GKernelName','l2g_pixel_tool')
18 kwarg.setdefault('StripL2GKernelName','l2g_strip_tool')
19 kwarg.setdefault('PixelEDMPrepKernelName', 'PixelEDMPrep')
20 kwarg.setdefault('StripEDMPrepKernelName', 'StripEDMPrep')
21 kwarg.setdefault('doF110', flags.FPGADataPrep.doF110)
22
23 if ("isRoI_Seeded" in kwarg) and kwarg["isRoI_Seeded"]:
24 if 'RegSelTool' not in kwarg:
25 from RegionSelector.RegSelToolConfig import regSelTool_ITkPixel_Cfg
26 kwarg.setdefault('RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
27
28 # Set up Chrono service
29 acc.addService(CompFactory.ChronoStatSvc(
30 PrintUserTime = True,
31 PrintSystemTime = True,
32 PrintEllapsedTime = True
33 ))
34
35 from AthenaMonitoringKernel.GenericMonitoringTool import GenericMonitoringTool
36 montool = GenericMonitoringTool(flags, HistPath = f"F100Integration_{name}")
37 montool.defineHistogram('TIME_Total',path='EXPERT',type='TH1F',title="Total time (ms)", xbins = 400, xmin=0.0, xmax=2000.0)
38
39 kwarg.setdefault('MonTool', montool)
40
41 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.F1X0IntegrationAlg(name, **kwarg))
42
43 return acc
44

◆ F1X0XRTIntegrationCfg()

F100IntegrationConfig.F1X0XRTIntegrationCfg ( flags,
name = 'F1X0IntegrationAlg',
** kwarg )

Definition at line 45 of file F100IntegrationConfig.py.

45def F1X0XRTIntegrationCfg(flags, name = 'F1X0IntegrationAlg', **kwarg):
46 acc = ComponentAccumulator()
47
48 kwarg.setdefault('bdfID', flags.FPGADataPrep.bdfID) # On the testbed
49 kwarg.setdefault('xclbin', flags.FPGADataPrep.xclbin)
50 if(flags.FPGADataPrep.doF110):
51 kwarg.setdefault('PixelClusterKernelName','pixel_clustering_tool')
52 else:
53 kwarg.setdefault('PixelClusterKernelName', 'pixclustering_top_v1_0')
54 kwarg.setdefault('StripClusterKernelName','processHits')
55 kwarg.setdefault('PixelL2GKernelName','l2g_pixel_tool')
56 kwarg.setdefault('StripL2GKernelName','l2g_strip_tool')
57 kwarg.setdefault('PixelEDMPrepKernelName', 'PixelEDMPrep')
58 kwarg.setdefault('StripEDMPrepKernelName', 'StripEDMPrep')
59 kwarg.setdefault('doF110', flags.FPGADataPrep.doF110)
60
61 if ("isRoI_Seeded" in kwarg) and kwarg["isRoI_Seeded"]:
62 if 'RegSelTool' not in kwarg:
63 from RegionSelector.RegSelToolConfig import regSelTool_ITkPixel_Cfg
64 kwarg.setdefault('RegSelTool', acc.popToolsAndMerge(regSelTool_ITkPixel_Cfg(flags)))
65
66 # Set up Chrono service
67 acc.addService(CompFactory.ChronoStatSvc(
68 PrintUserTime = True,
69 PrintSystemTime = True,
70 PrintEllapsedTime = True
71 ))
72
73 acc.addEventAlgo(CompFactory.EFTrackingFPGAIntegration.F1X0XRTIntegrationAlg(name, **kwarg))
74
75 return acc
76

◆ FPGAClusterSortingCfg()

F100IntegrationConfig.FPGAClusterSortingCfg ( flags,
** kwargs )

Definition at line 197 of file F100IntegrationConfig.py.

197def FPGAClusterSortingCfg(flags,**kwargs):
198 acc = ComponentAccumulator()
199 from FPGAClusterSorting.FPGAClusterSortingConfig import FPGAClusterSortingAlgCfg
200 ClusterSorting = FPGAClusterSortingAlgCfg(flags,**kwargs)
201
202 acc.merge(ClusterSorting)
203 return acc
204

◆ FPGADataPreparation()

F100IntegrationConfig.FPGADataPreparation ( flags,
runStandalone = False )

Definition at line 213 of file F100IntegrationConfig.py.

213def FPGADataPreparation(flags,runStandalone=False): # thsi is used to run the F100 through Reco_tf
214 kwargs = {}
215 kwargs.setdefault('FPGAThreads', flags.Concurrency.NumThreads)
216 acc = ComponentAccumulator()
217 acc.merge(F100DataEncodingCfg(flags))
218
219 if(flags.FPGADataPrep.doCodeType == "F1X0"):
220 acc.merge(F1X0IntegrationCfg(flags, "F1X0IntegrationAlg", **kwargs))
221 elif(flags.FPGADataPrep.doCodeType == "F1X0XRT"):
222 acc.merge(F1X0XRTIntegrationCfg(flags, "F1X0XRTIntegrationAlg", **kwargs))
223 elif(flags.FPGADataPrep.doCodeType == "F100Stream"):
224 acc.merge(F100StreamIntegrationCfg(flags, "F100StreamIntegrationAlg", **kwargs))
225 elif(flags.FPGADataPrep.doCodeType == "F110"):
226 acc.merge(F110IntegrationCfg(flags, "F110IntegrationAlg", **kwargs))
227 elif(flags.FPGADataPrep.doCodeType == "F110Stream"):
228 acc.merge(F110StreamIntegrationCfg(flags, "F110StreamIntegrationAlg", **kwargs))
229 else:
230 print("Code Type is not recognized")
231 exit(1)
232
233 acc.merge(F100EDMConversionCfg(flags,
234 **{'xAODClusterMakerTool.PixelClusterContainerKey':
235 'FPGAPixelClusters' if flags.FPGADataPrep.DoClusterSorting else'ITkPixelClusters',
236 'xAODClusterMakerTool.StripClusterContainerKey':
237 'FPGAStripClusters' if flags.FPGADataPrep.DoClusterSorting else 'ITkStripClusters'}))
238 if(flags.FPGADataPrep.DoClusterSorting):
239 acc.merge(FPGAClusterSortingCfg(flags,
240 **{'sortedxAODPixelClusterContainer':
241 'SortedFPGAPixelClusters' if runStandalone else 'ITkPixelClusters',
242 'sortedxAODStripClusterContainer':
243 'SortedFPGAStripClusters' if runStandalone else 'ITkStripClusters'}))
244
245 if(not runStandalone):
246 if(not flags.FPGADataPrep.ForTiming):
247 from FPGATrackSimReporting.FPGATrackSimReportingConfig import FPGATrackSimReportingCfg
248 acc.merge(FPGATrackSimReportingCfg(flags,
249 perEventReports = False, # set to True if per-event information is needed for debugging (e.g. cluster, tracks). Otherwise it produces a lot of output
250 **{'xAODPixelClusterContainers' : ['ITkPixelClusters'],
251 'xAODStripClusterContainers' : ['ITkStripClusters'],
252 'FPGAActsTracks' : [],
253 'isDataPrep': True} ))
254
255 from PixelConditionsAlgorithms.ITkPixelConditionsConfig import ITkPixelDetectorElementStatusAlgCfg
256 acc.merge(ITkPixelDetectorElementStatusAlgCfg(flags))
257
258 from SCT_ConditionsAlgorithms.ITkStripConditionsAlgorithmsConfig import ITkStripDetectorElementStatusAlgCfg
259 acc.merge(ITkStripDetectorElementStatusAlgCfg(flags))
260
261 if flags.Acts.EDM.PersistifyClusters or flags.Acts.EDM.PersistifySpacePoints:
262 toAOD = []
263
264 pixel_cluster_shortlist = ['-pixelClusterLink']
265 strip_cluster_shortlist = ['-sctClusterLink']
266
267 pixel_cluster_variables = '.'.join(pixel_cluster_shortlist)
268 strip_cluster_variables = '.'.join(strip_cluster_shortlist)
269
270 toAOD += ['xAOD::PixelClusterContainer#ITkPixelClusters',
271 'xAOD::PixelClusterAuxContainer#ITkPixelClustersAux.' + pixel_cluster_variables,
272 'xAOD::StripClusterContainer#ITkStripClusters',
273 'xAOD::StripClusterAuxContainer#ITkStripClustersAux.' + strip_cluster_variables]
274 from OutputStreamAthenaPool.OutputStreamConfig import addToAOD
275 acc.merge(addToAOD(flags, toAOD))
276 return acc
277
278
279
280
281
void print(char *figname, TCanvas *c1)

Variable Documentation

◆ AODFileName

F100IntegrationConfig.AODFileName

Definition at line 293 of file F100IntegrationConfig.py.

◆ cfg

F100IntegrationConfig.cfg = MainServicesCfg(flags)

Definition at line 317 of file F100IntegrationConfig.py.

◆ ClusterOnly

F100IntegrationConfig.ClusterOnly

Definition at line 299 of file F100IntegrationConfig.py.

◆ DoActs

F100IntegrationConfig.DoActs

Definition at line 287 of file F100IntegrationConfig.py.

◆ doActsSeed

F100IntegrationConfig.doActsSeed

Definition at line 303 of file F100IntegrationConfig.py.

◆ doAthenaSpacePoint

F100IntegrationConfig.doAthenaSpacePoint

Definition at line 307 of file F100IntegrationConfig.py.

◆ doAthenaToActsCluster

F100IntegrationConfig.doAthenaToActsCluster

Definition at line 305 of file F100IntegrationConfig.py.

◆ doAthenaToActsSpacePoint

F100IntegrationConfig.doAthenaToActsSpacePoint

Definition at line 306 of file F100IntegrationConfig.py.

◆ doRotCorrection

F100IntegrationConfig.doRotCorrection

Definition at line 288 of file F100IntegrationConfig.py.

◆ doTruth

F100IntegrationConfig.doTruth

Definition at line 309 of file F100IntegrationConfig.py.

◆ DumpEvtStore

F100IntegrationConfig.DumpEvtStore

Definition at line 294 of file F100IntegrationConfig.py.

◆ EnableCalo

F100IntegrationConfig.EnableCalo

Definition at line 286 of file F100IntegrationConfig.py.

◆ Files

F100IntegrationConfig.Files

Definition at line 291 of file F100IntegrationConfig.py.

◆ flags

F100IntegrationConfig.flags = initConfigFlags()

Definition at line 284 of file F100IntegrationConfig.py.

◆ NumThreads

F100IntegrationConfig.NumThreads

Definition at line 290 of file F100IntegrationConfig.py.

◆ OutputItemList

list F100IntegrationConfig.OutputItemList = []

Definition at line 341 of file F100IntegrationConfig.py.

◆ OutputLevel

F100IntegrationConfig.OutputLevel

Definition at line 402 of file F100IntegrationConfig.py.

◆ summariseProps

F100IntegrationConfig.summariseProps

Definition at line 403 of file F100IntegrationConfig.py.

◆ True

F100IntegrationConfig.True

Definition at line 403 of file F100IntegrationConfig.py.

◆ useCache

F100IntegrationConfig.useCache

Definition at line 302 of file F100IntegrationConfig.py.

◆ withDetails

F100IntegrationConfig.withDetails

Definition at line 403 of file F100IntegrationConfig.py.