Template Class GaussianTrackDensity¶
Defined in File GaussianTrackDensity.hpp
Nested Relationships¶
Class Documentation¶
-
template<typename
input_track_t
>
classActs
::
GaussianTrackDensity
¶ 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
-
GaussianTrackDensity
() = default¶ Default constructor.
-
double
globalMaximum
(State &state, const std::vector<const input_track_t*> &trackList, const std::function<BoundParameters(input_track_t)> &extractParameters) const¶ Calculates the z position of the global maximum.
- Return
z position of the global maximum
- Parameters
state
: The track density statetrackList
: All input tracksextractParameters
: Function extracting BoundParameters from InputTrack
-
std::pair<double, double>
globalMaximumWithWidth
(State &state, const std::vector<const input_track_t*> &trackList, const std::function<BoundParameters(input_track_t)> &extractParameters) 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 statetrackList
: All input tracksextractParameters
: Function extracting BoundParameters from InputTrack
-
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¶ Default constructor.
-
TrackEntry
(double z, double c0in, double c1in, double c2in, double zMin, double zMax)¶ Constructor initializing all members.
- Parameters
z
: Trial z positionc0in
: z-independent term in exponentc1in
: Linear coefficient in exponentc2in
: Quadratic coefficient in exponentzMin
: The lower boundzMax
: The upper bound
-
-