ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Calorimeter
CaloRecGPU
src
BasicGPUToAthenaImporter.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
//Dear emacs, this is -*-c++-*-
8
9
#ifndef CALORECGPU_BASICGPUTOATHENAIMPORTER_H
10
#define CALORECGPU_BASICGPUTOATHENAIMPORTER_H
11
12
#include "
AthenaBaseComps/AthAlgTool.h
"
13
14
#include "
CaloRecGPU/CaloClusterGPUTransformers.h
"
15
#include "
StoreGate/ReadHandleKey.h
"
16
#include "
CaloRecGPU/CaloGPUTimed.h
"
17
18
class
CaloCell_ID
;
19
28
29
class
BasicGPUToAthenaImporter
:
30
public
extends<AthAlgTool, ICaloClusterGPUOutputTransformer>,
public
CaloGPUTimed
31
{
32
public
:
33
34
BasicGPUToAthenaImporter
(
const
std::string &
type
,
const
std::string & name,
const
IInterface * parent);
35
36
virtual
StatusCode
initialize
()
override
;
37
38
virtual
StatusCode
convert
(
const
EventContext & ctx,
const
CaloRecGPU::ConstantDataHolder
& constant_data,
39
CaloRecGPU::EventDataHolder
& event_data,
xAOD::CaloClusterContainer
* cluster_collection)
const override
;
40
41
virtual
StatusCode
finalize
()
override
;
42
43
virtual
~BasicGPUToAthenaImporter
() =
default
;
44
45
private
:
46
51
Gaudi::Property<bool>
m_useCPUPropertiesCalculation
{
this
,
"UseCPUClusterPropertiesCalculation"
,
false
,
"Use CaloClusterKineHelper::calculateKine instead of GPU-calculated cluster properties"
};
52
56
SG::ReadHandleKey<CaloCellContainer>
m_cellsKey
{
this
,
"CellsName"
,
""
,
"Name(s) of Cell Containers"
};
57
59
Gaudi::Property<std::string>
m_clusterSizeString
{
this
,
"ClusterSize"
,
"Topo_420"
,
"The size/type of the clusters"
};
60
61
xAOD::CaloCluster::ClusterSize
m_clusterSize
;
62
65
Gaudi::Property<std::vector<int>>
m_missingCellsToFill
{
this
,
"MissingCellsToFill"
, {},
"Force fill these cells as disabled on empty containers."
};
66
70
const
CaloCell_ID
*
m_calo_id
{
nullptr
};
71
75
Gaudi::Property<bool>
m_saveUncalibrated
{
this
,
"SaveUncalibratedSignalState"
,
true
,
"Use CaloClusterKineHelper::calculateKine instead of GPU-calculated cluster properties"
};
76
77
};
78
79
#endif
//CALORECGPU_BASICGPUTOATHENAIMPORTER_H
AthAlgTool.h
CaloClusterGPUTransformers.h
CaloGPUTimed.h
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
BasicGPUToAthenaImporter::m_calo_id
const CaloCell_ID * m_calo_id
Pointer to Calo ID Helper.
Definition
BasicGPUToAthenaImporter.h:70
BasicGPUToAthenaImporter::m_useCPUPropertiesCalculation
Gaudi::Property< bool > m_useCPUPropertiesCalculation
if set to true, cluster properties are (re-)calculated using CaloClusterKineHelper::calculateKine.
Definition
BasicGPUToAthenaImporter.h:51
BasicGPUToAthenaImporter::m_clusterSize
xAOD::CaloCluster::ClusterSize m_clusterSize
Definition
BasicGPUToAthenaImporter.h:61
BasicGPUToAthenaImporter::BasicGPUToAthenaImporter
BasicGPUToAthenaImporter(const std::string &type, const std::string &name, const IInterface *parent)
Definition
BasicGPUToAthenaImporter.cxx:25
BasicGPUToAthenaImporter::initialize
virtual StatusCode initialize() override
Definition
BasicGPUToAthenaImporter.cxx:33
BasicGPUToAthenaImporter::finalize
virtual StatusCode finalize() override
Definition
BasicGPUToAthenaImporter.cxx:154
BasicGPUToAthenaImporter::m_clusterSizeString
Gaudi::Property< std::string > m_clusterSizeString
Cluster size. Should be set accordingly to the threshold.
Definition
BasicGPUToAthenaImporter.h:59
BasicGPUToAthenaImporter::convert
virtual StatusCode convert(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, xAOD::CaloClusterContainer *cluster_collection) const override
Definition
BasicGPUToAthenaImporter.cxx:89
BasicGPUToAthenaImporter::m_missingCellsToFill
Gaudi::Property< std::vector< int > > m_missingCellsToFill
Cell indices to fill as disabled cells (useful if the cell vector is always missing the same cells).
Definition
BasicGPUToAthenaImporter.h:65
BasicGPUToAthenaImporter::~BasicGPUToAthenaImporter
virtual ~BasicGPUToAthenaImporter()=default
BasicGPUToAthenaImporter::m_saveUncalibrated
Gaudi::Property< bool > m_saveUncalibrated
if set to true, the uncalibrated state is saved when importing the clusters.
Definition
BasicGPUToAthenaImporter.h:75
BasicGPUToAthenaImporter::m_cellsKey
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Definition
BasicGPUToAthenaImporter.h:56
CaloCell_ID
Helper class for offline cell identifiers.
Definition
CaloCell_ID.h:34
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
SG::ReadHandleKey
Property holding a SG store/key/clid from which a ReadHandle is made.
Definition
StoreGate/StoreGate/ReadHandleKey.h:40
xAOD::CaloCluster_v1::ClusterSize
ClusterSize
Enumeration to identify different cluster sizes.
Definition
CaloCluster_v1.h:89
xAOD::CaloClusterContainer
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.
Definition
Event/xAOD/xAODCaloEvent/xAODCaloEvent/CaloClusterContainer.h:17
type
Generated on
for ATLAS Offline Software by
1.17.0