Hi,
is there a way to use only odd or even terms of the Chebychev polynomials?
(or any other implemented polynomials)
cheers,
delo
Hi,
is there a way to use only odd or even terms of the Chebychev polynomials?
(or any other implemented polynomials)
cheers,
delo
Hi delo,
You have to set the even / odd coefficients of the polynomials to 0.0, so that you remain only with the odd / even terms respectively. Other than that, there is no other possibility for the moment.
Cheers,
Gabriel
thank you.
do you mean something like:
RooRealVar a1("a1","a1",1.);
a1.setConstant(false);
RooRealVar a2("a2","a2",0.);
RooRealVar a3("a3","a3",1.);
a3.setConstant(false);
RooRealVar a4("a4","a4",0.);
RooRealVar a5("a5","a5",1.);
a5.setConstant(false);
RooChebychev poly("poly", "poly",Mass,RooArgList(a1,a2,a3,a4,a5));
and this will give me only an odd polynomial.
is that correct?
cheers,
Francesco
Hi Francesco,
Actually, the variables are by default not constant (ERRATUM: when using the constructor with limits). What you have to do is to set the ones which you are eliminating (i.e. making zero) to be constant, like so:
RooRealVar a1("a1","a1",1.);
RooRealVar a2("a2","a2",0.);
a2.setConstant(true);
RooRealVar a3("a3","a3",1.);
RooRealVar a4("a4","a4",0.);
a4.setConstant(true);
RooRealVar a5("a5","a5",1.);
RooChebychev poly("poly", "poly",Mass,RooArgList(a1,a2,a3,a4,a5));
Cheers,
Gabriel
really… !?
I thought that if you don’t put limits they are considered as constants
thanks
No, you’re right, they are considered constants. I was thinking with limits instead. In your case, you don’t have to set anything, they are all constants.
Cheers,
Gabriel