MCMCIntervalPlot.h

Go to the documentation of this file.
00001 // @(#)root/roostats:$Id: MCMCIntervalPlot.h 34109 2010-06-24 15:00:16Z moneta $
00002 // Authors: Kevin Belasco        17/06/2009
00003 // Authors: Kyle Cranmer         17/06/2009
00004 /*************************************************************************
00005  * Project: RooStats                                                     *
00006  * Package: RooFit/RooStats                                              *
00007  *************************************************************************
00008  * Copyright (C) 1995-2008, Rene Brun and Fons Rademakers.               *
00009  * All rights reserved.                                                  *
00010  *                                                                       *
00011  * For the licensing terms see $ROOTSYS/LICENSE.                         *
00012  * For the list of contributors see $ROOTSYS/README/CREDITS.             *
00013  *************************************************************************/
00014 
00015 #ifndef ROOSTATS_MCMCIntervalPlot
00016 #define ROOSTATS_MCMCIntervalPlot
00017 
00018 #ifndef ROO_PRINTABLE
00019 #include "RooPrintable.h"
00020 #endif
00021 #ifndef ROO_ARG_SET
00022 #include "RooArgSet.h"
00023 #endif
00024 #ifndef ROOT_TNamed
00025 #include "TNamed.h"
00026 #endif
00027 #ifndef ROOT_TH1
00028 #include "TH1.h"
00029 #endif
00030 #ifndef RooStats_MCMCInterval
00031 #include "RooStats/MCMCInterval.h"
00032 #endif
00033 #ifndef ROO_KEYS_PDF
00034 #include "RooNDKeysPdf.h"
00035 #endif
00036 #ifndef ROO_PRODUCT
00037 #include "RooProduct.h"
00038 #endif
00039 
00040 namespace RooStats {
00041 
00042    class MCMCIntervalPlot : public TNamed, public RooPrintable {
00043 
00044    public:
00045       MCMCIntervalPlot();
00046       MCMCIntervalPlot(MCMCInterval& interval);
00047 
00048       // Destructor of SamplingDistribution
00049       virtual ~MCMCIntervalPlot();
00050 
00051       void SetMCMCInterval(MCMCInterval& interval);
00052       void SetLineColor(Color_t color) {fLineColor = color;}
00053       void SetLineWidth(Int_t width) {fLineWidth = width;}
00054       void SetShadeColor(Color_t color) {fShadeColor = color;}
00055       void SetShowBurnIn(Bool_t showBurnIn) { fShowBurnIn = showBurnIn; }
00056 
00057       void Draw(const Option_t* options = NULL);
00058 
00059       void DrawChainScatter(RooRealVar& xVar, RooRealVar& yVar);
00060       void DrawParameterVsTime(RooRealVar& param);
00061       void DrawNLLVsTime();
00062       void DrawNLLHist(const Option_t* options = NULL);
00063       void DrawWeightHist(const Option_t* options = NULL);
00064 
00065    private:
00066 
00067       MCMCInterval *fInterval;
00068       RooArgSet *fParameters;
00069       TH1* fPosteriorHist;
00070       RooNDKeysPdf* fPosteriorKeysPdf;
00071       RooProduct* fPosteriorKeysProduct;
00072       TH1* fNLLHist;
00073       TH1* fWeightHist;
00074       TH1* fPosteriorHistHistCopy;
00075       TH1* fPosteriorHistTFCopy;
00076       Int_t fDimension;
00077       Color_t fLineColor;
00078       Color_t fShadeColor;
00079       Int_t fLineWidth;
00080       Bool_t fShowBurnIn;
00081       TGraph* fWalk;
00082       TGraph* fBurnIn;
00083       TGraph* fFirst;
00084       TGraph* fParamGraph;
00085       TGraph* fNLLGraph;
00086 
00087    protected:
00088       void DrawPosterior(const Option_t* options = NULL);
00089       void* DrawPosteriorHist(const Option_t* options = NULL,
00090             const char* title = NULL, Bool_t scale = kTRUE);
00091       void* DrawPosteriorKeysPdf(const Option_t* options = NULL);
00092       void* DrawPosteriorKeysProduct(const Option_t* options = NULL);
00093 
00094       void DrawInterval(const Option_t* options = NULL);
00095       void DrawShortestInterval(const Option_t* options = NULL);
00096       void DrawHistInterval(const Option_t* options = NULL);
00097       void DrawKeysPdfInterval(const Option_t* options = NULL);
00098       void DrawTailFractionInterval(const Option_t* options = NULL);
00099 
00100       ClassDef(MCMCIntervalPlot,1)  // Class containing the results of the MCMCCalculator
00101    };
00102 }
00103 
00104 #endif

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