Dear Rooters,
my problem is this:
I have a class Deco that has the method
ZTrueConvolve()
it performs the convolution of some data, by "gaussianiously" smearing
each entries.
Id est:
For each entry (in my case the Z of a nucleous) a normalization factor is
computed and then, since the sigma_Z is the same for all the entry,
always inside ZTrueConvolve(), a function is called that takes into
consideration as many as the entries and sums up all the relative
gaussians, returning the final function (clearly a multi gaussian
summation) fgaus.
Always inside ZTrueConvolve there is then the command
fgaus->Draw(option)
where option could be specified by the user.
The class is attached, but a very rough sketch is the following:
Class Deco(...)
...
double zfunc7(Double_t *x, Double_t *par)
{
double fitval=0;
int i=2;
int limite = par[0]+2;
while(i<limite)
{
fitval += par[i]*TMath::Exp(-TMath::pow(x[0]-i-par[1]+2,2)
/(2*TMath::pow(Deco::ZRes(),2)));
i++;
}
return fitval;
}
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
//this is the function
void Deco::ZTrueConvolve(char* option, int nvb)
// option is the Draw option (i.g. "same")
// nvb is the index for 3 types of final functions
{
... // some declarations etc...
TF1 *fgaus= new TF1("zfunc7",zfunc7,_zmin,_zmax,limite);
// set the parameters for the function
fgaus->SetParameter(0,nozbin);
fgaus->SetParameter(1,_zmin);
int iset=0;
while(iset<nozbin){
norm=A(iset) // get the normalization factor
fgaus->SetParameter(iset+2,norm);
iset++;
}
fgaus->Print();
fgaus->SetTitle();
fgaus->Draw(option);
//end ZTrueConvolve
}
//^^^^^^^^^^^^^^^^^^^^^^^^^^^
// this is the method
Well, the problem is that I cannot superimpose different plot, since if I
do (et assume that "da" is the object of class Deco)
da.ZTrueConvolve("",1);
da.ZTrueConvolve("same",2);
the first plot disappears and the second is plot without the frame.
Where I miss the ownership?
I try to add the line
fgaus->SetDirectory(0);
after I "->Draw()"ed it... but it seems not to work wit my Root Version
(3.00)
Thanks Tommaso
This archive was generated by hypermail 2b29 : Sat Jan 04 2003 - 23:50:40 MET