8#ifndef CALORECGPU_GPUCLUSTERSORTER_H
9#define CALORECGPU_GPUCLUSTERSORTER_H
19#include "GaudiKernel/ServiceHandle.h"
23#include "CLHEP/Units/SystemOfUnits.h"
49 virtual StatusCode
execute (
const EventContext & ctx,
52 void * temporary_buffer)
const override;
54 virtual StatusCode
finalize()
override;
64 Gaudi::Property<bool>
m_cutClustersInAbsE {
this,
"ClusterCutsInAbsEt",
true,
"Do cluster cuts in Abs Et instead of Et"};
73 Gaudi::Property<float>
m_clusterETThreshold {
this,
"ClusterEtorAbsEtCut", 0.*CLHEP::MeV,
"Cluster E_t or Abs E_t cut"};
Define macros for attributes used to control the static checker.
Base class to provide some basic common infrastructure for initializing CUDA only at the right place ...
virtual StatusCode initialize()
Holds CPU and GPU versions of the geometry and cell noise information, which are assumed to be consta...
Holds the mutable per-event information (clusters and cells) and provides utilities to convert betwee...
virtual StatusCode execute(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const override
Gaudi::Property< float > m_clusterETThreshold
cut on the clusters.
Gaudi::Property< bool > m_cutClustersInAbsE
if set to true cluster cuts are on , if false on .
virtual StatusCode initialize_CUDA() override
Initialization that invokes CUDA functions.
ServiceHandle< IGPUKernelSizeOptimizerSvc > m_kernelSizeOptimizer
Handle to the CUDA kernel block and grid size optimization service.
virtual ~GPUClusterSorter()=default
GPUClusterSorter(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode finalize() override
virtual StatusCode initialize() override
virtual StatusCode initialize_non_CUDA() override
Initialization that does not invoke CUDA functions.