35using std::cout, std::endl;
61 _t(
"t",
"time", this, t),
62 _tau(
"tau",
"Average Decay Time", this, tau),
63 _dgamma(
"dgamma",
"Delta Gamma", this, dgamma),
64 _f0(
"f0",
"Cosh Coefficient", this, f0),
65 _f1(
"f1",
"Sinh Coefficient", this,
f1),
66 _f2(
"f2",
"Cos Coefficient", this, f2),
67 _f3(
"f3",
"Sin Coefficient", this, f3),
68 _dm(
"dm",
"Delta Mass", this, dm),
101 _t(
"t", this, other._t),
102 _tau(
"tau", this, other._tau),
103 _dgamma(
"dgamma", this, other._dgamma),
104 _f0(
"f0", this, other._f0),
105 _f1(
"f1", this, other._f1),
106 _f2(
"f2", this, other._f2),
107 _f3(
"f3", this, other._f3),
108 _dm(
"dm", this, other._dm),
109 _basisCosh(other._basisCosh),
110 _basisSinh(other._basisSinh),
111 _basisCos(other._basisCos),
112 _basisSin(other._basisSin),
217 if (
matchArgs(directVars, generateVars,
_t))
return 1;
234 double ft = std::abs(t);
235 double f = exp(-ft/
_tau)*(
_f0*cosh(dgt)+
_f1*sinh(dgt)+
_f2*cos(dmt)+
_f3*sin(dmt));
237 cout <<
"RooBDecay::generateEvent(" <<
GetName() <<
") ERROR: PDF value less than zero" << endl;
242 cout <<
"RooBDecay::generateEvent(" <<
GetName() <<
") ERROR: Envelope function less than p.d.f. " << endl;
#define R__ASSERT(e)
Checks condition e and reports a fatal error if it's false.
Option_t Option_t TPoint TPoint const char GetTextMagnitude GetFillStyle GetLineColor GetLineWidth GetMarkerStyle GetTextAlign GetTextColor GetTextSize void char Point_t Rectangle_t WindowAttributes_t Float_t Float_t Float_t Int_t Int_t UInt_t UInt_t Rectangle_t Int_t Int_t Window_t TString Int_t GCValues_t GetPrimarySelectionOwner GetDisplay GetScreen GetColormap GetNativeEvent const char const char dpyName wid window const char font_name cursor keysym reg const char only_if_exist regb h Point_t winding char text const char depth char const char Int_t count const char ColorStruct_t color const char Pixmap_t Pixmap_t PictureAttributes_t attr const char char ret_data h unsigned char height h Atom_t Int_t ULong_t ULong_t unsigned char prop_list Atom_t Atom_t Atom_t Time_t type
Base class for PDFs that represent a physics model that can be analytically convolved with a resoluti...
Int_t declareBasis(const char *expression, const RooArgList ¶ms)
Declare a basis function for use in this physics model.
RooFit::OwningPtr< RooArgSet > getVariables(bool stripDisconnected=true) const
Return RooArgSet with all variables (tree leaf nodes of expression tree)
Abstract base class for objects that represent a real value and implements functionality common to al...
bool matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
virtual double analyticalIntegral(Int_t code, const char *rangeName=nullptr) const
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
virtual Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const
Interface function getAnalyticalIntergral advertises the analytical integrals that are supported.
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Most general description of B decay time distribution with effects of CP violation,...
Int_t getGenerator(const RooArgSet &directVars, RooArgSet &generateVars, bool staticInitOK=true) const override
Load generatedVars with the subset of directVars that we can generate events for, and return a code t...
double coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=nullptr) const override
Default implementation of function implementing advertised integrals.
void generateEvent(Int_t code) override
Interface for generation of an event using the algorithm corresponding to the specified code.
double coefficient(Int_t basisIndex) const override
Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const override
Default implementation of function advertising integration capabilities.
RooFit::OwningPtr< RooArgSet > coefVars(Int_t coefIdx) const override
Return set of parameters with are used exclusively by the coefficient functions.
static double uniform(TRandom *generator=randomGenerator())
Return a number uniformly distributed from (0,1)
Variable that can be changed from the outside.
RooResolutionModel is the base class for PDFs that represent a resolution model that can be convolute...
double max(const char *rname=nullptr) const
Query upper limit of range. This requires the payload to be RooAbsRealLValue or derived.
const T & arg() const
Return reference to object held in proxy.
double min(const char *rname=nullptr) const
Query lower limit of range. This requires the payload to be RooAbsRealLValue or derived.
const char * GetName() const override
Returns name of object.
T * OwningPtr
An alias for raw pointers for indicating that the return type of a RooFit function is an owning point...