1 #ifndef __JCOMPAREHISTOGRAMS__JTESTIDENTICAL_T__
2 #define __JCOMPAREHISTOGRAMS__JTESTIDENTICAL_T__
14 namespace JCOMPAREHISTOGRAMS {
50 if(h1 -> GetNbinsX() != h2 -> GetNbinsX() || h1 -> GetNbinsY() != h2 -> GetNbinsY() || h1 -> GetNbinsZ() != h2 -> GetNbinsZ())
51 ERROR(
"Histograms with different bining. The objects: " << h1 -> GetName() <<
" can not be compared." << endl);
53 T* h3 = (
T*)h1->Clone(h1->GetName()==h2->GetName() ?
61 double maxDifference = 0.0;
63 for (
int i=0 ; i < h1->GetNbinsX() ; ++i){
64 for (
int j=0 ;
j< h1->GetNbinsY() ; ++
j){
65 for (
int k=0 ;
k< h1->GetNbinsZ() ; ++
k){
67 double d = h1->GetBinContent(i+1,
j+1,
k+1) - h2->GetBinContent(i+1,
j+1,
k+1);
69 if (fabs(d) > maxDifference)
70 maxDifference = fabs(d);
71 if (fabs(d) > tolerance)
77 JResultTitle title(testName, parameterName, passed , maxDifference);
79 h3->SetTitle(title.
getTitle().c_str());
84 parameterName, maxDifference, tolerance, h3, passed);
Implementation test that verify if two histograms are the same.
then fatal No hydrophone data file $HYDROPHONE_TXT fi sort gr k
Class dedicated to standardize the title of the graphical objects produced by the JTest_t() derived c...
JTestIdentical_t()
Default constructor.
#define MAKE_CSTRING(A)
Make C-string.
then for HISTOGRAM in h0 h1
Auxiliary class to handle file name, ROOT directory and object name.
#define MAKE_STRING(A)
Make string.
JTestResult JIdenticalTest(T *h1, T *h2, double tolerance, std::string testName, std::string parameterName)
Bin-by-Bin test of two histograms, that verifies whether the histograms are the same.
do set_variable OUTPUT_DIRECTORY $WORKDIR T
then JMuonMCEvt f $INPUT_FILE o $INTERMEDIATE_FILE d
std::string to_string(const T &value)
Convert value to string.
Structure containing the result of the test.
std::string getTitle()
Returns a standard string to be used as title of a graphical root object.