Class Acts::AnnealingUtility

class AnnealingUtility

Implements a deterministic thermodynamic annealing scheme Ref.

(1): CERN-THESIS-2010-027

Public Functions

inline AnnealingUtility(const Config &cfg = Config())

Constructor.

void anneal(State &state) const

Does the actual annealing step.

double getWeight(State &state, double chi2) const

Weight access.

Parameters
  • state – The state object

  • chi2 – Chi^2

Returns

Calculated weight

double getWeight(State &state, double chi2, const std::vector<double> &allChi2) const

Weight access.

Parameters
  • state – The state object

  • chi2 – Chi^2 for e.g. current track, i.e. compatibility of track to current vertex candidate

  • allChi2 – Vector of all chi^2 values, i.e. e.g. compatibilities of current track to all vertices it is currently attached to

Returns

Calculated weight according to Eq.(5.46) in Ref.(1)

struct Config

The configuration struct.

Public Functions

Config()

Public Members

double cutOff = {9.}
std::vector<double> setOfTemperatures = {64., 16., 4., 2., 1.5, 1.}
struct State

The annealing state Resetting the state is done by just creating a new instance.

Public Members

unsigned int currentTemperatureIndex = {0}
bool equilibriumReached = {false}