Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-09-18 09:32:55

0001 /*
0002  * Project: RooFit
0003  *
0004  * Copyright (c) 2023, CERN
0005  *
0006  * Redistribution and use in source and binary forms,
0007  * with or without modification, are permitted according to the terms
0008  * listed in LICENSE (http://roofit.sourceforge.net/license.txt)
0009  */
0010 
0011 #ifndef ROOEXTENDEDBINDING
0012 #define ROOEXTENDEDBINDING
0013 
0014 #include <RooAbsPdf.h>
0015 #include <RooAbsReal.h>
0016 #include <RooRealProxy.h>
0017 #include <RooSetProxy.h>
0018 
0019 class RooExtendedBinding : public RooAbsReal {
0020 public:
0021    RooExtendedBinding() {}
0022    RooExtendedBinding(const char *name, const char *title, RooAbsPdf &_pdf);
0023    RooExtendedBinding(const char *name, const char *title, RooAbsPdf &_pdf, const RooArgSet &_obs);
0024    RooExtendedBinding(const RooExtendedBinding &other, const char *name = nullptr);
0025    TObject *clone(const char *newname = nullptr) const override { return new RooExtendedBinding(*this, newname); }
0026 
0027    double evaluate() const override;
0028 
0029 private:
0030    RooRealProxy pdf;
0031    std::unique_ptr<RooSetProxy> _obsList;
0032 
0033    ClassDefOverride(RooExtendedBinding, 2);
0034 };
0035 
0036 #endif