47     dm(
"dm", 
"Dstar-D0 Mass Diff", 
this, _dm),
 
   49     C(
"C", 
"Shape Parameter", 
this, _c),
 
   50     A(
"A", 
"Shape Parameter 2", 
this, _a),
 
   51     B(
"B", 
"Shape Parameter 3", 
this, 
_b)
 
 
   71   double arg = 
dm - 
dm0;
 
   74   double ratio = 
dm / 
dm0;
 
   75   double val = (1 - std::exp(-arg / 
C)) * std::pow(ratio, 
A) + 
B * (ratio - 1);
 
   77   return (val > 0 ? val : 0);
 
 
   85          {ctx.at(dm), ctx.at(dm0), ctx.at(C), ctx.at(A), ctx.at(B)});
 
 
ROOT::Detail::TRangeCast< T, true > TRangeDynCast
TRangeDynCast is an adapter class that allows the typed iteration through a TCollection.
Abstract interface for all probability density functions.
Abstract base class for objects that represent a real value and implements functionality common to al...
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Special p.d.f shape that can be used to model the background of D*-D0 mass difference distributions.
double evaluate() const override
Evaluate this PDF / function / constant. Needs to be overridden by all derived classes.
Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName=nullptr) const override
if (matchArgs(allVars,analVars,dm)) return 1 ;
void doEval(RooFit::EvalContext &) const override
Compute multiple values of D*-D0 mass difference distribution.
double analyticalIntegral(Int_t code, const char *rangeName=nullptr) const override
Implements the actual analytical integral(s) advertised by getAnalyticalIntegral.
std::span< double > output()
RooBatchCompute::Config config(RooAbsArg const *arg) const
void compute(Config cfg, Computer comp, std::span< double > output, VarSpan vars, ArgSpan extraArgs={})