#include <ConstantInfoDefinitions.h>
Definition at line 452 of file ConstantInfoDefinitions.h.
◆ get_double_gaussian_noise()
Calculates the double gaussian noise for a Tile cell.
Does not check explicitly for a cell being from Tile.
Definition at line 532 of file ConstantInfoDefinitions.h.
537 if (!props.is_valid())
546 if (props.is_electronic_noise())
554 switch (props.version())
557 return sqrtf(first_factor * first_factor + second_factor * second_factor * this->
luminosity);
559 return first_factor + second_factor * this->
luminosity;
◆ get_double_gaussian_significance()
CUDA_HOS_DEV float CaloRecGPU::CellNoiseArr::get_double_gaussian_significance |
( |
const int |
cell, |
|
|
const int |
gain, |
|
|
const float |
energy |
|
) |
| const |
|
inlineprotected |
Definition at line 472 of file ConstantInfoDefinitions.h.
483 if ((sigma_1 == 0.
f && sigma_2 == 0.
f) ||
energy == 0.
f)
487 else if (sigma_1 == 0.
f)
491 else if (
ratio == 0.
f || sigma_2 == 0.
f)
496 const float x_1 =
energy / sigma_1;
497 const float x_2 =
energy / sigma_2;
498 const float x_1_abs = fabsf(x_1);
499 const float x_2_abs = fabsf(x_2);
501 const float min_abs =
min(x_1_abs, x_2_abs);
503 const float max_abs =
max(x_1_abs, x_2_abs);
514 const float y_1 = erff(Helpers::Constants::inv_sqrt2<float> * x_1);
515 const float y_2 = erff(Helpers::Constants::inv_sqrt2<float> * x_2);
518 const float z = (y_1 * sigma_1 +
ratio * y_2 * sigma_2) / (sigma_1 +
ratio * sigma_2);
520 const float ret = Helpers::Constants::sqrt2<float> * Helpers::erf_inv_wrapper(
z);
◆ get_noise()
constexpr float CaloRecGPU::CellNoiseArr::get_noise |
( |
const int |
cell, |
|
|
const int |
gain |
|
) |
| const |
|
inlineconstexpr |
◆ double_gaussian_constants
◆ luminosity
float CaloRecGPU::CellNoiseArr::luminosity |
◆ noise
◆ noise_properties
◆ s_numDoubleGaussianConstants
constexpr int CaloRecGPU::CellNoiseArr::s_numDoubleGaussianConstants = 4 |
|
staticconstexpr |
The documentation for this struct was generated from the following file: