9#ifndef ISF_DNNCALOSIMSVC_H
10#define ISF_DNNCALOSIMSVC_H 1
16#include "GaudiKernel/IChronoStatSvc.h"
33#include "lwtnn/LightweightGraph.hh"
35#include "CLHEP/Units/PhysicalConstants.h"
41 class HepRandomEngine;
60 DNNCaloSimSvc(
const std::string& name, ISvcLocator* pSvcLocator);
66 virtual StatusCode
initialize() override final;
67 virtual StatusCode
finalize() override final;
81 virtual StatusCode
setupEvent() override final;
This class provides an interface to generate or decode an identifier for the upper levels of the dete...
Definition of CaloDetDescrManager.
constexpr int pow(int base, int exp) noexcept
Define macros for attributes used to control the static checker.
#define ATLAS_NOT_THREAD_SAFE
getNoisyStrip() Find noisy strips from hitmaps and write out into xml/db formats
Container class for CaloCell.
Data object for each calorimeter readout cell.
This class groups all DetDescr information related to a CaloCell.
This class provides the client interface for accessing the detector description information common to...
manage multiple CLHEP random engines as named streams
BaseSimulationSvc(const std::string &name, ISvcLocator *pSvcLocator)
ToolHandle< Trk::ITimedExtrapolator > m_extrapolator
const CaloDetDescrManager * m_caloDetDescrManager
std::vector< CaloCell * > m_windowCells
virtual StatusCode initialize() override final
Athena algorithm's interface methods.
const double m_middleCellWidthPhi
const double m_phiRawMiddleCut
virtual StatusCode simulate(ISFParticle &isp, McEventCollection *) override final
Simulation Call.
const int m_numberOfCellsForDNN
StatusCode fillWindowCells(const double etaExtrap, const double phiExtrap, const CaloDetDescrElement *&impactCellDDE)
std::string m_caloCellsOutputName
CaloCellContainer * m_theContainer
StatusCode fillNetworkInputs(const ISF::ISFParticle &isfp, NetworkInputs &inputs, double &trueEnergy)
std::string m_paramsInputArchitecture
DNNCaloSimSvc(const std::string &name, ISvcLocator *pSvcLocator)
Constructor with parameters.
std::string m_randomEngineName
double m_riImpactEtaScale
virtual StatusCode finalize() override final
framework methods
ServiceHandle< IAtRndmGenSvc > m_rndGenSvc
StatusCode initializeNetwork()
helper for initialize
std::unique_ptr< lwt::LightweightGraph > m_graph
virtual StatusCode releaseEvent() override final
Release Event chain - in case of an end-of event action is needed.
const double m_phiRawStripCut
double m_logTrueEnergyScale
CLHEP::HepRandomEngine * m_randomEngine
ToolHandleArray< ICaloCellMakerTool > m_caloCellMakerToolsSetup
const double m_etaRawBackCut
ToolHandle< IFastCaloSimCaloExtrapolation > m_FastCaloSimCaloExtrapolation
std::unique_ptr< CaloGeometryFromCaloDDM > m_caloGeo
std::map< std::string, std::map< std::string, double > > NetworkInputs
ToolHandleArray< ICaloCellMakerTool > m_caloCellMakerToolsRelease
std::map< std::string, double > NetworkOutputs
const double m_middleCellWidthEta
double m_logTrueEnergyMean
double m_riImpactPhiScale
virtual ~DNNCaloSimSvc() final
Destructor.
std::string m_paramsFilename
const double m_etaRawMiddleCut
virtual StatusCode setupEvent() override final
Setup Event chain - in case of a begin-of event action is needed.
The generic ISF particle definition,.
Helper class for LArEM offline identifiers.
This defines the McEventCollection, which is really just an ObjectVector of McEvent objectsFile: Gene...
Ensure that the ATLAS eigen extensions are properly loaded.