![]() |
ATLAS Offline Software
|
Standard tool to calculate cluster info (energy, transverse energy, pseudo-rapidity and azimuthal angle). More...
#include <GPUClusterInfoAndMomentsCalculator.h>
Public Member Functions | |
GPUClusterInfoAndMomentsCalculator (const std::string &type, const std::string &name, const IInterface *parent) | |
virtual StatusCode | initialize () override |
virtual StatusCode | initialize_non_CUDA () override |
Initialization that does not invoke CUDA functions. More... | |
virtual StatusCode | initialize_CUDA () override |
Initialization that invokes CUDA functions. More... | |
virtual StatusCode | execute (const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, void *temporary_buffer) const override |
virtual StatusCode | finalize () override |
virtual | ~GPUClusterInfoAndMomentsCalculator ()=default |
void | handle (const Incident &incident) override |
Private Attributes | |
Gaudi::Property< double > | m_maxAxisAngle {this, "MaxAxisAngle", 20 * CLHEP::deg, "The maximal allowed deviation from the IP-to-ClusterCenter-axis"} |
the maximal allowed deviation from the IP-to-ClusterCenter-axis. More... | |
Gaudi::Property< double > | m_minRLateral {this, "MinRLateral", 4 * CLHEP::cm, "The minimal r in the definition of the Lateral moment"} |
the minimal \(r\) in the definition of the Lateral moment More... | |
Gaudi::Property< double > | m_minLLongitudinal {this, "MinLLongitudinal", 10 * CLHEP::cm, "The minimal lambda in the definition of the Longitudinal moment"} |
the minimal \(\lambda\) in the definition of the Longitudinal moment More... | |
Gaudi::Property< double > | m_minBadLArQuality {this, "MinBadLArQuality", 4000, "The minimal cell quality in the LAr for declaring a cell bad"} |
the minimal cell quality in the LAr for declaring a cell bad More... | |
Gaudi::Property< bool > | m_absOpt {this, "WeightingOfNegClusters", false, "If set to true use abs E value of cells to calculate cluster moments"} |
if set to true use abs E value of cells to calculate cluster moments More... | |
Gaudi::Property< double > | m_etaInnerWheel {this, "EMECAbsEtaWheelTransition", 2.52, "Transition from outer to inner wheel in EME2"} |
Transition from outer to inner wheel in EME2. More... | |
Gaudi::Property< bool > | m_twoGaussianNoise {this, "TwoGaussianNoise", false, "If set to true use 2-gaussian noise description for TileCal"} |
if set to true use 2-gaussian noise description for TileCal More... | |
Gaudi::Property< bool > | m_skipInvalidClusters {this, "SkipInvalidClusters", true, "Check for and skip invalid clusters during moments calculation."} |
If false , do the moment calculation even for invalid clusters (which may waste computation). More... | |
ClusterMomentsCalculator::CMCOptionsHolder | m_options |
Options for the algorithm, held in a GPU-friendly way. More... | |
Gaudi::Property< bool > | m_measureTimes {this, "MeasureTimes", false, "Synchronize for time measurements"} |
If true , synchronize the kernel calls to ensure accurate per-step/per-tool time measurements. More... | |
ServiceHandle< IGPUKernelSizeOptimizerSvc > | m_kernelSizeOptimizer { this, "KernelSizeOptimizer", "GPUKernelSizeOptimizerSvc", "CUDA kernel size optimization service." } |
Handle to the CUDA kernel block and grid size optimization service. More... | |
Standard tool to calculate cluster info (energy, transverse energy, pseudo-rapidity and azimuthal angle).
Definition at line 32 of file GPUClusterInfoAndMomentsCalculator.h.
GPUClusterInfoAndMomentsCalculator::GPUClusterInfoAndMomentsCalculator | ( | const std::string & | type, |
const std::string & | name, | ||
const IInterface * | parent | ||
) |
Definition at line 14 of file GPUClusterInfoAndMomentsCalculator.cxx.
|
virtualdefault |
|
overridevirtual |
Definition at line 46 of file GPUClusterInfoAndMomentsCalculator.cxx.
|
overridevirtual |
Definition at line 54 of file GPUClusterInfoAndMomentsCalculator.cxx.
|
inlineoverrideinherited |
Definition at line 66 of file CaloGPUCUDAInitialization.h.
|
inlineoverridevirtual |
Reimplemented from CaloGPUCUDAInitialization.
Definition at line 39 of file GPUClusterInfoAndMomentsCalculator.h.
|
overridevirtual |
Initialization that invokes CUDA functions.
Reimplemented from CaloGPUCUDAInitialization.
Definition at line 38 of file GPUClusterInfoAndMomentsCalculator.cxx.
|
overridevirtual |
Initialization that does not invoke CUDA functions.
Reimplemented from CaloGPUCUDAInitialization.
Definition at line 19 of file GPUClusterInfoAndMomentsCalculator.cxx.
|
private |
if set to true use abs E value of cells to calculate cluster moments
Definition at line 93 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
Transition from outer to inner wheel in EME2.
Definition at line 97 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
Handle to the CUDA kernel block and grid size optimization service.
Definition at line 120 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
the maximal allowed deviation from the IP-to-ClusterCenter-axis.
Definition at line 62 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
If true
, synchronize the kernel calls to ensure accurate per-step/per-tool time measurements.
Defaults to false
.
Definition at line 117 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
the minimal cell quality in the LAr for declaring a cell bad
This defines the minimal quality (large values mean worse shape) a cell needs to exceed in order to be considered as not compatible with a normal ionization signal.
Definition at line 88 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
the minimal \(\lambda\) in the definition of the Longitudinal moment
This defines the minimal distance along the shower axis from the cluster center the two leading cells might have before this value is used instead of their real distance in the normalization of the LONGITUDINAL moment.
Definition at line 80 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
the minimal \(r\) in the definition of the Lateral moment
This defines the minimal distance the two leading cells might have before this value is used instead of their real distance in the normalization of the LATERAL moment.
Definition at line 70 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
Options for the algorithm, held in a GPU-friendly way.
Definition at line 111 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
If false
, do the moment calculation even for invalid clusters (which may waste computation).
Defaults to true
.
Definition at line 107 of file GPUClusterInfoAndMomentsCalculator.h.
|
private |
if set to true use 2-gaussian noise description for TileCal
Definition at line 102 of file GPUClusterInfoAndMomentsCalculator.h.