R3BROOT
R3B analysis software
Loading...
Searching...
No Matches

#include <R3BHuberRegression.h>

Classes

struct  Result

Public Types

using Config = HuberRegressorConfig

Public Member Functions

 HuberRegressor (Config config=Config{}, std::unique_ptr< ROOT::Math::Minimizer > minimizer=std::unique_ptr< ROOT::Math::Minimizer >{ ROOT::Math::Factory::CreateMinimizer("Minuit2") })
auto train_from_data (const std::vector< double > &x_vals, const std::vector< double > &y_vals) -> bool
auto calculate_p_value (const std::vector< double > &y_errs, double scale=1.) -> double
void reset_parameters ()
auto get_config_ref () -> Config &
auto get_result () const -> const Result &
auto check_outlier (double x_val, double y_val) const -> std::pair< bool, double >
auto check_outlier (double x_val, double y_val, const std::pair< double, double > &weight_bias) const -> std::pair< bool, double >

Static Public Attributes

static constexpr auto DEFAULT_SIGMA = 20

Private Member Functions

auto calculate_loss (const double *raw_pars) -> double
void set_par_values (const double *raw_pars_ptr)
void set_par_errors (const double *raw_error_ptr)

Private Attributes

double sigma_ = DEFAULT_SIGMA
Config config_
Result result_
std::span< const double > x_vals_
std::span< const double > y_vals_
std::unique_ptr< ROOT::Math::Minimizer > minimizer_

Static Private Attributes

static constexpr auto n_pars = 2

Detailed Description

Definition at line 36 of file R3BHuberRegression.h.

Member Typedef Documentation

◆ Config

Constructor & Destructor Documentation

◆ HuberRegressor()

R3B::HuberRegressor::HuberRegressor ( Config config = Config{},
std::unique_ptr< ROOT::Math::Minimizer > minimizer = std::unique_ptr<ROOT::Math::Minimizer>{ ROOT::Math::Factory::CreateMinimizer("Minuit2") } )
explicit

Definition at line 16 of file R3BHuberRegression.cxx.

Member Function Documentation

◆ calculate_loss()

auto R3B::HuberRegressor::calculate_loss ( const double * raw_pars) -> double
private

Definition at line 102 of file R3BHuberRegression.cxx.

◆ calculate_p_value()

auto R3B::HuberRegressor::calculate_p_value ( const std::vector< double > & y_errs,
double scale = 1. ) -> double

Definition at line 70 of file R3BHuberRegression.cxx.

◆ check_outlier() [1/2]

auto R3B::HuberRegressor::check_outlier ( double x_val,
double y_val ) const -> std::pair< bool, double >
nodiscard

Definition at line 97 of file R3BHuberRegression.cxx.

◆ check_outlier() [2/2]

auto R3B::HuberRegressor::check_outlier ( double x_val,
double y_val,
const std::pair< double, double > & weight_bias ) const -> std::pair< bool, double >
nodiscard

Definition at line 90 of file R3BHuberRegression.cxx.

◆ get_config_ref()

auto R3B::HuberRegressor::get_config_ref ( ) -> Config &
inline

Definition at line 59 of file R3BHuberRegression.h.

◆ get_result()

auto R3B::HuberRegressor::get_result ( ) const -> const Result &
inlinenodiscard

Definition at line 60 of file R3BHuberRegression.h.

◆ reset_parameters()

void R3B::HuberRegressor::reset_parameters ( )

Definition at line 64 of file R3BHuberRegression.cxx.

◆ set_par_errors()

void R3B::HuberRegressor::set_par_errors ( const double * raw_error_ptr)
private

Definition at line 57 of file R3BHuberRegression.cxx.

◆ set_par_values()

void R3B::HuberRegressor::set_par_values ( const double * raw_pars_ptr)
private

Definition at line 50 of file R3BHuberRegression.cxx.

◆ train_from_data()

auto R3B::HuberRegressor::train_from_data ( const std::vector< double > & x_vals,
const std::vector< double > & y_vals ) -> bool

Definition at line 25 of file R3BHuberRegression.cxx.

Member Data Documentation

◆ config_

Config R3B::HuberRegressor::config_
private

Definition at line 68 of file R3BHuberRegression.h.

◆ DEFAULT_SIGMA

auto R3B::HuberRegressor::DEFAULT_SIGMA = 20
staticconstexpr

Definition at line 48 of file R3BHuberRegression.h.

◆ minimizer_

std::unique_ptr<ROOT::Math::Minimizer> R3B::HuberRegressor::minimizer_
private

Definition at line 72 of file R3BHuberRegression.h.

◆ n_pars

auto R3B::HuberRegressor::n_pars = 2
staticconstexprprivate

Definition at line 66 of file R3BHuberRegression.h.

◆ result_

Result R3B::HuberRegressor::result_
private

Definition at line 69 of file R3BHuberRegression.h.

◆ sigma_

double R3B::HuberRegressor::sigma_ = DEFAULT_SIGMA
private

Definition at line 67 of file R3BHuberRegression.h.

◆ x_vals_

std::span<const double> R3B::HuberRegressor::x_vals_
private

Definition at line 70 of file R3BHuberRegression.h.

◆ y_vals_

std::span<const double> R3B::HuberRegressor::y_vals_
private

Definition at line 71 of file R3BHuberRegression.h.


The documentation for this class was generated from the following files: