48 _t("t", "time", this, t),
49 _tau("tau", "Average Decay
Time", this, tau),
50 _dgamma("dgamma", "Delta
Gamma", this, dgamma),
51 _f0("f0", "Cosh Coefficient", this, f0),
52 _f1("f1", "Sinh Coefficient", this, f1),
53 _f2("f2", "
Cos Coefficient", this, f2),
54 _f3("f3", "
Sin Coefficient", this, f3),
55 _dm("dm", "Delta Mass", this, dm),
63 _basisCosh = declareBasis(
"exp(-@0/@1)*cosh(@0*@2/2)",
RooArgList(tau,dgamma));
64 _basisSinh = declareBasis(
"exp(-@0/@1)*sinh(@0*@2/2)",
RooArgList(tau,dgamma));
65 _basisCos = declareBasis(
"exp(-@0/@1)*cos(@0*@2)",
RooArgList(tau, dm));
66 _basisSin = declareBasis(
"exp(-@0/@1)*sin(@0*@2)",
RooArgList(tau, dm));
69 _basisCosh = declareBasis(
"exp(@0/@1)*cosh(@0*@2/2)",
RooArgList(tau,dgamma));
70 _basisSinh = declareBasis(
"exp(@0/@1)*sinh(@0*@2/2)",
RooArgList(tau,dgamma));
71 _basisCos = declareBasis(
"exp(@0/@1)*cos(@0*@2)",
RooArgList(tau, dm));
72 _basisSin = declareBasis(
"exp(@0/@1)*sin(@0*@2)",
RooArgList(tau, dm));
75 _basisCosh = declareBasis(
"exp(-abs(@0)/@1)*cosh(@0*@2/2)",
RooArgList(tau,dgamma));
76 _basisSinh = declareBasis(
"exp(-abs(@0)/@1)*sinh(@0*@2/2)",
RooArgList(tau,dgamma));
77 _basisCos = declareBasis(
"exp(-abs(@0)/@1)*cos(@0*@2)",
RooArgList(tau, dm));
78 _basisSin = declareBasis(
"exp(-abs(@0)/@1)*sin(@0*@2)",
RooArgList(tau, dm));
88 _t(
"t", this, other._t),
89 _tau(
"tau", this, other._tau),
90 _dgamma(
"dgamma", this, other._dgamma),
91 _f0(
"f0", this, other._f0),
92 _f1(
"f1", this, other._f1),
93 _f2(
"f2", this, other._f2),
94 _f3(
"f3", this, other._f3),
95 _dm(
"dm", this, other._dm),
96 _basisCosh(other._basisCosh),
97 _basisSinh(other._basisSinh),
98 _basisCos(other._basisCos),
99 _basisSin(other._basisSin),
211 if (
matchArgs(directVars, generateVars,
_t))
return 1;
231 cout <<
"RooBDecay::generateEvent(" <<
GetName() <<
") ERROR: PDF value less than zero" << endl;
236 cout <<
"RooBDecay::generateEvent(" <<
GetName() <<
") ERROR: Envelope function less than p.d.f. " << endl;
RooArgSet * getVariables(Bool_t stripDisconnected=kTRUE) const
Return RooArgSet with all variables (tree leaf nodes of expresssion tree)
virtual const char * GetName() const
Returns name of object.
RooArgSet * coefVars(Int_t coefIdx) const
Return set of parameters with are used exclusively by the coefficient functions.
virtual ~RooBDecay()
Destructor.
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, Bool_t staticInitOK=kTRUE) const
Load generatedVars with the subset of directVars that we can generate events for, and return a code t...
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported...
Double_t Gamma(Double_t z)
Computation of gamma(z) for all z.
Most general description of B decay time distribution with effects of CP violation, mixing and life time differences.
you should not use this method at all Int_t Int_t Double_t Double_t Double_t Int_t Double_t Double_t Double_t tau
RooRealVar represents a fundamental (non-derived) real valued object.
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
void generateEvent(Int_t code)
Interface for generation of anan event using the algorithm corresponding to the specified code...
static Double_t uniform(TRandom *generator=randomGenerator())
Return a number uniformly distributed from (0,1)
Double_t min(const char *rname=0) const
RooAbsReal is the common abstract base class for objects that represent a real value and implements f...
Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Default implementation of function advertising integration capabilities.
Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=0) const
Default implementation of function implementing advertised integrals.
double Time(TStopwatch &w)
Double_t max(const char *rname=0) const
virtual Double_t analyticalIntegral(Int_t code, const char *rangeName=0) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral. ...
double f2(const double *x)
const RooAbsReal & arg() const
virtual Double_t coefficient(Int_t basisIndex) const