8 #include "GaudiKernel/MsgStream.h"
21 for (
unsigned int k = 0;
k < sample_points.size();
k++) {
23 x_min = sample_points[
k].x1();
26 if (x_min > sample_points[
k].
x1()) { x_min = sample_points[
k].x1(); }
27 if (x_max < sample_points[
k].
x1()) { x_max = sample_points[
k].x1(); }
39 const unsigned int &
order) {
45 std::vector<double> res_param(
order + 3);
48 std::vector<SamplePoint> my_points(sample_points);
53 get_min_max(sample_points, res_param[0], res_param[1]);
55 double mean(0.5 * (res_param[1] + res_param[0]));
56 double length(res_param[1] - res_param[0]);
57 for (
unsigned int k = 0;
k < my_points.size();
k++) { my_points[
k].set_x1(2 * (sample_points[
k].
x1() -
mean) /
length); }
62 fitter.fit_parameters(my_points, 1, sample_points.size(), chebyshev);
63 for (
unsigned int k = 0;
k <
order + 1;
k++) { res_param[
k + 2] =
fitter.coefficients()[
k]; }
70 return rt_res_chebyshev;
83 unsigned int nb_points(100);
84 double bin_width((
res.tUpper() -
res.tLower()) /
static_cast<double>(nb_points));
85 std::vector<double> res_param(nb_points + 2);
90 res_param[0] =
res.tLower();
92 for (
unsigned int k = 0;
k < nb_points;
k++) { res_param[
k + 2] =
res.resolution(
res.tLower() +
k *
bin_width); }
95 return rt_res_relation_look_up;