59 Xp(
"Xp",
"Xp",this,_Xp),
60 sigp(
"sigp",
"sigp",this,_sigp),
61 xi(
"xi",
"xi",this,_xi),
62 rho1(
"rho1",
"rho1",this,_rho1),
63 rho2(
"rho2",
"rho2",this,_rho2)
76 Xp(
"Xp",this,other.Xp),
77 sigp(
"sigp",this,other.sigp),
78 xi(
"xi",this,other.xi),
79 rho1(
"rho1",this,other.rho1),
80 rho2(
"rho2",this,other.rho2)
90 const double consts = 2*
sqrt(2*
log(2.0));
91 double r1=0,r2=0,r3=0,r4=0,r5=0,hp=0;
93 double fit_result = 0;
100 if(fabs(
xi) >
exp(-6.)){
106 x1 =
Xp + (hp / 2) * (r1-1);
107 x2 =
Xp + (hp / 2) * (r1+1);
117 if(fabs(
xi) >
exp(-6.)) {
122 r2=-4*r3*(
x-
Xp)*(
x-
Xp)/hp/hp;
137 fit_result =
exp(r2);
146 return RooBatchCompute::dispatch->
computeBukin(
this, evalData,
x->
getValues(evalData, normSet),
Xp->
getValues(evalData, normSet),
sigp->
getValues(evalData, normSet),
xi->
getValues(evalData, normSet),
rho1->
getValues(evalData, normSet),
rho2->
getValues(evalData, normSet));
static const double x2[5]
static const double x1[5]
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
virtual RooSpan< const double > getValues(RooBatchCompute::RunContext &evalData, const RooArgSet *normSet=nullptr) const
by this change, please consult the release notes for ROOT 6.24 for guidance on how to make this trans...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
virtual RooSpan< double > computeBukin(const RooAbsReal *, RunContext &, RooSpan< const double > x, RooSpan< const double > Xp, RooSpan< const double > sigp, RooSpan< const double > xi, RooSpan< const double > rho1, RooSpan< const double > rho2)=0
The RooBukinPdf implements the NovosibirskA function.
RooSpan< double > evaluateSpan(RooBatchCompute::RunContext &evalData, const RooArgSet *normSet) const
Compute multiple values of Bukin distribution.
Double_t evaluate() const
Implementation.
A simple container to hold a batch of data values.
R__EXTERN RooBatchComputeInterface * dispatch
This dispatch pointer points to an implementation of the compute library, provided one has been loade...
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 extraMessage="")
Check if the parameters have a range, and warn if the range extends below / above the set limits.
This struct enables passing computation data around between elements of a computation graph.