Pandora
Pandora source code navigator
Loading...
Searching...
No Matches
pandora::Track Class Reference

Track class. More...

#include "Track.h"

Collaboration diagram for pandora::Track:

Public Member Functions

float GetD0 () const
 Get the 2D impact parameter wrt (0,0)
 
float GetZ0 () const
 Get the z coordinate at the 2D distance of closest approach.
 
int GetParticleId () const
 Get the PDG code of the tracked particle.
 
int GetCharge () const
 Get the charge of the tracked particle.
 
float GetMass () const
 Get the mass of the tracked particle, units GeV.
 
const CartesianVectorGetMomentumAtDca () const
 Get the track momentum at the 2D distance of closest approach.
 
float GetEnergyAtDca () const
 Get the track energy at the 2D distance of closest approach.
 
const TrackStateGetTrackStateAtStart () const
 Get the track state at the start of the track.
 
const TrackStateGetTrackStateAtEnd () const
 Get the track state at the end of the track.
 
const TrackStateGetTrackStateAtCalorimeter () const
 Get the (sometimes projected) track state at the calorimeter.
 
float GetTimeAtCalorimeter () const
 Get the (sometimes projected) time at the calorimeter.
 
bool ReachesCalorimeter () const
 Whether the track reaches the calorimeter.
 
bool IsProjectedToEndCap () const
 Whether the calorimeter projection is to an endcap.
 
bool CanFormPfo () const
 Whether track should form a pfo, if it has an associated cluster.
 
bool CanFormClusterlessPfo () const
 Whether track should form a pfo, even if it has no associated cluster.
 
bool HasAssociatedCluster () const
 Whether the track has an associated cluster.
 
const ClusterGetAssociatedCluster () const
 Get address of the cluster associated with the track.
 
const MCParticleWeightMapGetMCParticleWeightMap () const
 Get mc particle weight map for the track.
 
const void * GetParentAddress () const
 Get the address of the parent track in the user framework.
 
const TrackListGetParentList () const
 Get the parent track list.
 
const TrackListGetSiblingList () const
 Get the sibling track list.
 
const TrackListGetDaughterList () const
 Get the daughter track list.
 
bool IsAvailable () const
 Whether the track is available to be added to a particle flow object.
 
bool operator< (const Track &rhs) const
 operator< sorting by position at calorimeter, then energy at the 2D distance of closest approach
 

Protected Member Functions

 Track (const object_creation::Track::Parameters &parameters)
 Constructor.
 
virtual ~Track ()
 Destructor.
 
void SetMCParticleWeightMap (const MCParticleWeightMap &mcParticleWeightMap)
 Set the mc particles associated with the track.
 
void RemoveMCParticles ()
 Remove the mc particles associated with the track.
 
StatusCode SetAssociatedCluster (const Cluster *const pCluster)
 Set the cluster associated with the track.
 
StatusCode RemoveAssociatedCluster (const Cluster *const pCluster)
 Remove the association with a cluster.
 
StatusCode AddParent (const Track *const pTrack)
 Add a parent track to the parent track list.
 
StatusCode AddDaughter (const Track *const pTrack)
 Add a daughter track to the daughter track list.
 
StatusCode AddSibling (const Track *const pTrack)
 Add a sibling track to the sibling track list.
 
void SetAvailability (bool isAvailable)
 Set availability of track to be added to a particle flow object.
 

Protected Attributes

const float m_d0
 The 2D impact parameter wrt (0,0), units mm.
 
const float m_z0
 The z coordinate at the 2D distance of closest approach, units mm.
 
const int m_particleId
 The PDG code of the tracked particle.
 
const int m_charge
 The charge of the tracked particle.
 
const float m_mass
 The mass of the tracked particle, units GeV.
 
const CartesianVector m_momentumAtDca
 The momentum vector at the 2D distance of closest approach, units GeV.
 
const float m_energyAtDca
 The track energy at the 2D distance of closest approach, units GeV.
 
const TrackState m_trackStateAtStart
 The track state at the start of the track, units mm and GeV.
 
const TrackState m_trackStateAtEnd
 The track state at the end of the track, units mm and GeV.
 
const TrackState m_trackStateAtCalorimeter
 The (sometimes projected) track state at the calorimeter, units mm and GeV.
 
const float m_timeAtCalorimeter
 The (sometimes projected) time at the calorimeter, units ns.
 
const bool m_reachesCalorimeter
 Whether the track actually reaches the calorimeter.
 
const bool m_isProjectedToEndCap
 Whether the calorimeter projection is to an endcap.
 
const bool m_canFormPfo
 Whether track should form a pfo, if it has an associated cluster.
 
const bool m_canFormClusterlessPfo
 Whether track should form a pfo, even if it has no associated cluster.
 
const Clusterm_pAssociatedCluster
 The address of an associated cluster.
 
MCParticleWeightMap m_mcParticleWeightMap
 The mc particle weight map.
 
const void * m_pParentAddress
 The address of the parent track in the user framework.
 
TrackList m_parentTrackList
 The list of parent track addresses.
 
TrackList m_siblingTrackList
 The list of sibling track addresses.
 
TrackList m_daughterTrackList
 The list of daughter track addresses.
 
bool m_isAvailable
 Whether the track is available to be added to a particle flow object.
 

Friends

class TrackManager
 
class InputObjectManager< Track >
 
class PandoraObjectFactory< object_creation::Track::Parameters, object_creation::Track::Object >
 

Detailed Description

Track class.

Definition at line 25 of file Track.h.

Constructor & Destructor Documentation

◆ Track()

pandora::Track::Track ( const object_creation::Track::Parameters parameters)
protected

Constructor.

Parameters
parametersthe track parameters

Definition at line 45 of file Track.cc.

◆ ~Track()

pandora::Track::~Track ( )
protectedvirtual

Destructor.

Definition at line 75 of file Track.cc.

Member Function Documentation

◆ AddDaughter()

StatusCode pandora::Track::AddDaughter ( const Track *const  pTrack)
protected

Add a daughter track to the daughter track list.

Parameters
pTrackthe address of the daughter track

Definition at line 134 of file Track.cc.

◆ AddParent()

StatusCode pandora::Track::AddParent ( const Track *const  pTrack)
protected

Add a parent track to the parent track list.

Parameters
pTrackthe address of the parent track

Definition at line 120 of file Track.cc.

◆ AddSibling()

StatusCode pandora::Track::AddSibling ( const Track *const  pTrack)
protected

Add a sibling track to the sibling track list.

Parameters
pTrackthe address of the sibling track

Definition at line 148 of file Track.cc.

◆ CanFormClusterlessPfo()

bool pandora::Track::CanFormClusterlessPfo ( ) const
inline

Whether track should form a pfo, even if it has no associated cluster.

Returns
boolean

Definition at line 393 of file Track.h.

Here is the caller graph for this function:

◆ CanFormPfo()

bool pandora::Track::CanFormPfo ( ) const
inline

Whether track should form a pfo, if it has an associated cluster.

Returns
boolean

Definition at line 386 of file Track.h.

Here is the caller graph for this function:

◆ GetAssociatedCluster()

const Cluster * pandora::Track::GetAssociatedCluster ( ) const

Get address of the cluster associated with the track.

Returns
the address of the cluster

Definition at line 17 of file Track.cc.

◆ GetCharge()

int pandora::Track::GetCharge ( ) const
inline

Get the charge of the tracked particle.

Returns
the charge of the tracked particle

Definition at line 316 of file Track.h.

Here is the caller graph for this function:

◆ GetD0()

float pandora::Track::GetD0 ( ) const
inline

Get the 2D impact parameter wrt (0,0)

Returns
the 2D impact parameter wrt (0,0)

Definition at line 295 of file Track.h.

Here is the caller graph for this function:

◆ GetDaughterList()

const TrackList & pandora::Track::GetDaughterList ( ) const
inline

Get the daughter track list.

Returns
the daughter track list

Definition at line 435 of file Track.h.

Here is the caller graph for this function:

◆ GetEnergyAtDca()

float pandora::Track::GetEnergyAtDca ( ) const
inline

Get the track energy at the 2D distance of closest approach.

Returns
the track energy at the 2D distance of closest approach

Definition at line 337 of file Track.h.

Here is the caller graph for this function:

◆ GetMass()

float pandora::Track::GetMass ( ) const
inline

Get the mass of the tracked particle, units GeV.

Returns
the mass of the tracked particle

Definition at line 323 of file Track.h.

Here is the caller graph for this function:

◆ GetMCParticleWeightMap()

const MCParticleWeightMap & pandora::Track::GetMCParticleWeightMap ( ) const
inline

Get mc particle weight map for the track.

Returns
the mc particle weight map

Definition at line 407 of file Track.h.

Here is the caller graph for this function:

◆ GetMomentumAtDca()

const CartesianVector & pandora::Track::GetMomentumAtDca ( ) const
inline

Get the track momentum at the 2D distance of closest approach.

Returns
the track momentum at the 2D distance of closest approach

Definition at line 330 of file Track.h.

Here is the caller graph for this function:

◆ GetParentAddress()

const void * pandora::Track::GetParentAddress ( ) const
inline

Get the address of the parent track in the user framework.

Parameters
theaddress of the parent track in the user framework

Definition at line 414 of file Track.h.

Here is the caller graph for this function:

◆ GetParentList()

const TrackList & pandora::Track::GetParentList ( ) const
inline

Get the parent track list.

Returns
the parent track list

Definition at line 421 of file Track.h.

Here is the caller graph for this function:

◆ GetParticleId()

int pandora::Track::GetParticleId ( ) const
inline

Get the PDG code of the tracked particle.

Returns
the PDG code of the tracked particle

Definition at line 309 of file Track.h.

Here is the caller graph for this function:

◆ GetSiblingList()

const TrackList & pandora::Track::GetSiblingList ( ) const
inline

Get the sibling track list.

Returns
the sibling track list

Definition at line 428 of file Track.h.

Here is the caller graph for this function:

◆ GetTimeAtCalorimeter()

float pandora::Track::GetTimeAtCalorimeter ( ) const
inline

Get the (sometimes projected) time at the calorimeter.

Returns
the time at the calorimeter

Definition at line 365 of file Track.h.

Here is the caller graph for this function:

◆ GetTrackStateAtCalorimeter()

const TrackState & pandora::Track::GetTrackStateAtCalorimeter ( ) const
inline

Get the (sometimes projected) track state at the calorimeter.

Returns
the track state at the calorimeter

Definition at line 358 of file Track.h.

Here is the caller graph for this function:

◆ GetTrackStateAtEnd()

const TrackState & pandora::Track::GetTrackStateAtEnd ( ) const
inline

Get the track state at the end of the track.

Returns
the track state at the end of the track

Definition at line 351 of file Track.h.

Here is the caller graph for this function:

◆ GetTrackStateAtStart()

const TrackState & pandora::Track::GetTrackStateAtStart ( ) const
inline

Get the track state at the start of the track.

Returns
the track state at the start of the track

Definition at line 344 of file Track.h.

Here is the caller graph for this function:

◆ GetZ0()

float pandora::Track::GetZ0 ( ) const
inline

Get the z coordinate at the 2D distance of closest approach.

Returns
the z coordinate at the 2D distance of closest approach

Definition at line 302 of file Track.h.

Here is the caller graph for this function:

◆ HasAssociatedCluster()

bool pandora::Track::HasAssociatedCluster ( ) const
inline

Whether the track has an associated cluster.

Returns
boolean

Definition at line 400 of file Track.h.

◆ IsAvailable()

bool pandora::Track::IsAvailable ( ) const
inline

Whether the track is available to be added to a particle flow object.

Returns
boolean

Definition at line 442 of file Track.h.

Here is the caller graph for this function:

◆ IsProjectedToEndCap()

bool pandora::Track::IsProjectedToEndCap ( ) const
inline

Whether the calorimeter projection is to an endcap.

Returns
boolean

Definition at line 379 of file Track.h.

Here is the caller graph for this function:

◆ operator<()

bool pandora::Track::operator< ( const Track rhs) const

operator< sorting by position at calorimeter, then energy at the 2D distance of closest approach

Parameters
rhsthe object for comparison
Returns
boolean

Definition at line 27 of file Track.cc.

Here is the call graph for this function:

◆ ReachesCalorimeter()

bool pandora::Track::ReachesCalorimeter ( ) const
inline

Whether the track reaches the calorimeter.

Returns
boolean

Definition at line 372 of file Track.h.

Here is the caller graph for this function:

◆ RemoveAssociatedCluster()

StatusCode pandora::Track::RemoveAssociatedCluster ( const Cluster *const  pCluster)
protected

Remove the association with a cluster.

Parameters
pClusterthe address of the cluster with which the track is no longer associated

Definition at line 109 of file Track.cc.

◆ RemoveMCParticles()

void pandora::Track::RemoveMCParticles ( )
protected

Remove the mc particles associated with the track.

Definition at line 88 of file Track.cc.

◆ SetAssociatedCluster()

StatusCode pandora::Track::SetAssociatedCluster ( const Cluster *const  pCluster)
protected

Set the cluster associated with the track.

Parameters
pClusterthe address of the associated cluster

Definition at line 95 of file Track.cc.

◆ SetAvailability()

void pandora::Track::SetAvailability ( bool  isAvailable)
inlineprotected

Set availability of track to be added to a particle flow object.

Parameters
isAvailablethe track availability

Definition at line 449 of file Track.h.

◆ SetMCParticleWeightMap()

void pandora::Track::SetMCParticleWeightMap ( const MCParticleWeightMap mcParticleWeightMap)
protected

Set the mc particles associated with the track.

Parameters
mcParticleWeightMapthe mc particle weight map

Definition at line 81 of file Track.cc.

Friends And Related Symbol Documentation

◆ InputObjectManager< Track >

friend class InputObjectManager< Track >
friend

Definition at line 288 of file Track.h.

◆ PandoraObjectFactory< object_creation::Track::Parameters, object_creation::Track::Object >

◆ TrackManager

friend class TrackManager
friend

Definition at line 288 of file Track.h.

Member Data Documentation

◆ m_canFormClusterlessPfo

const bool pandora::Track::m_canFormClusterlessPfo
protected

Whether track should form a pfo, even if it has no associated cluster.

Definition at line 279 of file Track.h.

◆ m_canFormPfo

const bool pandora::Track::m_canFormPfo
protected

Whether track should form a pfo, if it has an associated cluster.

Definition at line 278 of file Track.h.

◆ m_charge

const int pandora::Track::m_charge
protected

The charge of the tracked particle.

Definition at line 268 of file Track.h.

◆ m_d0

const float pandora::Track::m_d0
protected

The 2D impact parameter wrt (0,0), units mm.

Definition at line 265 of file Track.h.

◆ m_daughterTrackList

TrackList pandora::Track::m_daughterTrackList
protected

The list of daughter track addresses.

Definition at line 285 of file Track.h.

◆ m_energyAtDca

const float pandora::Track::m_energyAtDca
protected

The track energy at the 2D distance of closest approach, units GeV.

Definition at line 271 of file Track.h.

◆ m_isAvailable

bool pandora::Track::m_isAvailable
protected

Whether the track is available to be added to a particle flow object.

Definition at line 286 of file Track.h.

◆ m_isProjectedToEndCap

const bool pandora::Track::m_isProjectedToEndCap
protected

Whether the calorimeter projection is to an endcap.

Definition at line 277 of file Track.h.

◆ m_mass

const float pandora::Track::m_mass
protected

The mass of the tracked particle, units GeV.

Definition at line 269 of file Track.h.

◆ m_mcParticleWeightMap

MCParticleWeightMap pandora::Track::m_mcParticleWeightMap
protected

The mc particle weight map.

Definition at line 281 of file Track.h.

◆ m_momentumAtDca

const CartesianVector pandora::Track::m_momentumAtDca
protected

The momentum vector at the 2D distance of closest approach, units GeV.

Definition at line 270 of file Track.h.

◆ m_parentTrackList

TrackList pandora::Track::m_parentTrackList
protected

The list of parent track addresses.

Definition at line 283 of file Track.h.

◆ m_particleId

const int pandora::Track::m_particleId
protected

The PDG code of the tracked particle.

Definition at line 267 of file Track.h.

◆ m_pAssociatedCluster

const Cluster* pandora::Track::m_pAssociatedCluster
protected

The address of an associated cluster.

Definition at line 280 of file Track.h.

◆ m_pParentAddress

const void* pandora::Track::m_pParentAddress
protected

The address of the parent track in the user framework.

Definition at line 282 of file Track.h.

◆ m_reachesCalorimeter

const bool pandora::Track::m_reachesCalorimeter
protected

Whether the track actually reaches the calorimeter.

Definition at line 276 of file Track.h.

◆ m_siblingTrackList

TrackList pandora::Track::m_siblingTrackList
protected

The list of sibling track addresses.

Definition at line 284 of file Track.h.

◆ m_timeAtCalorimeter

const float pandora::Track::m_timeAtCalorimeter
protected

The (sometimes projected) time at the calorimeter, units ns.

Definition at line 275 of file Track.h.

◆ m_trackStateAtCalorimeter

const TrackState pandora::Track::m_trackStateAtCalorimeter
protected

The (sometimes projected) track state at the calorimeter, units mm and GeV.

Definition at line 274 of file Track.h.

◆ m_trackStateAtEnd

const TrackState pandora::Track::m_trackStateAtEnd
protected

The track state at the end of the track, units mm and GeV.

Definition at line 273 of file Track.h.

◆ m_trackStateAtStart

const TrackState pandora::Track::m_trackStateAtStart
protected

The track state at the start of the track, units mm and GeV.

Definition at line 272 of file Track.h.

◆ m_z0

const float pandora::Track::m_z0
protected

The z coordinate at the 2D distance of closest approach, units mm.

Definition at line 266 of file Track.h.


The documentation for this class was generated from the following files: