Problem plugging numbers into a TF2

Hello everyone. I’m sure this is a stupid mistake but I have some problems in compiling my macro. In my code I define the following functions:

TF2 *GB = new TF2("GB", "[0]*([1]+[2])/((x*x+[3])*(x*x+[1]-2*x*[4]*TMath::Cos(y-[5])+[2]))", lambda, E_max, -PI, PI); TF1 *domGB_less = new TF1("domGB_less", "[0]*[1]", lambda, E_max);

where all the parameters/variables are suitably set. Later I call the same function to extract its numerical value as:

where k and phi are two doubles. However, when compiling the code I obtain the following error message:

Processing genSingleGlue.C+... Info in <TUnixSystem::ACLiC>: creating shared library /atlas/u/anesposi/gyulassy/genGlue/./genSingleGlue_C.so In file included from /atlas/u/anesposi/gyulassy/genGlue/genSingleGlue_C_ACLiC_dict.h:34, from /atlas/u/anesposi/gyulassy/genGlue/genSingleGlue_C_ACLiC_dict.cxx:17: /atlas/u/anesposi/gyulassy/genGlue/./genSingleGlue.C: In function ‘void genSingleGlue()’: /atlas/u/anesposi/gyulassy/genGlue/./genSingleGlue.C:173: error: ‘domGB_less’ cannot be used as a function /atlas/u/anesposi/gyulassy/genGlue/./genSingleGlue.C:173: error: ‘GB’ cannot be used as a function

Also, if I don’t compile the code but simply load the macro using .L nothing happens and the code runs just fine. Does anyone know what’s going on?

Thanks a lot

Either:
t = (*domGB_less)(k) / (*GB)(k, phi);
or:
t = domGB_less->Eval(k) / GB->Eval(k, phi);