  | 
  
    ATLAS Offline Software
    
   | 
 
 
 
 
Go to the documentation of this file.
    9 #ifndef CALORECGPU_GPUTOATHENAIMPORTERWITHMOMENTS_H 
   10 #define CALORECGPU_GPUTOATHENAIMPORTERWITHMOMENTS_H 
   34   public extends<AthAlgTool, ICaloClusterGPUOutputTransformer>, 
public CaloGPUTimed 
   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
 
@ BADLARQ_FRAC
Energy fraction of LAr cells with quality larger than a given cut.