ROOT   Reference Guide
ConfInterval.h
Go to the documentation of this file.
1// @(#)root/roostats:$Id$
2// Author: Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke
3/*************************************************************************
6 * *
7 * For the licensing terms see $ROOTSYS/LICENSE. * 8 * For the list of contributors see$ROOTSYS/README/CREDITS. *
9 *************************************************************************/
10
11#ifndef ROOSTATS_ConfInterval
12#define ROOSTATS_ConfInterval
13
14#include "TNamed.h"
15
16#include "RooArgSet.h"
17
18namespace RooStats {
19
20
21/** \class ConfInterval
22 \ingroup Roostats
23
24ConfInterval is an interface class for a generic interval in the RooStats framework.
25Any tool inheriting from IntervalCalculator can return a ConfInterval.
26There are many types of intervals, they may be a simple range [a,b] in 1 dimension,
27or they may be disconnected regions in multiple dimensions.
28So the common interface is simply to ask the interval if a given point "IsInInterval".
29The Interval also knows what confidence level it was constructed at and the space of
30parameters for which it was constructed.
31Note, one could use the same class for a Bayesian "credible interval".
32
33*/
34
35 class ConfInterval : public TNamed {
36
37 public:
38
39 /// constructor given name and title
40 explicit ConfInterval(const char *name = nullptr) : TNamed(name,name) {}
41
42 /// destructor
43 ~ConfInterval() override {}
44
45 /// operator=
47 if (&other==this) { return *this; }
48 TNamed::operator=(other);
49 return *this;
50 }
51
52 /// check if given point is in the interval
53 virtual bool IsInInterval(const RooArgSet&) const = 0;
54
55 /// used to set confidence level. Keep pure virtual
56 virtual void SetConfidenceLevel(double cl) = 0;
57
58 /// return confidence level
59 virtual double ConfidenceLevel() const = 0;
60
61 /// return list of parameters of interest defining this interval (return a new cloned list)
62 virtual RooArgSet* GetParameters() const = 0;
63
64 /// check if parameters are correct (i.e. they are the POI of this interval)
65 virtual bool CheckParameters(const RooArgSet&) const = 0;
66
67
68 protected:
69
70 ClassDefOverride(ConfInterval,1) // Interface for Confidence Intervals
71
72 };
73}
74
75
76#endif
#define ClassDefOverride(name, id)
Definition: Rtypes.h:339
char name[80]
Definition: TGX11.cxx:110
RooArgSet is a container object that can hold multiple RooAbsArg objects.
Definition: RooArgSet.h:56
ConfInterval is an interface class for a generic interval in the RooStats framework.
Definition: ConfInterval.h:35
virtual double ConfidenceLevel() const =0
return confidence level
virtual bool IsInInterval(const RooArgSet &) const =0
check if given point is in the interval
~ConfInterval() override
destructor
Definition: ConfInterval.h:43
ConfInterval & operator=(const ConfInterval &other)
operator=
Definition: ConfInterval.h:46
virtual bool CheckParameters(const RooArgSet &) const =0
check if parameters are correct (i.e. they are the POI of this interval)
virtual void SetConfidenceLevel(double cl)=0
used to set confidence level. Keep pure virtual
virtual RooArgSet * GetParameters() const =0
return list of parameters of interest defining this interval (return a new cloned list)
ConfInterval(const char *name=nullptr)
constructor given name and title
Definition: ConfInterval.h:40
The TNamed class is the base class for all named ROOT classes.
Definition: TNamed.h:29
TNamed & operator=(const TNamed &rhs)
TNamed assignment operator.
Definition: TNamed.cxx:51
Namespace for the RooStats classes.
Definition: Asimov.h:19