Hi again,
after upgrading from 6.08/06 to 6.14/04 we see error if a TFormula
is read from a file created with the older ROOT version. For example
Error in <TFormula::Streamer>: number of dimension computed (1) is not same as the stored value (0)
myfunc : [0]*exp(-[1]*x)+[2]+[3]*x Ndim= 1, Npar= 4, Number= 0
Formula expression:
[p0]*exp(-[p1]*x)+[p2]+[p3]*x
List of Variables:
Var 0 x = 0.000000
List of Parameters:
Par 0 p0 = 0.000000
Par 1 p1 = 0.000000
Par 2 p2 = 0.000000
Par 3 p3 = 0.000000
Expression passed to Cling:
Double_t TFormula____id3578509394144759005(Double_t *x,Double_t *p){ return p[0]*TMath::Exp(-p[1]*x[0])+p[2]+p[3]*x[0] ; }
This one I created by running tformula.py (373 Bytes) two times:
source /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.08.06/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
python tformula.py
source /cvmfs/sft.cern.ch/lcg/app/releases/ROOT/6.14.04/x86_64-centos7-gcc48-opt/root/bin/thisroot.sh
python tformula.py read
It seems the functions are usable but it does make us a bit suspicious. Is this a known problem/feature? I tested a few other version and this error seems to appear when changing from 6.12 to 6.14
ROOT Version: 6.14/04
Platform: Ubuntu 16.04
Compiler: GCC 8.2