Histogram package
The libHist library now depends on libMathCore which must be linked whenever one needs to use the histogram library.
TF1
-
The code used for implementing numerical methods like TF1::Integration or TF1::Derivation or TF1::GetX has now been now moved in MathCore and used to implement corresponding classes like GaussIntegrator or BrentRootFinder. The implementation remains however the same.
- A new method TF1::operator()(double x, double y=0, double z) which is equivalent to TF1::Eval has been added for using TF1 as a callable object.
- New templated methods TF1::SetFunction for generic C++ callable objects or for class member functions.
TH1
- Fixed a bug in the TH1::KolmogorovTest function in the case of scaled or weighted histograms. The routine has been improved and
now could also be used for comparing an histogram with a function if it is represented as an histogram with zero errors (equivalent to the case of options "F1" or "F2" in the original HDIFF routine of HBOOK). The bug has been fixed also for the TH2 and TH3 corresponding method. In addition in the case of TH3 use now all 6 axis combinations for estimating the maximum deviation. This is consistent with what is done in the 2D case.
- Improved the TH1::Chi2Test for the treatment of empty bins in the histograms. If both histograms have one empty bin, the number of degree of freedom is decreased by one but the test is performed without reporting an error. If only one histogram is having an empty bin it is considered in the comparison.
- Fixed a bug in preserving the global statistic information after scaling, adding or rebinning the histogram.
TH2
-
Improve TH2::FitFitSliceX and TH2::FitFitSliceY by adding the possibility to return the generated histograms in a TObjArray when the passed pointer is not null. Support also variable bin size histograms
- Improve histogram projections. The implementation of TH2::ProjectionX and TH2::ProjectionY has been combined in a single private method.
TH3
-
Fixed a couple of bugs in TH3::Project3DProfile.
TProfile and TProfile2D
-
Add a new option "W" in TProfile::ProjectionX and TProfile::ProjectionXY to be able to return the equivalent weighted filled histogram. Its bin content is equal to the profile bin content multiplied by the bin entries.
- Implement in the TProfile a new option, "G" for the bin error. This option can be used, bin by bin, for the combination of measurements y with known gaussian error dy. In this case the profile must be filled
with a weight = 1./dy**2 and the resulting error from the combination (1./sqrt(Sum(1./dy**2) ) ) will be calculated by the profile.
THnSparse
- Implement THnSparse::Projection and THnSparse::Merge
New Tutorials
- tutorials/hist/sparsehist.C: an example how to use the new multi dim histogram class THnSparse.
- tutorials/hist/drawsparse.C: an example how to visualize a sparse multi dim histogram.
use the new multi dim histogram class THnSparse.