8#include "GaudiKernel/MsgStream.h"
23 const unsigned int order) {
29 std::vector<double> res_param(order + 3);
32 std::vector<SamplePoint> my_points(sample_points);
37 const auto [tLow ,tHigh] =
interval(sample_points);
40 double mean(0.5 * (res_param[1] + res_param[0]));
41 double length(res_param[1] - res_param[0]);
42 for (
unsigned int k = 0; k < my_points.size(); k++) { my_points[k].set_x1(2 * (sample_points[k].x1() -
mean) /
length); }
47 fitter.fit_parameters(my_points, 1, sample_points.size(), chebyshev);
48 for (
unsigned int k = 0; k < order + 1; k++) { res_param[k + 2] = fitter.coefficients()[k]; }
66 unsigned int nb_points(100);
67 double bin_width((
res.tUpper() -
res.tLower()) /
static_cast<double>(nb_points));
68 std::vector<double> res_param(nb_points + 2);
73 res_param[0] =
res.tLower();
74 res_param[1] = bin_width;
75 for (
unsigned int k = 0; k < nb_points; k++) { res_param[k + 2] =
res.resolution(
res.tLower() + k * bin_width); }
78 return rt_res_relation_look_up;
std::pair< std::vector< unsigned int >, bool > res
This class performs a fit of a linear combination of base functions to a set of sample points.
This class class provides a Chebyshev polynomial of order k.
This class contains the implementation of a spatial resolution parametrized by a linear combination ...
static RtResolutionLookUp getRtResolutionLookUp(const std::vector< SamplePoint > &sample_points)
static RtResolutionChebyshev getRtResolutionChebyshev(const std::vector< SamplePoint > &sample_points, const unsigned int order)
< get an RtResolutionChebyshev resembling the sigma(t) function as described by the sample points in ...
Equidistant look up table for resolution tables with the time as key.
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="")
singleton-like access to IMessageSvc via open function and helper
IMessageSvc * getMessageSvc(bool quiet=false)
CscCalcPed - algorithm that finds the Cathode Strip Chamber pedestals from an RDO.
std::pair< double, double > interval(const std::vector< SamplePoint > &points)
Returns the interval covered by the sample points.