File indexing completed on 2025-07-05 09:08:38
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016 #ifndef ROO_EFFICIENCY
0017 #define ROO_EFFICIENCY
0018
0019 #include "RooAbsPdf.h"
0020 #include "RooCategoryProxy.h"
0021 #include "RooRealProxy.h"
0022 #include "TString.h"
0023
0024 class RooEfficiency : public RooAbsPdf {
0025 public:
0026
0027
0028 inline RooEfficiency() {
0029 }
0030 RooEfficiency(const char *name, const char *title, const RooAbsReal& effFunc, const RooAbsCategory& cat, const char* sigCatName);
0031 RooEfficiency(const RooEfficiency& other, const char* name=nullptr);
0032 TObject* clone(const char* newname) const override { return new RooEfficiency(*this,newname); }
0033
0034 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=nullptr) const override ;
0035 double analyticalIntegral(Int_t code, const char* rangeName=nullptr) const override ;
0036 void translate(RooFit::Detail::CodeSquashContext &ctx) const override;
0037 std::string
0038 buildCallToAnalyticIntegral(Int_t code, const char *rangeName, RooFit::Detail::CodeSquashContext &ctx) const override;
0039
0040 protected:
0041
0042
0043 double evaluate() const override ;
0044 RooCategoryProxy _cat ;
0045 RooRealProxy _effFunc ;
0046 TString _sigCatName ;
0047
0048 ClassDefOverride(RooEfficiency,1)
0049 };
0050
0051 #endif