File indexing completed on 2025-01-18 10:11:21
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018 #ifndef ROO_DstD0_BG
0019 #define ROO_DstD0_BG
0020
0021 #include "RooAbsPdf.h"
0022 #include "RooRealProxy.h"
0023
0024 class RooRealVar;
0025
0026 class RooDstD0BG : public RooAbsPdf {
0027 public:
0028 RooDstD0BG(){};
0029 RooDstD0BG(const char *name, const char *title, RooAbsReal &_dm, RooAbsReal &_dm0, RooAbsReal &_c, RooAbsReal &_a,
0030 RooAbsReal &_b);
0031
0032 RooDstD0BG(const RooDstD0BG &other, const char *name = nullptr);
0033 TObject *clone(const char *newname) const override { return new RooDstD0BG(*this, newname); }
0034
0035 Int_t getAnalyticalIntegral(RooArgSet &allVars, RooArgSet &analVars, const char *rangeName = nullptr) const override;
0036 double analyticalIntegral(Int_t code, const char *rangeName = nullptr) const override;
0037
0038 protected:
0039 RooRealProxy dm;
0040 RooRealProxy dm0;
0041 RooRealProxy C, A, B;
0042
0043 double evaluate() const override;
0044 void doEval(RooFit::EvalContext &) const override;
0045 inline bool canComputeBatchWithCuda() const override { return true; }
0046
0047 private:
0048 ClassDefOverride(RooDstD0BG, 1)
0049 };
0050
0051 #endif