File indexing completed on 2025-09-18 09:32:55
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012 #ifndef ROO_EFF_PROD
0013 #define ROO_EFF_PROD
0014
0015 #include "RooAbsPdf.h"
0016 #include "RooRealProxy.h"
0017 #include "RooObjCacheManager.h"
0018
0019 class RooEffProd: public RooAbsPdf {
0020 public:
0021
0022 RooEffProd() {}
0023 RooEffProd(const char *name, const char *title, RooAbsPdf& pdf, RooAbsReal& efficiency);
0024 RooEffProd(const RooEffProd& other, const char* name=nullptr);
0025
0026 TObject* clone(const char* newname=nullptr) const override { return new RooEffProd(*this,newname); }
0027
0028 RooAbsGenContext* genContext(const RooArgSet &vars, const RooDataSet *prototype,
0029 const RooArgSet* auxProto, bool verbose) const override;
0030
0031 RooAbsReal const& pdf() const { return *_pdf; }
0032 RooAbsReal const& eff() const { return *_eff; }
0033
0034 protected:
0035
0036
0037 double evaluate() const override ;
0038
0039 RooRealProxy _pdf ;
0040 RooRealProxy _eff;
0041
0042 ClassDefOverride(RooEffProd,2)
0043 };
0044
0045 #endif