Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Examples/Framework/ML/include/ActsExamples/EventData/NeuralCalibrator.hpp>
Public Member Functions | |
NeuralCalibrator (const std::filesystem::path &modelPath, size_t nComponents=1, std::vector< size_t > volumeIds={7, 8, 9}) | |
void | calibrate (const MeasurementContainer &measurements, const ClusterContainer *clusters, const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sourceLink, Acts::MultiTrajectory< Acts::VectorMultiTrajectory >::TrackStateProxy &trackState) const override |
The MeasurementCalibrator interface methods. | |
bool | needsClusters () const override |
Public Member Functions inherited from ActsExamples::MeasurementCalibrator | |
virtual void | calibrate (const MeasurementContainer &measurements, const ClusterContainer *clusters, const Acts::GeometryContext &gctx, const Acts::CalibrationContext &cctx, const Acts::SourceLink &sourceLink, Acts::VectorMultiTrajectory::TrackStateProxy &trackState) const =0 |
virtual | ~MeasurementCalibrator ()=default |
Private Attributes | |
Ort::Env | m_env |
Acts::OnnxRuntimeBase | m_model |
size_t | m_nComponents |
size_t | m_nInputs |
std::vector< size_t > | m_volumeIds |
PassThroughCalibrator | m_fallback |
Definition at line 20 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 20 of file NeuralCalibrator.hpp
ActsExamples::NeuralCalibrator::NeuralCalibrator | ( | const std::filesystem::path & | modelPath, |
size_t | nComponents = 1 , |
||
std::vector< size_t > | volumeIds = {7, 8, 9} |
||
) |
Measurement position calibration based on mixture density network (MDN) model. The model takes as input:
Given these inputs, a mixture density network estimates the parameters of a gaussian mixture model:
P(Y|X) = P(Prior_i) N(Y|Mean_i(X), Variance_i(X))
These are translated to single position + variance estimate by taking the most probable value based on the estimated priors. The measurements are assumed to be 2-dimensional.
This class implements the MeasurementCalibrator interface, and therefore internally computes the network input and runs the inference engine itself.
[in] | modelPath | The path to the .onnx model file |
[in] | nComponent | The number of components in the gaussian mixture |
[in] | volumes | The volume ids for which to apply the calibration |
Definition at line 63 of file NeuralCalibrator.cpp.
View newest version in sPHENIX GitHub at line 63 of file NeuralCalibrator.cpp
|
override |
The MeasurementCalibrator interface methods.
|
inlineoverridevirtual |
Reimplemented from ActsExamples::MeasurementCalibrator.
Definition at line 60 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 60 of file NeuralCalibrator.hpp
|
private |
Definition at line 63 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 63 of file NeuralCalibrator.hpp
|
private |
Definition at line 72 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 72 of file NeuralCalibrator.hpp
|
private |
Definition at line 64 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 64 of file NeuralCalibrator.hpp
|
private |
Definition at line 65 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 65 of file NeuralCalibrator.hpp
|
private |
Definition at line 66 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 66 of file NeuralCalibrator.hpp
|
private |
Definition at line 71 of file NeuralCalibrator.hpp.
View newest version in sPHENIX GitHub at line 71 of file NeuralCalibrator.hpp