9#ifndef CALORECGPU_GPUTOATHENAIMPORTERWITHMOMENTS_H
10#define CALORECGPU_GPUTOATHENAIMPORTERWITHMOMENTS_H
35 public extends<AthAlgTool, ICaloClusterGPUOutputTransformer>,
public CaloGPUTimed
46 virtual StatusCode
finalize()
override;
56 Gaudi::Property<bool>
m_keepGPUData {
this,
"KeepGPUData",
true,
"Keep GPU allocated data"};
64 Gaudi::Property<std::string>
m_clusterSizeString {
this,
"ClusterSize",
"Topo_420",
"The size/type of the clusters"};
77 "SG Key for CaloDetDescrManager in the Condition Store"};
84 Gaudi::Property<bool>
m_fillHVMoments {
this,
"FillHVMoments",
false,
"Fill the HV-related moments using the respective tools."};
93 Gaudi::Property<float>
m_HVthreshold{
this,
"HVThreshold",0.2,
"Threshold to consider a cell 'affected' by HV issues"};
97 Gaudi::Property<std::vector<int>>
m_missingCellsToFill {
this,
"MissingCellsToFill", {},
"Force fill these cells as disabled on empty containers."};
102 Gaudi::Property<bool>
m_saveUncalibrated {
this,
"SaveUncalibratedSignalState",
true,
"Use CaloClusterKineHelper::calculateKine instead of GPU-calculated cluster properties"};
111 Gaudi::Property<std::vector<std::string>>
m_momentsNames{
this,
"MomentsNames", {},
"List of names of moments to calculate"};
Definition of CaloDetDescrManager.
Property holding a SG store/key/clid from which a ReadHandle is made.
Helper class for offline cell identifiers.
Holds CPU and GPU versions of the geometry and cell noise information, which are assumed to be consta...
Holds the mutable per-event information (clusters and cells) and provides utilities to convert betwee...
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Gaudi::Property< std::string > m_clusterSizeString
Cluster size. Should be set accordingly to the threshold.
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Key for the CaloDetDescrManager in the Condition Store.
const CaloCell_ID * m_calo_id
Pointer to Calo ID Helper.
GPUToAthenaImporterWithMoments(const std::string &type, const std::string &name, const IInterface *parent)
xAOD::CaloCluster::ClusterSize m_clusterSize
virtual StatusCode convert(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, xAOD::CaloClusterContainer *cluster_collection) const override
Gaudi::Property< bool > m_keepGPUData
If true, do not delete the GPU data representation.
Gaudi::Property< float > m_HVthreshold
Threshold above which a cell contributes to the HV moments.
SG::ReadCondHandleKey< LArOnOffIdMapping > m_HVCablingKey
Cabling for the CPU-based HV moments calculation.
virtual StatusCode initialize() override
SG::ReadCondHandleKey< ILArHVScaleCorr > m_HVScaleKey
HV corrections for the CPU-based HV moments.
Gaudi::Property< bool > m_saveUncalibrated
if set to true, the uncalibrated state is saved when importing the clusters.
bool m_doHVMoments
To abbreviate checks of m_momentsToDo...
Gaudi::Property< bool > m_fillHVMoments
if set to true, fill the HV-related moments using the respective tools.
Gaudi::Property< std::vector< std::string > > m_momentsNames
vector holding the input list of names of moments to calculate.
CaloRecGPU::MomentsOptionsArray m_momentsToDo
Holds (in a linearized way) the moments and whether to add them to the clusters.
virtual StatusCode finalize() 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 ~GPUToAthenaImporterWithMoments()=default
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.
Holds an array of bools to represent the different moments that may be calculated and transferred to/...