ATLAS Offline Software
Loading...
Searching...
No Matches
DataPreparationPipeline.h
Go to the documentation of this file.
1/*
2 Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3*/
4
11
12#ifndef EFTRACKING_FPGA_INTEGRATION_DATAPREPARATIONPIPELINE_H
13#define EFTRACKING_FPGA_INTEGRATION_DATAPREPARATIONPIPELINE_H
14
15// EFTracking include
22
23// Athena include
28
37{
38public:
39 using IntegrationBase::IntegrationBase;
40 StatusCode initialize() override final;
41 StatusCode execute(const EventContext &ctx) const override final;
42
43 StatusCode setupBuffers();
44 StatusCode setupKernelArgs();
45
46private:
47 // OpenCL kernel objects
49 cl::Kernel m_spacepointKernel;
50
53
54 cl::Buffer m_spacepointInBuff;
56
57 // Kernel related properties
58 Gaudi::Property<std::string> m_xclbin{
59 this, "xclbin", "",
60 "xclbin path and name"};
61 Gaudi::Property<std::string> m_passThroughKernelName{this,
62 "PassThroughKernelName", "",
63 "Pass through kernel name"};
64 Gaudi::Property<std::string> m_pixelClusteringKernelName{this,
65 "PixelClusteringKernelName", "",
66 "Pixel Clustering kernel name"};
67 Gaudi::Property<std::string> m_spacepointKernelName{this,
68 "SpacepointKernelName", "",
69 "Spacepoint kernel name"};
70
71 // Test vector related properties
72 Gaudi::Property<std::string> m_pixelClusterTVPath{this, "PixelClusterTV", "",
73 "Path to pixel cluster test vector"};
74 Gaudi::Property<std::string> m_pixelClusterRefTVPath{this, "PixelClusterRefTV", "",
75 "Path to pixel cluster reference test vector"};
76
77 Gaudi::Property<std::string> m_spacepointTVPath{this, "SpacepointTV", "",
78 "Path to spacepoint test vector"};
79 Gaudi::Property<std::string> m_spacepointRefTVPath{this, "SpacepointRefTV", "",
80 "Path to spacepoint reference test vector"};
81
82 // Flags
83 Gaudi::Property<bool> m_usePassThrough{
84 this, "RunPassThrough", false,
85 "Use the passthrough tool instead of data prep pipeline"};
86 Gaudi::Property<bool> m_useTV{this, "UseTV", false, "Use test vector"};
87
88 // Tool handles
89 ToolHandle<xAODClusterMaker> m_xAODClusterMaker{
90 this, "xAODClusterMaker", "xAODClusterMaker",
91 "tool to make cluster"};
92
93 ToolHandle<xAODSpacePointMaker> m_xAODSpacePointMaker{
94 this, "xAODSpacePointMaker", "xAODSpacePointMaker",
95 "tool to make space point"};
96
97 ToolHandle<PassThroughTool> m_passThroughTool{
98 this, "PassThroughTool", "PassThroughTool",
99 "The pass through tool"};
100
101 ToolHandle<TestVectorTool> m_testVectorTool{
102 this, "TestVectorTool", "TestVectorTool",
103 "Tool to prepare test vector"};
104};
105
106#endif // EFTRACKING_FPGA_INTEGRATION_DATAPREPARATIONPIPELINE_H
Property holding a SG store/key/clid from which a ReadHandle is made.
Class for the data preparation pipeline.
StatusCode execute(const EventContext &ctx) const override final
Should be overriden by derived classes to perform meaningful work.
cl::Buffer m_pxlClusteringInBuff
Buffer for pixel clustering input.
cl::Kernel m_spacepointKernel
Kernel for spacepoint.
Gaudi::Property< std::string > m_spacepointTVPath
Spacepoint test vector.
ToolHandle< TestVectorTool > m_testVectorTool
Tool handle for TestVectorTool.
ToolHandle< xAODClusterMaker > m_xAODClusterMaker
Tool handle for xAODClusterMaker.
Gaudi::Property< bool > m_useTV
Use test vector.
Gaudi::Property< std::string > m_spacepointRefTVPath
Spacepoint reference test vector.
ToolHandle< PassThroughTool > m_passThroughTool
Tool handle for PassThroughTool.
Gaudi::Property< std::string > m_pixelClusterRefTVPath
Pixel cluster reference test vector.
cl::Buffer m_spacepointInBuff
Buffer for spacepoint input.
ToolHandle< xAODSpacePointMaker > m_xAODSpacePointMaker
Tool handle for xAODSpacePointMaker.
Gaudi::Property< std::string > m_pixelClusterTVPath
Pixel cluster test vector.
cl::Buffer m_spacepointOutBuff
Buffer for spacepoint output.
Gaudi::Property< bool > m_usePassThrough
Use the pass through tool instead of data prep pipeline.
Gaudi::Property< std::string > m_spacepointKernelName
Spacepoint kernel name.
Gaudi::Property< std::string > m_xclbin
Path and name of the xclbin file.
Gaudi::Property< std::string > m_pixelClusteringKernelName
Pixle clustering kernel name.
Gaudi::Property< std::string > m_passThroughKernelName
Pass through kernel name.
cl::Buffer m_pxlClusteringOutBuff
Buffer for pixel clustering output.
StatusCode initialize() override final
Detect the OpenCL devices and prepare OpenCL context.
cl::Kernel m_pixelClusteringKernel
Kernel for pixel clustering.
The base class for the EFTracking FPGA integration development.