![]() |
ATLAS Offline Software
|
GNN cluster energy calibration. More...
#include <CaloClusterTritonTool.h>
Public Member Functions | |
| CaloClusterTritonTool (const std::string &type, const std::string &name, const IInterface *parent) | |
| virtual | ~CaloClusterTritonTool ()=default |
| virtual StatusCode | initialize () override |
| virtual StatusCode | inference (const xAOD::CaloClusterContainer &clusters, std::vector< double > &clusterE_GNN_vec) const override |
Private Member Functions | |
| StatusCode | buildInputs (const xAOD::CaloCluster &cluster, AthInfer::InputDataMap &inputData, std::size_t &nCells) const |
| Fill the input tensor map for one cluster; nCells is the number of cells retained after the energy threshold. | |
| StatusCode | inferCluster (const xAOD::CaloCluster &cluster, double &energyGeV, bool &valid) const |
| Run inference for one cluster. energyGeV is meaningful only if valid. | |
Private Attributes | |
| Gaudi::Property< float > | m_cellEThreshold |
| Gaudi::Property< std::string > | m_cellIdsName |
| Gaudi::Property< std::string > | m_cellFeaturesName |
| Gaudi::Property< std::string > | m_globalFeaturesName |
| Gaudi::Property< std::string > | m_outputName |
| ToolHandle< AthInfer::IAthInferenceTool > | m_tritonTool |
GNN cluster energy calibration.
Each cluster is represented as a graph of its constituent cells and sent to a Triton server through AthInfer::TritonTool.
Model signature (tensor names configurable): CELL_IDS : int64 [nCells, 1] compact 32-bit cell identifiers CELL_FEATURES : float [nCells, 1] weighted cell energy [GeV] GLOBAL_FEATURES : float [1] cluster raw (EM-scale) energy [GeV] OUTPUT : float [1, 1] predicted cluster energy [GeV]
Since the graph size varies per cluster, one request is issued per cluster. Clusters with no cells above threshold, or with a non-finite / non-positive prediction, fall back to the raw (EM-scale) energy.
Definition at line 34 of file CaloClusterTritonTool.h.
| CaloClusterTritonTool::CaloClusterTritonTool | ( | const std::string & | type, |
| const std::string & | name, | ||
| const IInterface * | parent ) |
Definition at line 17 of file CaloClusterTritonTool.cxx.
|
virtualdefault |
|
private |
Fill the input tensor map for one cluster; nCells is the number of cells retained after the energy threshold.
Definition at line 28 of file CaloClusterTritonTool.cxx.
|
private |
Run inference for one cluster. energyGeV is meaningful only if valid.
Definition at line 79 of file CaloClusterTritonTool.cxx.
|
overridevirtual |
Definition at line 115 of file CaloClusterTritonTool.cxx.
|
overridevirtual |
Definition at line 20 of file CaloClusterTritonTool.cxx.
|
private |
Definition at line 57 of file CaloClusterTritonTool.h.
|
private |
Definition at line 63 of file CaloClusterTritonTool.h.
|
private |
Definition at line 61 of file CaloClusterTritonTool.h.
|
private |
Definition at line 65 of file CaloClusterTritonTool.h.
|
private |
Definition at line 67 of file CaloClusterTritonTool.h.
|
private |
Definition at line 70 of file CaloClusterTritonTool.h.