 |
ATLAS Offline Software
|
Go to the documentation of this file.
36 return StatusCode::SUCCESS;
44 return StatusCode::SUCCESS;
71 return StatusCode::SUCCESS;
78 print_times(
"Isolation_Clusters Isolation_Cells Zeroth_Clusters "
79 "First_Cells First_Clusters Second_Cells Shower_Axis Second_Clusters "
82 return StatusCode::SUCCESS;
Gaudi::Property< bool > m_skipInvalidClusters
If false, do the moment calculation even for invalid clusters (which may waste computation).
virtual StatusCode initialize_non_CUDA() override
Initialization that does not invoke CUDA functions.
virtual StatusCode finalize() override
constexpr unsigned int num_time_measurements
ClusterMomentsCalculator::CMCOptionsHolder m_options
Options for the algorithm, held in a GPU-friendly way.
void sendToGPU(const bool clear_CPU=false)
Base class to provide some basic common infrastructure for timing measurements...
void calculateClusterPropertiesAndMoments(CaloRecGPU::EventDataHolder &holder, const CaloRecGPU::ConstantDataHolder &instance_data, const CMCOptionsHolder &options, const IGPUKernelSizeOptimizer &optimizer, size_t(×)[num_time_measurements], const bool synchronize=false, CaloRecGPU::CUDA_Helpers::CUDAStreamPtrHolder stream={}, const bool defer_instead_of_oversize=false)
GPUClusterInfoAndMomentsCalculator(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode initialize_CUDA() override
Initialization that invokes CUDA functions.
::StatusCode StatusCode
StatusCode definition for legacy code.
Gaudi::Property< bool > m_twoGaussianNoise
if set to true use 2-gaussian noise description for TileCal
void print_times(const std::string &header, const size_t time_size) const
Gaudi::Property< double > m_maxAxisAngle
the maximal allowed deviation from the IP-to-ClusterCenter-axis.
void record_times(const size_t event_num, const std::vector< size_t > ×) const
Gaudi::Property< bool > m_measureTimes
If true, times are recorded to the file given by m_timeFileName.
Gaudi::Property< double > m_minBadLArQuality
the minimal cell quality in the LAr for declaring a cell bad
ServiceHandle< IGPUKernelSizeOptimizerSvc > m_kernelSizeOptimizer
Handle to the CUDA kernel block and grid size optimization service.
Gaudi::Property< bool > m_absOpt
if set to true use abs E value of cells to calculate cluster moments
void register_kernels(IGPUKernelSizeOptimizer &optimizer)
Gaudi::Property< double > m_minLLongitudinal
the minimal in the definition of the Longitudinal moment
Gaudi::Property< double > m_minRLateral
the minimal in the definition of the Lateral moment
virtual StatusCode execute(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const override
CaloRecGPU::Helpers::CPU_object< ClusterMomentCalculationOptions > m_options
Gaudi::Property< double > m_etaInnerWheel
Transition from outer to inner wheel in EME2.