|
ATLAS Offline Software
|
Go to the documentation of this file.
13 #ifndef EFTRACKING_FPGA_INTEGRATION_DATAPREPARATIONPIPELINE_H
14 #define EFTRACKING_FPGA_INTEGRATION_DATAPREPARATIONPIPELINE_H
36 using IntegrationBase::IntegrationBase;
48 std::vector<EFTrackingDataFormats::StripCluster> &ef_sc,
49 long unsigned int N)
const;
59 std::vector<EFTrackingDataFormats::PixelCluster> &ef_pc,
60 long unsigned int N)
const;
70 std::vector<EFTrackingDataFormats::SpacePoint> &ef_sp,
71 std::vector<std::vector<const xAOD::UncalibratedMeasurement *>> &sp_meas,
72 long unsigned int N,
bool isStrip)
const;
79 const std::vector<EFTrackingDataFormats::StripCluster> &ef_sc,
80 const std::vector<EFTrackingDataFormats::PixelCluster> &ef_pc,
81 const std::vector<EFTrackingDataFormats::SpacePoint> &ef_ssp,
82 const std::vector<std::vector<const xAOD::UncalibratedMeasurement *>>
84 const std::vector<EFTrackingDataFormats::SpacePoint> &ef_psp,
85 const std::vector<std::vector<const xAOD::UncalibratedMeasurement *>>
87 const EventContext &ctx)
const;
95 const std::vector<EFTrackingDataFormats::StripCluster> &ef_sc,
96 const std::vector<EFTrackingDataFormats::PixelCluster> &ef_pc,
97 const std::vector<EFTrackingDataFormats::SpacePoint> &ef_ssp,
98 const std::vector<std::vector<const xAOD::UncalibratedMeasurement *>>
100 const std::vector<EFTrackingDataFormats::SpacePoint> &ef_psp,
101 const std::vector<std::vector<const xAOD::UncalibratedMeasurement *>>
113 const std::vector<EFTrackingDataFormats::StripCluster> &inputSC,
116 const std::vector<EFTrackingDataFormats::PixelCluster> &inputPC,
119 const std::vector<EFTrackingDataFormats::SpacePoint> &inputSSP,
122 const std::vector<EFTrackingDataFormats::SpacePoint> &inputPSP,
132 this,
"StripClusterContainerKey",
"FPGAITkStripClusters",
133 "Key for Strip Cluster Containers"};
135 this,
"PixelClusterContainerKey",
"FPGAITkPixelClusters",
136 "Key for Pixel Cluster Containers"};
138 this,
"StripSpacePointContainerKey",
"FPGAITkStripSpacePoints",
139 "Key for Strip SpacePoint Containers"};
141 this,
"PixelSpacePointContainerKey",
"FPGAITkPixelSpacePoints",
142 "Key for Pixel SpacePoint Containers"};
145 "xclbin path and name"};
150 "Run software mode"};
154 this,
"xAODMaker",
"xAODContainerMaker",
155 "tool to make cluster"};
158 #endif // EFTRACKING_FPGA_INTEGRATION_DATAPREPARATIONPIPELINE_H
Property holding a SG store/key/clid from which a ReadHandle is made.
The base class for the EFTracking FPGA integration development.
StatusCode getInputSpacePointData(const xAOD::SpacePointContainer *sp, std::vector< EFTrackingDataFormats::SpacePoint > &ef_sp, std::vector< std::vector< const xAOD::UncalibratedMeasurement * >> &sp_meas, long unsigned int N, bool isStrip) const
Convert the space point from xAOD container to simple std::vector of EFTrackingDataFormats::SpacePoin...
StatusCode execute(const EventContext &ctx) const override final
Should be overriden by derived classes to perform meaningful work.
The base class for EFTracking 2nd demonstrator integration.
Tool for making xAOD container.
SG::ReadHandleKey< xAOD::StripClusterContainer > m_stripClustersKey
SG::ReadHandleKey< xAOD::SpacePointContainer > m_pixelSpacePointsKey
SG::ReadHandleKey< xAOD::PixelClusterContainer > m_pixelClustersKey
::StatusCode StatusCode
StatusCode definition for legacy code.
StatusCode runHW(const std::vector< EFTrackingDataFormats::StripCluster > &ef_sc, const std::vector< EFTrackingDataFormats::PixelCluster > &ef_pc, const std::vector< EFTrackingDataFormats::SpacePoint > &ef_ssp, const std::vector< std::vector< const xAOD::UncalibratedMeasurement * >> &ssp_mes, const std::vector< EFTrackingDataFormats::SpacePoint > &ef_psp, const std::vector< std::vector< const xAOD::UncalibratedMeasurement * >> &psp_mes) const
Run the hardware version of the transfer kernel.
Gaudi::Property< std::string > m_xclbin
Path and name of the xclbin file.
SG::ReadHandleKey< xAOD::SpacePointContainer > m_stripSpacePointsKey
StatusCode initialize() override final
Detect the OpenCL devices and prepare OpenCL context.
This is the class for the data preparation pipeline.
Gaudi::Property< std::string > m_kernelName
Kernel name.
StatusCode transferSW(const std::vector< EFTrackingDataFormats::StripCluster > &inputSC, EFTrackingDataFormats::StripClusterOutput &outputSC, const std::vector< EFTrackingDataFormats::PixelCluster > &inputPC, EFTrackingDataFormats::PixelClusterOutput &outputPC, const std::vector< EFTrackingDataFormats::SpacePoint > &inputSSP, EFTrackingDataFormats::SpacePointOutput &outputSSP, const std::vector< EFTrackingDataFormats::SpacePoint > &inputPSP, EFTrackingDataFormats::SpacePointOutput &outputPSP, EFTrackingDataFormats::Metadata *metadata) const
Software version of the transfer kernel.
Gaudi::Property< bool > m_runSW
Software mode, not running on the FPGA.
StatusCode runSW(const std::vector< EFTrackingDataFormats::StripCluster > &ef_sc, const std::vector< EFTrackingDataFormats::PixelCluster > &ef_pc, const std::vector< EFTrackingDataFormats::SpacePoint > &ef_ssp, const std::vector< std::vector< const xAOD::UncalibratedMeasurement * >> &ssp_mes, const std::vector< EFTrackingDataFormats::SpacePoint > &ef_psp, const std::vector< std::vector< const xAOD::UncalibratedMeasurement * >> &psp_mes, const EventContext &ctx) const
Run the software version of the transfer kernel.
StatusCode getInputClusterData(const xAOD::StripClusterContainer *sc, std::vector< EFTrackingDataFormats::StripCluster > &ef_sc, long unsigned int N) const
Convert the strip cluster from xAOD container to simple std::vector of EFTrackingDataFormats::StripCl...
ToolHandle< xAODContainerMaker > m_xAODContainerMaker
Tool handle for xAODContainerMaker.