45 debugFile <<
"LLH after " <<
systematics[s]->GetName() <<
" " << llh << std::endl;
58 double multicanonical_penalty =
multicanonicalHandler->GetMulticanonicalWeight(delta_cp_value, delm23_value);
62 if (debug) debugFile <<
" delta_cp: " << delta_cp_value <<
" delm23: " << delm23_value <<
" multicanonical_penalty: " << multicanonical_penalty << std::endl;
65 llh += multicanonical_penalty;
68 MACH3LOG_DEBUG(
"Multicanonical penalty: {}", multicanonical_penalty);
79 debugFile <<
"Rejecting based on boundary" << std::endl;
89 for (
size_t i = 0; i <
samples.size(); ++i)
95 for (
size_t i = 0; i <
samples.size(); ++i)
102 debugFile <<
"LLH after sample " << i <<
" " << llh << std::endl;
110 for (
size_t i = 0; i <
samples.size(); ++i)
116 debugFile <<
"LLH after REJECT sample " << i <<
" " << llh << std::endl;
129 double acc_prob = 0.0;
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
std::vector< SampleHandlerInterface * > samples
Sample holder.
double logLCurr
current likelihood
std::vector< double > syst_llh
systematic llh breakdowns
std::vector< ParameterHandlerBase * > systematics
Systematic holder.
Base class for MCMC fitting algorithms.
std::unique_ptr< MulticanonicalMCMCHandler > multicanonicalHandler
multicanonical handler for umbrella sampling
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?
bool multicanonical
multi-canonical method toggle on/off
MR2T2(Manager *const FitManager)
Constructor.
void ProposeStep() final
Propose a step.
double AcceptanceProbability() override
Step acceptance probability.
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...