 |
ATLAS Offline Software
|
#include <TFCSBinnedShowerONNX.h>
|
| | TFCSBinnedShowerONNX (const char *name=nullptr, const char *title=nullptr) |
| |
| virtual | ~TFCSBinnedShowerONNX () |
| |
| virtual bool | is_match_Ekin_bin (int) const override |
| |
| 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_simulator (std::string &filename) |
| |
| void | load_meta_data (const std::string &filename, std::vector< long unsigned int > &layers) |
| |
| void | load_sub_bin_distribution (const std::string &filename) |
| |
| void | set_bin_boundaries (long unsigned int layer_index, const std::vector< float > &R_lower, const std::vector< float > &R_size, const std::vector< float > &alpha_lower, const std::vector< float > &alpha_size) |
| |
| const event_bins_t & | get_coordinates () |
| |
| void | set_coordinates (const 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 (const std::vector< std::vector< std::vector< std::vector< float >>>> &sub_bin_distribution, const 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 |
| |
|
| 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_bin_boundaries (const std::string &filename, long unsigned int layer_index) |
| |
| void | load_upscaling_distribution (const std::string &filename, long unsigned int layer_index) |
| |
Definition at line 25 of file TFCSBinnedShowerONNX.h.
◆ event_bins_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.
◆ TFCSBinnedShowerONNX()
| TFCSBinnedShowerONNX::TFCSBinnedShowerONNX |
( |
const char * |
name = nullptr, |
|
|
const char * |
title = nullptr |
|
) |
| |
◆ ~TFCSBinnedShowerONNX()
| TFCSBinnedShowerONNX::~TFCSBinnedShowerONNX |
( |
| ) |
|
|
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 208 of file TFCSBinnedShowerONNX.cxx.
213 simulstate.
getAuxInfo<
void *>(
"BSEventData"_FCShash));
214 float e_init = simulstate.
getAuxInfo<
float>(
"BSEinit"_FCShash);
217 long unsigned int n_layers =
event->event_data.size();
218 std::vector<std::vector<long unsigned int>> hits_per_layer;
219 std::vector<float> elayer;
220 hits_per_layer.resize(n_layers);
221 elayer.resize(n_layers, 0.0
f);
223 for (
long unsigned int layer_index = 0; layer_index < n_layers;
229 long unsigned int n_hits = 0;
230 for (
float e_voxel :
layer.E_vector) {
231 long unsigned int hits_per_bin;
236 elayer.at(layer_index) += e_voxel * e_init;
241 n_hits += hits_per_bin;
242 hits_per_layer.at(layer_index).push_back(n_hits);
246 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
247 new std::vector<std::vector<long unsigned int>>(hits_per_layer);
248 simulstate.
setAuxInfo<
void *>(
"BSNHits"_FCShash, hits_per_layer_ptr);
251 std::vector<float> *elayer_ptr =
new std::vector<float>(elayer);
252 simulstate.
setAuxInfo<
void *>(
"BSELayer"_FCShash, elayer_ptr);
◆ delete_event()
Implements TFCSBinnedShowerBase.
Definition at line 498 of file TFCSBinnedShowerONNX.cxx.
500 void *event_ptr = simulstate.
getAuxInfo<
void *>(
"BSEventData"_FCShash);
503 simulstate.
setAuxInfo<
void *>(
"BSEventData"_FCShash,
nullptr);
508 void *n_hits_ptr = simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash);
510 delete static_cast<std::vector<std::vector<long unsigned int>
> *>(
512 simulstate.
setAuxInfo<
void *>(
"BSNHits"_FCShash,
nullptr);
517 void *elayer_ptr = simulstate.
getAuxInfo<
void *>(
"BSELayer"_FCShash);
519 delete static_cast<std::vector<float> *
>(elayer_ptr);
520 simulstate.
setAuxInfo<
void *>(
"BSELayer"_FCShash,
nullptr);
522 ATH_MSG_ERROR(
"No event layer energy data found to delete.");
◆ disable_upscaling()
| void TFCSBinnedShowerONNX::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_upscaling()
| void TFCSBinnedShowerONNX::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 |
◆ 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 > TFCSBinnedShowerONNX::get_coordinates |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index, |
|
|
int |
bin_index |
|
) |
| const |
|
private |
Definition at line 325 of file TFCSBinnedShowerONNX.cxx.
328 float R_min =
m_coordinates.at(layer_index).R_lower.at(bin_index);
329 float R_max =
m_coordinates.at(layer_index).R_size.at(bin_index) +
332 float alpha_min =
m_coordinates.at(layer_index).alpha_lower.at(bin_index);
333 float alpha_max =
m_coordinates.at(layer_index).alpha_size.at(bin_index) +
337 upscale(simulstate, R_min, R_max, alpha_min, alpha_max, layer_index,
341 float R = CLHEP::RandFlat::shoot(simulstate.
randomEngine(), R_min, R_max);
343 CLHEP::RandFlat::shoot(simulstate.
randomEngine(), alpha_min, alpha_max);
345 return std::make_tuple(
R,
alpha);
◆ get_default_hit_energy()
| float TFCSBinnedShowerONNX::get_default_hit_energy |
( |
| ) |
const |
|
inline |
◆ get_E_hit()
◆ get_energy_index()
| long unsigned int TFCSBinnedShowerONNX::get_energy_index |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index, |
|
|
long unsigned int |
hit_index |
|
) |
| const |
|
private |
Definition at line 288 of file TFCSBinnedShowerONNX.cxx.
291 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
292 static_cast<std::vector<std::vector<long unsigned int>
> *>(
293 simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash));
294 if (!hits_per_layer_ptr) {
299 if (layer_index >= hits_per_layer_ptr->size()) {
300 ATH_MSG_ERROR(
"Layer index out of bounds: " << layer_index <<
" >= "
301 << hits_per_layer_ptr->size());
306 const std::vector<long unsigned int> &
hits =
307 hits_per_layer_ptr->at(layer_index);
308 auto it = std::upper_bound(
hits.begin(),
hits.end(), hit_index);
311 if (energy_index >=
hits.size()) {
313 <<
" >= " <<
hits.size());
316 for (
const auto &hit :
hits) {
◆ get_event()
| void TFCSBinnedShowerONNX::get_event |
( |
TFCSSimulationState & |
simulstate, |
|
|
float |
eta_center, |
|
|
float |
phi_center, |
|
|
float |
e_init, |
|
|
long unsigned int |
reference_layer_index |
|
) |
| const |
|
overrideprotectedvirtual |
◆ get_geometry()
◆ get_hit_position_and_energy()
| std::tuple< float, float, float > TFCSBinnedShowerONNX::get_hit_position_and_energy |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index, |
|
|
long unsigned int |
hit_index |
|
) |
| const |
|
overrideprotectedvirtual |
Implements TFCSBinnedShowerBase.
Definition at line 455 of file TFCSBinnedShowerONNX.cxx.
461 simulstate.
getAuxInfo<
void *>(
"BSEventData"_FCShash));
463 float e_init = simulstate.
getAuxInfo<
float>(
"BSEinit"_FCShash);
465 if (layer_index >=
event->event_data.size()) {
466 ATH_MSG_ERROR(
"Layer index out of bounds: " << layer_index <<
" >= "
467 <<
event->event_data.size());
468 return std::make_tuple(0.0
f, 0.0
f, 0.0
f);
472 simulstate, layer_index, hit_index);
474 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
475 static_cast<std::vector<std::vector<long unsigned int>
> *>(
476 simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash));
478 long unsigned int hits_per_bin;
479 if (energy_index == 0) {
480 hits_per_bin = hits_per_layer_ptr->at(layer_index).at(energy_index);
482 hits_per_bin = hits_per_layer_ptr->at(layer_index).at(energy_index) -
483 hits_per_layer_ptr->at(layer_index).at(energy_index - 1);
491 layer.bin_index_vector.at(energy_index));
493 float E =
layer.E_vector.at(energy_index) * e_init / hits_per_bin;
495 return std::make_tuple(
r,
alpha,
E);
◆ get_layer_energy()
| float TFCSBinnedShowerONNX::get_layer_energy |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index |
|
) |
| const |
|
overrideprotectedvirtual |
Implements TFCSBinnedShowerBase.
Definition at line 270 of file TFCSBinnedShowerONNX.cxx.
272 std::vector<float> *elayer_ptr =
static_cast<std::vector<float> *
>(
273 simulstate.
getAuxInfo<
void *>(
"BSELayer"_FCShash));
278 if (layer_index >= elayer_ptr->size()) {
283 <<
": " << elayer_ptr->at(layer_index));
285 return elayer_ptr->at(layer_index);
◆ get_max_hits_per_voxel()
| int TFCSBinnedShowerONNX::get_max_hits_per_voxel |
( |
| ) |
const |
|
inline |
◆ get_n_hits()
| long unsigned int TFCSBinnedShowerONNX::get_n_hits |
( |
TFCSSimulationState & |
simulstate, |
|
|
long unsigned int |
layer_index |
|
) |
| const |
|
overrideprotectedvirtual |
Implements TFCSBinnedShowerBase.
Definition at line 255 of file TFCSBinnedShowerONNX.cxx.
258 std::vector<std::vector<long unsigned int>> *hits_per_layer_ptr =
259 static_cast<std::vector<std::vector<long unsigned int>
> *>(
260 simulstate.
getAuxInfo<
void *>(
"BSNHits"_FCShash));
262 if (!hits_per_layer_ptr) {
267 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> > > >& TFCSBinnedShowerONNX::get_sub_bin_distribution |
( |
| ) |
const |
|
inline |
◆ get_upscaling_energies()
| const std::vector<float>& TFCSBinnedShowerONNX::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 TFCSBinnedShowerONNX::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 TFCSBinnedShowerONNX::load_bin_boundaries |
( |
const std::string & |
filename, |
|
|
long unsigned int |
layer_index |
|
) |
| |
|
private |
Definition at line 136 of file TFCSBinnedShowerONNX.cxx.
144 std::vector<std::string> datasetnames = {
145 "binstart_radius_layer_",
"binsize_radius_layer_",
146 "binstart_alpha_layer_",
"binsize_alpha_layer_"};
148 for (
long unsigned int i = 0;
i < datasetnames.size();
i++) {
149 std::string datasetname = datasetnames.at(
i) +
std::to_string(layer_index);
150 std::vector<float>
data;
151 std::vector<hsize_t> dims;
155 ATH_MSG_ERROR(
"Error while extracting the bin boundaries for layer "
156 << layer_index <<
" from " <<
filename <<
"."
157 <<
"Specifically, the key " << datasetname
158 <<
" could not be loaded.");
166 event_bins.R_lower =
data;
169 event_bins.R_size =
data;
172 event_bins.alpha_lower =
data;
175 event_bins.alpha_size =
data;
◆ load_hdf5_dataset()
| std::tuple< std::vector< float >, std::vector< hsize_t >, bool > TFCSBinnedShowerONNX::load_hdf5_dataset |
( |
const std::string & |
filename, |
|
|
const std::string & |
datasetname |
|
) |
| |
|
private |
Definition at line 102 of file TFCSBinnedShowerONNX.cxx.
109 if (!
file.exists(datasetname)) {
110 return std::make_tuple(std::vector<float>{}, std::vector<hsize_t>{},
false);
113 H5::DataSet
dataset =
file.openDataSet(datasetname);
116 H5::DataSpace dataspace =
dataset.getSpace();
119 int rank = dataspace.getSimpleExtentNdims();
120 std::vector<hsize_t> dims_out(rank);
121 dataspace.getSimpleExtentDims(dims_out.data(), NULL);
125 for (
const auto &
dim : dims_out) {
131 dataset.read(
data.data(), H5::PredType::NATIVE_FLOAT);
133 return std::make_tuple(
data, dims_out,
true);
◆ load_meta_data()
| void TFCSBinnedShowerONNX::load_meta_data |
( |
const std::string & |
filename, |
|
|
std::vector< long unsigned int > & |
layers |
|
) |
| |
◆ load_simulator()
| void TFCSBinnedShowerONNX::load_simulator |
( |
std::string & |
filename | ) |
|
|
inline |
◆ load_sub_bin_distribution()
| void TFCSBinnedShowerONNX::load_sub_bin_distribution |
( |
const std::string & |
filename | ) |
|
Definition at line 528 of file TFCSBinnedShowerONNX.cxx.
533 std::cerr <<
"Failed to open file: " <<
filename << std::endl;
538 std::map<float, std::map<int, std::vector<std::vector<float>>>> temp_storage;
543 while ((
key = (TKey *)
next())) {
544 std::string keyname =
key->GetName();
550 TMatrixD *
matrix =
dynamic_cast<TMatrixD *
>(
file->Get(keyname.c_str()));
552 std::vector<std::vector<float>> mat_vec(
553 matrix->GetNrows(), std::vector<float>(
matrix->GetNcols()));
554 for (
int i = 0;
i <
matrix->GetNrows(); ++
i) {
555 for (
int j = 0; j <
matrix->GetNcols(); ++j) {
556 mat_vec[
i][j] =
static_cast<float>((*matrix)(
i, j));
568 std::vector<float> energies;
569 std::vector<std::vector<std::vector<std::vector<float>>>>
572 for (
const auto &[
energy, layer_map] : temp_storage) {
573 energies.push_back(
energy);
575 for (
const auto &[
l,
_] : layer_map)
578 std::vector<std::vector<std::vector<float>>> layer_vec(max_layer + 1);
582 data.push_back(std::move(layer_vec));
586 for (
size_t i = 0;
i < energies.size(); ++
i) {
587 std::cout <<
"Energy index " <<
i <<
": " << energies[
i] <<
" GeV\n";
588 for (
size_t j = 0; j <
data[
i].size(); ++j) {
590 std::cout <<
" Layer " << j <<
" Shape: (" <<
data[
i][j].size() <<
", "
591 <<
data[
i][j][0].size() <<
")\n";
◆ load_upscaling_distribution()
| void TFCSBinnedShowerONNX::load_upscaling_distribution |
( |
const std::string & |
filename, |
|
|
long unsigned int |
layer_index |
|
) |
| |
|
private |
◆ 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 TFCSBinnedShowerONNX::set_bin_boundaries |
( |
long unsigned int |
layer_index, |
|
|
const std::vector< float > & |
R_lower, |
|
|
const std::vector< float > & |
R_size, |
|
|
const std::vector< float > & |
alpha_lower, |
|
|
const std::vector< float > & |
alpha_size |
|
) |
| |
◆ set_calosample()
| void TFCSLateralShapeParametrization::set_calosample |
( |
int |
cs | ) |
|
|
inherited |
◆ set_coordinates()
◆ set_daughter()
◆ set_default_hit_energy()
| void TFCSBinnedShowerONNX::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_geometry()
| virtual void TFCSBinnedShowerBase::set_geometry |
( |
ICaloGeometry * |
geo | ) |
|
|
inlineoverridevirtualinherited |
◆ set_match_all_pdgid()
| virtual void TFCSParametrizationBase::set_match_all_pdgid |
( |
| ) |
|
|
inlinevirtualinherited |
◆ set_max_hits_per_voxel()
| void TFCSBinnedShowerONNX::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_sub_bin_distribution_and_energies()
| void TFCSBinnedShowerONNX::set_sub_bin_distribution_and_energies |
( |
const std::vector< std::vector< std::vector< std::vector< float >>>> & |
sub_bin_distribution, |
|
|
const 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 TFCSBinnedShowerONNX::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 348 of file TFCSBinnedShowerONNX.cxx.
354 float p = CLHEP::RandFlat::shoot(simulstate.
randomEngine(), 0, 1);
356 float e_init = simulstate.
getAuxInfo<
float>(
"BSEinit"_FCShash);
359 unsigned int e_index = 0;
361 std::vector<float> probabilities = {0.25f, 0.5f, 0.75f};
363 if (available_energies.size() > 1) {
365 auto it = std::upper_bound(available_energies.begin(),
366 available_energies.end(), e_init);
367 if (
it != available_energies.end()) {
370 e_index = available_energies.size() - 1;
373 float e_high = available_energies.at(e_index);
374 if (e_high < e_init || e_index == 0) {
382 float e_low = available_energies.at(e_index - 1);
384 float f_high = 1 - f_low;
385 for (
unsigned int i = 0;
i < 3; ++
i) {
394 probabilities[
i] = f_low * p_low + f_high * p_high;
400 else if (available_energies.size() == 1) {
404 float p_alpha_low = probabilities[2] - probabilities[1] + probabilities[0];
407 if (
p < p_alpha_low) {
408 alpha_max = (alpha_min + alpha_max) / 2.;
409 p_r = probabilities[0] / (p_alpha_low);
411 alpha_min = (alpha_min + alpha_max) / 2.;
412 p_r = (probabilities[1] - probabilities[0]) / (1 - p_alpha_low);
416 if (layer_index != 2){
419 R_min = (R_min + R_max) / 2.;
422 R_max = (R_min + R_max) / 2.;
432 }
else if (p_r > 0.75) {
439 float r = (1. - 4. * p_r) / (2. - 4. * p_r) -
440 TMath::Sqrt(((1. - 4. * p_r) / (2. - 4. * p_r)) *
441 ((1. - 4. * p_r) / (2. - 4. * p_r)) +
442 p / ((1. / 2.) - p_r));
444 r = (1. - 4. * p_r) / (2. - 4. * p_r) +
445 TMath::Sqrt(((1. - 4. * p_r) / (2. - 4. * p_r)) *
446 ((1. - 4. * p_r) / (2. - 4. * p_r)) +
447 p / ((1. / 2.) - p_r));
450 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_ai_simulator
◆ m_calosample
| int TFCSLateralShapeParametrization::m_calosample |
|
privateinherited |
◆ m_coordinates
◆ m_default_hit_energy
| float TFCSBinnedShowerONNX::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_geo
◆ m_max_hits_per_voxel
| int TFCSBinnedShowerONNX::m_max_hits_per_voxel = 100 |
|
private |
◆ m_n_layers
| const long unsigned int TFCSBinnedShowerONNX::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> > > > TFCSBinnedShowerONNX::m_sub_bin_distribution |
|
private |
◆ m_upscaling_energies
| std::vector<float> TFCSBinnedShowerONNX::m_upscaling_energies |
|
private |
◆ m_use_upscaling
| bool TFCSBinnedShowerONNX::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!
static constexpr double init_eta_nominal
Do not persistify!
TFCSMLCalorimeterSimulator * m_ai_simulator
std::vector< float > m_upscaling_energies
static constexpr double init_Ekin_min
Do not persistify!
#define IsA
Declare the TObject style functions.
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)
virtual float get_layer_energy(TFCSSimulationState &simulstate, long unsigned int layer_index) const =0
virtual void set_pdgid_Ekin_eta(const TFCSParametrizationBase &ref)
@ kOnlyScaleEnergy
Set this bit in the TObject bit field the simulated energy should only be scaled by the GAN.
void FindDuplicates(FindDuplicateClasses_t &dup)
virtual void set_Ekin_max(double max)
bool OnlyScaleEnergy() const
event_t getEvent(TFCSSimulationState &simulstate, float eta, float energy) const
const event_bins_t & get_coordinates()
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
bool loadSimulator(std::string &filename)
IMessageSvc * getMessageSvc(bool quiet=false)
virtual void set_eta_max(double max)
float m_default_hit_energy
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)
std::tuple< std::vector< float >, std::vector< hsize_t >, bool > load_hdf5_dataset(const std::string &filename, const std::string &datasetname)
MsgStream & msg() const
Return a stream for sending messages directly (no decoration)
virtual void set_Ekin_min(double min)
std::vector< std::vector< std::vector< std::vector< float > > > > m_sub_bin_distribution
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.
TFCSBinnedShowerBase(const char *name=nullptr, const char *title=nullptr)
double Ekin_min() const override
void Print(Option_t *option="") const
Print object information.
double R(const INavigable4Momentum *p1, const double v_eta, const double v_phi)
std::map< TFCSParametrizationBase *, Duplicate_t > FindDuplicates_t
CUDA_HOSTDEV void reset()
double eta_max() const override
virtual void compute_n_hits_and_elayer(TFCSSimulationState &simulstate) const
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...
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)
static constexpr double init_Ekin_nominal
long unsigned int get_energy_index(TFCSSimulationState &simulstate, long unsigned int layer_index, long unsigned int hit_index) const
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
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_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()
@ kMatchAllPDGID
Set this bit in the TObject bit field if valid for all PDGID.
event_bins_t m_coordinates
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.
void set_Efrac(int sample, double Efracsample)