Class TrackDensity

Class Documentation

class Acts::TrackDensity

Class to model tracks as 2D density functions based on their d0 and z0 perigee parameters (mean value) and covariance matrices (determining the width of the function)

Public Functions

TrackDensity() = default

Default constructor.

TrackDensity(const Config &cfg)

Constructor with config.

void addTrack(State &state, const BoundParameters &trk, double d0SignificanceCut, double z0SignificanceCut) const

Add a track to the set being considered.

Parameters
  • state: The track density state

  • trk: Track parameters.

  • d0SignificanceCut: Significance cut on d0.

  • z0SignificanceCut: Significance cut on z0.

double globalMaximum(State &state) const

Calculates the z position of the global maximum.

Return

z position of the global maximum

Parameters
  • state: The track density state

std::pair<double, double> globalMaximumWithWidth(State &state) const

Calculates z position of global maximum with Gaussian width for density function.

Strategy: The global maximum must be somewhere near a track. Since we can calculate the first and second derivatives, at each point we can determine a) whether the function is curved up (minimum) or down (maximum) b) the distance to nearest maximum, assuming either Newton (parabolic) or Gaussian local behavior. For each track where the second derivative is negative, find step to nearest maximum, take that step and then do one final refinement. The largest density encountered in this procedure (after checking all tracks) is considered the maximum.

Return

Pair of position of global maximum and Gaussian width

Parameters
  • state: The track density state

double trackDensity(State &state, double z) const

Evaluate the density function at the specified coordinate along the beamline.

Return

The track density value

Parameters
  • state: The track density state

  • z: z-position along the beamline

double trackDensity(State &state, double z, double &firstDerivative, double &secondDerivative) const

Evaluate the density function and its two first derivatives at the specified coordinate along the beamline.

Return

The track density value

Parameters
  • state: The track density state

  • z: z-position along the beamline

  • [out] firstDerivative: The first derivative

  • [out] secondDerivative: The second derivative

struct Config

The Config struct.

Public Members

bool isGaussianShaped = true
struct State

The State struct.

Public Functions

State(unsigned int nTracks)

Public Members

std::vector<TrackEntry> trackEntries
struct TrackEntry

Struct to store information for a single track.

Public Functions

TrackEntry() = default
TrackEntry(double z, double c0in, double c1in, double c2in, double zMin, double zMax)

Public Members

double c0 = 0
double c1 = 0
double c2 = 0
double lowerBound = 0
double upperBound = 0
double z = 0