[ROOT] combining functions

From: Stilianos Kesisoglou (kesisogl@fnal.gov)
Date: Sun Jun 13 2004 - 02:59:42 MEST


Hi,

	I've encountered a problem when I was trying to combine two TF1
functions,
and I am not sure if this is my mistake or is not implemented on ROOT yet.

	If I define:

	TF1 *bf = new TF1("bf","[0]+[1]*exp([2]*x)");
	TF1 *sf = new TF1("sf","[0]*exp(-0.5*(x-[1])*(x-[1])/[2]/[2])");

	and then:

	TF1 *tf = new TF1("tf","bf+sf");

	I get what I expect (i.e a function wich is the sum of the other
ones).
	But if the one of the two is a user made function it fails, for
example
I want to use an asymmetric Gaussian for the signal:

	Double_t SkewGauss(Double_t *x, Double_t *pars)
	{
		here follows the definition of the function
	}

	then the following fails:

	TF1 *bf = new TF1("bf","[0]+[1]*exp([2]*x)");
	TF1 *sf = new TF1("sf",SkewGauss,4);

	and then:

	TF1 *tf = new TF1("tf","bf+sf");

	Is there anyway to do the above? Is there a canned SkewGauss
function?
(that would solve the problem). 

Stelios.

P.S 	Is there any list of the canned functions that ROOT knows? I was
looking some
	examples when I saw that ROOT knows about the "xygaus" which I
didn't knew.
	Is there anywhere a list of all known functions?



This archive was generated by hypermail 2b29 : Sun Jan 02 2005 - 05:50:08 MET