Implementation test that verify if two histograms are the same.
More...
#include <JTestIdentical_t.hh>
Implementation test that verify if two histograms are the same.
- Author
- rgruiz
Definition at line 15 of file JTestIdentical_t.hh.
JTestIdentical_t::JTestIdentical_t |
( |
| ) |
|
|
inline |
template<class T >
JTestResult JTestIdentical_t::JIdenticalTest |
( |
T * |
h1, |
|
|
T * |
h2, |
|
|
double |
tolerance, |
|
|
std::string |
testName, |
|
|
std::string |
parameterName |
|
) |
| |
|
inline |
Bin-by-Bin test of two histograms, that verifies whether the histograms are the same.
For each bin, the test calculates the difference, and compares it with a tolerance passed as an argument.
The test is passed if the difference is smaller than the tolerance for every bin.
The template parameter can be TH1X, TH2X or TH3X.
- Parameters
-
h1 | First object |
h2 | Second object |
tolerance | tolerance value for the bin-by-bin differences |
parameterName | Name of the parameter used to test the histograms |
testName | Name of the test used to compare the histograms |
- Returns
- Test result.
Definition at line 39 of file JTestIdentical_t.hh.
44 if(
h1 -> GetNbinsX() != h2 -> GetNbinsX() ||
h1 -> GetNbinsY() != h2 -> GetNbinsY() ||
h1 -> GetNbinsZ() != h2 -> GetNbinsZ())
45 ERROR(
"Histograms with different bining. The objects: " <<
h1 -> GetName() <<
" can not be compared." << endl);
47 T* h3 = (
T*)
h1->Clone(
h1->GetName()==h2->GetName() ?
55 double maxDifference = 0.0;
57 for (
int i=0 ; i <
h1->GetNbinsX() ; ++i){
58 for (
int j=0 ;
j<
h1->GetNbinsY() ; ++
j){
59 for (
int k=0 ;
k<
h1->GetNbinsY() ; ++
k){
61 double d =
h1->GetBinContent(i+1,
j+1,
k+1) - h2->GetBinContent(i+1,
j+1,
k+1);
63 if (fabs(d) > maxDifference)
64 maxDifference = fabs(d);
65 if (fabs(d) > tolerance)
71 JResultTitle title(testName, parameterName, passed , maxDifference);
73 h3->SetTitle(title.getTitle().c_str());
76 string (
h1->GetDirectory()->GetPath()).append(
h1->GetName()),
77 string (h2->GetDirectory()->GetPath()).append(h2->GetName()),
78 h1->GetDirectory()->GetFile()->GetName(),
79 h2->GetDirectory()->GetFile()->GetName(),
80 parameterName, maxDifference, tolerance, h3, passed);
Class dedicated to standardize the title of the graphical objects produced by the JTest_t() derived c...
then fatal No sound hydrophone file $HYDROPHONE_TXT fi JGraph f $HYDROPHONE_TXT o $HYDROPHONE_ROOT sort gr k
#define MAKE_CSTRING(A)
Make C-string.
then for HISTOGRAM in h0 h1
Structure containing the result of the test.
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.
The documentation for this class was generated from the following file: