6def KernelTesterCfg(flags, name = 'F150BenchmarkAlg', **kwarg):
7 acc = ComponentAccumulator()
8
9 kwarg.setdefault('bdfID', flags.FPGADataPrep.bdfID)
10 kwarg.setdefault('xclbin', flags.FPGADataPrep.xclbin)
11
12 kwarg.setdefault('RunSlicing', False)
13 kwarg.setdefault('RunInsideOut', False)
14 kwarg.setdefault('RunInsideOutOnSlicingEngine', False)
15 kwarg.setdefault('RunFullF150', True)
16 kwarg.setdefault('outputTextFile', False)
17 kwarg.setdefault('doEmulation', False)
18
19 kwarg.setdefault('SlicingEngineInputName', 'configurableLengthWideLoader')
20 kwarg.setdefault('SlicingEngineOutputName', 'dynamicLengthWideUnloader')
21
22 kwarg.setdefault('InsideOutInputName', 'krnl_mm2s')
23 kwarg.setdefault('InsideOutOutputName', 'mem_write')
24
25 kwarg.setdefault('PixelClusterKernelName','pixel_clustering_tool')
26 kwarg.setdefault('StripClusterKernelName','processHits')
27 kwarg.setdefault('StripL2GKernelName','l2g_strip_tool')
28 kwarg.setdefault('PixelEDMPrepKernelName', 'PixelEDMPrep')
29 kwarg.setdefault('StripEDMPrepKernelName', 'StripEDMPrep')
30 from FPGATrackSimConfTools.FPGATrackSimHelperFunctions import convertRegionsExpressionToArray
31 kwarg.setdefault('FPGATrackSimHitKey_1st', 'FPGAHits_1st_reg' + str(convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList)[0]))
32 kwarg.setdefault('FPGATrackSimTrack1stKey', 'FPGATracks_1st_reg' + str(convertRegionsExpressionToArray(flags.Trigger.FPGATrackSim.regionList)[0]))
33
34
35 from EFTrackingFPGAPipeline.DataPrepConfig import xAODClusterMakerCfg
36 clusterMakerTool = acc.popToolsAndMerge(xAODClusterMakerCfg(flags))
37 kwarg.setdefault('xAODClusterMaker', clusterMakerTool)
38
39
40 from EFTrackingFPGAUtility.FPGADataFormatter import FPGATestVectorToolCfg
41 testVectorTool = acc.popToolsAndMerge(FPGATestVectorToolCfg(flags))
42 kwarg.setdefault('TestVectorTool', testVectorTool)
43
44 outputTool = acc.popToolsAndMerge(FPGAOutputConversionToolCfg(flags))
45 kwarg.setdefault('OutputConversionTool', outputTool)
46
47
48 acc.addService(CompFactory.ChronoStatSvc(
49 PrintUserTime = True,
50 PrintSystemTime = True,
51 PrintEllapsedTime = True
52 ))
53
54 alg = CompFactory.EFTrackingFPGAIntegration.F150KernelTesterAlg(**kwarg)
55 acc.addEventAlgo(alg)
56
57 return acc
58