ConfInterval.h

Go to the documentation of this file.
00001 // @(#)root/roostats:$Id: ConfInterval.h 31276 2009-11-18 15:06:42Z moneta $
00002 // Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
00003 /*************************************************************************
00004  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
00005  * All rights reserved.                                                  *
00006  *                                                                       *
00007  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00008  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00009  *************************************************************************/
00010 
00011 #ifndef ROOSTATS_ConfInterval
00012 #define ROOSTATS_ConfInterval
00013 
00014 #ifndef ROOT_TNamed
00015 #include "TNamed.h"
00016 #endif
00017 
00018 #ifndef ROO_ARG_SET
00019 #include "RooArgSet.h"
00020 #endif
00021 
00022 //_________________________________________________________________
00023 //
00024 // BEGIN_HTML
00025 // ConfInterval is an interface class for a generic interval in the RooStats framework.
00026 // Any tool inheriting from IntervalCalculator can return a ConfInterval.
00027 // There are many types of intervals, they may be a simple range [a,b] in 1 dimension,
00028 // or they may be disconnected regions in multiple dimensions.
00029 // So the common interface is simply to ask the interval if a given point "IsInInterval".
00030 // The Interval also knows what confidence level it was constructed at and the space of 
00031 // parameters for which it was constructed.
00032 // Note, one could use the same class for a Bayesian "credible interval".
00033 // END_HTML
00034 //
00035 //
00036 
00037 
00038 namespace RooStats {
00039 
00040    class ConfInterval : public TNamed {
00041 
00042    public:
00043 
00044       // constructor given name and title 
00045       explicit ConfInterval(const char* name = 0) : TNamed(name,name) {} 
00046 
00047       // destructor
00048       virtual ~ConfInterval() {}
00049     
00050       // check if given point is in the interval
00051       virtual Bool_t IsInInterval(const RooArgSet&) const = 0; 
00052     
00053       // used to set confidence level.  Keep pure virtual
00054       virtual void SetConfidenceLevel(Double_t cl) = 0;
00055 
00056       // return confidence level
00057       virtual Double_t ConfidenceLevel() const = 0;
00058 
00059       // return list of parameters of interest defining this interval (return a new cloned list)
00060       virtual RooArgSet* GetParameters() const = 0;
00061 
00062       // check if parameters are correct (i.e. they are the POI of this interval)
00063       virtual Bool_t CheckParameters(const RooArgSet&) const = 0;
00064 
00065 
00066    protected:
00067 
00068       ClassDef(ConfInterval,1) // Interface for Confidence Intervals
00069 
00070    };
00071 }
00072 
00073 
00074 #endif

Generated on Tue Jul 5 14:26:21 2011 for ROOT_528-00b_version by  doxygen 1.5.1