ATLAS Offline Software
Classes | Public Member Functions | Private Member Functions | Private Attributes | List of all members
Trk::GaussianTrackDensity Class Referencefinal

#include <GaussianTrackDensity.h>

Inheritance diagram for Trk::GaussianTrackDensity:
Collaboration diagram for Trk::GaussianTrackDensity:

Classes

class  TrackDensity
 
struct  TrackDensityEval
 
struct  TrackEntry
 

Public Member Functions

virtual double globalMaximum (const std::vector< const Track * > &vectorTrk) const override final
 Find position of global maximum for density function. More...
 
virtual double globalMaximum (const std::vector< const Track * > &vectorTrk, std::unique_ptr< ITrackDensity > &density) const override final
 Find position of global maximum for density function. More...
 
virtual double globalMaximum (const std::vector< const TrackParameters * > &perigeeList) const override final
 Find position of global maximum for density function. More...
 
virtual double globalMaximum (const std::vector< const TrackParameters * > &perigeeList, std::unique_ptr< ITrackDensity > &density) const override final
 Find position of global maximum for density function. More...
 
virtual std::pair< double, double > globalMaximumWithWidth (const std::vector< const TrackParameters * > &perigeeList) const override final
 

Private Member Functions

double globalMaximumImpl (const std::vector< const TrackParameters * > &perigeeList, TrackDensity &density) const
 Find position of global maximum for density function. More...
 
std::pair< double, double > globalMaximumWithWidthImpl (const std::vector< const TrackParameters * > &perigeeList, TrackDensity &density) const
 Find position of global maximum with Gaussian width for density function. More...
 
void addTracks (const std::vector< const TrackParameters * > &perigeeList, TrackDensity &density) const
 Add a set of tracks to a density object. More...
 

Private Attributes

Gaudi::Property< double > m_d0MaxSignificance
 
Gaudi::Property< double > m_z0MaxSignificance
 
Gaudi::Property< bool > m_gaussStep
 

Detailed Description

Implementation of IVertexTrackDensityEstimator modeling reconstructed tracks as two-dimensional Gaussian distributions in (d0, z0) space and sampling the aggregate density distribution at user-requested points along the beam axis.

Author
Dave Casper dcasp.nosp@m.er@u.nosp@m.ci.ed.nosp@m.u
Christos Anastopoulos (Athena MT)

Definition at line 31 of file GaussianTrackDensity.h.

Member Function Documentation

◆ addTracks()

void Trk::GaussianTrackDensity::addTracks ( const std::vector< const TrackParameters * > &  perigeeList,
TrackDensity density 
) const
private

Add a set of tracks to a density object.

Parameters
perigeeListSet of track parameters to add.
densityDensity object to which to add.

Definition at line 109 of file GaussianTrackDensity.cxx.

111  {
112  const double d0SignificanceCut = m_d0MaxSignificance * m_d0MaxSignificance;
113  const double z0SignificanceCut = m_z0MaxSignificance * m_z0MaxSignificance;
114 
115  for (const TrackParameters* iparam : perigeeList) {
116  if (iparam && iparam->surfaceType() == Trk::SurfaceType::Perigee) {
117  density.addTrack(*(static_cast<const Perigee*>(iparam)),
118  d0SignificanceCut,
119  z0SignificanceCut);
120  }
121  }
122  }

◆ globalMaximum() [1/4]

double Trk::GaussianTrackDensity::globalMaximum ( const std::vector< const Track * > &  vectorTrk) const
finaloverridevirtual

Find position of global maximum for density function.

Parameters
vectorTrkList of input tracks.

Definition at line 20 of file GaussianTrackDensity.cxx.

21  {
22  std::vector<const TrackParameters*> perigeeList;
23  perigeeList.reserve(vectorTrk.size());
24 
25  for (const Track* itrk : vectorTrk)
26  {
27  perigeeList.push_back(itrk->perigeeParameters());
28  }
29 
30  TrackDensity d (m_gaussStep);
31  return globalMaximumImpl (perigeeList, d);
32  }

◆ globalMaximum() [2/4]

double Trk::GaussianTrackDensity::globalMaximum ( const std::vector< const Track * > &  vectorTrk,
std::unique_ptr< ITrackDensity > &  density 
) const
finaloverridevirtual

Find position of global maximum for density function.

Parameters
vectorTrkList of input tracks.
density[out]Helper to hold density results.

Definition at line 40 of file GaussianTrackDensity.cxx.

42  {
43  std::vector<const TrackParameters*> perigeeList;
44  perigeeList.reserve(vectorTrk.size());
45 
46  for (const Track* itrk : vectorTrk)
47  {
48  perigeeList.push_back(itrk->perigeeParameters());
49  }
50  return globalMaximum (perigeeList, density);
51  }

◆ globalMaximum() [3/4]

double Trk::GaussianTrackDensity::globalMaximum ( const std::vector< const TrackParameters * > &  perigeeList) const
finaloverridevirtual

Find position of global maximum for density function.

Parameters
perigeeListList of input tracks.
vectorTrkList of input tracks.

Definition at line 58 of file GaussianTrackDensity.cxx.

59  {
60  TrackDensity d (m_gaussStep);
61  return globalMaximumImpl (perigeeList, d);
62  }

◆ globalMaximum() [4/4]

double Trk::GaussianTrackDensity::globalMaximum ( const std::vector< const TrackParameters * > &  perigeeList,
std::unique_ptr< ITrackDensity > &  density 
) const
finaloverridevirtual

Find position of global maximum for density function.

Parameters
perigeeListList of input tracks.
density[out]Helper to hold density results.

Definition at line 70 of file GaussianTrackDensity.cxx.

72  {
73  auto d = std::make_unique<TrackDensity> (m_gaussStep);
74  TrackDensity* dp = d.get();
75  density = std::move(d);
76  return globalMaximumImpl (perigeeList, *dp);
77  }

◆ globalMaximumImpl()

double Trk::GaussianTrackDensity::globalMaximumImpl ( const std::vector< const TrackParameters * > &  perigeeList,
TrackDensity density 
) const
private

Find position of global maximum for density function.

Parameters
pergigeeListList of input tracks.
densityHelper density object.

Definition at line 90 of file GaussianTrackDensity.cxx.

92  {
93  addTracks (perigeeList, density);
94  return density.globalMaximum ();
95  }

◆ globalMaximumWithWidth()

std::pair< double, double > Trk::GaussianTrackDensity::globalMaximumWithWidth ( const std::vector< const TrackParameters * > &  perigeeList) const
finaloverridevirtual

Definition at line 79 of file GaussianTrackDensity.cxx.

80  {
81  TrackDensity d (m_gaussStep);
82  return globalMaximumWithWidthImpl (perigeeList, d);
83  }

◆ globalMaximumWithWidthImpl()

std::pair< double, double > Trk::GaussianTrackDensity::globalMaximumWithWidthImpl ( const std::vector< const TrackParameters * > &  perigeeList,
TrackDensity density 
) const
private

Find position of global maximum with Gaussian width for density function.

Parameters
pergigeeListList of input tracks.
densityHelper density object.

Definition at line 97 of file GaussianTrackDensity.cxx.

99  {
100  addTracks (perigeeList, density);
101  return density.globalMaximumWithWidth ();
102  }

Member Data Documentation

◆ m_d0MaxSignificance

Gaudi::Property<double> Trk::GaussianTrackDensity::m_d0MaxSignificance
private
Initial value:
{
this,
"MaxD0Significance",
3.5,
"Maximum radial impact parameter significance to use track"
}

Definition at line 230 of file GaussianTrackDensity.h.

◆ m_gaussStep

Gaudi::Property<bool> Trk::GaussianTrackDensity::m_gaussStep
private
Initial value:
{
this,
"GaussianStep",
true,
"Peak search: True means assume Gaussian behavior, False means "
"Newton/parabolic"
}

Definition at line 249 of file GaussianTrackDensity.h.

◆ m_z0MaxSignificance

Gaudi::Property<double> Trk::GaussianTrackDensity::m_z0MaxSignificance
private
Initial value:
{
this,
"MaxZ0Significance",
12.0,
"Maximum longitudinal impact parameter significance to include track in "
"weight"
}

Definition at line 239 of file GaussianTrackDensity.h.


The documentation for this class was generated from the following files:
TileDCSDataPlotter.dp
dp
Definition: TileDCSDataPlotter.py:840
Trk::GaussianTrackDensity::globalMaximum
virtual double globalMaximum(const std::vector< const Track * > &vectorTrk) const override final
Find position of global maximum for density function.
Definition: GaussianTrackDensity.cxx:20
hist_file_dump.d
d
Definition: hist_file_dump.py:137
Trk::Perigee
ParametersT< 5, Charged, PerigeeSurface > Perigee
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:29
Trk::TrackParameters
ParametersBase< 5, Charged > TrackParameters
Definition: Tracking/TrkEvent/TrkParameters/TrkParameters/TrackParameters.h:24
Trk::GaussianTrackDensity::addTracks
void addTracks(const std::vector< const TrackParameters * > &perigeeList, TrackDensity &density) const
Add a set of tracks to a density object.
Definition: GaussianTrackDensity.cxx:109
Trk::SurfaceType::Perigee
@ Perigee
Trk::GaussianTrackDensity::m_d0MaxSignificance
Gaudi::Property< double > m_d0MaxSignificance
Definition: GaussianTrackDensity.h:230
Track
Definition: TriggerChamberClusterOnTrackCreator.h:21
Trk::GaussianTrackDensity::globalMaximumImpl
double globalMaximumImpl(const std::vector< const TrackParameters * > &perigeeList, TrackDensity &density) const
Find position of global maximum for density function.
Definition: GaussianTrackDensity.cxx:90
Trk::GaussianTrackDensity::m_gaussStep
Gaudi::Property< bool > m_gaussStep
Definition: GaussianTrackDensity.h:249
Trk::GaussianTrackDensity::m_z0MaxSignificance
Gaudi::Property< double > m_z0MaxSignificance
Definition: GaussianTrackDensity.h:239
Trk::GaussianTrackDensity::globalMaximumWithWidthImpl
std::pair< double, double > globalMaximumWithWidthImpl(const std::vector< const TrackParameters * > &perigeeList, TrackDensity &density) const
Find position of global maximum with Gaussian width for density function.
Definition: GaussianTrackDensity.cxx:97