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 "
AthCUDAInterfaces/IStreamTool.h
"
20
21
#include "GaudiKernel/ServiceHandle.h"
22
23
#include "
CaloRecGPU/IGPUKernelSizeOptimizerSvc.h
"
24
25
#include "CLHEP/Units/SystemOfUnits.h"
26
34
35
36
class
BasicGPUClusterInfoCalculator
:
37
public
extends<AthAlgTool, CaloClusterGPUProcessor>,
public
CaloGPUTimed
,
public
CaloGPUCUDAInitialization
38
{
39
public
:
40
41
BasicGPUClusterInfoCalculator
(
const
std::string &
type
,
const
std::string & name,
const
IInterface * parent);
42
43
virtual
StatusCode
initialize
()
override
44
{
45
return
CaloGPUCUDAInitialization::initialize
();
46
}
47
48
virtual
StatusCode
initialize_non_CUDA
()
override
;
49
50
virtual
StatusCode
initialize_CUDA
()
override
;
51
52
virtual
StatusCode
execute
(
const
EventContext & ctx,
53
const
CaloRecGPU::ConstantDataHolder
& constant_data,
54
CaloRecGPU::EventDataHolder
& event_data,
55
void
* temporary_buffer)
const override
;
56
57
virtual
StatusCode
finalize
()
override
;
58
59
virtual
~BasicGPUClusterInfoCalculator
() =
default
;
60
61
private
:
62
67
Gaudi::Property<bool>
m_cutClustersInAbsE
{
this
,
"ClusterCutsInAbsEt"
,
true
,
"Do cluster cuts in Abs Et instead of Et"
};
68
75
76
Gaudi::Property<float>
m_clusterETThreshold
{
this
,
"ClusterEtorAbsEtCut"
, 0.*CLHEP::MeV,
"Cluster E_t or Abs E_t cut"
};
77
79
ServiceHandle<IGPUKernelSizeOptimizerSvc>
m_kernelSizeOptimizer
{
this
,
"KernelSizeOptimizer"
,
"GPUKernelSizeOptimizerSvc"
,
"CUDA kernel size optimization service."
};
80
82
ToolHandle<AthCUDA::IStreamTool>
m_streamTool
{
this
,
"StreamTool"
,
""
,
"CUDA stream tool."
};
83
84
};
85
86
#endif
//CALORECGPU_TOPOAUTOMATONCLUSTERING_H
AthAlgTool.h
BasicGPUClusterInfoCalculatorImpl.h
CaloClusterGPUProcessor.h
CaloGPUCUDAInitialization.h
CaloGPUTimed.h
IStreamTool.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:79
BasicGPUClusterInfoCalculator::m_cutClustersInAbsE
Gaudi::Property< bool > m_cutClustersInAbsE
if set to true cluster cuts are on , if false on .
Definition
BasicGPUClusterInfoCalculator.h:67
BasicGPUClusterInfoCalculator::initialize
virtual StatusCode initialize() override
Definition
BasicGPUClusterInfoCalculator.h:43
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:35
BasicGPUClusterInfoCalculator::BasicGPUClusterInfoCalculator
BasicGPUClusterInfoCalculator(const std::string &type, const std::string &name, const IInterface *parent)
Definition
BasicGPUClusterInfoCalculator.cxx:16
BasicGPUClusterInfoCalculator::m_streamTool
ToolHandle< AthCUDA::IStreamTool > m_streamTool
Tool providing the CUDA stream to use.
Definition
BasicGPUClusterInfoCalculator.h:82
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:29
BasicGPUClusterInfoCalculator::m_clusterETThreshold
Gaudi::Property< float > m_clusterETThreshold
cut on the clusters.
Definition
BasicGPUClusterInfoCalculator.h:76
BasicGPUClusterInfoCalculator::finalize
virtual StatusCode finalize() override
Definition
BasicGPUClusterInfoCalculator.cxx:74
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