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