![]() |
ATLAS Offline Software
|
Standard tool to convert the GPU data representation back to CPU. More...
#include <BasicGPUToAthenaImporter.h>
Public Member Functions | |
| BasicGPUToAthenaImporter (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual StatusCode | initialize () override |
| virtual StatusCode | convert (const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, xAOD::CaloClusterContainer *cluster_collection) const override |
| virtual StatusCode | finalize () override |
| virtual | ~BasicGPUToAthenaImporter ()=default |
Protected Member Functions | |
| void | record_times (const size_t event_num, const std::vector< size_t > ×) const |
| template<class ... Args> | |
| void | record_times (const size_t event_num, const size_t &value) const |
| template<class ... Args> | |
| void | record_times (const size_t event_num, const size_t &value, Args &&... args) const |
| void | print_times (const std::string &header, const size_t time_size) const |
Protected Attributes | |
| std::shared_mutex | m_timeMutex |
| Mutex that is locked when recording times. | |
| std::vector< size_t > m_times | ATLAS_THREAD_SAFE |
| Vector to hold execution times to be recorded if necessary. | |
| std::vector< size_t > m_eventNumbers | ATLAS_THREAD_SAFE |
| Vector to hold the event numbers to be recorded if necessary. | |
| Gaudi::Property< bool > | m_measureTimes |
If true, times are recorded to the file given by m_timeFileName. | |
| Gaudi::Property< std::string > | m_timeFileName |
| File to which times should be saved. | |
Private Member Functions | |
| void | record_times_helper (const size_t) const |
| template<class Arg> | |
| void | record_times_helper (const size_t index, Arg &&arg) const |
| template<class ... Args> | |
| void | record_times_helper (size_t index, Args &&... args) const |
Private Attributes | |
| Gaudi::Property< bool > | m_useCPUPropertiesCalculation {this, "UseCPUClusterPropertiesCalculation", false, "Use CaloClusterKineHelper::calculateKine instead of GPU-calculated cluster properties"} |
if set to true, cluster properties are (re-)calculated using CaloClusterKineHelper::calculateKine. | |
| SG::ReadHandleKey< CaloCellContainer > | m_cellsKey {this, "CellsName", "", "Name(s) of Cell Containers"} |
| vector of names of the cell containers to use as input. | |
| Gaudi::Property< std::string > | m_clusterSizeString {this, "ClusterSize", "Topo_420", "The size/type of the clusters"} |
| Cluster size. Should be set accordingly to the threshold. | |
| xAOD::CaloCluster::ClusterSize | m_clusterSize |
| Gaudi::Property< std::vector< int > > | m_missingCellsToFill {this, "MissingCellsToFill", {}, "Force fill these cells as disabled on empty containers."} |
| Cell indices to fill as disabled cells (useful if the cell vector is always missing the same cells). | |
| const CaloCell_ID * | m_calo_id {nullptr} |
| Pointer to Calo ID Helper. | |
| Gaudi::Property< bool > | m_saveUncalibrated {this, "SaveUncalibratedSignalState", true, "Use CaloClusterKineHelper::calculateKine instead of GPU-calculated cluster properties"} |
| if set to true, the uncalibrated state is saved when importing the clusters. | |
Standard tool to convert the GPU data representation back to CPU.
Definition at line 29 of file BasicGPUToAthenaImporter.h.
| BasicGPUToAthenaImporter::BasicGPUToAthenaImporter | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 25 of file BasicGPUToAthenaImporter.cxx.
|
virtualdefault |
|
overridevirtual |
Definition at line 88 of file BasicGPUToAthenaImporter.cxx.
|
overridevirtual |
Definition at line 153 of file BasicGPUToAthenaImporter.cxx.
|
overridevirtual |
Definition at line 33 of file BasicGPUToAthenaImporter.cxx.
|
inlineprotectedinherited |
Definition at line 143 of file CaloGPUTimed.h.
|
inlineprotectedinherited |
Definition at line 105 of file CaloGPUTimed.h.
|
inlineprotectedinherited |
Definition at line 124 of file CaloGPUTimed.h.
|
inlineprotectedinherited |
Definition at line 86 of file CaloGPUTimed.h.
|
inlineprivateinherited |
Definition at line 70 of file CaloGPUTimed.h.
|
inlineprivateinherited |
Definition at line 64 of file CaloGPUTimed.h.
|
inlineprivateinherited |
Definition at line 79 of file CaloGPUTimed.h.
|
mutableprotectedinherited |
Vector to hold execution times to be recorded if necessary.
Definition at line 35 of file CaloGPUTimed.h.
|
mutableprotectedinherited |
Vector to hold the event numbers to be recorded if necessary.
Definition at line 40 of file CaloGPUTimed.h.
|
private |
|
private |
vector of names of the cell containers to use as input.
Definition at line 56 of file BasicGPUToAthenaImporter.h.
|
private |
Definition at line 61 of file BasicGPUToAthenaImporter.h.
|
private |
Cluster size. Should be set accordingly to the threshold.
Definition at line 59 of file BasicGPUToAthenaImporter.h.
|
protectedinherited |
If true, times are recorded to the file given by m_timeFileName.
Defaults to false.
Definition at line 46 of file CaloGPUTimed.h.
|
private |
Cell indices to fill as disabled cells (useful if the cell vector is always missing the same cells).
Definition at line 65 of file BasicGPUToAthenaImporter.h.
|
private |
if set to true, the uncalibrated state is saved when importing the clusters.
Default is true.
Definition at line 75 of file BasicGPUToAthenaImporter.h.
|
protectedinherited |
File to which times should be saved.
Definition at line 50 of file CaloGPUTimed.h.
|
mutableprotectedinherited |
Mutex that is locked when recording times.
Definition at line 32 of file CaloGPUTimed.h.
|
private |
if set to true, cluster properties are (re-)calculated using CaloClusterKineHelper::calculateKine.
Else, the GPU-calculated values are used. Default is false.
Definition at line 51 of file BasicGPUToAthenaImporter.h.