ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
G4Atlas
G4AtlasTools
src
PunchThroughG4Classifier.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// PunchThroughG4Classifier.h, (c) ATLAS Detector software
8
9
#ifndef G4ATLASTOOLS_PUNCHTHROUGHG4CLASSIFIER_H
10
#define G4ATLASTOOLS_PUNCHTHROUGHG4CLASSIFIER_H
11
12
//
13
#include "
AthenaBaseComps/AthAlgTool.h
"
14
#include "
G4AtlasInterfaces/IPunchThroughG4Classifier.h
"
15
16
#include <map>
17
#include <memory>
//for unique_ptr
18
19
//LWTNN
20
#include "lwtnn/LightweightGraph.hh"
21
22
class
PunchThroughG4Classifier
:
virtual
public
extends<AthAlgTool, IPunchThroughG4Classifier>{
23
public
:
24
26
PunchThroughG4Classifier
(
const
std::string&,
const
std::string&,
const
IInterface*);
27
29
virtual
~PunchThroughG4Classifier
() =
default
;
30
32
virtual
StatusCode
initialize
()
override
;
34
virtual
StatusCode
finalize
()
override
;
35
37
StatusCode
initializeScaler
(
const
std::string & scalerConfigFile);
38
40
StatusCode
initializeNetwork
(
const
std::string & networkConfigFile);
41
43
StatusCode
initializeCalibrator
(
const
std::string & calibratorConfigFile);
44
46
virtual
double
computePunchThroughProbability
(
const
G4FastTrack& fastTrack,
const
double
simE,
const
std::vector<double> & simEfrac)
const override
;
47
49
static
std::map<std::string, std::map<std::string, double> >
computeInputs
(
const
G4FastTrack& fastTrack,
const
double
simE,
const
std::vector<double> & simEfrac);
50
52
std::map<std::string, std::map<std::string, double> >
scaleInputs
(std::map<std::string, std::map<std::string, double> >& inputs)
const
;
53
55
double
calibrateOutput
(
double
& networkOutput)
const
;
56
57
private
:
59
std::unique_ptr<lwt::LightweightGraph>
m_graph
{};
60
62
double
m_scalerMin
{};
63
double
m_scalerMax
{};
64
std::map<std::string, double>
m_scalerMinMap
;
65
std::map<std::string, double>
m_scalerMaxMap
;
66
68
std::string
m_calibratorConfigFile
;
69
double
m_calibrationMin
{};
70
double
m_calibrationMax
{};
71
std::map<double, double>
m_calibrationMap
;
72
73
/*---------------------------------------------------------------------
74
* Properties
75
*---------------------------------------------------------------------*/
76
StringProperty
m_scalerConfigFileName
{
this
,
"ScalerConfigFileName"
,
""
,
""
};
77
StringProperty
m_networkConfigFileName
{
this
,
"NetworkConfigFileName"
,
""
,
""
};
78
StringProperty
m_calibratorConfigFileName
{
this
,
"CalibratorConfigFileName"
,
""
,
""
};
79
80
};
// class PunchThroughG4Classifier
81
82
#endif
//G4ATLASTOOLS_PUNCHTHROUGHG4CLASSIFIER_H
AthAlgTool.h
IPunchThroughG4Classifier.h
PunchThroughG4Classifier::~PunchThroughG4Classifier
virtual ~PunchThroughG4Classifier()=default
Destructor.
PunchThroughG4Classifier::m_graph
std::unique_ptr< lwt::LightweightGraph > m_graph
NN graph.
Definition
PunchThroughG4Classifier.h:59
PunchThroughG4Classifier::m_calibrationMax
double m_calibrationMax
Definition
PunchThroughG4Classifier.h:70
PunchThroughG4Classifier::m_scalerMaxMap
std::map< std::string, double > m_scalerMaxMap
Definition
PunchThroughG4Classifier.h:65
PunchThroughG4Classifier::initialize
virtual StatusCode initialize() override
AlgTool initialize method.
Definition
PunchThroughG4Classifier.cxx:30
PunchThroughG4Classifier::m_scalerMin
double m_scalerMin
input variable MinMaxScaler members
Definition
PunchThroughG4Classifier.h:62
PunchThroughG4Classifier::m_scalerConfigFileName
StringProperty m_scalerConfigFileName
Definition
PunchThroughG4Classifier.h:76
PunchThroughG4Classifier::scaleInputs
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
Definition
PunchThroughG4Classifier.cxx:153
PunchThroughG4Classifier::m_calibratorConfigFile
std::string m_calibratorConfigFile
isotonic regressor calibrator members
Definition
PunchThroughG4Classifier.h:68
PunchThroughG4Classifier::m_networkConfigFileName
StringProperty m_networkConfigFileName
Definition
PunchThroughG4Classifier.h:77
PunchThroughG4Classifier::m_calibrationMap
std::map< double, double > m_calibrationMap
Definition
PunchThroughG4Classifier.h:71
PunchThroughG4Classifier::PunchThroughG4Classifier
PunchThroughG4Classifier(const std::string &, const std::string &, const IInterface *)
Constructor.
Definition
PunchThroughG4Classifier.cxx:26
PunchThroughG4Classifier::m_scalerMinMap
std::map< std::string, double > m_scalerMinMap
Definition
PunchThroughG4Classifier.h:64
PunchThroughG4Classifier::initializeCalibrator
StatusCode initializeCalibrator(const std::string &calibratorConfigFile)
isotonic regressor calibrator initialize method
Definition
PunchThroughG4Classifier.cxx:95
PunchThroughG4Classifier::finalize
virtual StatusCode finalize() override
AlgTool finalize method.
Definition
PunchThroughG4Classifier.cxx:46
PunchThroughG4Classifier::initializeScaler
StatusCode initializeScaler(const std::string &scalerConfigFile)
input variable MinMaxScaler initialize method
Definition
PunchThroughG4Classifier.cxx:53
PunchThroughG4Classifier::initializeNetwork
StatusCode initializeNetwork(const std::string &networkConfigFile)
neural network initialize method
Definition
PunchThroughG4Classifier.cxx:75
PunchThroughG4Classifier::calibrateOutput
double calibrateOutput(double &networkOutput) const
calibrate NN output using isotonic regressor
Definition
PunchThroughG4Classifier.cxx:172
PunchThroughG4Classifier::m_calibratorConfigFileName
StringProperty m_calibratorConfigFileName
Definition
PunchThroughG4Classifier.h:78
PunchThroughG4Classifier::m_calibrationMin
double m_calibrationMin
Definition
PunchThroughG4Classifier.h:69
PunchThroughG4Classifier::computeInputs
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
Definition
PunchThroughG4Classifier.cxx:131
PunchThroughG4Classifier::computePunchThroughProbability
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
Definition
PunchThroughG4Classifier.cxx:118
PunchThroughG4Classifier::m_scalerMax
double m_scalerMax
Definition
PunchThroughG4Classifier.h:63
Generated on
for ATLAS Offline Software by
1.17.0