Class Acts::AnnealingUtility

class Acts::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 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)

double getWeight(State &state, double chi2) const

Weight access.

Parameters
  • state – The state object

  • chi2 – Chi^2

Returns

Calculated weight

struct Config

The configuration struct.

Public Functions

inline Config(const std::vector<double> &temperatures = {64., 16., 4., 2., 1.5, 1.})

Public Members

double cutOff = {9.}
std::vector<double> setOfTemperatures
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}