Dear root users,
Defining a sum of TF1 functions simply as “fpeak+ftail” works fine in root 5.34/32. However, in root 6.06/08 it only takes the parameters of the last function.
Minimal code example:
void sumTF1(){
Double_t par[6];
TF1 *fpeak = new TF1("fpeak","gaus",1100,1130);
TF1 *ftail = new TF1("ftail","gaus",1100,1130);
fpeak -> SetParameters(1,2,3);
ftail -> SetParameters(4,5,6);
TF1 *fsignal = new TF1("fsignal","fpeak + ftail");
//Show parameters
fsignal->GetParameters(&par[0]);
for(int i=0;i<6;i++){ printf(" par %d of fsig : %f\n", i, par[i]); }
}
gives
Root 5.34/32
par 0 of fsig : 1.000000
par 1 of fsig : 2.000000
par 2 of fsig : 3.000000
par 3 of fsig : 4.000000
par 4 of fsig : 5.000000
par 5 of fsig : 6.000000
Root 6.06/08
par 0 of fsig : 4.000000
par 1 of fsig : 5.000000
par 2 of fsig : 6.000000
par 3 of fsig : 0.000000
par 4 of fsig : 0.000000
par 5 of fsig : 0.000000
Is this behaviour expected?
Thanks in advance,
Joan