1 #ifndef __BCROOINTERFACE__H 2 #define __BCROOINTERFACE__H 4 #include "../../BAT/BCModel.h" 6 #include <RooStats/MarkovChain.h> 7 #include <RooRealVar.h> 34 BCRooInterface(
const std::string& name =
"",
bool fillChain =
false );
42 void DefineParameters();
47 void Initialize( RooAbsData& data,
51 const RooArgSet* params,
52 const RooArgSet& listPOI );
54 void Initialize(
const char* rootFile,
55 const char* wsName =
"batWS",
56 const char* dataName =
"data",
57 const char* modelName =
"model",
58 const char* priorName =
"priorPOI",
59 const char* priorNuisanceName =
"priorNuisance",
60 const char* paramsName =
"parameters",
61 const char* listPOIName =
"POI" );
65 void SetNumBins(
const char* parname,
int nbins);
75 RooArgSet* GetArgSetForMarkovChain() {
return &_parametersForMarkovChainCurrent;}
79 void AddToCurrentChainElement(
double xij,
int chainNum,
int poiNum);
80 bool EqualsLastChainElement(
int chainNum);
81 double GetWeightForChain(
int chainNum);
87 RooArgList* fParamsPOI;
91 RooRealVar* priorhelpvar;
92 bool _addeddummyprior;
95 bool fFirstComparison;
96 RooStats::MarkovChain* _roostatsMarkovChain;
97 RooArgSet _parametersForMarkovChainPrevious;
98 RooArgSet _parametersForMarkovChainCurrent;
100 std::vector< std::vector<double> > fPreviousStep;
101 std::vector< std::vector<double> > fCurrentStep;
102 std::vector< double > fVecWeights;
104 std::list< std::pair<const char*, int> > _nbins_list;
void SetupRooStatsMarkovChain()
setup RooStats Markov Chain
Interface allowing to run BAT on a problem/data defined in a standard RooFit workspace format...
void MCMCIterationInterface()
overloaded function from BCIntegrate to fill RooStats Markov Chain with every accepted step ...
void SetNumBins(const char *parname, int nbins)
set the number of histogram bins for a specific parameter
The base class for all user-defined models.
double LogLikelihood(const std::vector< double > ¶meters)
Calculates natural logarithm of the likelihood.
double LogAPrioriProbability(const std::vector< double > ¶meters)
Returns natural logarithm of the prior probability.
RooStats::MarkovChain * GetRooStatsMarkovChain()
return the RooStats Markov Chain (empty if corresponding constructor option not set) ...