ATLAS Offline Software
BasicEventDataGPUExporter.h
Go to the documentation of this file.
1 //
2 // Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
3 //
4 // Dear emacs, this is -*- c++ -*-
5 //
6 
7 #ifndef CALORECGPU_BASICEVENTDATAGPUEXPORTER_H
8 #define CALORECGPU_BASICEVENTDATAGPUEXPORTER_H
9 
11 
16 
17 //#include "CaloConditions/CaloNoise.h"
18 //For Two Gaussian Noise comparisons.
19 
20 class CaloCell_ID;
21 
31  public AthAlgTool, virtual public ICaloClusterGPUInputTransformer, public CaloGPUTimed
32 {
33  public:
34 
35  BasicEventDataGPUExporter(const std::string & type, const std::string & name, const IInterface * parent);
36 
37  virtual StatusCode initialize() override;
38 
39  virtual StatusCode convert (const EventContext & ctx, const CaloRecGPU::ConstantDataHolder & constant_data,
40  const xAOD::CaloClusterContainer * cluster_collection, CaloRecGPU::EventDataHolder & event_data) const override;
41 
42  virtual StatusCode finalize() override;
43 
44  virtual ~BasicEventDataGPUExporter() = default;
45 
46  private:
47 
52  Gaudi::Property<bool> m_keepCPUData {this, "KeepCPUData", true, "Keep CPU version of GPU data format"};
53 
57  SG::ReadHandleKey<CaloCellContainer> m_cellsKey {this, "CellsName", "", "Name(s) of Cell Containers"};
58 
64  Gaudi::Property<bool> m_considerSharedCells {this, "ConsiderSharedCells", false, "Take into account the possibility of a cell being shared between clusters."};
65 
68  Gaudi::Property<std::vector<int>> m_missingCellsToFill {this, "MissingCellsToFill", {}, "Force fill these cells as disabled on empty containers."};
69 
73  const CaloCell_ID * m_calo_id {nullptr};
74 
75  // /** @brief Key of the CaloNoise Conditions data object. Typical values
76  // are '"electronicNoise', 'pileupNoise', or '"totalNoise' (default) */
77  //SG::ReadCondHandleKey<CaloNoise> m_noiseCDOKey{this, "CaloNoiseKey", "totalNoise", "SG Key of CaloNoise data object"};
78  //For Two Gaussian Noise comparisons.
79 };
80 
81 #endif //CALORECGPU_BASICEVENTDATAGPUEXPORTER_H
ReadHandleKey.h
Property holding a SG store/key/clid from which a ReadHandle is made.
BasicEventDataGPUExporter::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: BasicEventDataGPUExporter.h:68
BasicEventDataGPUExporter::m_cellsKey
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Definition: BasicEventDataGPUExporter.h:57
SG::ReadHandleKey< CaloCellContainer >
BasicEventDataGPUExporter::~BasicEventDataGPUExporter
virtual ~BasicEventDataGPUExporter()=default
BasicEventDataGPUExporter::m_considerSharedCells
Gaudi::Property< bool > m_considerSharedCells
If true, into account the possibility of a cell being shared between clusters.
Definition: BasicEventDataGPUExporter.h:64
BasicEventDataGPUExporter
Standard tool to export cell energy and gain to the GPU.
Definition: BasicEventDataGPUExporter.h:32
CaloGPUTimed
Base class to provide some basic common infrastructure for timing measurements...
Definition: CaloGPUTimed.h:25
BasicEventDataGPUExporter::finalize
virtual StatusCode finalize() override
Definition: BasicEventDataGPUExporter.cxx:304
BasicEventDataGPUExporter::BasicEventDataGPUExporter
BasicEventDataGPUExporter(const std::string &type, const std::string &name, const IInterface *parent)
Definition: BasicEventDataGPUExporter.cxx:22
CaloRecGPU::EventDataHolder
Definition: DataHolders.h:35
BasicEventDataGPUExporter::m_calo_id
const CaloCell_ID * m_calo_id
Pointer to Calo ID Helper.
Definition: BasicEventDataGPUExporter.h:73
EL::StatusCode
::StatusCode StatusCode
StatusCode definition for legacy code.
Definition: PhysicsAnalysis/D3PDTools/EventLoop/EventLoop/StatusCode.h:22
AthAlgTool.h
test_pyathena.parent
parent
Definition: test_pyathena.py:15
ICaloClusterGPUInputTransformer
Base class for tools that convert event information from the Athena structures to the GPU-friendly fo...
Definition: CaloClusterGPUTransformers.h:66
CaloCell_ID
Helper class for offline cell identifiers.
Definition: CaloCell_ID.h:34
DataVector
Derived DataVector<T>.
Definition: DataVector.h:581
CaloClusterGPUTransformers.h
BasicEventDataGPUExporter::m_keepCPUData
Gaudi::Property< bool > m_keepCPUData
If true, do not delete the CPU version of the GPU-friendly data representation.
Definition: BasicEventDataGPUExporter.h:52
ReadCondHandleKey.h
name
std::string name
Definition: Control/AthContainers/Root/debug.cxx:192
BasicEventDataGPUExporter::convert
virtual StatusCode convert(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, const xAOD::CaloClusterContainer *cluster_collection, CaloRecGPU::EventDataHolder &event_data) const override
Fill the CaloRecGPU::EventDataHolder with the relevant information.
Definition: BasicEventDataGPUExporter.cxx:42
BasicEventDataGPUExporter::initialize
virtual StatusCode initialize() override
Definition: BasicEventDataGPUExporter.cxx:29
python.CaloScaleNoiseConfig.type
type
Definition: CaloScaleNoiseConfig.py:78
CaloRecGPU::ConstantDataHolder
Definition: DataHolders.h:19
CaloGPUTimed.h
AthAlgTool
Definition: AthAlgTool.h:26