Base class for implementing fitting algorithms.
manager * fitMan
The manager.
Base class for MCMC fitting algorithms.
void RunMCMC() override
Actual implementation of MCMC fitting algorithm.
virtual ~MCMCBase()=default
Destructor.
bool anneal
simulated annealing
unsigned int chainLength
number of steps in chain
void AcceptStep()
Accept a step.
double AnnealTemp
simulated annealing temperature
void StartFromPreviousFit(const std::string &FitName) override
Allow to start from previous fit/chain.
void PrintProgress()
Print the progress.
bool out_of_bounds
Do we reject based on hitting boundaries in systs.
virtual double AcceptanceProbability()=0
Step acceptance probability.
bool IsStepAccepted(const double acc_prob)
Is step accepted?
void DoMCMCStep()
The full StartStep->DoStep->EndStep chain.
void PreStepProcess()
Actions before step proposal [start stopwatch].
MCMCBase(manager *const fitMan)
Constructor.
virtual void ProposeStep()=0
Propose a step.
virtual void DoStep()=0
The MCMC step proposal and acceptance.
void PostStepProcess()
Actions after step proposal [end stopwatch, fill tree].
void AdaptiveStep()
Adaptive MCMC step.
void setChainLength(unsigned int L)
Set how long chain should be.
The manager class is responsible for managing configurations and settings.