ATLAS Offline Software
Toggle main menu visibility
Loading...
Searching...
No Matches
Simulation
ISF
ISF_FastCaloSim
ISF_FastCaloSimEvent
ISF_FastCaloSimEvent
TFCSMLCalorimeterSimulator.h
Go to the documentation of this file.
1
/*
2
Copyright (C) 2002-2025 CERN for the benefit of the ATLAS collaboration
3
*/
4
5
#ifndef ISF_TFCSMLCALORIMETERSIMULATOR_H
6
#define ISF_TFCSMLCALORIMETERSIMULATOR_H
7
8
// ISF includes
9
#include <map>
10
#include <vector>
11
#include <string>
12
#include <fstream>
13
14
#include "
ISF_FastCaloSimEvent/TFCSSimulationState.h
"
15
#include "
ISF_FastCaloSimEvent/MLogging.h
"
16
17
// generic network class
18
#include "
ISF_FastCaloSimEvent/VNetworkBase.h
"
19
20
21
22
23
class
TFCSMLCalorimeterSimulator
:
public
ISF_FCS::MLogging
{
24
public
:
25
TFCSMLCalorimeterSimulator
();
26
virtual
~TFCSMLCalorimeterSimulator
();
27
28
typedef
struct
{
29
std::vector<unsigned int>
bin_index_vector
;
30
std::vector<float>
E_vector
;
31
}
layer_t
;
32
33
typedef
struct
{
34
std::vector<layer_t>
event_data
;
35
}
event_t
;
36
37
bool
loadSimulator
(std::string& filename);
38
39
void
Print
()
const
;
40
41
VNetworkBase::NetworkOutputs
predictVoxels
(
TFCSSimulationState
&simulstate,
float
eta
,
float
energy)
const
;
42
event_t
getEvent
(
TFCSSimulationState
&simulstate,
float
eta
,
float
energy)
const
;
43
VNetworkBase::NetworkOutputs
predictVoxels
()
const
;
44
45
void
setInputShapes
(std::vector<long unsigned int>& layer_boundaries, std::vector<long unsigned int>& used_layers) {
46
m_layer_boundaries
= layer_boundaries;
47
m_used_layers
= used_layers;
48
m_nVoxels
= layer_boundaries.back();
49
m_nLayers
= used_layers.size();
50
};
51
52
private
:
53
54
std::unique_ptr<VNetworkBase>
m_onnx_model
=
nullptr
;
55
56
int
m_nEvents
= 1;
// Currently no batching supported from ONNX handler
57
58
// Default shapes for the photon barrel-CFM
59
// Should be set using setInputShapes for other models
60
std::vector<long unsigned int>
m_layer_boundaries
= {0, 36, 200, 310, 346, 382};
61
std::vector<long unsigned int>
m_used_layers
= {0, 1, 2, 3, 12};
62
long
unsigned
int
m_nVoxels
= 382;
63
long
unsigned
int
m_nLayers
= 5;
64
65
66
ClassDef(
TFCSMLCalorimeterSimulator
, 1)
// TFCSMLCalorimeterSimulator
67
};
68
69
#endif
//> !ISF_TFCSMLCALORIMETERSIMULATOR_H
eta
Scalar eta() const
pseudorapidity method
Definition
AmgMatrixBasePlugin.h:83
MLogging.h
TFCSSimulationState.h
VNetworkBase.h
ISF_FCS::MLogging
Cut down AthMessaging.
Definition
MLogging.h:176
TFCSMLCalorimeterSimulator::predictVoxels
VNetworkBase::NetworkOutputs predictVoxels() const
Definition
TFCSMLCalorimeterSimulator.cxx:147
TFCSMLCalorimeterSimulator::m_onnx_model
std::unique_ptr< VNetworkBase > m_onnx_model
Definition
TFCSMLCalorimeterSimulator.h:54
TFCSMLCalorimeterSimulator::m_nVoxels
long unsigned int m_nVoxels
Definition
TFCSMLCalorimeterSimulator.h:62
TFCSMLCalorimeterSimulator::setInputShapes
void setInputShapes(std::vector< long unsigned int > &layer_boundaries, std::vector< long unsigned int > &used_layers)
Definition
TFCSMLCalorimeterSimulator.h:45
TFCSMLCalorimeterSimulator::TFCSMLCalorimeterSimulator
TFCSMLCalorimeterSimulator()
Definition
TFCSMLCalorimeterSimulator.cxx:12
TFCSMLCalorimeterSimulator::getEvent
event_t getEvent(TFCSSimulationState &simulstate, float eta, float energy) const
Definition
TFCSMLCalorimeterSimulator.cxx:85
TFCSMLCalorimeterSimulator::~TFCSMLCalorimeterSimulator
virtual ~TFCSMLCalorimeterSimulator()
Definition
TFCSMLCalorimeterSimulator.cxx:14
TFCSMLCalorimeterSimulator::loadSimulator
bool loadSimulator(std::string &filename)
Definition
TFCSMLCalorimeterSimulator.cxx:16
TFCSMLCalorimeterSimulator::m_nLayers
long unsigned int m_nLayers
Definition
TFCSMLCalorimeterSimulator.h:63
TFCSMLCalorimeterSimulator::Print
void Print() const
Definition
TFCSMLCalorimeterSimulator.cxx:202
TFCSMLCalorimeterSimulator::m_used_layers
std::vector< long unsigned int > m_used_layers
Definition
TFCSMLCalorimeterSimulator.h:61
TFCSMLCalorimeterSimulator::m_nEvents
int m_nEvents
Definition
TFCSMLCalorimeterSimulator.h:56
TFCSMLCalorimeterSimulator::m_layer_boundaries
std::vector< long unsigned int > m_layer_boundaries
Definition
TFCSMLCalorimeterSimulator.h:60
TFCSSimulationState
Definition
TFCSSimulationState.h:32
VNetworkBase::NetworkOutputs
std::map< std::string, double > NetworkOutputs
Format for network outputs.
Definition
VNetworkBase.h:100
TFCSMLCalorimeterSimulator::event_t
Definition
TFCSMLCalorimeterSimulator.h:33
TFCSMLCalorimeterSimulator::event_t::event_data
std::vector< layer_t > event_data
Definition
TFCSMLCalorimeterSimulator.h:34
TFCSMLCalorimeterSimulator::layer_t
Definition
TFCSMLCalorimeterSimulator.h:28
TFCSMLCalorimeterSimulator::layer_t::bin_index_vector
std::vector< unsigned int > bin_index_vector
Definition
TFCSMLCalorimeterSimulator.h:29
TFCSMLCalorimeterSimulator::layer_t::E_vector
std::vector< float > E_vector
Definition
TFCSMLCalorimeterSimulator.h:30
Generated on
for ATLAS Offline Software by
1.17.0