#include <ConstantInfoDefinitions.h>
Definition at line 461 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 541 of file ConstantInfoDefinitions.h.
546 if (!props.is_valid())
555 if (props.is_electronic_noise())
563 switch (props.version())
566 return sqrtf(first_factor * first_factor + second_factor * second_factor * this->
luminosity);
568 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 481 of file ConstantInfoDefinitions.h.
492 if ((sigma_1 == 0.
f && sigma_2 == 0.
f) ||
energy == 0.
f)
496 else if (sigma_1 == 0.
f)
500 else if (
ratio == 0.
f || sigma_2 == 0.
f)
505 const float x_1 =
energy / sigma_1;
506 const float x_2 =
energy / sigma_2;
507 const float x_1_abs = fabsf(x_1);
508 const float x_2_abs = fabsf(x_2);
510 const float min_abs =
min(x_1_abs, x_2_abs);
512 const float max_abs =
max(x_1_abs, x_2_abs);
523 const float y_1 = erff(Helpers::Constants::inv_sqrt2<float> * x_1);
524 const float y_2 = erff(Helpers::Constants::inv_sqrt2<float> * x_2);
527 const float z = (y_1 * sigma_1 +
ratio * y_2 * sigma_2) / (sigma_1 +
ratio * sigma_2);
529 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: