File indexing completed on 2025-09-15 09:12:18
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=nullptr) 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
0037 RooAbsCategory const& cat() const { return *_cat; }
0038 RooAbsReal const& effFunc() const { return *_effFunc; }
0039 std::string sigCatName() const { return _sigCatName.Data(); }
0040
0041 protected:
0042
0043
0044 double evaluate() const override ;
0045
0046 RooCategoryProxy _cat ;
0047 RooRealProxy _effFunc ;
0048 TString _sigCatName ;
0049
0050 ClassDefOverride(RooEfficiency,1)
0051 };
0052
0053 #endif