50 _mistag("mistag","Mistag rate",this,mistag),
51 _delMistag("delMistag","Delta mistag rate",this,delMistag),
52 _mixState("mixState","Mixing state",this,mixState),
53 _tagFlav("tagFlav","Flavour of tagged B0",this,tagFlav),
54 _tau("tau","Mixing life time",this,tau),
55 _dm("dm","Mixing frequency",this,dm),
56 _t("_t","time",this,t), _genMixFrac(0)
60 _basisExp = declareBasis(
"exp(-@0/@1)",
RooArgList(tau,dm)) ;
61 _basisCos = declareBasis(
"exp(-@0/@1)*cos(@0*@2)",
RooArgList(tau,dm)) ;
64 _basisExp = declareBasis(
"exp(@0/@1)",
RooArgList(tau,dm)) ;
65 _basisCos = declareBasis(
"exp(@0/@1)*cos(@0*@2)",
RooArgList(tau,dm)) ;
68 _basisExp = declareBasis(
"exp(-abs(@0)/@1)",
RooArgList(tau,dm)) ;
69 _basisCos = declareBasis(
"exp(-abs(@0)/@1)*cos(@0*@2)",
RooArgList(tau,dm)) ;
80 _mistag(
"mistag",this,other._mistag),
81 _delMistag(
"delMistag",this,other._delMistag),
82 _mixState(
"mixState",this,other._mixState),
83 _tagFlav(
"tagFlav",this,other._tagFlav),
84 _tau(
"tau",this,other._tau),
85 _dm(
"dm",this,other._dm),
86 _t(
"t",this,other._t),
87 _basisExp(other._basisExp),
88 _basisCos(other._basisCos),
89 _genMixFrac(other._genMixFrac),
90 _genFlavFrac(other._genFlavFrac),
91 _genFlavFracMix(other._genFlavFracMix),
92 _genFlavFracUnmix(other._genFlavFracUnmix)
189 if (
matchArgs(directVars,generateVars,
_t))
return 1 ;
280 tval = (rand<=0.5) ? -
_tau*
log(2*rand) : +
_tau*
log(2*(rand-0.5)) ;
290 if (tval<
_t.
max() && tval>
_t.
min() && mixAccept) {
virtual Double_t coefficient(Int_t basisIndex) const
Comp with tFit MC: must be (1 - tagFlav*...)
Double_t _genFlavFracUnmix
Bool_t matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
Double_t getVal(const RooArgSet *set=0) const
virtual Double_t coefAnalyticalIntegral(Int_t coef, Int_t code, const char *rangeName=0) const
Default implementation of function implementing advertised integrals.
void initGenerator(Int_t code)
Interface for one-time initialization to setup the generator for the specified code.
void generateEvent(Int_t code)
Generate mix-state dependent.
RooRealIntegral performs hybrid numerical/analytical integrals of RooAbsReal objects The class perfor...
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
Class RooBMixDecay is a RooAbsAnaConvPdf implementation that describes the decay of B mesons with the...
const RooAbsCategory & arg() const
Double_t _genFlavFrac
do not persist
RooCategoryProxy _tagFlav
RooRealVar represents a fundamental (non-derived) real valued object.
RooCategoryProxy _mixState
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...
virtual Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=0) const
cout << "RooBMixDecay::getCoefAI " ; allVars.Print("1") ;
virtual ~RooBMixDecay()
Destructor.
Double_t max(const char *rname=0) const
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...
friend class RooRealIntegral
RooAbsCategory is the common abstract base class for objects that represent a discrete value with a f...
const RooAbsReal & arg() const