58 Xp(
"Xp",
"Xp",this,_Xp),
59 sigp(
"sigp",
"sigp",this,_sigp),
60 xi(
"xi",
"xi",this,_xi),
61 rho1(
"rho1",
"rho1",this,_rho1),
62 rho2(
"rho2",
"rho2",this,_rho2)
75 Xp(
"Xp",this,other.Xp),
76 sigp(
"sigp",this,other.sigp),
77 xi(
"xi",this,other.xi),
78 rho1(
"rho1",this,other.rho1),
79 rho2(
"rho2",this,other.rho2)
89 const double consts = 2*
sqrt(2*
log(2.0));
90 double r1=0,r2=0,r3=0,r4=0,r5=0,hp=0;
92 double fit_result = 0;
105 x1 =
Xp + (hp / 2) * (r1-1);
106 x2 =
Xp + (hp / 2) * (r1+1);
121 r2=-4*r3*(
x-
Xp)*(
x-
Xp)/hp/hp;
136 fit_result =
exp(r2);
Option_t Option_t TPoint TPoint const char x2
Option_t Option_t TPoint TPoint const char x1
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
virtual void compute(cudaStream_t *, Computer, RestrictArr, size_t, const VarVector &, const ArgVector &={})=0
The RooBukinPdf implements the NovosibirskA function.
void computeBatch(cudaStream_t *, double *output, size_t nEvents, RooFit::Detail::DataMap const &) const override
Compute multiple values of Bukin distribution.
double evaluate() const override
Implementation.
auto & at(RooAbsArg const *arg, RooAbsArg const *=nullptr)
RVec< PromoteType< T > > abs(const RVec< T > &v)
RVec< PromoteType< T > > log(const RVec< T > &v)
RVec< PromoteType< T > > exp(const RVec< T > &v)
VecExpr< UnaryOp< Sqrt< T >, VecExpr< A, T, D >, T >, T, D > sqrt(const VecExpr< A, T, D > &rhs)
R__EXTERN RooBatchComputeInterface * dispatchCUDA
R__EXTERN RooBatchComputeInterface * dispatchCPU
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 const &extraMessage="")
Check if the parameters have a range, and warn if the range extends below / above the set limits.