59 _mistag(
"mistag",
"Mistag rate",this,mistag),
60 _delMistag(
"delMistag",
"Delta mistag rate",this,delMistag),
61 _mixState(
"mixState",
"Mixing state",this,mixState),
62 _tagFlav(
"tagFlav",
"Flavour of tagged B0",this,tagFlav),
63 _tau(
"tau",
"Mixing life time",this,tau),
64 _dm(
"dm",
"Mixing frequency",this,dm),
95 _t(
"t",this,other.
_t),
124 {ctx.at(&_convSet[0]), ctx.at(&_convSet[1]), ctx.at(_tagFlav),
125 ctx.at(_delMistag), ctx.at(_mixState), ctx.at(_mistag)});
198 if (
matchArgs(directVars,generateVars,
_t))
return 1 ;
283 tval = -
_tau*log(rand);
286 tval= +
_tau*log(rand);
289 tval = (rand<=0.5) ? -
_tau*log(2*rand) : +
_tau*log(2*(rand-0.5)) ;
295 double maxAcceptProb = 1 + std::abs(
_delMistag) + std::abs(dil) ;
299 if (tval<
_t.max() && tval>
_t.min() && mixAccept) {
int Int_t
Signed integer 4 bytes (int).
RooAbsAnaConvPdf()
Default constructor, required for persistence.
Int_t declareBasis(const char *expression, const RooArgList ¶ms)
Declare a basis function for use in this physics model.
friend class RooRealIntegral
A space to attach TBranches.
double getVal(const RooArgSet *normalisationSet=nullptr) const
Evaluate object.
bool matchArgs(const RooArgSet &allDeps, RooArgSet &analDeps, const RooArgProxy &a, const Proxies &... proxies) const
RooArgList is a container object that can hold multiple RooAbsArg objects.
RooArgSet is a container object that can hold multiple RooAbsArg objects.
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 _genMixFrac
! do not persist
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
std::cout << "RooBMixDecay::getCoefAI " ; allVars.Print("1") ;
double coefficient(Int_t basisIndex) const override
Comp with tFit MC: must be (1 - tagFlav*...).
double _genFlavFracUnmix
!
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...
void compute(Config cfg, Computer comp, std::span< double > output, VarSpan vars, ArgSpan extraArgs={})