File indexing completed on 2024-11-15 09:56:39
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 RooArgList ;
0025
0026
0027 class RooEfficiency : public RooAbsPdf {
0028 public:
0029
0030
0031 inline RooEfficiency() {
0032 }
0033 RooEfficiency(const char *name, const char *title, const RooAbsReal& effFunc, const RooAbsCategory& cat, const char* sigCatName);
0034 RooEfficiency(const RooEfficiency& other, const char* name=nullptr);
0035 TObject* clone(const char* newname) const override { return new RooEfficiency(*this,newname); }
0036 ~RooEfficiency() override;
0037
0038 Int_t getAnalyticalIntegral(RooArgSet& allVars, RooArgSet& analVars, const char* rangeName=nullptr) const override ;
0039 double analyticalIntegral(Int_t code, const char* rangeName=nullptr) const override ;
0040
0041 protected:
0042
0043
0044 double evaluate() const override ;
0045 RooCategoryProxy _cat ;
0046 RooRealProxy _effFunc ;
0047 TString _sigCatName ;
0048
0049 ClassDefOverride(RooEfficiency,1)
0050 };
0051
0052 #endif