1 #ifndef _FdLightCollectionEfficiency_Bootstrapper_h_
2 #define _FdLightCollectionEfficiency_Bootstrapper_h_
12 #include <utl/TabulatedFunctionErrors.h>
17 namespace FdLightCollectionEfficiencyKG {
32 Bootstrapper(
const std::list<utl::TabulatedFunctionErrors>&
data,
const int verbosity = 0);
51 const std::vector<double>& uncertainties,
54 double Mean(
const std::vector<double>& samples);
55 double WeightedMean(
const std::vector<double>& samples,
const std::vector<double>& uncertainties);
56 double Median(
const std::vector<double>& sortedSamples);
58 double SampleVariance(
const std::vector<double>& samples,
const double mean);
59 double WeightedSampleVariance(
const std::vector<double>& samples,
const std::vector<double>& uncertainties,
const double mean);
63 const std::list<utl::TabulatedFunctionErrors>&
fData;
double WeightedSampleVariance(const std::vector< double > &samples, const std::vector< double > &uncertainties, const double mean)
const utl::TabulatedFunctionErrors & GetMean()
Estimate the uncertainty of the light-collection efficiency with the bootstrap method.
void SetVerbosity(const int verbosity)
utl::TabulatedFunctionErrors fMean
double WeightedMean(const std::vector< double > &samples, const std::vector< double > &uncertainties)
Bootstrapper(const std::list< utl::TabulatedFunctionErrors > &data, const int verbosity=0)
std::pair< double, double > MeanWithUncertainty(const std::vector< double > &samples, const std::vector< double > &uncertainties, const VarianceEstimator est=eSampleVariance)
double MedianAbsoluteDeviation(const std::vector< double > &samples, const double mean)
double Median(const std::vector< double > &sortedSamples)
bool MaxRelUncertaintyBelowThreshold(const double relUncertaintyThreshold, const double absValueThreshold=0.)
int fVerbosity
global verbosity flag
double Mean(const std::vector< double > &samples)
double SampleVariance(const std::vector< double > &samples, const double mean)
const std::list< utl::TabulatedFunctionErrors > & fData