Different Eval values from a TF2 after saving in root file

Dear ROOTers,
I am facing the following problem:
I am fitting a TH2 histogram with a TF2 function. After the fitting converges I open a root file and I save the TF2 with different ways (the same function that used for the fit, GetFunction from the histo, a new TF2 with same formula and parameters gotten from the fitted TF2).
To save them I simple call the Write function.

My problem is that when I do Eval after the fitting in the code I get different value than the Eval from the objects acquired from the root file (of course same points used for the Eval).
I also notice when I call Dump in both versions (one inside the code that performs the fit and the other from the saved object) I have differences in fFunctor, fContour, fNsave, fSave, fFunctor.*fImpl, fFunctions, fLinearParts…

Am I doing something wrong while writing the TF2 ?
Thank you in advance,

Just a wild guess …
Search for “WARNING! A function created with this constructor cannot be Cloned.” in the TF2 class description.
I believe, if you use any of these constructors, you are not allowed to save/retrieve such a TF2 in/from a ROOT file.


unfortunately I do not get any warning neither on the compilation neither on the execution of the code.
For the constructor of the TF2 I am using the same technique as here: $ROOTSYS/tutorials/fit/fit2dHist.C