ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRecGPU
src
BasicGPUClusterInfoCalculator.h
Go to the documentation of this file.
1
//
2
// Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
//
4
// Dear emacs, this is -*- c++ -*-
5
//
6
7
8
#ifndef CALORECGPU_BASICGPUCLUSTERINFOCALCULATOR_H
9
#define CALORECGPU_BASICGPUCLUSTERINFOCALCULATOR_H
10
11
#include "
CxxUtils/checker_macros.h
"
12
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
#include "
CaloRecGPU/CaloClusterGPUProcessor.h
"
15
#include "
CaloRecGPU/CaloGPUTimed.h
"
16
#include "
BasicGPUClusterInfoCalculatorImpl.h
"
17
#include "
CaloRecGPU/CaloGPUCUDAInitialization.h
"
18
19
#include "GaudiKernel/ServiceHandle.h"
20
21
#include "
CaloRecGPU/IGPUKernelSizeOptimizerSvc.h
"
22
23
#include "CLHEP/Units/SystemOfUnits.h"
24
32
33
34
class
BasicGPUClusterInfoCalculator
:
35
public
extends<AthAlgTool, CaloClusterGPUProcessor>,
public
CaloGPUTimed
,
public
CaloGPUCUDAInitialization
36
{
37
public
:
38
39
BasicGPUClusterInfoCalculator
(
const
std::string &
type
,
const
std::string & name,
const
IInterface * parent);
40
41
virtual
StatusCode
initialize
()
override
42
{
43
return
CaloGPUCUDAInitialization::initialize
();
44
}
45
46
virtual
StatusCode
initialize_non_CUDA
()
override
;
47
48
virtual
StatusCode
initialize_CUDA
()
override
;
49
50
virtual
StatusCode
execute
(
const
EventContext & ctx,
51
const
CaloRecGPU::ConstantDataHolder
& constant_data,
52
CaloRecGPU::EventDataHolder
& event_data,
53
void
* temporary_buffer)
const override
;
54
55
virtual
StatusCode
finalize
()
override
;
56
57
virtual
~BasicGPUClusterInfoCalculator
() =
default
;
58
59
private
:
60
65
Gaudi::Property<bool>
m_cutClustersInAbsE
{
this
,
"ClusterCutsInAbsEt"
,
true
,
"Do cluster cuts in Abs Et instead of Et"
};
66
73
74
Gaudi::Property<float>
m_clusterETThreshold
{
this
,
"ClusterEtorAbsEtCut"
, 0.*CLHEP::MeV,
"Cluster E_t or Abs E_t cut"
};
75
77
ServiceHandle<IGPUKernelSizeOptimizerSvc>
m_kernelSizeOptimizer
{
this
,
"KernelSizeOptimizer"
,
"GPUKernelSizeOptimizerSvc"
,
"CUDA kernel size optimization service."
};
78
79
};
80
81
#endif
//CALORECGPU_TOPOAUTOMATONCLUSTERING_H
AthAlgTool.h
BasicGPUClusterInfoCalculatorImpl.h
CaloClusterGPUProcessor.h
CaloGPUCUDAInitialization.h
CaloGPUTimed.h
IGPUKernelSizeOptimizerSvc.h
checker_macros.h
Define macros for attributes used to control the static checker.
BasicGPUClusterInfoCalculator::m_kernelSizeOptimizer
ServiceHandle< IGPUKernelSizeOptimizerSvc > m_kernelSizeOptimizer
Handle to the CUDA kernel block and grid size optimization service.
Definition
BasicGPUClusterInfoCalculator.h:77
BasicGPUClusterInfoCalculator::m_cutClustersInAbsE
Gaudi::Property< bool > m_cutClustersInAbsE
if set to true cluster cuts are on , if false on .
Definition
BasicGPUClusterInfoCalculator.h:65
BasicGPUClusterInfoCalculator::initialize
virtual StatusCode initialize() override
Definition
BasicGPUClusterInfoCalculator.h:41
BasicGPUClusterInfoCalculator::execute
virtual StatusCode execute(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const override
Definition
BasicGPUClusterInfoCalculator.cxx:34
BasicGPUClusterInfoCalculator::BasicGPUClusterInfoCalculator
BasicGPUClusterInfoCalculator(const std::string &type, const std::string &name, const IInterface *parent)
Definition
BasicGPUClusterInfoCalculator.cxx:16
BasicGPUClusterInfoCalculator::~BasicGPUClusterInfoCalculator
virtual ~BasicGPUClusterInfoCalculator()=default
BasicGPUClusterInfoCalculator::initialize_non_CUDA
virtual StatusCode initialize_non_CUDA() override
Initialization that does not invoke CUDA functions.
Definition
BasicGPUClusterInfoCalculator.cxx:22
BasicGPUClusterInfoCalculator::initialize_CUDA
virtual StatusCode initialize_CUDA() override
Initialization that invokes CUDA functions.
Definition
BasicGPUClusterInfoCalculator.cxx:28
BasicGPUClusterInfoCalculator::m_clusterETThreshold
Gaudi::Property< float > m_clusterETThreshold
cut on the clusters.
Definition
BasicGPUClusterInfoCalculator.h:74
BasicGPUClusterInfoCalculator::finalize
virtual StatusCode finalize() override
Definition
BasicGPUClusterInfoCalculator.cxx:71
CaloGPUCUDAInitialization
Base class to provide some basic common infrastructure for initializing CUDA only at the right place ...
Definition
CaloGPUCUDAInitialization.h:28
CaloGPUCUDAInitialization::initialize
virtual StatusCode initialize()
Definition
CaloGPUCUDAInitialization.h:44
CaloGPUTimed::CaloGPUTimed
CaloGPUTimed(T *ptr)
Definition
CaloGPUTimed.h:55
CaloRecGPU::ConstantDataHolder
Holds CPU and GPU versions of the geometry and cell noise information, which are assumed to be consta...
Definition
DataHolders.h:27
CaloRecGPU::EventDataHolder
Holds the mutable per-event information (clusters and cells) and provides utilities to convert betwee...
Definition
DataHolders.h:73
ServiceHandle
Definition
ClusterMakerTool.h:36
type
Generated on
for ATLAS Offline Software by
1.17.0