60 inline double N(
int l,
int m=0) {
79 ,
_phi(
"phi",
"phi", this, phi)
81 ,
_sgn1(
m==0 ? 0 :
m<0 ? -1 : +1 )
90 ,
_phi(
"phi",
"phi", this, phi)
92 ,
_sgn1( m1==0 ? 0 : m1<0 ? -1 : +1 )
93 ,
_sgn2( m2==0 ? 0 : m2<0 ? -1 : +1 )
121 bool fullRange(
const RooRealProxy&
x,
const char* range,
bool phi)
124 return range ==
nullptr || strlen(range) == 0
129 return range ==
nullptr || strlen(range) == 0
130 ? std::abs(
x.min() + 1.) < 1.e-8 && std::abs(
x.max() - 1.) < 1.e-8
131 : std::abs(
x.min(range) + 1.) < 1.e-8 && std::abs(
x.max(range) - 1.) < 1.e-8;
142 bool cthetaOK = fullRange(
_ctheta, rangeName,
false);
143 bool phiOK = fullRange(
_phi, rangeName,
true );
155 }
else if (code == 2) {
RooTemplateProxy< RooAbsReal > RooRealProxy
Compatibility typedef replacing the old RooRealProxy class.
int Int_t
Signed integer 4 bytes (int).
RooAbsReal()
coverity[UNINIT_CTOR] Default constructor
bool matchArgs(const RooArgSet &allDeps, RooArgSet &analDeps, const RooArgProxy &a, const Proxies &... proxies) const
RooArgSet is a container object that can hold multiple RooAbsArg objects.
double evaluate() const override
Note: P_0^0 = 1, so P_l^m = P_l^m P_0^0.
Int_t getMaxVal(const RooArgSet &vars) const override
Advertise capability to determine maximum value of function for given set of observables.
double analyticalIntegral(Int_t code, const char *rangeName=nullptr) const override
this was verified to match mathematica for l1 in [0,2], m1 in [0,l1], l2 in [l1,4],...
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const override
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
double maxVal(Int_t code) const override
Return maximum value for set of observables identified by code assigned in getMaxVal.
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const override
TODO: check that phi.max - phi.min = 2 pi... ctheta.max = +1, and ctheta.min = -1 we don't support in...
Int_t getMaxVal(const RooArgSet &vars) const override
Advertise capability to determine maximum value of function for given set of observables.
double maxVal(Int_t code) const override
Return maximum value for set of observables identified by code assigned in getMaxVal.
double evaluate() const override
Note: P_0^0 = 1, so P_l^m = P_l^m P_0^0.
double analyticalIntegral(Int_t code, const char *rangeName=nullptr) const override
this was verified to match mathematica for l1 in [0,2], m1 in [0,l1], l2 in [l1,4],...
VecExpr< UnaryOp< Sqrt< T >, VecExpr< A, T, D >, T >, T, D > sqrt(const VecExpr< A, T, D > &rhs)
Double_t Factorial(Int_t i)
Computes factorial(n).
constexpr Double_t Sqrt2()
constexpr Double_t TwoPi()