ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRecGPU
src
GPUClusterSorter.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_GPUCLUSTERSORTER_H
9
#define CALORECGPU_GPUCLUSTERSORTER_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 "
GPUClusterSorterImpl.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
31
32
33
class
GPUClusterSorter
:
34
public
extends<AthAlgTool, CaloClusterGPUProcessor>,
public
CaloGPUTimed
,
public
CaloGPUCUDAInitialization
35
{
36
public
:
37
38
GPUClusterSorter
(
const
std::string &
type
,
const
std::string & name,
const
IInterface * parent);
39
40
virtual
StatusCode
initialize
()
override
41
{
42
return
CaloGPUCUDAInitialization::initialize
();
43
}
44
45
virtual
StatusCode
initialize_non_CUDA
()
override
;
46
47
virtual
StatusCode
initialize_CUDA
()
override
;
48
49
virtual
StatusCode
execute
(
const
EventContext & ctx,
50
const
CaloRecGPU::ConstantDataHolder
& constant_data,
51
CaloRecGPU::EventDataHolder
& event_data,
52
void
* temporary_buffer)
const override
;
53
54
virtual
StatusCode
finalize
()
override
;
55
56
virtual
~GPUClusterSorter
() =
default
;
57
58
private
:
59
64
Gaudi::Property<bool>
m_cutClustersInAbsE
{
this
,
"ClusterCutsInAbsEt"
,
true
,
"Do cluster cuts in Abs Et instead of Et"
};
65
72
73
Gaudi::Property<float>
m_clusterETThreshold
{
this
,
"ClusterEtorAbsEtCut"
, 0.*CLHEP::MeV,
"Cluster E_t or Abs E_t cut"
};
74
76
ServiceHandle<IGPUKernelSizeOptimizerSvc>
m_kernelSizeOptimizer
{
this
,
"KernelSizeOptimizer"
,
"GPUKernelSizeOptimizerSvc"
,
"CUDA kernel size optimization service."
};
77
78
};
79
80
#endif
//CALORECGPU_GPUCLUSTERSORTER_H
AthAlgTool.h
CaloClusterGPUProcessor.h
CaloGPUCUDAInitialization.h
CaloGPUTimed.h
GPUClusterSorterImpl.h
IGPUKernelSizeOptimizerSvc.h
checker_macros.h
Define macros for attributes used to control the static checker.
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
GPUClusterSorter::execute
virtual StatusCode execute(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const override
Definition
GPUClusterSorter.cxx:34
GPUClusterSorter::m_clusterETThreshold
Gaudi::Property< float > m_clusterETThreshold
cut on the clusters.
Definition
GPUClusterSorter.h:73
GPUClusterSorter::m_cutClustersInAbsE
Gaudi::Property< bool > m_cutClustersInAbsE
if set to true cluster cuts are on , if false on .
Definition
GPUClusterSorter.h:64
GPUClusterSorter::initialize_CUDA
virtual StatusCode initialize_CUDA() override
Initialization that invokes CUDA functions.
Definition
GPUClusterSorter.cxx:28
GPUClusterSorter::m_kernelSizeOptimizer
ServiceHandle< IGPUKernelSizeOptimizerSvc > m_kernelSizeOptimizer
Handle to the CUDA kernel block and grid size optimization service.
Definition
GPUClusterSorter.h:76
GPUClusterSorter::~GPUClusterSorter
virtual ~GPUClusterSorter()=default
GPUClusterSorter::GPUClusterSorter
GPUClusterSorter(const std::string &type, const std::string &name, const IInterface *parent)
Definition
GPUClusterSorter.cxx:16
GPUClusterSorter::finalize
virtual StatusCode finalize() override
Definition
GPUClusterSorter.cxx:74
GPUClusterSorter::initialize
virtual StatusCode initialize() override
Definition
GPUClusterSorter.h:40
GPUClusterSorter::initialize_non_CUDA
virtual StatusCode initialize_non_CUDA() override
Initialization that does not invoke CUDA functions.
Definition
GPUClusterSorter.cxx:22
ServiceHandle
Definition
ClusterMakerTool.h:36
type
Generated on
for ATLAS Offline Software by
1.17.0