4 #ifndef ROOSTATS_BATCalculator
5 #define ROOSTATS_BATCalculator
10 #include <RooStats/IntervalCalculator.h>
11 #include <RooStats/SimpleInterval.h>
12 #include <RooStats/ModelConfig.h>
13 #include <RooStats/MCMCInterval.h>
15 #include <RooArgSet.h>
16 #include <RooAbsData.h>
17 #include <RooAbsPdf.h>
19 #include <RooAbsReal.h>
21 #include "BCRooInterface.h"
43 RooArgSet * params = 0,
44 bool fillChain =
false );
49 bool fillChain =
false);
55 RooPlot * GetPosteriorPlot1D()
const;
58 RooAbsPdf * GetPosteriorPdf1D()
const;
59 RooAbsPdf * GetPosteriorPdf1D(
const char * POIname)
const;
62 virtual SimpleInterval * GetInterval1D()
const;
63 virtual SimpleInterval * GetInterval1D(
const char * POIname)
const;
66 SimpleInterval * GetShortestInterval1D()
const;
67 SimpleInterval * GetShortestInterval1D(
const char * POIname,
bool & checkConnected)
const;
70 Double_t GetOneSidedUperLim();
72 virtual void SetData( RooAbsData & data )
73 { fData = &data; ClearAll(); }
75 virtual void SetModel(
const ModelConfig & model );
78 virtual void SetTestSize( Double_t size )
79 { fSize = size; fValidInterval =
false; }
82 void SetLeftSideTailFraction(Double_t leftSideFraction );
85 virtual void SetConfidenceLevel( Double_t cl )
86 { SetTestSize(1.-cl); }
89 virtual Double_t Size()
const
92 double GetLeftSideTailFraction()
93 {
return fLeftSideFraction;}
96 virtual Double_t ConfidenceLevel()
const
99 void SetBrfPrecision(
double precision )
100 { fBrfPrecision = precision; }
102 double GetBrfPrecision()
103 {
return fBrfPrecision; }
106 void SetnMCMC(
int nMCMC)
114 {
return _myRooInterface; }
116 RooStats::MarkovChain * GetRooStatsMarkovChain()
const
120 virtual MCMCInterval* GetInterval()
const;
124 {
return fConnectedInterval; }
127 std::vector<double> GetIntervalBorders1D()
128 {
return _intervalBorders1D; }
133 void SetNumBins(
const char * parname,
int nbins);
136 void SetNumBins(
int nbins);
141 void CleanCalculatorForNewData()
146 void ClearAll()
const;
152 RooArgSet * GetMode( RooArgSet * parameters )
const;
158 const RooArgSet fPOI;
160 const RooArgSet * fparams;
162 mutable TH1D * _posteriorTH1D;
165 mutable RooAbsPdf * fProductPdf;
166 mutable RooAbsReal * fLogLike;
167 mutable RooAbsReal * fLikelihood;
168 mutable RooAbsReal * fIntegratedLikelihood;
169 mutable RooAbsPdf * fPosteriorPdf;
170 mutable Double_t fLower;
171 mutable Double_t fUpper;
172 double fBrfPrecision;
173 mutable Bool_t fValidInterval;
174 mutable Bool_t fValidMCMCInterval;
175 mutable bool fConnectedInterval;
179 double fLeftSideFraction;
180 mutable std::vector<double> _intervalBorders1D;
188 bool sortbyposterior(std::pair< Int_t,Double_t > pair1, std::pair< Int_t,Double_t > pair2);
RooStats::MarkovChain * GetRooStatsMarkovChain()
return the RooStats Markov Chain (empty if corresponding constructor option not set) ...