  | 
  
    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.