to show my issue, I am attaching a slightly modified version of the
Both are doing the same combined fit of two TH1 with two TF1
and give the same result on my PCs with CentOS 6 or 7 and Ubuntu 20.04,
independent of the ROOT version. Several years I was using such modification in real data combined fits of hundreds TH1 or TGraph.
But only recently I’ve observed that combinedFitMod.C fails on the lxplus with CentOS 7 or 8, with this error message:
root.exe: /builddir/build/BUILD/root-6.20.04/math/mathcore/src/BinData.cxx:296: ROOT::Fit::BinData& ROOT::Fit::BinData::operator=(const ROOT::Fit::BinData&): Assertion `fDataErrorLow.empty() != fDataError.empty() || kNoError == fErrorType’ failed.
The main difference of the modified version is the use of array (n=2):
ROOT::Fit::BinData data[n]; (1)
which seems invalid in ROOT, but fails only on lxplus.
I have two questions:
a) Why statement (1) fails on lxplus (maybe different compilation options?)?
b) Can you please make possible a valid use of ROOT::Fit::BinData arrays?
When one fits hundreds of data sets with hundreds of functions (sharing common parameters), using of arrays for them greatly simplifies the code.
Thank you very much!
combinedFitMod.C (5.2 KB)