Logo ROOT   6.30.04
Reference Guide
 All Namespaces Files Pages
LikelihoodIntervalPlot.h
Go to the documentation of this file.
1 // @(#)root/roostats:$Id$
2 
3 /*************************************************************************
4  * Project: RooStats *
5  * Package: RooFit/RooStats *
6  * Authors: *
7  * Kyle Cranmer, Lorenzo Moneta, Gregory Schott, Wouter Verkerke *
8  *************************************************************************
9  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers. *
10  * All rights reserved. *
11  * *
12  * For the licensing terms see $ROOTSYS/LICENSE. *
13  * For the list of contributors see $ROOTSYS/README/CREDITS. *
14  *************************************************************************/
15 
16 #ifndef ROOSTATS_LikelihoodIntervalPlot
17 #define ROOSTATS_LikelihoodIntervalPlot
18 
19 #include "RooPrintable.h"
20 #include "RooArgSet.h"
21 
22 #include "TNamed.h"
23 
24 #include "TH2F.h"
25 
27 
28 namespace RooStats {
29 
30  class LikelihoodIntervalPlot : public TNamed, public RooPrintable {
31 
32  public:
33  LikelihoodIntervalPlot();
34 
35  LikelihoodIntervalPlot(LikelihoodInterval* theInterval);
36 
37  /// Destructor of SamplingDistribution
38  virtual ~LikelihoodIntervalPlot();
39 
40 
41  /// returned plotted object (RooPlot or histograms)
42  TObject * GetPlottedObject() const { return fPlotObject; }
43 
44  void SetLikelihoodInterval(LikelihoodInterval* theInterval);
45  void SetPlotParameters(const RooArgSet *params) ;
46 
47 
48  /// set plot range (for 1D plot)
49  void SetRange(double x1, double x2) { fXmin = x1; fXmax = x2; }
50  /// set plot range (for 2D plot)
51  void SetRange(double x1, double y1, double x2, double y2) {
52  fXmin = x1; fXmax = x2;
53  fYmin = y1; fYmax = y2;
54  }
55 
56  ///set plot precision (when drawing a RooPlot)
57  void SetPrecision(double eps) { fPrecision = eps; }
58  /// set the line color for the 1D interval lines or contours (2D)
59  void SetLineColor(const Color_t color) {fLineColor = color;}
60  /// set the fill contour color
61  void SetFillStyle(const Style_t style) {fFillStyle = style;}
62  /// set the fill contour color
63  void SetContourColor(const Color_t color) {fColor = color;}
64  void SetMaximum(const Double_t theMaximum) {fMaximum = theMaximum;}
65  void SetNPoints(Int_t np) { fNPoints = np; }
66 
67 
68  /// draw the likelihood interval or contour
69  /// for the 1D case a RooPlot is drawn by default of the profiled Log-Likelihood ratio
70  /// if option "TF1" is used the objects is drawn using a TF1 scanning the LL function in a
71  /// grid of the setetd points (by default
72  /// the TF1 can be costumized by setting maximum and the number of points to scan
73  void Draw(const Option_t *options=0);
74 
75  private:
76 
77  Color_t fColor; /// color for the contour (for 2D) or function (in 1D)
78  Style_t fFillStyle; /// fill style for contours
79  Color_t fLineColor; /// line color for the interval (1D) or for other contours (2D)
80  Int_t fNdimPlot;
81  Int_t fNPoints; /// number of points used to scan the PL
82 
83  Double_t fMaximum; /// function maximum
84  // ranges for plots
85  Double_t fXmin;
86  Double_t fXmax;
87  Double_t fYmin;
88  Double_t fYmax;
89  Double_t fPrecision; /// RooCurve precision
90 
91  LikelihoodInterval *fInterval;
92 
93  RooArgSet *fParamsPlot;
94  TObject * fPlotObject; /// plotted object
95 
96 
97  protected:
98 
99  ClassDef(LikelihoodIntervalPlot,2) /// Class containing the results of the IntervalCalculator
100  };
101 }
102 
103 #endif