60 _mistag(
"mistag",
"Mistag rate",this,mistag),
61 _delMistag(
"delMistag",
"Delta mistag rate",this,delMistag),
62 _mixState(
"mixState",
"Mixing state",this,mixState),
63 _tagFlav(
"tagFlav",
"Flavour of tagged B0",this,tagFlav),
64 _tau(
"tau",
"Mixing life time",this,tau),
65 _dm(
"dm",
"Mixing frequency",this,dm),
66 _t(
"_t",
"time",this,t), _genMixFrac(0)
90 _mistag(
"mistag",this,other._mistag),
91 _delMistag(
"delMistag",this,other._delMistag),
92 _mixState(
"mixState",this,other._mixState),
93 _tagFlav(
"tagFlav",this,other._tagFlav),
94 _tau(
"tau",this,other._tau),
95 _dm(
"dm",this,other._dm),
96 _t(
"t",this,other._t),
97 _basisExp(other._basisExp),
98 _basisCos(other._basisCos),
99 _genMixFrac(other._genMixFrac),
100 _genFlavFrac(other._genFlavFrac),
101 _genFlavFracMix(other._genFlavFracMix),
102 _genFlavFracUnmix(other._genFlavFracUnmix)
125 {ctx.at(&_convSet[0]), ctx.at(&_convSet[1]), ctx.at(_tagFlav),
126 ctx.at(_delMistag), ctx.at(_mixState), ctx.at(_mistag)});
199 if (
matchArgs(directVars,generateVars,
_t))
return 1 ;
284 tval = -
_tau*log(rand);
287 tval= +
_tau*log(rand);
290 tval = (rand<=0.5) ? -
_tau*log(2*rand) : +
_tau*log(2*(rand-0.5)) ;
296 double maxAcceptProb = 1 + std::abs(
_delMistag) + std::abs(dil) ;
300 if (tval<
_t.
max() && tval>
_t.
min() && mixAccept) {
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.
A space to attach TBranches.
Abstract base class for objects that represent a real value and implements functionality common to al...
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
bool matchArgs(const RooArgSet &allDeps, RooArgSet &numDeps, const RooArgProxy &a) const
Utility function for use in getAnalyticalIntegral().
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Class RooBMixDecay is a RooAbsAnaConvPdf implementation that describes the decay of B mesons with the...
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 doEval(RooFit::EvalContext &) const override
Base function for computing multiple values of a RooAbsReal.
void initGenerator(Int_t code) override
Interface for one-time initialization to setup the generator for the specified code.
void generateEvent(Int_t code) override
Generate mix-state dependent.
RooCategoryProxy _mixState
Int_t getCoefAnalyticalIntegral(Int_t coef, RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const override
cout << "RooBMixDecay::getCoefAI " ; allVars.Print("1") ;
double coefficient(Int_t basisIndex) const override
Comp with tFit MC: must be (1 - tagFlav*...)
double _genFlavFrac
do not persist
RooCategoryProxy _tagFlav
std::span< double > output()
RooBatchCompute::Config config(RooAbsArg const *arg) const
static double uniform(TRandom *generator=randomGenerator())
Return a number uniformly distributed from (0,1)
Performs hybrid numerical/analytical integrals of RooAbsReal objects.
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.
void compute(Config cfg, Computer comp, std::span< double > output, VarSpan vars, ArgSpan extraArgs={})