|
ATLAS Offline Software
|
Go to the documentation of this file.
9 #ifndef CALORECGPU_GPUTOATHENAIMPORTERWITHMOMENTS_H
10 #define CALORECGPU_GPUTOATHENAIMPORTERWITHMOMENTS_H
55 Gaudi::Property<bool>
m_keepGPUData {
this,
"KeepGPUData",
true,
"Keep GPU allocated data"};
63 Gaudi::Property<std::string>
m_clusterSizeString {
this,
"ClusterSize",
"Topo_420",
"The size/type of the clusters"};
76 "SG Key for CaloDetDescrManager in the Condition Store"};
83 Gaudi::Property<bool>
m_fillHVMoments {
this,
"FillHVMoments",
false,
"Fill the HV-related moments using the respective tools."};
92 Gaudi::Property<float>
m_HVthreshold{
this,
"HVThreshold",0.2,
"Threshold to consider a cell 'affected' by HV issues"};
96 Gaudi::Property<std::vector<int>>
m_missingCellsToFill {
this,
"MissingCellsToFill", {},
"Force fill these cells as disabled on empty containers."};
101 Gaudi::Property<bool>
m_saveUncalibrated {
this,
"SaveUncalibratedSignalState",
true,
"Use CaloClusterKineHelper::calculateKine instead of GPU-calculated cluster properties"};
110 Gaudi::Property<std::vector<std::string>>
m_momentsNames{
this,
"MomentsNames", {},
"List of names of moments to calculate"};
280 throw std::out_of_range(
"index out of range in bool & MomentsOptionsArray[]");
289 throw std::out_of_range(
"index out of range in bool MomentsOptionsArray[] const");
306 #endif //CALORECGPU_GPUTOATHENAIMPORTERWITHMOMENTS_H
@ CENTER_MAG
Cluster Centroid ( )
@ SECOND_R
Second Moment in .
Property holding a SG store/key/clid from which a ReadHandle is made.
bool m_doHVMoments
To abbreviate checks of m_momentsToDo...
@ ENG_CALIB_DEAD_UNCLASS
Attached Calibration Hit energy in dead material in unclassified areas of the detector.
@ FIRST_PHI
First Moment in .
@ OOC_WEIGHT
Out-of-cluster weight (E_ooc/E_w)
@ ENG_FRAC_CORE
Energy fraction of the sum of the hottest cells in each sampling.
ClusterSize
Enumeration to identify different cluster sizes.
SG::ReadCondHandleKey< LArOnOffIdMapping > m_HVCablingKey
Cabling for the CPU-based HV moments calculation.
GPUToAthenaImporterWithMoments(const std::string &type, const std::string &name, const IInterface *parent)
@ VERTEX_FRACTION
Vertex fraction of this cluster wrt.
@ MASS
cell based mass i.e. the mass of the 4-vector sum of all massless positive energetic cells
@ EM_PROBABILITY
Classification probability to be em-like.
@ CENTER_X
Cluster Centroid ( )
@ ENG_BAD_HV_CELLS
Total em-scale energy of cells with bad HV in this cluster.
Gaudi::Property< bool > m_saveUncalibrated
if set to true, the uncalibrated state is saved when importing the clusters.
@ ENG_CALIB_DEAD_LEAKAGE
Attached Calibration Hit energy in dead material behind calorimeters.
Gaudi::Property< std::vector< std::string > > m_momentsNames
vector holding the input list of names of moments to calculate.
@ ETA2CALOFRAME
Eta of sampling 2 in the calo frame (for egamma)
SG::ReadCondHandleKey< CaloDetDescrManager > m_caloMgrKey
Key for the CaloDetDescrManager in the Condition Store.
bool & operator[](const xAOD::CaloCluster::MomentType moment)
@ AVG_LAR_Q
Sum(E_cell_LAr^2 Q_cell_LAr)/Sum(E_cell_LAr^2)
@ ETA1CALOFRAME
Eta of sampling 1 in the calo frame (for egamma)
@ ENG_CALIB_TILEG3
Calibration Hit energy inside the cluster scintillator.
@ ENG_CALIB_DEAD_T
Attached Calibration Hit energy in dead material with tight matching (Angle < 0.3).
@ ENG_CALIB_OUT_M
Attached Calibration Hit energy outside clusters but inside the calorimeter with medium matching (Ang...
@ CENTER_LAMBDA
Shower depth at Cluster Centroid.
@ ENG_CALIB_EMB0
Calibration Hit energy inside the cluster barrel presampler.
xAOD::CaloCluster::ClusterSize m_clusterSize
@ ENG_CALIB_DEAD_TILE0
Attached Calibration Hit energy in dead material between EMB3 and TILE0.
@ ENG_FRAC_MAX
Energy fraction of hottest cell.
@ PHI1CALOFRAME
Phi of sampling 1 in the calo frame (for egamma)
Base class to provide some basic common infrastructure for timing measurements...
Definition of CaloDetDescrManager.
@ SECOND_LAMBDA
Second Moment in .
MomentType
Enums to identify different moments.
@ PTD
relative spread of pT of constiuent cells = sqrt(n)*RMS/Mean
@ NCELL_SAMPLING
Number of cells in sampling layer.
@ CENTER_Z
Cluster Centroid ( )
MomentsOptionsArray m_momentsToDo
Holds (in a linearized way) the moments and whether to add them to the clusters.
@ SECOND_ENG_DENS
Second Moment in E/V.
Gaudi::Property< bool > m_keepGPUData
If true, do not delete the GPU data representation.
@ DM_WEIGHT
Dead-material weight (E_dm/E_ooc)
@ HAD_WEIGHT
Hadronic weight (E_w/E_em)
virtual ~GPUToAthenaImporterWithMoments()=default
::StatusCode StatusCode
StatusCode definition for legacy code.
@ CELL_SIG_SAMPLING
CaloSample of the cell with the largest |E|/sig.
@ ENG_CALIB_TOT
Calibration Hit energy inside the cluster.
@ ENG_CALIB_FRAC_EM
Calibration Hit energy inside the cluster caused by e/gamma/pi0.
@ ISOLATION
Energy weighted fraction of non-clustered perimeter cells.
@ ENG_CALIB_FRAC_REST
Calibration Hit energy inside the cluster caused by other particles.
@ DELTA_PHI
Angular shower axis deviation ( ) from IP-to-Center.
@ ENG_CALIB_DEAD_FCAL
Attached Calibration Hit energy in dead material before FCAL, between FCAL and HEC.
SG::ReadHandleKey< CaloCellContainer > m_cellsKey
vector of names of the cell containers to use as input.
Helper class for offline cell identifiers.
@ FIRST_ENG_DENS
First Moment in E/V.
@ ENG_BAD_CELLS
Total em-scale energy of bad cells in this cluster.
static constexpr int num_moments
Gaudi::Property< std::string > m_clusterSizeString
Cluster size. Should be set accordingly to the threshold.
const CaloCell_ID * m_calo_id
Pointer to Calo ID Helper.
@ TILE_CONFIDENCE_LEVEL
Confidence Level of a tile calorimeter cluster to be noise.
@ ENG_CALIB_EME0
Calibration Hit energy inside the cluster endcap presampler.
@ ENG_FRAC_EM
Energy fraction in EM calorimeters.
@ ENG_CALIB_DEAD_M
Attached Calibration Hit energy in dead material with medium matching (Angle < 0.5).
@ ENG_CALIB_DEAD_HEC0
Attached Calibration Hit energy in dead material between EME3 and HEC0.
SG::ReadCondHandleKey< ILArHVScaleCorr > m_HVScaleKey
HV corrections for the CPU-based HV moments.
Gaudi::Property< bool > m_fillHVMoments
if set to true, fill the HV-related moments using the respective tools.
@ AVG_TILE_Q
Sum(E_cell_Tile^2 Q_cell_Tile)/Sum(E_cell_Tile^2)
@ PHICALOFRAME
Phi in the calo frame (for egamma)
@ ENG_CALIB_DEAD_TILEG3
Attached Calibration Hit energy in dead material before scintillator.
@ FIRST_ETA
First Moment in .
@ DELTA_THETA
Angular shower axis deviation ( ) from IP-to-Center.
@ ENG_CALIB_DEAD_TOT
Attached Calibration Hit energy in dead material.
@ SIGNIFICANCE
Cluster significance.
@ PHI2CALOFRAME
Phi of sampling 2 in the calo frame (for egamma)
@ N_BAD_HV_CELLS
number of cells with bad HV
Tool to convert the GPU data representation back to CPU, with selected moments too.
@ ENG_CALIB_DEAD_L
Attached Calibration Hit energy in dead material with loose matching (Angle < 1.0).
@ LATERAL
Normalized lateral moment.
@ SECOND_TIME
Second moment of cell time distribution in cluster.
@ DELTA_ALPHA
Angular shower axis deviation ( ) from IP-to-Center.
@ ENG_CALIB_FRAC_HAD
Calibration Hit energy inside the cluster caused by charged pi+ and pi-.
@ CELL_SIGNIFICANCE
Cell significance = E/sig of the cell with the largest |E|/sig.
@ ENG_CALIB_OUT_L
Attached Calibration Hit energy outside clusters but inside the calorimeter with loose matching (Angl...
@ ENG_CALIB_DEAD_EME0
Attached Calibration Hit energy in dead material before EME0, between EME0 and EME1.
@ ENG_CALIB_OUT_T
Attached Calibration Hit energy outside clusters but inside the calorimeter with tight matching (Angl...
@ BAD_CELLS_CORR_E
Energy of bad cells with energy density average correction applied.
@ ETACALOFRAME
Eta in the calo frame (for egamma)
@ N_BAD_CELLS_CORR
Number of bad cells with energy density average correction applied.
@ LONGITUDINAL
Normalized longitudinal moment.
@ NVERTEX_FRACTION
slightly updated vertex fraction more pile up independent (similar to nJVF)
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).
@ N_BAD_CELLS
number of bad cells
@ CENTER_Y
Cluster Centroid ( )
@ ENG_CALIB_DEAD_EMB0
Attached Calibration Hit energy in dead material before EMB0, between EMB0 and EMB1.
virtual StatusCode finalize() override
@ ENG_POS
Total positive Energy of this cluster.
virtual StatusCode initialize() override
Gaudi::Property< float > m_HVthreshold
Threshold above which a cell contributes to the HV moments.
static constexpr int moment_to_linear(const xAOD::CaloCluster::MomentType moment)
virtual StatusCode convert(const EventContext &ctx, const CaloRecGPU::ConstantDataHolder &constant_data, CaloRecGPU::EventDataHolder &event_data, xAOD::CaloClusterContainer *cluster_collection) const override
Fill the @xAODCaloClusterContainer with the relevant information.
@ BADLARQ_FRAC
Energy fraction of LAr cells with quality larger than a given cut.