9#ifndef G4ATLASTOOLS_PUNCHTHROUGHG4CLASSIFIER_H
10#define G4ATLASTOOLS_PUNCHTHROUGHG4CLASSIFIER_H
20#include "lwtnn/LightweightGraph.hh"
34 virtual StatusCode
finalize()
override;
46 virtual double computePunchThroughProbability(
const G4FastTrack& fastTrack,
const double simE,
const std::vector<double> & simEfrac)
const override;
49 static std::map<std::string, std::map<std::string, double> >
computeInputs(
const G4FastTrack& fastTrack,
const double simE,
const std::vector<double> & simEfrac);
52 std::map<std::string, std::map<std::string, double> >
scaleInputs(std::map<std::string, std::map<std::string, double> >& inputs)
const;
59 std::unique_ptr<lwt::LightweightGraph>
m_graph{};
virtual ~PunchThroughG4Classifier()=default
Destructor.
std::unique_ptr< lwt::LightweightGraph > m_graph
NN graph.
std::map< std::string, double > m_scalerMaxMap
virtual StatusCode initialize() override
AlgTool initialize method.
double m_scalerMin
input variable MinMaxScaler members
StringProperty m_scalerConfigFileName
std::map< std::string, std::map< std::string, double > > scaleInputs(std::map< std::string, std::map< std::string, double > > &inputs) const
scale NN inputs using MinMaxScaler
std::string m_calibratorConfigFile
isotonic regressor calibrator members
StringProperty m_networkConfigFileName
std::map< double, double > m_calibrationMap
PunchThroughG4Classifier(const std::string &, const std::string &, const IInterface *)
Constructor.
std::map< std::string, double > m_scalerMinMap
StatusCode initializeCalibrator(const std::string &calibratorConfigFile)
isotonic regressor calibrator initialize method
virtual StatusCode finalize() override
AlgTool finalize method.
StatusCode initializeScaler(const std::string &scalerConfigFile)
input variable MinMaxScaler initialize method
StatusCode initializeNetwork(const std::string &networkConfigFile)
neural network initialize method
double calibrateOutput(double &networkOutput) const
calibrate NN output using isotonic regressor
StringProperty m_calibratorConfigFileName
static std::map< std::string, std::map< std::string, double > > computeInputs(const G4FastTrack &fastTrack, const double simE, const std::vector< double > &simEfrac)
calcalate NN inputs based on G4FastTrack and simulstate
virtual double computePunchThroughProbability(const G4FastTrack &fastTrack, const double simE, const std::vector< double > &simEfrac) const override
interface method to return probability prediction of punch through