ATLAS Offline Software
Loading...
Searching...
No Matches
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
13
17
18class CaloCell_ID;
19
28
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
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
Property holding a SG store/key/clid from which a ReadHandle is made.
const CaloCell_ID * m_calo_id
Pointer to Calo ID Helper.
Gaudi::Property< bool > m_useCPUPropertiesCalculation
if set to true, cluster properties are (re-)calculated using CaloClusterKineHelper::calculateKine.
xAOD::CaloCluster::ClusterSize m_clusterSize
BasicGPUToAthenaImporter(const std::string &type, const std::string &name, const IInterface *parent)
virtual StatusCode initialize() override
virtual StatusCode finalize() override
Gaudi::Property< std::string > m_clusterSizeString
Cluster size. Should be set accordingly to the threshold.
virtual StatusCode convert(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, xAOD::CaloClusterContainer *cluster_collection) const override
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).
virtual ~BasicGPUToAthenaImporter()=default
Gaudi::Property< bool > m_saveUncalibrated
if set to true, the uncalibrated state is saved when importing the clusters.
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Helper class for offline cell identifiers.
Definition CaloCell_ID.h:34
CaloGPUTimed(T *ptr)
Holds CPU and GPU versions of the geometry and cell noise information, which are assumed to be consta...
Definition DataHolders.h:27
Holds the mutable per-event information (clusters and cells) and provides utilities to convert betwee...
Definition DataHolders.h:73
Property holding a SG store/key/clid from which a ReadHandle is made.
ClusterSize
Enumeration to identify different cluster sizes.
CaloClusterContainer_v1 CaloClusterContainer
Define the latest version of the calorimeter cluster container.