48 _avgC("
C","Coefficient of
cos term",this,a),
49 _avgS("
S","Coefficient of
sin term",this,b),
50 _avgMistag("avgMistag","Average mistag rate",this,avgMistag),
51 _delMistag("delMistag","Delta mistag rate",this,delMistag),
52 _mu("mu","Tagg efficiency difference",this,mu),
53 _t("t","time",this,t),
54 _tau("tau","decay time",this,tau),
55 _dm("dm","mixing frequency",this,dm),
56 _tag("tag","CP state",this,tag),
62 _basisExp = declareBasis(
"exp(-@0/@1)",
RooArgList(tau,dm)) ;
63 _basisSin = declareBasis(
"exp(-@0/@1)*sin(@0*@2)",
RooArgList(tau,dm)) ;
64 _basisCos = declareBasis(
"exp(-@0/@1)*cos(@0*@2)",
RooArgList(tau,dm)) ;
67 _basisExp = declareBasis(
"exp(@0)/@1)",
RooArgList(tau,dm)) ;
68 _basisSin = declareBasis(
"exp(@0/@1)*sin(@0*@2)",
RooArgList(tau,dm)) ;
69 _basisCos = declareBasis(
"exp(@0/@1)*cos(@0*@2)",
RooArgList(tau,dm)) ;
72 _basisExp = declareBasis(
"exp(-abs(@0)/@1)",
RooArgList(tau,dm)) ;
73 _basisSin = declareBasis(
"exp(-abs(@0)/@1)*sin(@0*@2)",
RooArgList(tau,dm)) ;
74 _basisCos = declareBasis(
"exp(-abs(@0)/@1)*cos(@0*@2)",
RooArgList(tau,dm)) ;
84 _avgC(
"C",this,other._avgC),
85 _avgS(
"S",this,other._avgS),
86 _avgMistag(
"avgMistag",this,other._avgMistag),
87 _delMistag(
"delMistag",this,other._delMistag),
88 _mu(
"mu",this,other._mu),
89 _t(
"t",this,other._t),
90 _tau(
"tau",this,other._tau),
91 _dm(
"dm",this,other._dm),
92 _tag(
"tag",this,other._tag),
93 _genB0Frac(other._genB0Frac),
95 _basisExp(other._basisExp),
96 _basisSin(other._basisSin),
97 _basisCos(other._basisCos)
139 if (rangeName)
return 0 ;
180 if (
matchArgs(directVars,generateVars,
_t))
return 1 ;
220 tval = (rand<=0.5) ? -
_tau*
log(2*rand) : +
_tau*
log(2*(rand-0.5)) ;
234 if (tval<
_t.
max() && tval>
_t.
min() && accept) {
Implement standard CP physics model with S and C (no mention of lambda) Suitably stolen and modified ...
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
virtual ~RooBCPGenDecay()
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...
virtual Double_t coefficient(Int_t basisIndex) const
B0 : _tag = +1 B0bar : _tag = -1.
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
const RooAbsCategory & arg() const
RooRealVar represents a fundamental (non-derived) real valued object.
RooArgSet S(const RooAbsArg &v1)
VecExpr< UnaryOp< Fabs< T >, VecExpr< A, T, D >, T >, T, D > fabs(const VecExpr< A, T, D > &rhs)
void initGenerator(Int_t code)
Interface for one-time initialization to setup the generator for 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...
void generateEvent(Int_t code)
Generate mix-state dependent.
Double_t max(const char *rname=0) const
friend class RooRealIntegral
RooAbsCategory is the common abstract base class for objects that represent a discrete value with a f...
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 Double_t b
virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=0) const
Default implementation of function implementing advertised integrals.
const RooAbsReal & arg() const
virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
Default implementation of function advertising integration capabilities.