Back to home page

EIC code displayed by LXR

 
 

    


File indexing completed on 2025-12-16 10:29:45

0001 // @(#)root/roostats:$Id$
0002 // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
0003 /*************************************************************************
0004  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
0005  * All rights reserved.                                                  *
0006  *                                                                       *
0007  * For the licensing terms see $ROOTSYS/LICENSE.                         *
0008  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
0009  *************************************************************************/
0010 
0011 #ifndef RooStats_PointSetInterval
0012 #define RooStats_PointSetInterval
0013 
0014 #include "RooArgSet.h"
0015 #include "RooAbsData.h"
0016 #include "RooStats/ConfInterval.h"
0017 
0018 
0019 namespace RooStats {
0020 
0021  class PointSetInterval : public ConfInterval {
0022 
0023   public:
0024 
0025      /// default constructors
0026     explicit PointSetInterval(const char *name = nullptr);
0027 
0028     /// constructor from name and data set specifying the interval points
0029     PointSetInterval(const char* name, RooAbsData&);
0030 
0031     /// check if parameter is in the interval
0032     bool IsInInterval(const RooArgSet&) const override;
0033 
0034     /// set the confidence level for the interval
0035     void SetConfidenceLevel(double cl) override {fConfidenceLevel = cl;}
0036 
0037     /// return the confidence level for the interval
0038     double ConfidenceLevel() const override {return fConfidenceLevel;}
0039 
0040     // Method to return lower limit on a given parameter
0041     // double LowerLimit(RooRealVar& param) ; // could provide, but misleading?
0042     // double UpperLimit(RooRealVar& param) ; // could provide, but misleading?
0043 
0044     /// return a cloned list with the parameter of interest
0045     RooArgSet* GetParameters() const override;
0046 
0047     /// return a copy of the data set (points) defining this interval
0048     RooAbsData* GetParameterPoints() const {return (RooAbsData*)fParameterPointsInInterval->Clone();}
0049 
0050     /// return a cloned list with the parameter of interest
0051     bool CheckParameters(const RooArgSet&) const override ;
0052 
0053     /// return lower limit on a given parameter
0054     double LowerLimit(RooRealVar& param) ;
0055 
0056     /// return upper limit on a given parameter
0057     double UpperLimit(RooRealVar& param) ;
0058 
0059 
0060   protected:
0061 
0062     ClassDefOverride(PointSetInterval,1)  // Concrete implementation of ConfInterval for simple 1-D intervals in the form [a,b]
0063 
0064   private:
0065 
0066     double fConfidenceLevel;              ///< confidence level
0067     RooAbsData* fParameterPointsInInterval; ///< either a histogram (RooDataHist) or a tree (RooDataSet)
0068 
0069 
0070   };
0071 }
0072 
0073 #endif