11 #ifndef RooStats_LikelihoodInterval
12 #define RooStats_LikelihoodInterval
33 class LikelihoodInterval :
public ConfInterval {
38 explicit LikelihoodInterval(
const char* name = 0);
42 LikelihoodInterval(
const char* name, RooAbsReal*,
const RooArgSet*, RooArgSet * = 0);
45 virtual ~LikelihoodInterval();
48 virtual Bool_t IsInInterval(
const RooArgSet&)
const;
51 virtual void SetConfidenceLevel(Double_t cl) {fConfidenceLevel = cl; ResetLimits(); }
54 virtual Double_t ConfidenceLevel()
const {
return fConfidenceLevel;}
57 virtual RooArgSet* GetParameters()
const;
60 Bool_t CheckParameters(
const RooArgSet&)
const ;
64 Double_t LowerLimit(
const RooRealVar& param) {
bool ok;
return LowerLimit(param,ok); }
65 Double_t LowerLimit(
const RooRealVar& param,
bool & status) ;
68 Double_t UpperLimit(
const RooRealVar& param) {
bool ok;
return UpperLimit(param,ok); }
69 Double_t UpperLimit(
const RooRealVar& param,
bool & status) ;
73 Bool_t FindLimits(
const RooRealVar & param,
double & lower,
double &upper);
80 Int_t GetContourPoints(
const RooRealVar & paramX,
const RooRealVar & paramY, Double_t * x, Double_t *y, Int_t npoints = 30);
83 RooAbsReal* GetLikelihoodRatio() {
return fLikelihoodRatio;}
86 const RooArgSet * GetBestFitParameters()
const {
return fBestFitParams; }
94 bool CreateMinimizer();
98 RooArgSet fParameters;
99 RooArgSet * fBestFitParams;
100 RooAbsReal* fLikelihoodRatio;
101 Double_t fConfidenceLevel;
102 std::map<std::string, double> fLowerLimits;
103 std::map<std::string, double> fUpperLimits;
104 std::shared_ptr<ROOT::Math::Minimizer > fMinimizer;
105 std::shared_ptr<RooFunctor> fFunctor;
106 std::shared_ptr<ROOT::Math::IMultiGenFunction> fMinFunc;
108 ClassDef(LikelihoodInterval,1)