22 void ProcessHistLink(
const TString &type,
const std::vector<TH1 *> &input, TH1 *res);
23 void ProcessHistLink(std::function<
double(
const std::vector<double> &)>, std::function<
double(
const std::vector<double> &,
const std::vector<double> &)>,
const std::vector<TH1 *> &input, TH1 *res);
24 void ProcessHistLink(std::function<
void(
const std::vector<TH1 *> &, TH1 *)>,
const std::vector<TH1 *> &input, TH1 *res);
26 void Delta(TH1 *A, TH1 *B, TH1 *D,
bool dosep =
false);
27 void Ratio(TH1 *A, TH1 *B, TH1 *R,
bool dosep =
false);
28 void Chi2(TH1 *A, TH1 *B, TH1 *C);
29 void Pull(TH1 *A, TH1 *B, TH1 *P);
30 double Chi2(TH1D *A, TH1D *B, TH2D *CorrA =
nullptr, TH2D *CorrB =
nullptr);
37 void ConvertVectorToTH1D(TH1D *h1,
const std::vector<double> &v1,
const std::vector<double> &v1err = std::vector<double>());
38 void ConvertVectorToTH2D(TH2D *h2,
const std::vector<std::vector<double>> &v2,
const std::vector<std::vector<double>> &v2err = std::vector<std::vector<double>>());
39 void ConvertVectorToTH3D(TH3D *h3,
const std::vector<std::vector<std::vector<double>>> &v3,
const std::vector<std::vector<std::vector<double>>> &v3err = std::vector<std::vector<std::vector<double>>>());
42 std::vector<std::vector<double>>
ConvertTH2DToVector(TH2D *h2d,
const TString &priority =
"XY");
44 std::vector<std::vector<std::vector<double>>>
ConvertTH3DToVector(TH3D *h3d,
const TString &priority =
"XYZ");
50 void ConvertTH3DToVectorTH1D(TH3D *h3d,
const std::vector<std::vector<TH1D *>> &vh1d,
const TString &priority =
"XYZ");
72 std::vector<T> returnv1d;
74 for (
auto &content : v1d)
75 returnv1d.emplace_back(content);
87 std::vector<T> returnv1d;
89 for (
auto &content : v1d)
90 returnv1d.emplace_back(content);
Provide static functions for calculating uncertainties.