|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
   14 #include "CLHEP/Random/RandGauss.h" 
   16 #include "TFitResult.h" 
   73   std::string inputFileName;
 
   88   } 
else if (
m_pid == 2212) {
 
  121   TFile *
file = TFile::Open(rootFileName.c_str(), 
"read");
 
  125     TH2D *h2 = &binsInLayers[
layer];
 
  128     TH1D *
h1 = (TH1D *)
file->Get(histoName.c_str());
 
  129     if (TMath::IsNaN(
h1->Integral())) {
 
  131       h1 = (TH1D *)
file->Get(histoName.c_str());
 
  134     TAxis *
x = (TAxis *)h2->GetXaxis();
 
  135     for (
int ix = 1; ix <= h2->GetNbinsX(); ++ix) {
 
  137       h1->GetXaxis()->SetRangeUser(
x->GetBinLowEdge(ix), 
x->GetBinUpEdge(ix));
 
  140       if (
h1->Integral() > 0 && 
h1->GetNbinsX() > 2) {
 
  141         TFitResultPtr 
res(0);
 
  143         res = 
h1->Fit(
"expo", 
"SQ");
 
  144         if (
res >= 0 && !std::isnan(
res->Parameter(0))) {
 
  160   TFile *
file = TFile::Open(rootFileName.c_str(), 
"read");
 
  163     TH1D *
h = 
new TH1D(
"h", 
"h", 100, 0.01, 1);
 
  164     TTree *
tree = (TTree *)
file->Get(
"rootTree");
 
  165     std::string 
command = branchName + 
">>h";
 
  177   double randUniformZ = 0.;
 
  180   int maxExp = 0, minExp = 0;
 
  191   } 
else if (std::abs(
m_pid) == 211) {
 
  194   } 
else if (std::abs(
m_pid) == 2212) {
 
  208     randUniformZ = CLHEP::RandGauss::shoot(simulstate.
randomEngine(), 0.5, 0.5);
 
  209     inputs[
"Noise"].insert(std::pair<std::string, double>(
 
  222   inputs[
"mycond"].insert(std::pair<std::string, double>(
 
  223       "variable_0", 
log(truth->
Ekin() / Ekin_min) / 
log(Ekin_max / Ekin_min)));
 
  229       inputs[
"mycond"].insert(std::pair<std::string, double>(
 
  230           "variable_1", std::abs(
extrapol->IDCaloBoundary_eta())));
 
  232       inputs[
"mycond"].insert(std::pair<std::string, double>(
"variable_1", 0));
 
  
std::map< std::string, double > NetworkOutputs
Format for network outputs.
FitResultsPerLayer m_allFitResults
std::unique_ptr< VNetworkBase > m_net_low
static std::string representNetworkOutputs(NetworkOutputs const &outputs, int maxValues=3)
String representation of network outputs.
std::unique_ptr< VNetworkBase > m_net_all
std::map< int, TH2D > Binning
const std::vector< int > & GetRelevantLayers() const
CLHEP::HepRandomEngine * randomEngine()
std::string to_string(const SectorProjector proj)
virtual NetworkOutputs compute(NetworkInputs const &inputs) const =0
Function to pass values to the network.
static std::unique_ptr< VNetworkBase > create(std::string input)
Given a string, make a network.
VNetworkBase * GetNetAll() const
VNetworkBase * GetNetHigh() const
TFCSGANXMLParameters m_param
std::pair< std::vector< unsigned int >, bool > res
void CalculateMeanPointFromDistributionOfR()
TFCSGANLWTNNHandler * m_gan_low
bool IsGanCorrectlyLoaded() const
VNetworkBase * GetNetLow() const
ExtrapolatorWeights m_extrapolatorWeights
std::map< std::string, std::map< std::string, double > > NetworkInputs
Copyright (C) 2002-2024 CERN for the benefit of the ATLAS collaboration.
std::unique_ptr< VNetworkBase > m_net_high
int GetLatentSpaceSize() const
static std::string representNetworkInputs(NetworkInputs const &inputs, int maxValues=3)
String representation of network inputs.
int GetGANVersion() const
void ExtractExtrapolatorMeansFromInputs()
NetworkOutputs GetNetworkOutputs(const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol, TFCSSimulationState simulstate) const
const std::string & GetInputFolder() const
virtual ~TFCSGANEtaSlice()
TFCSGANLWTNNHandler * m_gan_high
constexpr int pow(int base, int exp) noexcept
TFCSGANLWTNNHandler * m_gan_all
const Binning & GetBinning() const