 |
ATLAS Offline Software
|
|
| float | standard (float x, const std::vector< float > ¶ms) |
| |
| float | log (float x, const std::vector< float > &) |
| |
| float | logTen (float x, const std::vector< float > &) |
| |
| float | logStandard (float x, const std::vector< float > ¶ms) |
| |
| float | logTenStandard (float x, const std::vector< float > ¶ms) |
| |
| float | maxAbsolute (float x, const std::vector< float > ¶ms) |
| |
| float | minMax (float x, const std::vector< float > ¶ms) |
| |
| float | log_sum_exp (const std::vector< float > &vec) |
| |
| float | log_likelihood (float x, const std::vector< float > &mus, const std::vector< float > &log_sigma2s, const std::vector< float > &alphas) |
| |
| float | modes (const std::vector< float > &mus, const std::vector< float > &log_sigma2s, const std::vector< float > &alphas) |
| |
| float | sigma_stoch (const std::vector< float > &mus, const std::vector< float > &log_sigma2s, const std::vector< float > &alphas) |
| |
◆ TransformFunc
◆ log()
| float CaloClusterMLCalib::log |
( |
float |
x, |
|
|
const std::vector< float > & |
|
|
) |
| |
◆ log_likelihood()
| float CaloClusterMLCalib::log_likelihood |
( |
float |
x, |
|
|
const std::vector< float > & |
mus, |
|
|
const std::vector< float > & |
log_sigma2s, |
|
|
const std::vector< float > & |
alphas |
|
) |
| |
Definition at line 34 of file CaloClusterMLGaussianMixture.h.
37 assert(mus.size() == 3 && log_sigma2s.size() == 3 && alphas.size() == 3);
39 std::vector<float> log_likelihood_components(3);
41 for (
int i = 0;
i < 3; ++
i)
44 float neg_log_gauss =
std::pow(mus[
i] -
x, 2.0) / (2.0 *
std::exp(log_sigma2s[
i])) + 0.5 * log_sigma2s[
i];
◆ log_sum_exp()
| float CaloClusterMLCalib::log_sum_exp |
( |
const std::vector< float > & |
vec | ) |
|
◆ logStandard()
| float CaloClusterMLCalib::logStandard |
( |
float |
x, |
|
|
const std::vector< float > & |
params |
|
) |
| |
◆ logTen()
| float CaloClusterMLCalib::logTen |
( |
float |
x, |
|
|
const std::vector< float > & |
|
|
) |
| |
◆ logTenStandard()
| float CaloClusterMLCalib::logTenStandard |
( |
float |
x, |
|
|
const std::vector< float > & |
params |
|
) |
| |
◆ maxAbsolute()
| float CaloClusterMLCalib::maxAbsolute |
( |
float |
x, |
|
|
const std::vector< float > & |
params |
|
) |
| |
◆ minMax()
| float CaloClusterMLCalib::minMax |
( |
float |
x, |
|
|
const std::vector< float > & |
params |
|
) |
| |
Definition at line 69 of file CaloClusterMLCalibFeatureTransform.h.
72 throw std::invalid_argument(
"MinMaxNorm expects 2 parameters [min_val, max_val]");
74 if (min_val == max_val)
76 return (
x - min_val) / (max_val - min_val);
◆ modes()
| float CaloClusterMLCalib::modes |
( |
const std::vector< float > & |
mus, |
|
|
const std::vector< float > & |
log_sigma2s, |
|
|
const std::vector< float > & |
alphas |
|
) |
| |
Definition at line 55 of file CaloClusterMLGaussianMixture.h.
58 float x_min = 0.9 * (*std::min_element(mus.begin(), mus.end()));
59 float x_max = 1.1 * (*std::max_element(mus.begin(), mus.end()));
62 const int num_points = 1000;
63 std::vector<float> x_test(num_points);
64 float step = (x_max - x_min) / (num_points - 1);
65 for (
int i = 0;
i < num_points; ++
i)
67 x_test[
i] = x_min +
i *
step;
70 float max_log_likelihood = -std::numeric_limits<float>::infinity();
71 float mode = x_test[0];
74 for (
float x : x_test)
77 if (
ll > max_log_likelihood)
79 max_log_likelihood =
ll;
◆ sigma_stoch()
| float CaloClusterMLCalib::sigma_stoch |
( |
const std::vector< float > & |
mus, |
|
|
const std::vector< float > & |
log_sigma2s, |
|
|
const std::vector< float > & |
alphas |
|
) |
| |
Definition at line 87 of file CaloClusterMLGaussianMixture.h.
91 float sigma_stoch2 = 0.0;
92 float sum_alphas_mus = 0.0;
95 for (
size_t i = 0;
i < mus.size(); ++
i)
98 sigma_stoch2 += alphas[
i] *
std::exp(log_sigma2s[
i]);
100 sigma_stoch2 += alphas[
i] *
std::pow(mus[
i], 2);
102 sum_alphas_mus += alphas[
i] * mus[
i];
106 sigma_stoch2 -=
std::pow(sum_alphas_mus, 2);
109 return std::sqrt(sigma_stoch2);
◆ standard()
| float CaloClusterMLCalib::standard |
( |
float |
x, |
|
|
const std::vector< float > & |
params |
|
) |
| |
◆ epsilon
| constexpr float CaloClusterMLCalib::epsilon = 1e-9 |
|
constexpr |
◆ TRANSFORMATIONS
float maxAbsolute(float x, const std::vector< float > ¶ms)
void mean(std::vector< double > &bins, std::vector< double > &values, const std::vector< std::string > &files, const std::string &histname, const std::string &tplotname, const std::string &label="")
float logTen(float x, const std::vector< float > &)
std::vector< size_t > vec
float logStandard(float x, const std::vector< float > ¶ms)
float standard(float x, const std::vector< float > ¶ms)
float log_likelihood(float x, const std::vector< float > &mus, const std::vector< float > &log_sigma2s, const std::vector< float > &alphas)
float logTenStandard(float x, const std::vector< float > ¶ms)
float log(float x, const std::vector< float > &)
float minMax(float x, const std::vector< float > ¶ms)
float log_sum_exp(const std::vector< float > &vec)
constexpr int pow(int base, int exp) noexcept