57 Xp(
"Xp",
"Xp",this,_Xp),
58 sigp(
"sigp",
"sigp",this,_sigp),
59 xi(
"xi",
"xi",this,_xi),
60 rho1(
"rho1",
"rho1",this,_rho1),
61 rho2(
"rho2",
"rho2",this,_rho2)
74 Xp(
"Xp",this,other.Xp),
75 sigp(
"sigp",this,other.sigp),
76 xi(
"xi",this,other.xi),
77 rho1(
"rho1",this,other.rho1),
78 rho2(
"rho2",this,other.rho2)
88 const double consts = 2*sqrt(2*log(2.0));
97 double fit_result = 0;
104 if(std::abs(
xi) > exp(-6.)){
110 x1 =
Xp + (hp / 2) * (r1-1);
111 x2 =
Xp + (hp / 2) * (r1+1);
121 if(std::abs(
xi) > exp(-6.)) {
122 r2=log(1 + 4 *
xi * r4 * (
x-
Xp)/hp)/log(1+2*
xi*(
xi-r4));
126 r2=-4*r3*(
x-
Xp)*(
x-
Xp)/hp/hp;
136 if(std::abs(r2) > 100){
141 fit_result = exp(r2);
152 {ctx.at(x), ctx.at(Xp), ctx.at(sigp), ctx.at(xi), ctx.at(rho1), ctx.at(rho2)});
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
Abstract interface for all probability density functions.
Abstract base class for objects that represent a real value and implements functionality common to al...
The RooBukinPdf implements the NovosibirskA function.
void doEval(RooFit::EvalContext &) const override
Compute multiple values of Bukin distribution.
double evaluate() const override
Implementation.
std::span< double > output()
RooBatchCompute::Config config(RooAbsArg const *arg) const
void compute(Config cfg, Computer comp, std::span< double > output, VarSpan vars, ArgSpan extraArgs={})
void checkRangeOfParameters(const RooAbsReal *callingClass, std::initializer_list< const RooAbsReal * > pars, double min=-std::numeric_limits< double >::max(), double max=std::numeric_limits< double >::max(), bool limitsInAllowedRange=false, std::string const &extraMessage="")
Check if the parameters have a range, and warn if the range extends below / above the set limits.