Class AnnealingUtility

Nested Relationships

Nested Types

Class Documentation

class Acts::AnnealingUtility

Implements a deterministic thermodynamic annealing scheme Ref.

(1): CERN-THESIS-2010-027

Public Functions

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.

Return

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

Parameters
  • 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

double getWeight(State &state, double chi2) const

Weight access.

Return

Calculated weight

Parameters
  • chi2: Chi^2

struct Config

The configuration struct.

Public Functions

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}