7 #include "CLHEP/Random/RandGauss.h"
45 for (
auto& z_shape : z_shape_vector) {
46 z_shape = CLHEP::RandGauss::shoot(simulstate.
randomEngine(), 0.0, 1.0);
48 for (
auto& z_energy : z_energy_vector) {
49 z_energy = CLHEP::RandGauss::shoot(simulstate.
randomEngine(), 0.0, 1.0);
56 for (
float thisEta : eta_vector) {
57 inputs[
"inn_eta_in"].insert(std::pair<std::string, double>(
"variable_" +
std::to_string(
i), thisEta));
62 for (
float thisEnergy : energy_vector) {
63 inputs[
"inn_einc_in"].insert(std::pair<std::string, double>(
"variable_" +
std::to_string(
i), thisEnergy));
68 for (
float z_shape : z_shape_vector) {
69 inputs[
"cfm_z_shape"].insert(std::pair<std::string, double>(
"variable_" +
std::to_string(
i), z_shape));
74 for (
float z_energy : z_energy_vector) {
75 inputs[
"inn_z_energy"].insert(std::pair<std::string, double>(
"variable_" +
std::to_string(
i), z_energy));
92 float first_output =
outputs.begin()->second;
93 bool contains_nan = std::isnan(first_output);
96 while (contains_nan) {
105 first_output =
outputs.begin()->second;
106 contains_nan = std::isnan(first_output);
113 std::vector<unsigned int> bin_index_vector;
114 std::vector<float> E_vector;
118 long unsigned int layer_index = 0;
121 for (
long unsigned int voxel_index = 0; voxel_index <
m_nVoxels; ++voxel_index) {
125 layer_index = layer_index + 1;
131 if (voxel_energy > 0) {
133 event.event_data.resize(
layer+1);
138 event.event_data.at(
layer).E_vector.push_back(voxel_energy/
energy);
159 std::vector<float> eta_vector(
nEvents, 2.0);
160 std::vector<float> energy_vector(
nEvents, 65536.0);
161 std::vector<float> z_shape_vector(
nEvents*nVoxels, 0.5);
162 std::vector<float> z_energy_vector(
nEvents*nLayers, 0.5);
167 for (
float eta : eta_vector) {
173 for (
float energy : energy_vector) {
179 for (
float z_shape : z_shape_vector) {
180 inputs[
"cfm_z_shape"].insert(std::pair<std::string, double>(
"variable_" +
std::to_string(
i), z_shape));
185 for (
float z_energy : z_energy_vector) {
186 inputs[
"inn_z_energy"].insert(std::pair<std::string, double>(
"variable_" +
std::to_string(
i), z_energy));