File indexing completed on 2025-10-30 08:55:32
0001 
0002 
0003 
0004 
0005 
0006 
0007 
0008 
0009 
0010 
0011 #ifndef ROOTFNPDFBINDING
0012 #define ROOTFNPDFBINDING
0013 
0014 #include "RooListProxy.h"
0015 #include "RooAbsPdf.h"
0016 class TF1 ;
0017 class TF2 ;
0018 class TF3 ;
0019 
0020 class RooTFnPdfBinding : public RooAbsPdf {
0021 public:
0022   RooTFnPdfBinding() = default;
0023   RooTFnPdfBinding(const char *name, const char *title, TF1* func, const RooArgList& list);
0024   RooTFnPdfBinding(const RooTFnPdfBinding& other, const char* name=nullptr) ;
0025   TObject* clone(const char* newname=nullptr) const override { return new RooTFnPdfBinding(*this,newname); }
0026 
0027   void printArgs(std::ostream& os) const override ;
0028 
0029 protected:
0030 
0031   RooListProxy _list ;
0032   TF1* _func = nullptr;
0033 
0034   double evaluate() const override ;
0035 
0036 private:
0037 
0038   ClassDefOverride(RooTFnPdfBinding,1) 
0039 };
0040 
0041 
0042 namespace RooFit {
0043 
0044 RooAbsPdf* bindPdf(TF1* func,RooAbsReal& x) ;
0045 RooAbsPdf* bindPdf(TF2* func,RooAbsReal& x, RooAbsReal& y) ;
0046 RooAbsPdf* bindPdf(TF3* func,RooAbsReal& x, RooAbsReal& y, RooAbsReal& z) ;
0047 
0048 }
0049 
0050 
0051 #endif