45 debugFile <<
"LLH after " <<
systematics[s]->GetName() <<
" " << llh << std::endl;
56 debugFile <<
"Rejecting based on boundary" << std::endl;
66 for (
size_t i = 0; i <
samples.size(); ++i)
72 for (
size_t i = 0; i <
samples.size(); ++i)
79 debugFile <<
"LLH after sample " << i <<
" " << llh << std::endl;
87 for (
size_t i = 0; i <
samples.size(); ++i)
93 debugFile <<
"LLH after REJECT sample " << i <<
" " << llh << std::endl;
106 double acc_prob = 0.0;
MaCh3Plotting::PlottingManager * man
std::vector< SampleHandlerBase * > samples
Sample holder.
double logLProp
proposed likelihood
unsigned int step
current state
double accProb
current acceptance prob
std::string AlgorithmName
Name of fitting algorithm that is being used.
std::vector< double > sample_llh
store the llh breakdowns
double logLCurr
current likelihood
std::vector< double > syst_llh
systematic llh breakdowns
std::vector< ParameterHandlerBase * > systematics
Systematic holder.
Base class for MCMC fitting algorithms.
bool anneal
simulated annealing
void AcceptStep()
Accept a step.
double AnnealTemp
simulated annealing temperature
bool out_of_bounds
Do we reject based on hitting boundaries in systs.
bool IsStepAccepted(const double acc_prob)
Is step accepted?
void ProposeStep() override
Propose a step.
double AcceptanceProbability() override
Step acceptance probability.
MR2T2(manager *const manager)
Constructor.
void DoStep() override
The MCMC step proposal and acceptance.
The manager class is responsible for managing configurations and settings.
constexpr static const double _LARGE_LOGL_
Large Likelihood is used it parameter go out of physical boundary, this indicates in MCMC that such s...