ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
ISF_FastCaloSimEvent
TFCSGANEtaSlice.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2026 CERN for the benefit of the ATLAS collaboration
3
*/
4
6
// TFCSGANEtaSlice.h, (c) ATLAS Detector software
8
9
#ifndef ISF_TFCSGANETASLICE_H
10
#define ISF_TFCSGANETASLICE_H 1
11
12
// ISF includes
13
#include <map>
14
#include <vector>
15
16
#include "
ISF_FastCaloSimEvent/TFCSTruthState.h
"
17
#include "
ISF_FastCaloSimEvent/TFCSSimulationState.h
"
18
#include "
ISF_FastCaloSimEvent/TFCSExtrapolationState.h
"
19
#include "
ISF_FastCaloSimEvent/TFCSGANXMLParameters.h
"
20
#include "
ISF_FastCaloSimEvent/MLogging.h
"
21
22
// generic network class
23
#include "
ISF_FastCaloSimEvent/VNetworkBase.h
"
24
// net class for legacy loading
25
#include "
ISF_FastCaloSimEvent/TFCSGANLWTNNHandler.h
"
26
27
#include <fstream>
28
29
30
class
TFCSGANEtaSlice
:
public
ISF_FCS::MLogging
{
31
public
:
32
TFCSGANEtaSlice
();
33
TFCSGANEtaSlice
(
int
pid,
int
etaMin,
int
etaMax,
34
const
TFCSGANXMLParameters
¶m);
35
virtual
~TFCSGANEtaSlice
();
36
37
TFCSGANEtaSlice
(
const
TFCSGANEtaSlice
&) =
delete
;
38
TFCSGANEtaSlice
&
operator=
(
const
TFCSGANEtaSlice
&) =
delete
;
39
40
typedef
std::map<int, std::vector<double>>
FitResultsPerLayer
;
41
typedef
std::map<int, double>
ExtrapolatorWeights
;
42
typedef
std::map<std::string, std::map<std::string, double>>
NetworkInputs
;
43
typedef
std::map<std::string, double>
NetworkOutputs
;
44
45
bool
LoadGAN
();
46
void
CalculateMeanPointFromDistributionOfR
();
47
void
ExtractExtrapolatorMeansFromInputs
();
48
49
NetworkOutputs
GetNetworkOutputs
(
const
TFCSTruthState
*truth,
50
const
TFCSExtrapolationState
*extrapol,
51
TFCSSimulationState
&simulstate)
const
;
52
53
bool
IsGanCorrectlyLoaded
()
const
;
54
const
FitResultsPerLayer
&
GetFitResults
()
const
{
return
m_allFitResults
; }
55
const
ExtrapolatorWeights
&
GetExtrapolatorWeights
() {
return
m_extrapolatorWeights
; }
56
57
void
Print
()
const
;
58
59
private
:
60
int
m_pid
{};
61
int
m_etaMin
{};
62
int
m_etaMax
{};
63
64
std::string
m_inputFolderName
;
65
66
FitResultsPerLayer
m_allFitResults
;
67
ExtrapolatorWeights
m_extrapolatorWeights
;
68
69
// legacy - keep or streamers are confused by
70
// old classes that didn't inherit
71
TFCSGANLWTNNHandler
*
m_gan_all
=
nullptr
;
72
TFCSGANLWTNNHandler
*
m_gan_low
=
nullptr
;
73
TFCSGANLWTNNHandler
*
m_gan_high
=
nullptr
;
74
// updated - can take an old or new class
75
std::unique_ptr<VNetworkBase>
m_net_all
=
nullptr
;
76
std::unique_ptr<VNetworkBase>
m_net_low
=
nullptr
;
77
std::unique_ptr<VNetworkBase>
m_net_high
=
nullptr
;
78
// getters so that we are insensitive to where the data actually is
79
VNetworkBase
*
GetNetAll
()
const
;
80
VNetworkBase
*
GetNetLow
()
const
;
81
VNetworkBase
*
GetNetHigh
()
const
;
82
83
bool
LoadGANNoRange
(std::string inputFileName);
84
bool
LoadGANFromRange
(std::string inputFileName, std::string energyRange);
85
86
TFCSGANXMLParameters
m_param
{};
87
88
ClassDef(
TFCSGANEtaSlice
, 5)
// TFCSGANEtaSlice
89
};
90
91
#endif
//> !ISF_TFCSGANETASLICE_H
MLogging.h
TFCSExtrapolationState.h
TFCSGANLWTNNHandler.h
TFCSGANXMLParameters.h
TFCSSimulationState.h
TFCSTruthState.h
VNetworkBase.h
ISF_FCS::MLogging
Cut down AthMessaging.
Definition
MLogging.h:176
TFCSExtrapolationState
Definition
TFCSExtrapolationState.h:13
TFCSGANEtaSlice
Definition
TFCSGANEtaSlice.h:30
TFCSGANEtaSlice::m_etaMax
int m_etaMax
Definition
TFCSGANEtaSlice.h:62
TFCSGANEtaSlice::TFCSGANEtaSlice
TFCSGANEtaSlice()
Definition
TFCSGANEtaSlice.cxx:27
TFCSGANEtaSlice::GetNetAll
VNetworkBase * GetNetAll() const
Definition
TFCSGANEtaSlice.cxx:40
TFCSGANEtaSlice::m_gan_all
TFCSGANLWTNNHandler * m_gan_all
Definition
TFCSGANEtaSlice.h:71
TFCSGANEtaSlice::m_gan_low
TFCSGANLWTNNHandler * m_gan_low
Definition
TFCSGANEtaSlice.h:72
TFCSGANEtaSlice::FitResultsPerLayer
std::map< int, std::vector< double > > FitResultsPerLayer
Definition
TFCSGANEtaSlice.h:40
TFCSGANEtaSlice::m_inputFolderName
std::string m_inputFolderName
Definition
TFCSGANEtaSlice.h:64
TFCSGANEtaSlice::GetNetworkOutputs
NetworkOutputs GetNetworkOutputs(const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol, TFCSSimulationState &simulstate) const
Definition
TFCSGANEtaSlice.cxx:187
TFCSGANEtaSlice::operator=
TFCSGANEtaSlice & operator=(const TFCSGANEtaSlice &)=delete
TFCSGANEtaSlice::m_gan_high
TFCSGANLWTNNHandler * m_gan_high
Definition
TFCSGANEtaSlice.h:73
TFCSGANEtaSlice::LoadGAN
bool LoadGAN()
Definition
TFCSGANEtaSlice.cxx:69
TFCSGANEtaSlice::m_pid
int m_pid
Definition
TFCSGANEtaSlice.h:60
TFCSGANEtaSlice::TFCSGANEtaSlice
TFCSGANEtaSlice(const TFCSGANEtaSlice &)=delete
TFCSGANEtaSlice::m_net_high
std::unique_ptr< VNetworkBase > m_net_high
Definition
TFCSGANEtaSlice.h:77
TFCSGANEtaSlice::ExtrapolatorWeights
std::map< int, double > ExtrapolatorWeights
Definition
TFCSGANEtaSlice.h:41
TFCSGANEtaSlice::m_net_all
std::unique_ptr< VNetworkBase > m_net_all
Definition
TFCSGANEtaSlice.h:75
TFCSGANEtaSlice::CalculateMeanPointFromDistributionOfR
void CalculateMeanPointFromDistributionOfR()
Definition
TFCSGANEtaSlice.cxx:121
TFCSGANEtaSlice::~TFCSGANEtaSlice
virtual ~TFCSGANEtaSlice()
Definition
TFCSGANEtaSlice.cxx:33
TFCSGANEtaSlice::LoadGANNoRange
bool LoadGANNoRange(std::string inputFileName)
TFCSGANEtaSlice::m_net_low
std::unique_ptr< VNetworkBase > m_net_low
Definition
TFCSGANEtaSlice.h:76
TFCSGANEtaSlice::m_extrapolatorWeights
ExtrapolatorWeights m_extrapolatorWeights
Definition
TFCSGANEtaSlice.h:67
TFCSGANEtaSlice::Print
void Print() const
Definition
TFCSGANEtaSlice.cxx:270
TFCSGANEtaSlice::m_etaMin
int m_etaMin
Definition
TFCSGANEtaSlice.h:61
TFCSGANEtaSlice::GetExtrapolatorWeights
const ExtrapolatorWeights & GetExtrapolatorWeights()
Definition
TFCSGANEtaSlice.h:55
TFCSGANEtaSlice::GetFitResults
const FitResultsPerLayer & GetFitResults() const
Definition
TFCSGANEtaSlice.h:54
TFCSGANEtaSlice::IsGanCorrectlyLoaded
bool IsGanCorrectlyLoaded() const
Definition
TFCSGANEtaSlice.cxx:56
TFCSGANEtaSlice::GetNetLow
VNetworkBase * GetNetLow() const
Definition
TFCSGANEtaSlice.cxx:45
TFCSGANEtaSlice::NetworkInputs
std::map< std::string, std::map< std::string, double > > NetworkInputs
Definition
TFCSGANEtaSlice.h:42
TFCSGANEtaSlice::LoadGANFromRange
bool LoadGANFromRange(std::string inputFileName, std::string energyRange)
TFCSGANEtaSlice::GetNetHigh
VNetworkBase * GetNetHigh() const
Definition
TFCSGANEtaSlice.cxx:50
TFCSGANEtaSlice::ExtractExtrapolatorMeansFromInputs
void ExtractExtrapolatorMeansFromInputs()
Definition
TFCSGANEtaSlice.cxx:164
TFCSGANEtaSlice::m_allFitResults
FitResultsPerLayer m_allFitResults
Definition
TFCSGANEtaSlice.h:66
TFCSGANEtaSlice::m_param
TFCSGANXMLParameters m_param
Definition
TFCSGANEtaSlice.h:86
TFCSGANEtaSlice::NetworkOutputs
std::map< std::string, double > NetworkOutputs
Definition
TFCSGANEtaSlice.h:43
TFCSGANLWTNNHandler
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
Definition
TFCSGANLWTNNHandler.h:37
TFCSGANXMLParameters
Definition
TFCSGANXMLParameters.h:19
TFCSSimulationState
Definition
TFCSSimulationState.h:32
TFCSTruthState
Definition
TFCSTruthState.h:13
VNetworkBase
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
Definition
VNetworkBase.h:38
Generated on
for ATLAS Offline Software by
1.17.0