|  | ATLAS Offline Software
    | 
 
 
 
Go to the documentation of this file.
    5 #ifndef ISF_FASTCALOSIMEVENT_TFCSEnergyAndHitGAN_h 
    6 #define ISF_FASTCALOSIMEVENT_TFCSEnergyAndHitGAN_h 
   15 class LightweightGraph;
 
   21   typedef std::map<std::string, std::map<std::string, double>> 
NetworkInputs;
 
   59     return simulstate.
getAuxInfo<
int>(
"GANlayer"_FCShash);
 
   61   virtual const std::string
 
   73                          const std::string &FastCaloGANInputFolderName);
 
   78                                     double &trueEnergy) 
const;
 
   86   virtual void Print(Option_t *option = 
"") 
const override;
 
   94                   const std::string &FastCaloGANInputFolderName);
 
  
FCSReturnCode
Base class for all FastCaloSim parametrizations Functionality in derivde classes is provided through ...
std::map< std::string, std::map< std::string, double > > NetworkInputs
const T getAuxInfo(std::uint32_t index) const
bool fillFastCaloGanNetworkInputs(TFCSSimulationState &simulstate, const TFCSTruthState *truth, NetworkInputs &inputs, double &trueEnergy) const
bool initializeNetwork(int pid, int etaMin, const std::string &FastCaloGANInputFolderName)
std::map< int, TH2D > Binning
void GetBinning(int pid, int etaMax, const std::string &FastCaloGANInputFolderName)
virtual const std::string get_variable_text(TFCSSimulationState &simulstate, const TFCSTruthState *, const TFCSExtrapolationState *) const override
std::map< std::string, double > NetworkOutputs
void set_OnlyScaleEnergy()
@ kGANfreemem
Set this bit in the TObject bit if the memory for m_input should be freed after reading in athena.
void set_nr_of_init(unsigned int bin, unsigned int ninit)
FCSEnergyInitializationStatusBits
Status bit for energy initialization.
const std::string * get_input() const
FCSGANfreemem
Status bit for chain persistency.
virtual ~TFCSEnergyAndHitGAN()
const Binning & get_Binning() const
virtual bool is_match_Ekin_bin(int) const override
unsigned int get_nr_of_init(unsigned int bin) const
virtual FCSReturnCode simulate(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override
Method in all derived classes to do some simulation.
virtual bool is_match_all_calosample() const override
virtual bool is_match_all_Ekin_bin() const override
virtual int get_bin(TFCSSimulationState &simulstate, const TFCSTruthState *, const TFCSExtrapolationState *) const override
use the layer to be done as binning of the GAN chain
virtual bool is_match_calosample(int calosample) const override
bool fillEnergy(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol, NetworkInputs inputs) const
Binning m_Binning
Do not persistify.
static void unit_test(TFCSSimulationState *simulstate=nullptr, const TFCSTruthState *truth=nullptr, const TFCSExtrapolationState *extrapol=nullptr)
virtual void Print(Option_t *option="") const override
bool OnlyScaleEnergy() const
TFCSEnergyAndHitGAN(const char *name=nullptr, const char *title=nullptr)
void reset_OnlyScaleEnergy()
const lwt::LightweightGraph * get_graph() const
std::vector< int > m_bin_ninit
lwt::LightweightGraph * m_graph
@ kOnlyScaleEnergy
Set this bit in the TObject bit field the simulated energy should only be scaled by the GAN.