1 #ifndef __JTESTCHI2R_1D__
2 #define __JTESTCHI2R_1D__
37 std::istream&
read(std::istream&
in)
override{
49 std::ostream&
write(std::ostream& out, std::string delimiter =
" ",
bool onlyFailures =
false)
const {
53 out << std::scientific << std::setprecision(2) << (
r->passed ?
JPP::GREEN :
JPP::RED) <<
r->print(delimiter) << std::endl;
55 out << std::scientific << std::setprecision(2) << (
r->passed ?
JPP::GREEN :
JPP::RED) <<
r->print(delimiter) << std::endl;
71 if (!(dynamic_cast<TH2*>(o1) == NULL) || !(dynamic_cast<TH2*>(o2) == NULL)) {
72 ERROR(
"For 2D histograms call JTestChi2_2D: " << o1->GetName() << std::endl);
74 }
else if (!(dynamic_cast<TH1*>(o1) == NULL) && !(
dynamic_cast<TH1*
>(o2) == NULL)) {
76 TH1D*
h1 =
dynamic_cast<TH1D*
>(o1);
77 TH1D* h2 =
dynamic_cast<TH1D*
>(o2);
79 if(h1 -> GetNbinsX() != h2 -> GetNbinsX())
80 ERROR(
"Histograms with different bining. The objects: " << h1 -> GetName() <<
" can not be compared." << std::endl);
94 virtual void save(TFile*
f , std::string
path,
bool onlyFailures =
false)
override{
102 if (f -> GetDirectory(path.c_str())==0) f->mkdir(path.c_str());
107 if (f -> GetDirectory(path.c_str())==0) f->mkdir(path.c_str());
138 const std::string
name =
"Chi2R_1D";
std::string getParameter() override
Get parameter name.
const std::string parameter
parameter name.
std::vector< JTestResult > results
std::string getName() override
Get test name.
do set_array DAQHEADER JPrintDAQHeader f
then for HISTOGRAM in h0 h1
Structure containing the result of the test.
double threshold
threshold p-value to decide if test is passed.
const std::string name
test name.
do cat driver txt<< EOFevent ev_configure{RC_EVT%< ev_configure.txt > RC_DWRT path
Implementation of the Chi2 test for 1D histograms.
std::ostream & write(std::ostream &out, std::string delimiter=" ", bool onlyFailures=false) const
Write test result to output.
void test(TObject *o1, TObject *o2) override
Applies Chi2 test for two ROOT TH1 histograms.
void clear() override
Clear results.
const std::string options
options for the ROOT chi2 test.
Interface to read input and write output for TObject tests.
Implementation of the different Chi2-related tests.
virtual void save(TFile *f, std::string path, bool onlyFailures=false) override
Writes the test result to root file.
then fatal Wrong number of arguments fi set_variable DETECTOR $argv[1] set_variable INPUT_FILE $argv[2] eval JPrintDetector a $DETECTOR O IDENTIFIER eval JPrintDetector a $DETECTOR O SUMMARY source JAcoustics sh $DETECTOR_ID CHECK_EXIT_CODE typeset A TRIPODS get_tripods $WORKDIR tripod txt TRIPODS for EMITTER in
JTestChi2R_1D()
Default constructor.
JTestResult JChi2Test(TH1 *h1, TH1 *h2, double threshold, std::string testName, std::string parameterName, std::string options)
Chi2 test for 1D histograms.
std::istream & read(std::istream &in) override
Read test parameters from input.