std::cout <<
"smoothing a " <<
fname <<
" histogram" << std::endl;
double p2 =
h1_s->Chi2Test(h2,
"UU");
if (
p2 <
p1)
Error(
"testSmooth",
"TH1::Smooth is not working correctly - a worst chi2 is obtained");
std::cout <<
" chi2 test non-smoothed histo " <<
p1 << std::endl;
std::cout <<
" chi2 test smoothed histo " <<
p2 << std::endl;
double a2 =
h1_s->AndersonDarlingTest(h2);
std::cout <<
" AD test non-smoothed histo " <<
a1 << std::endl;
std::cout <<
" AD test smoothed histo " <<
a2 << std::endl;
double k2 =
h1_s->KolmogorovTest(h2);
std::cout <<
" KS test non-smoothed histo " <<
k1 << std::endl;
std::cout <<
" KS test smoothed histo " <<
k2 << std::endl;
h2->Scale(
double(
n1)/
n2);
h2->Draw("same");
}
}
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
void Error(const char *location, const char *msgfmt,...)
Use this function in case an error occurred.
1-D histogram with a double per channel (see TH1 documentation)
static void AddDirectory(Bool_t add=kTRUE)
Sets the flag controlling the automatic add of histograms in memory.
virtual void FillRandom(const char *fname, Int_t ntimes=5000, TRandom *rng=nullptr)
Fill histogram following distribution in function fname.
void Draw(Option_t *option="") override
Draw this histogram with options.
virtual Double_t AndersonDarlingTest(const TH1 *h2, Option_t *option="") const
Statistical test of compatibility in shape between this histogram and h2, using the Anderson-Darling ...
virtual Double_t Chi2Test(const TH1 *h2, Option_t *option="UU", Double_t *res=nullptr) const
test for comparing weighted and unweighted histograms.
virtual Double_t KolmogorovTest(const TH1 *h2, Option_t *option="") const
Statistical test of compatibility in shape between this histogram and h2, using Kolmogorov test.