 |
ATLAS Offline Software
|
Go to the documentation of this file.
7 #ifndef CALORECGPU_GPUCLUSTERINFOANDMOMENTSCALCULATOR_H
8 #define CALORECGPU_GPUCLUSTERINFOANDMOMENTSCALCULATOR_H
19 #include "GaudiKernel/ServiceHandle.h"
23 #include "CLHEP/Units/SystemOfUnits.h"
52 void * temporary_buffer)
const override;
63 Gaudi::Property<double>
m_maxAxisAngle {
this,
"MaxAxisAngle", 20 *
CLHEP::deg,
"The maximal allowed deviation from the IP-to-ClusterCenter-axis"};
71 Gaudi::Property<double>
m_minRLateral {
this,
"MinRLateral", 4 *
CLHEP::cm,
"The minimal r in the definition of the Lateral moment"};
81 Gaudi::Property<double>
m_minLLongitudinal {
this,
"MinLLongitudinal", 10 *
CLHEP::cm,
"The minimal lambda in the definition of the Longitudinal moment"};
89 Gaudi::Property<double>
m_minBadLArQuality {
this,
"MinBadLArQuality", 4000,
"The minimal cell quality in the LAr for declaring a cell bad"};
94 Gaudi::Property<bool>
m_absOpt {
this,
"WeightingOfNegClusters",
false,
"If set to true use abs E value of cells to calculate cluster moments"};
98 Gaudi::Property<double>
m_etaInnerWheel {
this,
"EMECAbsEtaWheelTransition", 2.52,
"Transition from outer to inner wheel in EME2"};
103 Gaudi::Property<bool>
m_twoGaussianNoise {
this,
"TwoGaussianNoise",
false,
"If set to true use 2-gaussian noise description for TileCal"};
108 Gaudi::Property<bool>
m_skipInvalidClusters {
this,
"SkipInvalidClusters",
true,
"Check for and skip invalid clusters during moments calculation."};
118 #endif //CALORECGPU_TOPOAUTOMATONCLUSTERING_H
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
ClusterMomentsCalculator::CMCOptionsHolder m_options
Options for the algorithm, held in a GPU-friendly way.
virtual ~GPUClusterInfoAndMomentsCalculator()=default
Base class to provide some basic common infrastructure for timing measurements...
GPUClusterInfoAndMomentsCalculator(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode initialize()
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
Base class to provide some basic common infrastructure for initializing CUDA only at the right place ...
Gaudi::Property< double > m_maxAxisAngle
the maximal allowed deviation from the IP-to-ClusterCenter-axis.
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.
virtual StatusCode initialize() override
Gaudi::Property< bool > m_absOpt
if set to true use abs E value of cells to calculate cluster moments
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
Standard tool to calculate cluster info (energy, transverse energy, pseudo-rapidity and azimuthal ang...
Define macros for attributes used to control the static checker.
virtual StatusCode execute(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const override
Gaudi::Property< double > m_etaInnerWheel
Transition from outer to inner wheel in EME2.