 |
ATLAS Offline Software
|
#include <TFCSBinnedShower.h>
|
| | TFCSBinnedShower (const char *name=nullptr, const char *title=nullptr) |
| |
| virtual | ~TFCSBinnedShower () |
| |
| virtual bool | is_match_Ekin_bin (int) const override |
| |
| void | enable_event_matching () |
| |
| void | disable_event_matching () |
| |
| void | enable_event_cherry_picking () |
| |
| void | disable_event_cherry_picking () |
| |
| void | enable_eta_matching () |
| |
| void | disable_eta_matching () |
| |
| void | enable_upscaling () |
| |
| void | disable_upscaling () |
| |
| void | set_default_hit_energy (float energy) |
| |
| float | get_default_hit_energy () const |
| |
| void | set_max_hits_per_voxel (int max_hits) |
| |
| int | get_max_hits_per_voxel () const |
| |
| void | load_event_library (const std::string &filename, std::vector< long unsigned int > &layers, bool only_load_meta_data=false) |
| |
| void | load_sub_bin_distribution (const std::string &filename) |
| |
| void | set_hdf5_path (const std::string &filename) |
| |
| void | delete_hdf5_path () |
| |
| const std::string & | get_hdf5_path () const |
| |
| void | set_layer_energy (long unsigned int event_index, long unsigned int layer_index, const std::vector< unsigned int > &bin_index_vector, const std::vector< float > &E_vector) |
| |
| void | set_bin_boundaries (long unsigned int layer_index, std::vector< float > &R_lower, std::vector< float > &R_size, std::vector< float > &alpha_lower, std::vector< float > &alpha_size) |
| |
| void | set_shower_center_information (long unsigned int event_index, long unsigned int reference_layer_index, float eta_center, float phi_center) |
| |
| const eventvector_t & | get_eventlibrary () |
| |
| void | set_event_library (eventvector_t &eventlibrary) |
| |
| const event_bins_t & | get_coordinates () |
| |
| void | set_coordinates (event_bins_t &coordinates) |
| |
| const std::vector< std::vector< std::vector< std::vector< float > > > > & | get_sub_bin_distribution () const |
| |
| const std::vector< float > & | get_upscaling_energies () const |
| |
| void | set_sub_bin_distribution_and_energies (std::vector< std::vector< std::vector< std::vector< float >>>> &sub_bin_distribution, std::vector< float > &upscaling_energies) |
| |
| bool | OnlyScaleEnergy () const |
| |
| void | set_OnlyScaleEnergy () |
| |
| void | reset_OnlyScaleEnergy () |
| |
| virtual FCSReturnCode | simulate (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const override |
| | Method in all derived classes to do some simulation. More...
|
| |
| virtual FCSReturnCode | simulate_hit (Hit &hit, TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) override |
| | simulated one hit position with some energy. More...
|
| |
| ICaloGeometry * | get_geometry () |
| |
| virtual void | set_geometry (ICaloGeometry *geo) override |
| | Method to set the geometry access pointer. More...
|
| |
| virtual int | get_number_of_hits (TFCSSimulationState &simulstate, const TFCSTruthState *, const TFCSExtrapolationState *) const override |
| | Call get_number_of_hits() only once per shower simulation, as it could be calculated with random numbers and give different results each time. More...
|
| |
| virtual double | get_sigma2_fluctuation (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const |
| | Give the effective size sigma^2 of the fluctuations that should be generated by the amount of generated hits. More...
|
| |
| virtual float | get_E_hit (TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const |
| | Get hit energy from layer energy and number of hits. More...
|
| |
| virtual float | getMinWeight () const |
| | Get minimum and maximum value of weight for hit energy reweighting. More...
|
| |
| virtual float | getMaxWeight () const |
| |
| bool | is_match_calosample (int calosample) const override |
| |
| virtual bool | is_match_all_Ekin_bin () const override |
| |
| virtual bool | is_match_all_calosample () const override |
| |
| int | Ekin_bin () const |
| |
| void | set_Ekin_bin (int bin) |
| |
| int | calosample () const |
| |
| void | set_calosample (int cs) |
| |
| virtual void | set_pdgid_Ekin_eta_Ekin_bin_calosample (const TFCSLateralShapeParametrization &ref) |
| |
| void | Print (Option_t *option="") const override |
| |
| void | clear () |
| |
| virtual bool | is_match_pdgid (int id) const override |
| |
| virtual bool | is_match_Ekin (float Ekin) const override |
| |
| virtual bool | is_match_eta (float eta) const override |
| |
| virtual bool | is_match_all_Ekin () const override |
| |
| virtual bool | is_match_all_eta () const override |
| |
| const std::set< int > & | pdgid () const override |
| |
| double | Ekin_nominal () const override |
| |
| double | Ekin_min () const override |
| |
| double | Ekin_max () const override |
| |
| double | eta_nominal () const override |
| |
| double | eta_min () const override |
| |
| double | eta_max () const override |
| |
| virtual void | set_pdgid (int id) |
| |
| virtual void | set_pdgid (const std::set< int > &ids) |
| |
| virtual void | add_pdgid (int id) |
| |
| virtual void | clear_pdgid () |
| |
| virtual void | set_Ekin_nominal (double min) |
| |
| virtual void | set_Ekin_min (double min) |
| |
| virtual void | set_Ekin_max (double max) |
| |
| virtual void | set_eta_nominal (double min) |
| |
| virtual void | set_eta_min (double min) |
| |
| virtual void | set_eta_max (double max) |
| |
| virtual void | set_Ekin (const TFCSParametrizationBase &ref) |
| |
| virtual void | set_eta (const TFCSParametrizationBase &ref) |
| |
| virtual void | set_Ekin_eta (const TFCSParametrizationBase &ref) |
| |
| virtual void | set_pdgid_Ekin_eta (const TFCSParametrizationBase &ref) |
| |
| virtual bool | is_match_all_pdgid () const |
| |
| virtual void | set_match_all_pdgid () |
| |
| virtual void | reset_match_all_pdgid () |
| |
| virtual unsigned int | size () const |
| | Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters. More...
|
| |
| virtual const TFCSParametrizationBase * | operator[] (unsigned int) const |
| | Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters. More...
|
| |
| virtual TFCSParametrizationBase * | operator[] (unsigned int) |
| | Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operator[] methods give general access to these daughters. More...
|
| |
| virtual void | set_daughter (unsigned int, TFCSParametrizationBase *) |
| | Some derived classes have daughter instances of TFCSParametrizationBase objects The set_daughter method allows to change these daughters - expert use only! The original element at this position is not deleted. More...
|
| |
| virtual bool | operator== (const TFCSParametrizationBase &ref) const |
| | The == operator compares the content of instances. More...
|
| |
| virtual void | CleanAuxInfo (TFCSSimulationState &) const |
| | Method in all derived classes to delete objects stored in the simulstate AuxInfo. More...
|
| |
| void | FindDuplicates (FindDuplicateClasses_t &dup) |
| |
| void | RemoveDuplicates () |
| |
| void | RemoveNameTitle () |
| |
| bool | msgLvl (const MSG::Level lvl) const |
| | Check whether the logging system is active at the provided verbosity level. More...
|
| |
| MsgStream & | msg () const |
| | Return a stream for sending messages directly (no decoration) More...
|
| |
| MsgStream & | msg (const MSG::Level lvl) const |
| | Return a decorated starting stream for sending messages. More...
|
| |
| MSG::Level | level () const |
| | Retrieve output level. More...
|
| |
| virtual void | setLevel (MSG::Level lvl) |
| | Update outputlevel. More...
|
| |
|
| static std::string | startMsg (MSG::Level lvl, const std::string &file, int line) |
| | Make a message to decorate the start of logging. More...
|
| |
|
| virtual void | get_event (TFCSSimulationState &simulstate, float eta_center, float phi_center, float e_init, long unsigned int reference_layer_index) const override |
| | do not persistify More...
|
| |
| virtual long unsigned int | get_n_hits (TFCSSimulationState &simulstate, long unsigned int layer_index) const override |
| |
| virtual void | compute_n_hits_and_elayer (TFCSSimulationState &simulstate) const |
| |
| virtual float | get_layer_energy (TFCSSimulationState &simulstate, long unsigned int layer_index) const override |
| |
| virtual std::tuple< float, float, float > | get_hit_position_and_energy (TFCSSimulationState &simulstate, long unsigned int layer_index, long unsigned int hit_index) const override |
| |
| virtual void | delete_event (TFCSSimulationState &simulstate) const override |
| |
| bool | compare (const TFCSParametrizationBase &ref) const |
| |
|
| long unsigned int | find_best_match (float eta_center, float phi_center, float e_init, long unsigned int reference_layer_index, bool phi_mod_matching) const |
| |
| std::tuple< float, float > | get_coordinates (TFCSSimulationState &simulstate, long unsigned int layer_index, int bin_index) const |
| |
| void | upscale (TFCSSimulationState &simulstate, float &R_min, float &R_max, float &alpha_min, float &alpha_max, long unsigned int layer_index, int bin_index) const |
| |
| long unsigned int | get_energy_index (TFCSSimulationState &simulstate, long unsigned int layer_index, long unsigned int hit_index) const |
| |
| std::tuple< std::vector< float >, std::vector< hsize_t >, bool > | load_hdf5_dataset (const std::string &filename, const std::string &datasetname) |
| |
| void | load_layer_energy (const std::string &filename, long unsigned int layer_index) |
| |
| void | load_bin_boundaries (const std::string &filename, long unsigned int layer_index) |
| |
| void | load_shower_center_information (const std::string &filename) |
| |
Definition at line 23 of file TFCSBinnedShower.h.
◆ event_bins_t
◆ eventvector_t
◆ FindDuplicateClasses_t
◆ FindDuplicates_t
◆ FCSEnergyInitializationStatusBits
Status bit for energy initialization.
| Enumerator |
|---|
| kOnlyScaleEnergy | Set this bit in the TObject bit field the simulated energy should only be scaled by the GAN.
|
Definition at line 29 of file TFCSBinnedShowerBase.h.
◆ FCSStatusBits
Status bit for FCS needs.
| Enumerator |
|---|
| kMatchAllPDGID | Set this bit in the TObject bit field if valid for all PDGID.
|
Definition at line 52 of file TFCSParametrizationBase.h.
◆ TFCSBinnedShower()
| TFCSBinnedShower::TFCSBinnedShower |
( |
const char * |
name = nullptr, |
|
|
const char * |
title = nullptr |
|
) |
| |
◆ ~TFCSBinnedShower()
| TFCSBinnedShower::~TFCSBinnedShower |
( |
| ) |
|
|
virtual |
◆ add_pdgid()
| void TFCSParametrization::add_pdgid |
( |
int |
id | ) |
|
|
virtualinherited |
◆ calosample()
| int TFCSLateralShapeParametrization::calosample |
( |
| ) |
const |
|
inlineinherited |
◆ CleanAuxInfo()
◆ clear()
| void TFCSParametrization::clear |
( |
| ) |
|
|
inherited |
◆ clear_pdgid()
| void TFCSParametrization::clear_pdgid |
( |
| ) |
|
|
virtualinherited |
◆ compare()
◆ compute_n_hits_and_elayer()
Definition at line 221 of file TFCSBinnedShower.cxx.
224 event_t *
event =
static_cast<event_t *
>(
225 simulstate.
getAuxInfo<
void *>(
"BSEventData"_FCShash));
226 float e_init = simulstate.
getAuxInfo<
float>(
"BSEinit"_FCShash);
229 long unsigned int n_layers =
event->event_data.size();
230 std::vector<std::vector<long unsigned int>> hits_per_layer;
231 std::vector<float> elayer;
232 hits_per_layer.resize(n_layers);
233 elayer.resize(n_layers, 0.0
f);
235 for (
long unsigned int layer_index = 0; layer_index < n_layers;
238 layer_t &
layer =
event->event_data.at(layer_index);
241 long unsigned int n_hits = 0;
242 for (
float e_voxel :
layer.E_vector) {
243 long unsigned int hits_per_bin;
248 elayer.at(layer_index) += e_voxel * e_init;
253 n_hits += hits_per_bin;
254 hits_per_layer.at(layer_index).push_back(n_hits);
258 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
259 new std::vector<std::vector<long unsigned int>>(hits_per_layer);
260 simulstate.
setAuxInfo<
void *>(
"BSNHits"_FCShash, hits_per_layer_ptr);
263 std::vector<float> *elayer_ptr =
new std::vector<float>(elayer);
264 simulstate.
setAuxInfo<
void *>(
"BSELayer"_FCShash, elayer_ptr);
◆ delete_event()
Implements TFCSBinnedShowerBase.
Definition at line 509 of file TFCSBinnedShower.cxx.
511 void *event_ptr = simulstate.
getAuxInfo<
void *>(
"BSEventData"_FCShash);
513 delete static_cast<event_t *
>(event_ptr);
514 simulstate.
setAuxInfo<
void *>(
"BSEventData"_FCShash,
nullptr);
519 void *n_hits_ptr = simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash);
521 delete static_cast<std::vector<std::vector<long unsigned int>
> *>(
523 simulstate.
setAuxInfo<
void *>(
"BSNHits"_FCShash,
nullptr);
528 void *elayer_ptr = simulstate.
getAuxInfo<
void *>(
"BSELayer"_FCShash);
530 delete static_cast<std::vector<float> *
>(elayer_ptr);
531 simulstate.
setAuxInfo<
void *>(
"BSELayer"_FCShash,
nullptr);
533 ATH_MSG_ERROR(
"No event layer energy data found to delete.");
◆ delete_hdf5_path()
| void TFCSBinnedShower::delete_hdf5_path |
( |
| ) |
|
|
inline |
◆ disable_eta_matching()
| void TFCSBinnedShower::disable_eta_matching |
( |
| ) |
|
|
inline |
◆ disable_event_cherry_picking()
| void TFCSBinnedShower::disable_event_cherry_picking |
( |
| ) |
|
|
inline |
◆ disable_event_matching()
| void TFCSBinnedShower::disable_event_matching |
( |
| ) |
|
|
inline |
◆ disable_upscaling()
| void TFCSBinnedShower::disable_upscaling |
( |
| ) |
|
|
inline |
◆ Ekin_bin()
| int TFCSLateralShapeParametrization::Ekin_bin |
( |
| ) |
const |
|
inlineinherited |
◆ Ekin_max()
| double TFCSParametrization::Ekin_max |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ Ekin_min()
| double TFCSParametrization::Ekin_min |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ Ekin_nominal()
| double TFCSParametrization::Ekin_nominal |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ enable_eta_matching()
| void TFCSBinnedShower::enable_eta_matching |
( |
| ) |
|
|
inline |
◆ enable_event_cherry_picking()
| void TFCSBinnedShower::enable_event_cherry_picking |
( |
| ) |
|
|
inline |
◆ enable_event_matching()
| void TFCSBinnedShower::enable_event_matching |
( |
| ) |
|
|
inline |
◆ enable_upscaling()
| void TFCSBinnedShower::enable_upscaling |
( |
| ) |
|
|
inline |
◆ eta_max()
| double TFCSParametrization::eta_max |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ eta_min()
| double TFCSParametrization::eta_min |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ eta_nominal()
| double TFCSParametrization::eta_nominal |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ find_best_match()
| long unsigned int TFCSBinnedShower::find_best_match |
( |
float |
eta_center, |
|
|
float |
phi_center, |
|
|
float |
e_init, |
|
|
long unsigned int |
reference_layer_index, |
|
|
bool |
phi_mod_matching |
|
) |
| const |
|
private |
Definition at line 115 of file TFCSBinnedShower.cxx.
119 float phi_cell_size, phi_within_cell;
121 if (phi_mod_matching) {
123 m_geo->
getDDE(reference_layer_index, eta_center, phi_center);
125 reference_layer_index, eta_center);
127 float phi_cell = cellele->
phi();
128 phi_within_cell = phi_center - phi_cell;
130 phi_within_cell = fmod(phi_within_cell, phi_cell_size);
131 if (phi_within_cell < 0)
132 phi_within_cell += phi_cell_size;
139 for (
long unsigned int event_index = 0; event_index <
m_eventlibrary.size();
154 if (phi_mod_matching) {
156 float phi_diff = (phi_mod - phi_within_cell) / phi_cell_size;
157 dist2 = dist2 + phi_diff * phi_diff;
159 float distance = TMath::Sqrt(dist2);
163 best_match = event_index;
171 << eta_center <<
" / "
◆ FindDuplicates()
Definition at line 90 of file TFCSParametrizationBase.cxx.
92 for (
unsigned int i = 0;
i <
size(); ++
i)
97 auto checkexist = dup.find(param);
98 if (checkexist != dup.end()) {
100 << param->GetName());
101 if (checkexist->second.replace) {
104 << refparam <<
"=" << refparam->GetName()
105 <<
", duplicate is " << param <<
"=" << param->GetName()
106 <<
" index " <<
i <<
" of " <<
this);
107 dup[refparam].mother.push_back(
this);
108 dup[refparam].index.push_back(
i);
113 dup[param] = Duplicate_t();
114 for (
auto &
ref : dup) {
117 if (param == refparam)
120 if (refparam ==
nullptr)
123 if (
ref.second.replace)
126 if (*param == *refparam) {
128 << refparam <<
"=" << refparam->GetName()
129 <<
", duplicate is " << param <<
"=" << param->GetName()
130 <<
" index " <<
i <<
" of " <<
this);
131 dup[param].replace = refparam;
132 dup[refparam].mother.push_back(
this);
133 dup[refparam].index.push_back(
i);
◆ get_coordinates() [1/2]
◆ get_coordinates() [2/2]
| std::tuple< float, float > TFCSBinnedShower::get_coordinates |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index, |
|
|
int |
bin_index |
|
) |
| const |
|
private |
Definition at line 333 of file TFCSBinnedShower.cxx.
336 float R_min =
m_coordinates.at(layer_index).R_lower.at(bin_index);
337 float R_max =
m_coordinates.at(layer_index).R_size.at(bin_index) +
340 float alpha_min =
m_coordinates.at(layer_index).alpha_lower.at(bin_index);
341 float alpha_max =
m_coordinates.at(layer_index).alpha_size.at(bin_index) +
345 upscale(simulstate, R_min, R_max, alpha_min, alpha_max, layer_index,
350 R = CLHEP::RandFlat::shoot(simulstate.
randomEngine(), R_min, R_max);
355 CLHEP::RandFlat::shoot(simulstate.
randomEngine(), alpha_min, alpha_max);
357 return std::make_tuple(
R,
alpha);
◆ get_default_hit_energy()
| float TFCSBinnedShower::get_default_hit_energy |
( |
| ) |
const |
|
inline |
◆ get_E_hit()
◆ get_energy_index()
| long unsigned int TFCSBinnedShower::get_energy_index |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index, |
|
|
long unsigned int |
hit_index |
|
) |
| const |
|
private |
Definition at line 296 of file TFCSBinnedShower.cxx.
299 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
300 static_cast<std::vector<std::vector<long unsigned int>
> *>(
301 simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash));
302 if (!hits_per_layer_ptr) {
307 if (layer_index >= hits_per_layer_ptr->size()) {
308 ATH_MSG_ERROR(
"Layer index out of bounds: " << layer_index <<
" >= "
309 << hits_per_layer_ptr->size());
314 const std::vector<long unsigned int> &
hits =
315 hits_per_layer_ptr->at(layer_index);
316 auto it = std::upper_bound(
hits.begin(),
hits.end(), hit_index);
319 if (energy_index >=
hits.size()) {
321 <<
" >= " <<
hits.size());
324 for (
const auto &hit :
hits) {
◆ get_event()
| void TFCSBinnedShower::get_event |
( |
TFCSSimulationState & |
simulstate, |
|
|
float |
eta_center, |
|
|
float |
phi_center, |
|
|
float |
e_init, |
|
|
long unsigned int |
reference_layer_index |
|
) |
| const |
|
overrideprotectedvirtual |
do not persistify
Implements TFCSBinnedShowerBase.
Definition at line 179 of file TFCSBinnedShower.cxx.
185 "No event library loaded. Please load an event libray for "
186 "TFCSBinnedShower::get_event.");
190 simulstate.
setAuxInfo<
float>(
"BSEinit"_FCShash, e_init);
192 long unsigned int event_index;
194 event_index = simulstate.
getAuxInfo<
int>(
"EventNr"_FCShash);
202 event_index = std::floor(CLHEP::RandFlat::shoot(
207 event_index = std::floor(CLHEP::RandFlat::shoot(simulstate.
randomEngine(),
211 ATH_MSG_DEBUG(
"Using event index " << event_index <<
" for eta " << eta_center
212 <<
" and phi " << phi_center);
216 simulstate.
setAuxInfo<
void *>(
"BSEventData"_FCShash, event_ptr);
◆ get_eventlibrary()
◆ get_geometry()
◆ get_hdf5_path()
| const std::string& TFCSBinnedShower::get_hdf5_path |
( |
| ) |
const |
|
inline |
◆ get_hit_position_and_energy()
| std::tuple< float, float, float > TFCSBinnedShower::get_hit_position_and_energy |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index, |
|
|
long unsigned int |
hit_index |
|
) |
| const |
|
overrideprotectedvirtual |
Implements TFCSBinnedShowerBase.
Definition at line 467 of file TFCSBinnedShower.cxx.
471 event_t *
event =
static_cast<event_t *
>(
472 simulstate.
getAuxInfo<
void *>(
"BSEventData"_FCShash));
474 float e_init = simulstate.
getAuxInfo<
float>(
"BSEinit"_FCShash);
476 if (layer_index >=
event->event_data.size()) {
477 ATH_MSG_ERROR(
"Layer index out of bounds: " << layer_index <<
" >= "
478 <<
event->event_data.size());
479 return std::make_tuple(0.0
f, 0.0
f, 0.0
f);
483 simulstate, layer_index, hit_index);
485 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
486 static_cast<std::vector<std::vector<long unsigned int>
> *>(
487 simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash));
489 long unsigned int hits_per_bin;
490 if (energy_index == 0) {
491 hits_per_bin = hits_per_layer_ptr->at(layer_index).at(energy_index);
493 hits_per_bin = hits_per_layer_ptr->at(layer_index).at(energy_index) -
494 hits_per_layer_ptr->at(layer_index).at(energy_index - 1);
499 layer_t &
layer =
event->event_data.at(layer_index);
502 layer.bin_index_vector.at(energy_index));
504 float E =
layer.E_vector.at(energy_index) * e_init / hits_per_bin;
506 return std::make_tuple(
r,
alpha,
E);
◆ get_layer_energy()
| float TFCSBinnedShower::get_layer_energy |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index |
|
) |
| const |
|
overrideprotectedvirtual |
Implements TFCSBinnedShowerBase.
Definition at line 282 of file TFCSBinnedShower.cxx.
284 std::vector<float> *elayer_ptr =
static_cast<std::vector<float> *
>(
285 simulstate.
getAuxInfo<
void *>(
"BSELayer"_FCShash));
290 if (layer_index >= elayer_ptr->size()) {
293 return elayer_ptr->at(layer_index);
◆ get_max_hits_per_voxel()
| int TFCSBinnedShower::get_max_hits_per_voxel |
( |
| ) |
const |
|
inline |
◆ get_n_hits()
| long unsigned int TFCSBinnedShower::get_n_hits |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index |
|
) |
| const |
|
overrideprotectedvirtual |
Implements TFCSBinnedShowerBase.
Definition at line 267 of file TFCSBinnedShower.cxx.
270 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
271 static_cast<std::vector<std::vector<long unsigned int>
> *>(
272 simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash));
274 if (!hits_per_layer_ptr) {
279 return hits_per_layer_ptr->at(layer_index).back();
◆ get_number_of_hits()
|
|
inlineoverridevirtualinherited |
◆ get_sigma2_fluctuation()
◆ get_sub_bin_distribution()
| const std::vector<std::vector<std::vector<std::vector<float> > > >& TFCSBinnedShower::get_sub_bin_distribution |
( |
| ) |
const |
|
inline |
◆ get_upscaling_energies()
| const std::vector<float>& TFCSBinnedShower::get_upscaling_energies |
( |
| ) |
const |
|
inline |
◆ getMaxWeight()
| float TFCSLateralShapeParametrizationHitBase::getMaxWeight |
( |
| ) |
const |
|
virtualinherited |
◆ getMinWeight()
| float TFCSLateralShapeParametrizationHitBase::getMinWeight |
( |
| ) |
const |
|
virtualinherited |
◆ is_match_all_calosample()
| virtual bool TFCSLateralShapeParametrization::is_match_all_calosample |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ is_match_all_Ekin()
| virtual bool TFCSParametrization::is_match_all_Ekin |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ is_match_all_Ekin_bin()
| virtual bool TFCSLateralShapeParametrization::is_match_all_Ekin_bin |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ is_match_all_eta()
| virtual bool TFCSParametrization::is_match_all_eta |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ is_match_all_pdgid()
| virtual bool TFCSParametrizationBase::is_match_all_pdgid |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ is_match_calosample()
| bool TFCSLateralShapeParametrization::is_match_calosample |
( |
int |
calosample | ) |
const |
|
inlineoverridevirtualinherited |
◆ is_match_Ekin()
| virtual bool TFCSParametrization::is_match_Ekin |
( |
float |
Ekin | ) |
const |
|
inlineoverridevirtualinherited |
◆ is_match_Ekin_bin()
| virtual bool TFCSBinnedShower::is_match_Ekin_bin |
( |
int |
| ) |
const |
|
inlineoverridevirtual |
◆ is_match_eta()
| virtual bool TFCSParametrization::is_match_eta |
( |
float |
eta | ) |
const |
|
inlineoverridevirtualinherited |
◆ is_match_pdgid()
| virtual bool TFCSParametrization::is_match_pdgid |
( |
int |
id | ) |
const |
|
inlineoverridevirtualinherited |
◆ level()
| MSG::Level ISF_FCS::MLogging::level |
( |
| ) |
const |
|
inlineinherited |
Retrieve output level.
Definition at line 201 of file MLogging.h.
201 {
return msg().level(); }
◆ load_bin_boundaries()
| void TFCSBinnedShower::load_bin_boundaries |
( |
const std::string & |
filename, |
|
|
long unsigned int |
layer_index |
|
) |
| |
|
private |
Definition at line 652 of file TFCSBinnedShower.cxx.
660 std::vector<std::string> datasetnames = {
661 "binstart_radius_layer_",
"binsize_radius_layer_",
662 "binstart_alpha_layer_",
"binsize_alpha_layer_"};
664 for (
long unsigned int i = 0;
i < datasetnames.size();
i++) {
665 std::string datasetname = datasetnames.at(
i) +
std::to_string(layer_index);
666 std::vector<float>
data;
667 std::vector<hsize_t> dims;
671 ATH_MSG_ERROR(
"Error while extracting the bin boundaries for layer "
672 << layer_index <<
" from " <<
filename <<
"."
673 <<
"Specifically, the key " << datasetname
674 <<
" could not be loaded.");
682 event_bins.R_lower =
data;
685 event_bins.R_size =
data;
688 event_bins.alpha_lower =
data;
691 event_bins.alpha_size =
data;
◆ load_event_library()
| void TFCSBinnedShower::load_event_library |
( |
const std::string & |
filename, |
|
|
std::vector< long unsigned int > & |
layers, |
|
|
bool |
only_load_meta_data = false |
|
) |
| |
Definition at line 539 of file TFCSBinnedShower.cxx.
543 if (!only_load_meta_data) {
554 for (
long unsigned int layer_index :
layers) {
561 if (!only_load_meta_data) {
569 !only_load_meta_data) {
◆ load_hdf5_dataset()
| std::tuple< std::vector< float >, std::vector< hsize_t >, bool > TFCSBinnedShower::load_hdf5_dataset |
( |
const std::string & |
filename, |
|
|
const std::string & |
datasetname |
|
) |
| |
|
private |
Definition at line 577 of file TFCSBinnedShower.cxx.
584 if (!
file.exists(datasetname)) {
585 return std::make_tuple(std::vector<float>{}, std::vector<hsize_t>{},
false);
588 H5::DataSet
dataset =
file.openDataSet(datasetname);
591 H5::DataSpace dataspace =
dataset.getSpace();
594 int rank = dataspace.getSimpleExtentNdims();
595 std::vector<hsize_t> dims_out(rank);
596 dataspace.getSimpleExtentDims(dims_out.data(), NULL);
600 for (
const auto &
dim : dims_out) {
606 dataset.read(
data.data(), H5::PredType::NATIVE_FLOAT);
608 return std::make_tuple(
data, dims_out,
true);
◆ load_layer_energy()
| void TFCSBinnedShower::load_layer_energy |
( |
const std::string & |
filename, |
|
|
long unsigned int |
layer_index |
|
) |
| |
|
private |
Definition at line 611 of file TFCSBinnedShower.cxx.
614 std::string datasetname =
"energy_layer_" +
std::to_string(layer_index);
616 std::vector<float>
data;
617 std::vector<hsize_t> dims;
621 ATH_MSG_ERROR(
"Error while extracting the layer energy for layer "
622 << layer_index <<
" from " <<
filename <<
".");
627 std::vector<unsigned int> bin_index_vector;
628 std::vector<float> E_vector;
630 for (
size_t i = 0;
i <
data.size(); ++
i) {
631 long unsigned int event_index =
i / dims.at(1);
632 float bin_index =
i % dims.at(1);
634 if (bin_index == 0) {
635 bin_index_vector.clear();
639 if (
data.at(
i) != 0.0) {
640 bin_index_vector.push_back(bin_index);
641 E_vector.push_back(
data.at(
i));
◆ load_shower_center_information()
| void TFCSBinnedShower::load_shower_center_information |
( |
const std::string & |
filename | ) |
|
|
private |
Definition at line 697 of file TFCSBinnedShower.cxx.
704 std::vector<std::string> datasetnames = {
"phi_mod",
"center_eta",
707 for (
long unsigned int i = 0;
i < datasetnames.size();
i++) {
708 std::string datasetname = datasetnames.at(
i);
709 std::vector<float>
data;
710 std::vector<hsize_t> dims;
720 "Error while extracting the shower center information from "
722 <<
"Specifically, the key " << datasetname
723 <<
" could not be loaded.");
728 for (
long unsigned int event_index = 0; event_index <
data.size();
◆ load_sub_bin_distribution()
| void TFCSBinnedShower::load_sub_bin_distribution |
( |
const std::string & |
filename | ) |
|
Definition at line 776 of file TFCSBinnedShower.cxx.
780 std::cerr <<
"Failed to open file: " <<
filename << std::endl;
785 std::map<float, std::map<int, std::vector<std::vector<float>>>> temp_storage;
790 while ((
key = (TKey *)
next())) {
791 std::string keyname =
key->GetName();
797 TMatrixD *
matrix =
dynamic_cast<TMatrixD *
>(
file->Get(keyname.c_str()));
799 std::vector<std::vector<float>> mat_vec(
800 matrix->GetNrows(), std::vector<float>(
matrix->GetNcols()));
801 for (
int i = 0;
i <
matrix->GetNrows(); ++
i) {
802 for (
int j = 0; j <
matrix->GetNcols(); ++j) {
803 mat_vec[
i][j] =
static_cast<float>((*matrix)(
i, j));
815 std::vector<float> energies;
816 std::vector<std::vector<std::vector<std::vector<float>>>>
819 for (
const auto &[
energy, layer_map] : temp_storage) {
820 energies.push_back(
energy);
822 for (
const auto &[
l,
_] : layer_map)
825 std::vector<std::vector<std::vector<float>>> layer_vec(max_layer + 1);
829 data.push_back(std::move(layer_vec));
833 for (
size_t i = 0;
i < energies.size(); ++
i) {
834 std::cout <<
"Energy index " <<
i <<
": " << energies[
i] <<
" GeV\n";
835 for (
size_t j = 0; j <
data[
i].size(); ++j) {
837 std::cout <<
" Layer " << j <<
" Shape: (" <<
data[
i][j].size() <<
", "
838 <<
data[
i][j][0].size() <<
")\n";
◆ msg() [1/2]
| MsgStream & ISF_FCS::MLogging::msg |
( |
| ) |
const |
|
inlineinherited |
Return a stream for sending messages directly (no decoration)
Definition at line 231 of file MLogging.h.
232 MsgStream *
ms = m_msg_tls.get();
◆ msg() [2/2]
| MsgStream & ISF_FCS::MLogging::msg |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Return a decorated starting stream for sending messages.
Definition at line 240 of file MLogging.h.
◆ msgLvl()
| bool ISF_FCS::MLogging::msgLvl |
( |
const MSG::Level |
lvl | ) |
const |
|
inlineinherited |
Check whether the logging system is active at the provided verbosity level.
Definition at line 222 of file MLogging.h.
◆ OnlyScaleEnergy()
| bool TFCSBinnedShowerBase::OnlyScaleEnergy |
( |
| ) |
const |
|
inlineinherited |
◆ operator==()
◆ operator[]() [1/2]
◆ operator[]() [2/2]
◆ pdgid()
| const std::set<int>& TFCSParametrization::pdgid |
( |
| ) |
const |
|
inlineoverridevirtualinherited |
◆ Print()
| void TFCSLateralShapeParametrization::Print |
( |
Option_t * |
option = "" | ) |
const |
|
overrideinherited |
◆ RemoveDuplicates()
| void TFCSParametrizationBase::RemoveDuplicates |
( |
| ) |
|
|
inherited |
Definition at line 142 of file TFCSParametrizationBase.cxx.
146 std::set<TFCSParametrizationBase *> dellist;
147 for (
auto &dupiter : dupclasses) {
149 for (
auto onedup : dup) {
150 if (onedup.second.mother.empty())
154 for (
unsigned int i = 0;
i < onedup.second.mother.size(); ++
i) {
155 int index = onedup.second.index[
i];
158 unsigned int delcount = dup[delparam].mother.
size();
161 << delparam <<
"=" << delparam->GetName() <<
" index "
162 <<
index <<
" of " << mother <<
", has " << delcount
163 <<
" other replacements attached. Deleting");
165 dellist.insert(delparam);
168 << delparam <<
"=" << delparam->GetName() <<
" index "
169 <<
index <<
" of " << mother <<
", has " << delcount
170 <<
" other replacements attached. Skipping");
180 std::map<std::string, int> ndel;
181 for (
auto *delparam : dellist) {
183 bool present = dup2.find(delparam) != dup2.end();
186 << delparam->GetName()
187 <<
" still referenced somewhere!");
190 << delparam->GetName());
191 ++ndel[delparam->ClassName()];
195 for (
auto &del : ndel)
196 ATH_MSG_INFO(
"Deleted " << del.second <<
" duplicate objects of class "
◆ RemoveNameTitle()
| void TFCSParametrizationBase::RemoveNameTitle |
( |
| ) |
|
|
inherited |
◆ reset_match_all_pdgid()
| virtual void TFCSParametrizationBase::reset_match_all_pdgid |
( |
| ) |
|
|
inlinevirtualinherited |
◆ reset_OnlyScaleEnergy()
| void TFCSBinnedShowerBase::reset_OnlyScaleEnergy |
( |
| ) |
|
|
inlineinherited |
◆ set_bin_boundaries()
| void TFCSBinnedShower::set_bin_boundaries |
( |
long unsigned int |
layer_index, |
|
|
std::vector< float > & |
R_lower, |
|
|
std::vector< float > & |
R_size, |
|
|
std::vector< float > & |
alpha_lower, |
|
|
std::vector< float > & |
alpha_size |
|
) |
| |
◆ set_calosample()
| void TFCSLateralShapeParametrization::set_calosample |
( |
int |
cs | ) |
|
|
inherited |
◆ set_coordinates()
| void TFCSBinnedShower::set_coordinates |
( |
event_bins_t & |
coordinates | ) |
|
|
inline |
◆ set_daughter()
◆ set_default_hit_energy()
| void TFCSBinnedShower::set_default_hit_energy |
( |
float |
energy | ) |
|
|
inline |
◆ set_Ekin()
◆ set_Ekin_bin()
| void TFCSLateralShapeParametrization::set_Ekin_bin |
( |
int |
bin | ) |
|
|
inherited |
◆ set_Ekin_eta()
◆ set_Ekin_max()
| void TFCSParametrization::set_Ekin_max |
( |
double |
max | ) |
|
|
virtualinherited |
◆ set_Ekin_min()
| void TFCSParametrization::set_Ekin_min |
( |
double |
min | ) |
|
|
virtualinherited |
◆ set_Ekin_nominal()
| void TFCSParametrization::set_Ekin_nominal |
( |
double |
min | ) |
|
|
virtualinherited |
◆ set_eta()
◆ set_eta_max()
| void TFCSParametrization::set_eta_max |
( |
double |
max | ) |
|
|
virtualinherited |
◆ set_eta_min()
| void TFCSParametrization::set_eta_min |
( |
double |
min | ) |
|
|
virtualinherited |
◆ set_eta_nominal()
| void TFCSParametrization::set_eta_nominal |
( |
double |
min | ) |
|
|
virtualinherited |
◆ set_event_library()
| void TFCSBinnedShower::set_event_library |
( |
eventvector_t & |
eventlibrary | ) |
|
|
inline |
◆ set_geometry()
| virtual void TFCSBinnedShowerBase::set_geometry |
( |
ICaloGeometry * |
geo | ) |
|
|
inlineoverridevirtualinherited |
◆ set_hdf5_path()
| void TFCSBinnedShower::set_hdf5_path |
( |
const std::string & |
filename | ) |
|
|
inline |
◆ set_layer_energy()
| void TFCSBinnedShower::set_layer_energy |
( |
long unsigned int |
event_index, |
|
|
long unsigned int |
layer_index, |
|
|
const std::vector< unsigned int > & |
bin_index_vector, |
|
|
const std::vector< float > & |
E_vector |
|
) |
| |
◆ set_match_all_pdgid()
| virtual void TFCSParametrizationBase::set_match_all_pdgid |
( |
| ) |
|
|
inlinevirtualinherited |
◆ set_max_hits_per_voxel()
| void TFCSBinnedShower::set_max_hits_per_voxel |
( |
int |
max_hits | ) |
|
|
inline |
◆ set_OnlyScaleEnergy()
| void TFCSBinnedShowerBase::set_OnlyScaleEnergy |
( |
| ) |
|
|
inlineinherited |
◆ set_pdgid() [1/2]
| void TFCSParametrization::set_pdgid |
( |
const std::set< int > & |
ids | ) |
|
|
virtualinherited |
◆ set_pdgid() [2/2]
| void TFCSParametrization::set_pdgid |
( |
int |
id | ) |
|
|
virtualinherited |
◆ set_pdgid_Ekin_eta()
◆ set_pdgid_Ekin_eta_Ekin_bin_calosample()
◆ set_shower_center_information()
| void TFCSBinnedShower::set_shower_center_information |
( |
long unsigned int |
event_index, |
|
|
long unsigned int |
reference_layer_index, |
|
|
float |
eta_center, |
|
|
float |
phi_center |
|
) |
| |
Definition at line 90 of file TFCSBinnedShower.cxx.
96 reference_layer_index, eta_center);
98 m_geo->
getDDE(reference_layer_index, eta_center, phi_center)->
phi();
99 float phi_within_cell = fmod(phi_center - phi_cell, phi_cell_size);
100 if (phi_within_cell < 0) {
101 phi_within_cell += phi_cell_size;
108 reference_layer_index) {
109 m_eventlibrary.at(event_index).event_data.resize(reference_layer_index + 1);
◆ set_sub_bin_distribution_and_energies()
| void TFCSBinnedShower::set_sub_bin_distribution_and_energies |
( |
std::vector< std::vector< std::vector< std::vector< float >>>> & |
sub_bin_distribution, |
|
|
std::vector< float > & |
upscaling_energies |
|
) |
| |
|
inline |
◆ setLevel()
| void ISF_FCS::MLogging::setLevel |
( |
MSG::Level |
lvl | ) |
|
|
virtualinherited |
◆ simulate()
Method in all derived classes to do some simulation.
Result should be returned in simulstate.
Simulate all energies in calo layers for energy parametrizations. Simulate cells for shape simulation.
Reimplemented from TFCSParametrizationBase.
Definition at line 45 of file TFCSBinnedShowerBase.cxx.
50 float eta_center, phi_center;
54 if (eta_center > 1.4) {
65 const float Ekin = truth->
Ekin();
68 Einit = simulstate.
E();
75 get_event(simulstate, eta_center, phi_center, Einit, reference_layer_index);
77 for (
long unsigned int layer_index = 0;
83 simulstate.
set_E(layer_index, 0);
84 simulstate.
add_E(layer_index, layer_energy);
89 simulstate.
set_Efrac(ilayer, simulstate.
E(ilayer) / simulstate.
E());
◆ simulate_hit()
simulated one hit position with some energy.
As last step in TFCSLateralShapeParametrizationHitChain::simulate, the hit should be mapped into a cell and this cell recorded in simulstate. All hits/cells should be resacled such that their final sum is simulstate->E(sample)
Reimplemented from TFCSLateralShapeParametrizationHitBase.
Definition at line 95 of file TFCSBinnedShowerBase.cxx.
108 const double center_r = hit.
center_r();
109 const double center_z = hit.
center_z();
111 ATH_MSG_VERBOSE(
" Layer " << layer_index <<
" Extrap eta " << center_eta
112 <<
" phi " << center_phi <<
" R " << center_r);
114 const float dist000 = TMath::Sqrt(center_r * center_r + center_z * center_z);
115 const float eta_jakobi = TMath::Abs(2.0 * TMath::Exp(-center_eta) /
116 (1.0 + TMath::Exp(-2 * center_eta)));
118 long unsigned int hit_index = hit.idx();
135 if (center_eta < 0.) {
136 delta_eta_mm = -delta_eta_mm;
144 delta_phi_mm = -delta_phi_mm;
146 const float delta_eta = delta_eta_mm / eta_jakobi / dist000;
147 const float delta_phi = delta_phi_mm / center_r;
149 hit.
eta() = center_eta + delta_eta;
153 <<
" layer " << layer_index);
156 const float hit_r =
r *
cos(
alpha) + center_r;
165 hit.
x() = hit_r *
cos(hit_phi);
166 hit.
y() = hit_r *
sin(hit_phi);
◆ size()
| virtual unsigned int TFCSParametrizationBase::size |
( |
| ) |
const |
|
inlinevirtualinherited |
◆ startMsg()
| std::string ISF_FCS::MLogging::startMsg |
( |
MSG::Level |
lvl, |
|
|
const std::string & |
file, |
|
|
int |
line |
|
) |
| |
|
staticinherited |
Make a message to decorate the start of logging.
Print a message for the start of logging.
Definition at line 116 of file MLogging.cxx.
120 auto last_slash =
file.find_last_of(
'/');
121 int path_len = last_slash == std::string::npos ? 0 : last_slash;
122 int trim_point = path_len;
123 int total_len =
file.length();
124 if (total_len - path_len > col1_len)
125 trim_point = total_len - col1_len;
126 std::string trimmed_name =
file.substr(trim_point);
128 "NIL",
"VERBOSE",
"DEBUG",
"INFO",
"WARNING",
"ERROR",
"FATAL",
"ALWAYS"};
129 std::string
level = LevelNames[lvl];
130 std::string level_string = std::string(
"(") +
level +
") ";
132 output << std::setw(col1_len) << std::right << trimmed_name <<
":"
133 << std::setw(col2_len) << std::left <<
line << std::setw(col3_len)
134 << std::right << level_string;
◆ upscale()
| void TFCSBinnedShower::upscale |
( |
TFCSSimulationState & |
simulstate, |
|
|
float & |
R_min, |
|
|
float & |
R_max, |
|
|
float & |
alpha_min, |
|
|
float & |
alpha_max, |
|
|
long unsigned int |
layer_index, |
|
|
int |
bin_index |
|
) |
| const |
|
private |
Definition at line 360 of file TFCSBinnedShower.cxx.
365 float p = CLHEP::RandFlat::shoot(simulstate.
randomEngine(), 0, 1);
367 float e_init = simulstate.
getAuxInfo<
float>(
"BSEinit"_FCShash);
370 unsigned int e_index = 0;
372 std::vector<float> probabilities = {0.25f, 0.5f, 0.75f};
374 if (available_energies.size() > 1) {
376 auto it = std::upper_bound(available_energies.begin(),
377 available_energies.end(), e_init);
378 if (
it != available_energies.end()) {
381 e_index = available_energies.size() - 1;
384 float e_high = available_energies.at(e_index);
385 if (e_high < e_init || e_index == 0) {
393 float e_low = available_energies.at(e_index - 1);
395 float f_high = 1 - f_low;
396 for (
unsigned int i = 0;
i < 3; ++
i) {
405 probabilities[
i] = f_low * p_low + f_high * p_high;
411 else if (available_energies.size() == 1) {
415 float p_alpha_low = probabilities[2] - probabilities[1] + probabilities[0];
418 if (
p < p_alpha_low) {
419 alpha_max = (alpha_min + alpha_max) / 2.;
420 p_r = probabilities[0] / (p_alpha_low);
422 alpha_min = (alpha_min + alpha_max) / 2.;
423 p_r = (probabilities[1] - probabilities[0]) / (1 - p_alpha_low);
427 if (layer_index != 2){
430 R_min = (R_min + R_max) / 2.;
433 R_max = (R_min + R_max) / 2.;
443 }
else if (p_r > 0.75) {
450 float r = (1. - 4. * p_r) / (2. - 4. * p_r) -
451 TMath::Sqrt(((1. - 4. * p_r) / (2. - 4. * p_r)) *
452 ((1. - 4. * p_r) / (2. - 4. * p_r)) +
453 p / ((1. / 2.) - p_r));
455 r = (1. - 4. * p_r) / (2. - 4. * p_r) +
456 TMath::Sqrt(((1. - 4. * p_r) / (2. - 4. * p_r)) *
457 ((1. - 4. * p_r) / (2. - 4. * p_r)) +
458 p / ((1. / 2.) - p_r));
461 R_min = R_min +
r / 2 * (R_max - R_min);
◆ ATLAS_THREAD_SAFE
| boost::thread_specific_ptr<MsgStream> m_msg_tls ISF_FCS::MLogging::ATLAS_THREAD_SAFE |
|
inlinestaticprivateinherited |
Do not persistify!
MsgStream instance (a std::cout like with print-out levels)
Definition at line 215 of file MLogging.h.
◆ init_Ekin_max
| constexpr double TFCSParametrizationBase::init_Ekin_max = 14000000 |
|
staticconstexprprotectedinherited |
◆ init_Ekin_min
| constexpr double TFCSParametrizationBase::init_Ekin_min = 0 |
|
staticconstexprprotectedinherited |
◆ init_Ekin_nominal
| constexpr double TFCSParametrizationBase::init_Ekin_nominal = 0 |
|
staticconstexprprotectedinherited |
◆ init_eta_max
| constexpr double TFCSParametrizationBase::init_eta_max = 100 |
|
staticconstexprprotectedinherited |
◆ init_eta_min
| constexpr double TFCSParametrizationBase::init_eta_min = -100 |
|
staticconstexprprotectedinherited |
◆ init_eta_nominal
| constexpr double TFCSParametrizationBase::init_eta_nominal = 0 |
|
staticconstexprprotectedinherited |
◆ m_calosample
| int TFCSLateralShapeParametrization::m_calosample |
|
privateinherited |
◆ m_coordinates
◆ m_default_hit_energy
| float TFCSBinnedShower::m_default_hit_energy = 4. |
|
private |
◆ m_Ekin_bin
| int TFCSLateralShapeParametrization::m_Ekin_bin |
|
privateinherited |
◆ m_Ekin_max
| double TFCSParametrization::m_Ekin_max |
|
privateinherited |
◆ m_Ekin_min
| double TFCSParametrization::m_Ekin_min |
|
privateinherited |
◆ m_Ekin_nominal
| double TFCSParametrization::m_Ekin_nominal |
|
privateinherited |
◆ m_eta_max
| double TFCSParametrization::m_eta_max |
|
privateinherited |
◆ m_eta_min
| double TFCSParametrization::m_eta_min |
|
privateinherited |
◆ m_eta_nominal
| double TFCSParametrization::m_eta_nominal |
|
privateinherited |
◆ m_eventlibrary
◆ m_geo
◆ m_hdf5_file
| std::string TFCSBinnedShower::m_hdf5_file |
|
private |
◆ m_max_hits_per_voxel
| int TFCSBinnedShower::m_max_hits_per_voxel = 100 |
|
private |
◆ m_n_layers
| const long unsigned int TFCSBinnedShower::m_n_layers |
|
private |
◆ m_nm
| std::string ISF_FCS::MLogging::m_nm |
|
privateinherited |
◆ m_pdgid
| std::set<int> TFCSParametrization::m_pdgid |
|
privateinherited |
◆ m_sub_bin_distribution
| std::vector<std::vector<std::vector<std::vector<float> > > > TFCSBinnedShower::m_sub_bin_distribution |
|
private |
◆ m_upscaling_energies
| std::vector<float> TFCSBinnedShower::m_upscaling_energies |
|
private |
◆ m_use_eta_matching
| bool TFCSBinnedShower::m_use_eta_matching = false |
|
private |
◆ m_use_event_cherry_picking
| bool TFCSBinnedShower::m_use_event_cherry_picking = false |
|
private |
◆ m_use_event_matching
| bool TFCSBinnedShower::m_use_event_matching = false |
|
private |
◆ m_use_upscaling
| bool TFCSBinnedShower::m_use_upscaling = false |
|
private |
The documentation for this class was generated from the following files:
virtual void set_daughter(unsigned int, TFCSParametrizationBase *)
Some derived classes have daughter instances of TFCSParametrizationBase objects The set_daughter meth...
virtual void set_Ekin_nominal(double min)
char data[hepevt_bytes_allocation_ATLAS]
const T getAuxInfo(std::uint32_t index) const
static constexpr double init_Ekin_max
Do not persistify!
bool compare(const TFCSParametrizationBase &ref) const
Do not persistify!
void load_shower_center_information(const std::string &filename)
static constexpr double init_eta_nominal
Do not persistify!
static constexpr double init_Ekin_min
Do not persistify!
#define IsA
Declare the TObject style functions.
std::vector< float > m_upscaling_energies
double Ekin_max() const override
static constexpr double init_eta_min
Do not persistify!
Scalar eta() const
pseudorapidity method
MSG::Level level() const
Retrieve output level.
void load_bin_boundaries(const std::string &filename, long unsigned int layer_index)
This class groups all DetDescr information related to a CaloCell. Provides a generic interface for al...
virtual float get_layer_energy(TFCSSimulationState &simulstate, long unsigned int layer_index) const =0
virtual void set_pdgid_Ekin_eta(const TFCSParametrizationBase &ref)
long unsigned int find_best_match(float eta_center, float phi_center, float e_init, long unsigned int reference_layer_index, bool phi_mod_matching) const
@ kOnlyScaleEnergy
Set this bit in the TObject bit field the simulated energy should only be scaled by the GAN.
void set_layer_energy(long unsigned int event_index, long unsigned int layer_index, const std::vector< unsigned int > &bin_index_vector, const std::vector< float > &E_vector)
void FindDuplicates(FindDuplicateClasses_t &dup)
virtual void set_Ekin_max(double max)
bool OnlyScaleEnergy() const
static constexpr double init_eta_max
Do not persistify!
CUDA_HOSTDEV float & center_eta()
CLHEP::HepRandomEngine * randomEngine()
#define ATH_MSG_VERBOSE(x)
std::string to_string(const SectorProjector proj)
virtual void set_Ekin(const TFCSParametrizationBase &ref)
__HOSTDEV__ double Phi_mpi_pi(double)
virtual void set_eta(const TFCSParametrizationBase &ref)
virtual long unsigned int get_n_hits(TFCSSimulationState &simulstate, long unsigned int layer_index) const =0
IMessageSvc * getMessageSvc(bool quiet=false)
virtual void set_eta_max(double max)
void upscale(TFCSSimulationState &simulstate, float &R_min, float &R_max, float &alpha_min, float &alpha_max, long unsigned int layer_index, int bin_index) const
virtual void set_pdgid(int id)
virtual void set_Ekin_eta(const TFCSParametrizationBase &ref)
void add_E(int sample, double Esample)
void set_calosample(int cs)
MsgStream & msg() const
Return a stream for sending messages directly (no decoration)
virtual void set_Ekin_min(double min)
CUDA_HOSTDEV float & center_z()
void set_Ekin_bin(int bin)
CUDA_HOSTDEV float & center_phi()
std::map< std::string, FindDuplicates_t > FindDuplicateClasses_t
std::string m_nm
Message source name.
virtual void set_geometry(ICaloGeometry *geo)
Method to set the geometry access pointer.
bool hasAuxInfo(std::uint32_t index) const
virtual void compute_n_hits_and_elayer(TFCSSimulationState &simulstate) const
TFCSBinnedShowerBase(const char *name=nullptr, const char *title=nullptr)
double Ekin_min() const override
void Print(Option_t *option="") const
Print object information.
const event_bins_t & get_coordinates()
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
std::map< TFCSParametrizationBase *, Duplicate_t > FindDuplicates_t
void load_layer_energy(const std::string &filename, long unsigned int layer_index)
CUDA_HOSTDEV void reset()
double eta_max() const override
eventvector_t m_eventlibrary
virtual int get_number_of_hits(TFCSSimulationState &simulstate, const TFCSTruthState *truth, const TFCSExtrapolationState *extrapol) const
Call get_number_of_hits() only once per shower simulation, as it could be calculated with random numb...
static float get_phi_cell_size(long unsigned int layer, float eta)
CUDA_HOSTDEV float & phi()
double eta_min() const override
virtual void set_eta_nominal(double min)
void setAuxInfo(std::uint32_t index, const T &val)
void set_E(int sample, double Esample)
double charge(const T &p)
std::tuple< std::vector< float >, std::vector< hsize_t >, bool > load_hdf5_dataset(const std::string &filename, const std::string &datasetname)
static constexpr double init_Ekin_nominal
std::vector< std::vector< std::vector< std::vector< float > > > > m_sub_bin_distribution
bool m_use_event_matching
float m_default_hit_energy
bool empty() const noexcept
#define ATH_MSG_WARNING(x)
const boost::regex ref(r_ef)
def delta_phi(phi1, phi2)
virtual void get_event(TFCSSimulationState &simulstate, float eta_center, float phi_center, float e_init, long unsigned int reference_layer_index) const =0
do not persistify
event_bins_t m_coordinates
bool m_use_event_cherry_picking
virtual void set_eta_min(double min)
virtual std::tuple< float, float, float > get_hit_position_and_energy(TFCSSimulationState &simulstate, long unsigned int layer_index, long unsigned int hit_index) const =0
CUDA_HOSTDEV float & eta()
float phi() const
cell phi
@ kMatchAllPDGID
Set this bit in the TObject bit field if valid for all PDGID.
virtual const CaloDetDescrElement * getDDE(Identifier identify) const =0
float distance(const Amg::Vector3D &p1, const Amg::Vector3D &p2)
calculates the distance between two point in 3D space
virtual unsigned int size() const
Some derived classes have daughter instances of TFCSParametrizationBase objects The size() and operat...
CUDA_HOSTDEV float & center_r()
bool match(std::string s1, std::string s2)
match the individual directories of two strings
bool msgLvl(const MSG::Level lvl) const
Check whether the logging system is active at the provided verbosity level.
long unsigned int get_energy_index(TFCSSimulationState &simulstate, long unsigned int layer_index, long unsigned int hit_index) const
void set_Efrac(int sample, double Efracsample)