1#ifndef ROGLY_FITTING_FUNCTION_H
2#define ROGLY_FITTING_FUNCTION_H
4#include "ipde_fit_parameter.h"
26 template<
unsigned int PolyDegree>
51 for (
auto param : params) {
68 return PolyDegree + 2;
71 double k_cb(
double cb)
const
114 f.SetParName(0,
"#theta");
115 f.SetParName(1,
"k_{max}");
116 for (
int j = 1; j <= PolyDegree; ++j)
f.SetParName(j + 1,
Form(
"a_{%d}", j));
123 f.SetParameter(0,
theta_p.value = 0.5);
124 f.SetParLimits(0, 0.1, 5);
129 for (
int j = 1; j <= PolyDegree; ++j) {
131 f.SetParLimits(j + 1, -5, 5);
136 std::cout <<
"Theta = ";
139 std::cout <<
"kmax = ";
141 std::cout <<
"(Xmax = " <<
theta_p.value*
kmax.value <<
")";
143 for (
int j = 1; j <= PolyDegree; ++j) {
144 std::cout <<
"a" << j <<
" = ";
#define ClassDef(name, id)
winID h TVirtualViewer3D TVirtualGLPainter p
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void value
R__EXTERN TRandom * gRandom
char * Form(const char *fmt,...)
Exponential function relating mean value of observable to centrality.
void set_initial_parameters(TH1 *h, TF1 &f)
double k_cb(double cb) const
double meanX(double cb) const
void normalise_shape_function()
ipde_fit_parameter theta_p
fluctuation parameter
rogly_fitting_function(const rogly_fitting_function &prev_fit)
ipde_fit_parameter kmax
maximum of mean value for
void set_par_names(TF1 &f) const
void print_fit_params() const
rogly_fitting_function(std::initializer_list< double > params)
std::vector< ipde_fit_parameter > poly_param
polynomial coefficients
void fill_array_from_params(double *p) const
constexpr int npar() const
void fill_params_from_array(double *p)
double redVar(double) const
virtual Double_t GetBinUpEdge(Int_t bin) const
virtual Int_t GetNbinsX() const
virtual Double_t Uniform(Double_t x1, Double_t x2)
RVec< PromoteTypes< T0, T1 > > pow(const RVec< T0 > &v, const T1 &y)