ATLAS Offline Software
Loading...
Searching...
No Matches
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
21
22// generic network class
24// net class for legacy loading
26
27#include <fstream>
28
29
31public:
33 TFCSGANEtaSlice(int pid, int etaMin, int etaMax,
34 const TFCSGANXMLParameters &param);
35 virtual ~TFCSGANEtaSlice();
36
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();
48
50 const TFCSExtrapolationState *extrapol,
51 TFCSSimulationState simulstate) const;
52
53 bool IsGanCorrectlyLoaded() const;
56
57 void Print() const;
58
59private:
60 int m_pid{};
61 int m_etaMin{};
62 int m_etaMax{};
63
64 std::string m_inputFolderName;
65
68
69 // legacy - keep or streamers are confused by
70 // old classes that didn't inherit
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
87
88 ClassDef(TFCSGANEtaSlice, 5) // TFCSGANEtaSlice
89};
90
91#endif //> !ISF_TFCSGANETASLICE_H
Cut down AthMessaging.
Definition MLogging.h:176
VNetworkBase * GetNetAll() const
TFCSGANLWTNNHandler * m_gan_all
TFCSGANLWTNNHandler * m_gan_low
std::map< int, std::vector< double > > FitResultsPerLayer
std::string m_inputFolderName
TFCSGANEtaSlice & operator=(const TFCSGANEtaSlice &)=delete
TFCSGANLWTNNHandler * m_gan_high
TFCSGANEtaSlice(const TFCSGANEtaSlice &)=delete
std::unique_ptr< VNetworkBase > m_net_high
std::map< int, double > ExtrapolatorWeights
std::unique_ptr< VNetworkBase > m_net_all
void CalculateMeanPointFromDistributionOfR()
virtual ~TFCSGANEtaSlice()
bool LoadGANNoRange(std::string inputFileName)
std::unique_ptr< VNetworkBase > m_net_low
ExtrapolatorWeights m_extrapolatorWeights
NetworkOutputs GetNetworkOutputs(const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol, TFCSSimulationState simulstate) const
const ExtrapolatorWeights & GetExtrapolatorWeights()
const FitResultsPerLayer & GetFitResults() const
bool IsGanCorrectlyLoaded() const
VNetworkBase * GetNetLow() const
std::map< std::string, std::map< std::string, double > > NetworkInputs
bool LoadGANFromRange(std::string inputFileName, std::string energyRange)
VNetworkBase * GetNetHigh() const
void ExtractExtrapolatorMeansFromInputs()
FitResultsPerLayer m_allFitResults
TFCSGANXMLParameters m_param
std::map< std::string, double > NetworkOutputs
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.