CbmRoot
Loading...
Searching...
No Matches
cbm::algo::ca::McTrack Class Reference

#include <CaMcTrack.h>

Collaboration diagram for cbm::algo::ca::McTrack:
[legend]

Public Member Functions

 McTrack ()=default
 Default constructor.
 
 ~McTrack ()=default
 Destructor.
 
 McTrack (const McTrack &)=default
 Copy constructor.
 
 McTrack (McTrack &&)=default
 Move constructor.
 
McTrackoperator= (const McTrack &)=default
 Copy assignment operator.
 
McTrackoperator= (McTrack &&)=default
 Move assignment operator.
 
void AddPointIndex (int iP)
 
void AddHitIndex (int iH)
 
void AddRecoTrackIndex (int iTre)
 
void AddTouchTrackIndex (int iTre)
 
void Clear ()
 Clears contents.
 
void ClearPointIndexes ()
 Clears container of point indexes.
 
void ClearHitIndexes ()
 Clears container of hit indexes.
 
void ClearRecoTrackIndexes ()
 Clears container of reconstructed track indexes.
 
void ClearTouchTrackIndexes ()
 
int GetChainId () const
 Gets index of the first particle in the decay chain.
 
double GetCharge () const
 Gets charge [e].
 
double GetE () const
 Gets total energy [GeV].
 
double GetEkin () const
 Gets kinetic energy [GeV].
 
double GetEta () const
 Gets pseudo-rapidity.
 
int GetEventId () const
 Gets index of MC event containing this track in external data structures.
 
int GetExternalId () const
 Gets index of the track in the external data structures.
 
int GetFileId () const
 Gets index of MC file containing this track in external data structures.
 
const auto & GetHitIndexes () const
 Gets a reference to associated hit indexes.
 
int GetId () const
 Gets index of track.
 
ca::McLinkKey GetLinkKey () const
 Gets link key.
 
double GetMass () const
 Gets particle mass [GeV/c2].
 
int GetMaxNofHitsOnStation () const
 Gets max number of hits within a station.
 
int GetMaxNofPointsOnStation () const
 Gets max number of points within a station.
 
int GetMotherId () const
 Gets index of mother track in CA internal data structures.
 
int GetNofClones () const
 Gets number of clones.
 
int GetNofConsStationsWithHit () const
 Gets number of consecutive stations with hits.
 
int GetNofConsStationsWithPoint () const
 Gets number of consecutive stations with MC points.
 
int GetNofHits () const
 Gets number of hits.
 
int GetNofPoints () const
 Gets number of points.
 
int GetNofRecoTracks () const
 Gets number of assigned reconstructed tracks.
 
int GetNofTouchTracks () const
 Gets number of reconstructed tracks, which contain hits from this MC track.
 
double GetP () const
 Gets absolute momentum [GeV/c].
 
int GetPdgCode () const
 Gets PDG encoding.
 
double GetPhi () const
 Gets azimuthal angle [rad].
 
const auto & GetPointIndexes () const
 Gets a reference to associated point indexes.
 
unsigned GetProcessId () const
 Gets process ID.
 
double GetPt () const
 Gets transverse momentum [GeV/c].
 
double GetPx () const
 Gets x component of momentum [GeV/c].
 
double GetPy () const
 Gets x component of momentum [GeV/c].
 
double GetPz () const
 Gets x component of momentum [GeV/c].
 
double GetRapidity () const
 Gets rapidity.
 
const auto & GetRecoTrackIndexes () const
 Gets a reference to vector associated reconstructed track indexes.
 
double GetSpeed () const
 Gets particle speed [c].
 
double GetStartT () const
 Gets time of the track vertex [ns].
 
double GetStartX () const
 Gets x component of the track vertex [cm].
 
double GetStartY () const
 Gets y component of the track vertex [cm].
 
double GetStartZ () const
 Gets z component of the track vertex [cm].
 
double GetTheta () const
 Gets track polar angle.
 
int GetTotNofStationsWithHit () const
 Gets total number of stations with hits.
 
int GetTotNofStationsWithPoint () const
 Gets total number of stations with MC points.
 
double GetTx () const
 Gets track slope along x-axis.
 
double GetTy () const
 Gets track slope along y-axis.
 
McPoint GetVertexPoint () const
 Creates an MC point from the track vertex.
 
const auto & GetTouchTrackIndexes () const
 
void InitHitsInfo (const ca::Vector< cbm::algo::ca::McHitInfo > &vHits)
 Initializes information about MC track hits arrangement within stations Defines: #1) Number of stations with hits #2) Maximal number of hits within one station #3) Number of consecutive stations with a hit in MC track.
 
void InitPointsInfo (const ca::Vector< McPoint > &vPoints)
 Initializes information about MC track points arrangement within stations Defines: #1) Number of stations with points #2) Maximal number of points within one station #3) Maximal number of points within one sensor (with same z-position) #4) Number of consecutive stations with a point in MC track.
 
bool IsAdditional () const
 Returns .... TODO.
 
bool IsDisturbed () const
 Returns true, if this MC track.
 
bool IsPrimary () const
 Returns flag, if the track is primary (process ID is 0 either mother ID is -1)
 
bool IsReconstructable () const
 
bool IsReconstructed () const
 
bool IsSignal () const
 Returns flag, if the track comes from a real particle (true), or from generated noise (false)
 
void SetChainId (int chainId)
 Sets index of the first particle in the decay chain.
 
void SetCharge (double q)
 Sets charge [e].
 
void SetEventId (int iEvent)
 Sets index of MC event containing this track in external data structures.
 
void SetExternalId (int id)
 
void SetFileId (int iFile)
 Sets index of MC file containing this track in external data structures.
 
void SetId (int id)
 Sets index of track in the CA internal data structure (within event/TS)
 
void SetMotherId (int motherId)
 
void SetMass (double mass)
 Sets particle mass [GeV/c2].
 
void SetPdgCode (int pdg)
 Sets PDG encoding.
 
void SetProcessId (unsigned procId)
 Sets process ID.
 
void SetPx (double px)
 Sets x component of momentum [GeV/c].
 
void SetPy (double py)
 Sets x component of momentum [GeV/c].
 
void SetPz (double pz)
 Sets x component of momentum [GeV/c].
 
void SetFlagAdditional (bool isAdditional)
 Sets flag, if the track is additional (not reconstructable but still interesting)
 
void SetFlagReconstructable (bool isReconstructable)
 Sets flag, if the track is reconstructable.
 
void SetFlagSignal (bool isSignal)
 Sets flag, if the track comes from signal.
 
void SetStartT (double t)
 Sets time of the track vertex [ns].
 
void SetStartX (double x)
 Sets x component of the track vertex [cm].
 
void SetStartY (double y)
 Sets y component of the track vertex [cm].
 
void SetStartZ (double z)
 Sets z component of the track vertex [cm].
 
void SortPointIndexes (const std::function< bool(const int &lhs, const int &rhs)> &cmpFn)
 
std::string ToString (int verbose=1, bool header=false) const
 Provides string representation of a track.
 

Private Attributes

double fMass = constants::Undef<double>
 Particle mass [GeV/c2].
 
double fCharge = constants::Undef<double>
 Particle charge [e].
 
double fTime = constants::Undef<double>
 Time of track [cm].
 
std::array< double, 3 > fPos
 Track vertex components [cm].
 
std::array< double, 3 > fMom
 Momentum components [GeV/c].
 
int fPdgCode = constants::Undef<int>
 PDG encoding.
 
unsigned fProcId = constants::Undef<unsigned>
 Process ID (from ROOT::TProcessID)
 
int fId = constants::Undef<int>
 Index of MC track in internal container for TS/event.
 
int fMotherId = constants::Undef<int>
 Index of mother MC track in the external tracks container.
 
int fChainId = constants::Undef<int>
 Index of the first particle in the decay chain.
 
ca::McLinkKey fLinkKey
 A link key of this track in the external data structures.
 
bool fIsSignal = false
 If the track comes from signal.
 
bool fIsReconstructable = false
 If track is reconstructable.
 
bool fIsAdditional = false
 If track is not reconstructable, but still interesting.
 
int fNofConsStationsWithHit = constants::Undef<int>
 Number of consecutive stations with hits.
 
int fNofConsStationsWithPoint = constants::Undef<int>
 Number of consecutive stations with points.
 
int fTotNofStationsWithHit = constants::Undef<int>
 Total number of stations with hits.
 
int fTotNofStationsWithPoint = constants::Undef<int>
 Total number of stations with MC points.
 
int fMaxNofPointsOnStation = constants::Undef<int>
 Max number of MC points on a station.
 
int fMaxNofPointsOnSensor = constants::Undef<int>
 Max number of MC points with same Z (means on same sensor)
 
int fMaxNofHitsOnStation = constants::Undef<int>
 Max number of hits on a station.
 
ca::Vector< int > fvPointIndexes = {"ca::tools::fvPointIndexes"}
 Indexes of MC points in ext.container.
 
ca::Vector< int > fvHitIndexes = {"ca::tools::fvHitIndexes"}
 Indexes of hits in int.container.
 
ca::Vector< int > fvRecoTrackIndexes = {"ca::tools::fvRecoTrackIndexes"}
 Indexes of associated reco tracks.
 
ca::Vector< int > fvTouchTrackIndexes = {"ca::tools::fvTouchTrackIndexes"}
 

Detailed Description

Definition at line 24 of file CaMcTrack.h.

Constructor & Destructor Documentation

◆ McTrack() [1/3]

cbm::algo::ca::McTrack::McTrack ( )
default

Default constructor.

Referenced by Clear(), McTrack(), McTrack(), operator=(), and operator=().

◆ ~McTrack()

cbm::algo::ca::McTrack::~McTrack ( )
default

Destructor.

◆ McTrack() [2/3]

cbm::algo::ca::McTrack::McTrack ( const McTrack & )
default

Copy constructor.

References McTrack().

◆ McTrack() [3/3]

cbm::algo::ca::McTrack::McTrack ( McTrack && )
default

Move constructor.

References McTrack().

Member Function Documentation

◆ AddHitIndex()

void cbm::algo::ca::McTrack::AddHitIndex ( int iH)
inline

Adds index of hit, associated with this MC track

Parameters
iHIndex of hit in the container of internal hits for this event/TS

Definition at line 50 of file CaMcTrack.h.

References fvHitIndexes.

◆ AddPointIndex()

void cbm::algo::ca::McTrack::AddPointIndex ( int iP)
inline

Adds index of point, associated with this MC track

Parameters
iPIndex of MC point in the container of internal MC points for this event/TS

Definition at line 46 of file CaMcTrack.h.

References fvPointIndexes.

◆ AddRecoTrackIndex()

void cbm::algo::ca::McTrack::AddRecoTrackIndex ( int iTre)
inline

Adds index of reconstructed track, associated with this MC track

Parameters
iTreIndex of track in the array of reconstructed tracks of the TS

Definition at line 54 of file CaMcTrack.h.

References fvRecoTrackIndexes.

◆ AddTouchTrackIndex()

void cbm::algo::ca::McTrack::AddTouchTrackIndex ( int iTre)
inline

Adds index of reconstructed track, which is not associated with this MC track but contains some hits, produced by this MC track

Parameters
iTreIndex of track in the array of reconstructed tracks of the TS

Definition at line 59 of file CaMcTrack.h.

References fvTouchTrackIndexes.

◆ Clear()

void McTrack::Clear ( )

Clears contents.

Definition at line 23 of file CaMcTrack.cxx.

References ClearHitIndexes(), ClearPointIndexes(), ClearRecoTrackIndexes(), ClearTouchTrackIndexes(), and McTrack().

◆ ClearHitIndexes()

void cbm::algo::ca::McTrack::ClearHitIndexes ( )
inline

Clears container of hit indexes.

Definition at line 68 of file CaMcTrack.h.

References fvHitIndexes.

Referenced by Clear().

◆ ClearPointIndexes()

void cbm::algo::ca::McTrack::ClearPointIndexes ( )
inline

Clears container of point indexes.

Definition at line 65 of file CaMcTrack.h.

References fvPointIndexes.

Referenced by Clear().

◆ ClearRecoTrackIndexes()

void cbm::algo::ca::McTrack::ClearRecoTrackIndexes ( )
inline

Clears container of reconstructed track indexes.

Definition at line 71 of file CaMcTrack.h.

References fvRecoTrackIndexes.

Referenced by Clear().

◆ ClearTouchTrackIndexes()

void cbm::algo::ca::McTrack::ClearTouchTrackIndexes ( )
inline

Clears container of indexes of reconstructed tracks, which are not assigned to this MC track, but contain some of its hits

Definition at line 75 of file CaMcTrack.h.

References fvTouchTrackIndexes.

Referenced by Clear().

◆ GetChainId()

int cbm::algo::ca::McTrack::GetChainId ( ) const
inline

Gets index of the first particle in the decay chain.

Definition at line 82 of file CaMcTrack.h.

References fChainId.

◆ GetCharge()

double cbm::algo::ca::McTrack::GetCharge ( ) const
inline

◆ GetE()

double cbm::algo::ca::McTrack::GetE ( ) const
inline

Gets total energy [GeV].

Definition at line 88 of file CaMcTrack.h.

References fMass, and GetP().

Referenced by GetEkin(), GetRapidity(), and GetSpeed().

◆ GetEkin()

double cbm::algo::ca::McTrack::GetEkin ( ) const
inline

Gets kinetic energy [GeV].

Definition at line 91 of file CaMcTrack.h.

References fMass, and GetE().

◆ GetEta()

double cbm::algo::ca::McTrack::GetEta ( ) const
inline

Gets pseudo-rapidity.

Definition at line 94 of file CaMcTrack.h.

References GetTheta().

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetEventId()

int cbm::algo::ca::McTrack::GetEventId ( ) const
inline

Gets index of MC event containing this track in external data structures.

Definition at line 97 of file CaMcTrack.h.

References fLinkKey.

Referenced by cbm::algo::ca::TripletConstructorSW::CreateTripletsForHit(), cbm::algo::ca::TripletConstructorSW::FindTripletHits(), and GetVertexPoint().

◆ GetExternalId()

int cbm::algo::ca::McTrack::GetExternalId ( ) const
inline

Gets index of the track in the external data structures.

Definition at line 100 of file CaMcTrack.h.

References fLinkKey.

◆ GetFileId()

int cbm::algo::ca::McTrack::GetFileId ( ) const
inline

Gets index of MC file containing this track in external data structures.

Definition at line 103 of file CaMcTrack.h.

References fLinkKey.

Referenced by GetVertexPoint().

◆ GetHitIndexes()

const auto & cbm::algo::ca::McTrack::GetHitIndexes ( ) const
inline

Gets a reference to associated hit indexes.

Definition at line 106 of file CaMcTrack.h.

References fvHitIndexes.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetId()

int cbm::algo::ca::McTrack::GetId ( ) const
inline

Gets index of track.

Definition at line 109 of file CaMcTrack.h.

References fId.

Referenced by cbm::algo::ca::McData::AddTrack().

◆ GetLinkKey()

ca::McLinkKey cbm::algo::ca::McTrack::GetLinkKey ( ) const
inline

Gets link key.

Definition at line 112 of file CaMcTrack.h.

References fLinkKey.

Referenced by cbm::algo::ca::McData::AddTrack().

◆ GetMass()

double cbm::algo::ca::McTrack::GetMass ( ) const
inline

Gets particle mass [GeV/c2].

Definition at line 115 of file CaMcTrack.h.

References fMass.

Referenced by GetVertexPoint().

◆ GetMaxNofHitsOnStation()

int cbm::algo::ca::McTrack::GetMaxNofHitsOnStation ( ) const
inline

Gets max number of hits within a station.

Definition at line 118 of file CaMcTrack.h.

References fMaxNofHitsOnStation.

◆ GetMaxNofPointsOnStation()

int cbm::algo::ca::McTrack::GetMaxNofPointsOnStation ( ) const
inline

Gets max number of points within a station.

Definition at line 121 of file CaMcTrack.h.

References fMaxNofPointsOnStation.

◆ GetMotherId()

int cbm::algo::ca::McTrack::GetMotherId ( ) const
inline

Gets index of mother track in CA internal data structures.

Definition at line 124 of file CaMcTrack.h.

References fMotherId.

Referenced by GetVertexPoint().

◆ GetNofClones()

int cbm::algo::ca::McTrack::GetNofClones ( ) const
inline

Gets number of clones.

Definition at line 127 of file CaMcTrack.h.

References fvRecoTrackIndexes.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetNofConsStationsWithHit()

int cbm::algo::ca::McTrack::GetNofConsStationsWithHit ( ) const
inline

Gets number of consecutive stations with hits.

Definition at line 130 of file CaMcTrack.h.

References fNofConsStationsWithHit.

◆ GetNofConsStationsWithPoint()

int cbm::algo::ca::McTrack::GetNofConsStationsWithPoint ( ) const
inline

Gets number of consecutive stations with MC points.

Definition at line 133 of file CaMcTrack.h.

References fNofConsStationsWithPoint.

◆ GetNofHits()

int cbm::algo::ca::McTrack::GetNofHits ( ) const
inline

Gets number of hits.

Definition at line 136 of file CaMcTrack.h.

References fvHitIndexes.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack(), and ToString().

◆ GetNofPoints()

int cbm::algo::ca::McTrack::GetNofPoints ( ) const
inline

Gets number of points.

Definition at line 139 of file CaMcTrack.h.

References fvPointIndexes.

Referenced by ToString().

◆ GetNofRecoTracks()

int cbm::algo::ca::McTrack::GetNofRecoTracks ( ) const
inline

Gets number of assigned reconstructed tracks.

Definition at line 142 of file CaMcTrack.h.

References fvRecoTrackIndexes.

Referenced by ToString().

◆ GetNofTouchTracks()

int cbm::algo::ca::McTrack::GetNofTouchTracks ( ) const
inline

Gets number of reconstructed tracks, which contain hits from this MC track.

Definition at line 145 of file CaMcTrack.h.

References fvTouchTrackIndexes.

Referenced by ToString().

◆ GetP()

double cbm::algo::ca::McTrack::GetP ( ) const
inline

◆ GetPdgCode()

int cbm::algo::ca::McTrack::GetPdgCode ( ) const
inline

Gets PDG encoding.

Definition at line 151 of file CaMcTrack.h.

References fPdgCode.

Referenced by GetVertexPoint().

◆ GetPhi()

double cbm::algo::ca::McTrack::GetPhi ( ) const
inline

Gets azimuthal angle [rad].

Definition at line 154 of file CaMcTrack.h.

References fMom.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetPointIndexes()

const auto & cbm::algo::ca::McTrack::GetPointIndexes ( ) const
inline

Gets a reference to associated point indexes.

Definition at line 157 of file CaMcTrack.h.

References fvPointIndexes.

◆ GetProcessId()

unsigned cbm::algo::ca::McTrack::GetProcessId ( ) const
inline

Gets process ID.

Definition at line 160 of file CaMcTrack.h.

References fProcId.

◆ GetPt()

double cbm::algo::ca::McTrack::GetPt ( ) const
inline

Gets transverse momentum [GeV/c].

Definition at line 163 of file CaMcTrack.h.

References fMom.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetPx()

double cbm::algo::ca::McTrack::GetPx ( ) const
inline

Gets x component of momentum [GeV/c].

Definition at line 166 of file CaMcTrack.h.

References fMom.

Referenced by GetVertexPoint().

◆ GetPy()

double cbm::algo::ca::McTrack::GetPy ( ) const
inline

Gets x component of momentum [GeV/c].

Definition at line 169 of file CaMcTrack.h.

References fMom.

Referenced by GetVertexPoint().

◆ GetPz()

double cbm::algo::ca::McTrack::GetPz ( ) const
inline

Gets x component of momentum [GeV/c].

Definition at line 172 of file CaMcTrack.h.

References fMom.

Referenced by GetVertexPoint().

◆ GetRapidity()

double cbm::algo::ca::McTrack::GetRapidity ( ) const
inline

Gets rapidity.

Definition at line 175 of file CaMcTrack.h.

References fMom, and GetE().

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetRecoTrackIndexes()

const auto & cbm::algo::ca::McTrack::GetRecoTrackIndexes ( ) const
inline

Gets a reference to vector associated reconstructed track indexes.

Definition at line 178 of file CaMcTrack.h.

References fvRecoTrackIndexes.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetSpeed()

double cbm::algo::ca::McTrack::GetSpeed ( ) const
inline

Gets particle speed [c].

Definition at line 181 of file CaMcTrack.h.

References GetE(), and GetP().

◆ GetStartT()

double cbm::algo::ca::McTrack::GetStartT ( ) const
inline

Gets time of the track vertex [ns].

Definition at line 184 of file CaMcTrack.h.

References fTime.

Referenced by GetVertexPoint(), and ToString().

◆ GetStartX()

double cbm::algo::ca::McTrack::GetStartX ( ) const
inline

Gets x component of the track vertex [cm].

Definition at line 187 of file CaMcTrack.h.

References fPos.

Referenced by cbm::algo::ca::TripletConstructorSW::CreateTripletsForHit(), cbm::algo::ca::TripletConstructorSW::FindTripletHits(), and GetVertexPoint().

◆ GetStartY()

double cbm::algo::ca::McTrack::GetStartY ( ) const
inline

Gets y component of the track vertex [cm].

Definition at line 190 of file CaMcTrack.h.

References fPos.

Referenced by cbm::algo::ca::TripletConstructorSW::CreateTripletsForHit(), cbm::algo::ca::TripletConstructorSW::FindTripletHits(), and GetVertexPoint().

◆ GetStartZ()

double cbm::algo::ca::McTrack::GetStartZ ( ) const
inline

Gets z component of the track vertex [cm].

Definition at line 193 of file CaMcTrack.h.

References fPos.

Referenced by cbm::algo::ca::TripletConstructorSW::CreateTripletsForHit(), cbm::algo::ca::TripletConstructorSW::FindTripletHits(), GetVertexPoint(), and ToString().

◆ GetTheta()

double cbm::algo::ca::McTrack::GetTheta ( ) const
inline

Gets track polar angle.

Definition at line 196 of file CaMcTrack.h.

References fMom, and GetP().

Referenced by cbm::ca::TrackTypeQa::FillMCTrack(), and GetEta().

◆ GetTotNofStationsWithHit()

int cbm::algo::ca::McTrack::GetTotNofStationsWithHit ( ) const
inline

Gets total number of stations with hits.

Definition at line 199 of file CaMcTrack.h.

References fTotNofStationsWithHit.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetTotNofStationsWithPoint()

int cbm::algo::ca::McTrack::GetTotNofStationsWithPoint ( ) const
inline

Gets total number of stations with MC points.

Definition at line 202 of file CaMcTrack.h.

References fTotNofStationsWithPoint.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetTouchTrackIndexes()

const auto & cbm::algo::ca::McTrack::GetTouchTrackIndexes ( ) const
inline

Gets a reference to vector of reconstructed track indexes, not associated with this MC track but containing some hits, produced by this MC track

Definition at line 215 of file CaMcTrack.h.

References fvTouchTrackIndexes.

◆ GetTx()

double cbm::algo::ca::McTrack::GetTx ( ) const
inline

Gets track slope along x-axis.

Definition at line 205 of file CaMcTrack.h.

References fMom.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetTy()

double cbm::algo::ca::McTrack::GetTy ( ) const
inline

Gets track slope along y-axis.

Definition at line 208 of file CaMcTrack.h.

References fMom.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ GetVertexPoint()

◆ InitHitsInfo()

void McTrack::InitHitsInfo ( const ca::Vector< cbm::algo::ca::McHitInfo > & vHits)

Initializes information about MC track hits arrangement within stations Defines: #1) Number of stations with hits #2) Maximal number of hits within one station #3) Number of consecutive stations with a hit in MC track.

Parameters
vHitsVector of hits for a given TS

Definition at line 69 of file CaMcTrack.cxx.

References fMaxNofHitsOnStation, fNofConsStationsWithHit, fTotNofStationsWithHit, and fvHitIndexes.

◆ InitPointsInfo()

void McTrack::InitPointsInfo ( const ca::Vector< McPoint > & vPoints)

Initializes information about MC track points arrangement within stations Defines: #1) Number of stations with points #2) Maximal number of points within one station #3) Maximal number of points within one sensor (with same z-position) #4) Number of consecutive stations with a point in MC track.

Parameters
vPointsVector of points for a given TS

Definition at line 128 of file CaMcTrack.cxx.

References fMaxNofPointsOnSensor, fMaxNofPointsOnStation, fNofConsStationsWithPoint, fTotNofStationsWithPoint, and fvPointIndexes.

◆ IsAdditional()

bool cbm::algo::ca::McTrack::IsAdditional ( ) const
inline

Returns .... TODO.

Definition at line 240 of file CaMcTrack.h.

References fIsAdditional.

◆ IsDisturbed()

bool cbm::algo::ca::McTrack::IsDisturbed ( ) const
inline

Returns true, if this MC track.

Definition at line 243 of file CaMcTrack.h.

References fvTouchTrackIndexes.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ IsPrimary()

bool cbm::algo::ca::McTrack::IsPrimary ( ) const
inline

Returns flag, if the track is primary (process ID is 0 either mother ID is -1)

Definition at line 246 of file CaMcTrack.h.

References fProcId.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

◆ IsReconstructable()

bool cbm::algo::ca::McTrack::IsReconstructable ( ) const
inline

Returns flag, if track is reconstructable. The definition of particle reconstructability depends on the performance mode and should be determined in the experiment-specific MC module

Definition at line 250 of file CaMcTrack.h.

References fIsReconstructable.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack(), and ToString().

◆ IsReconstructed()

bool cbm::algo::ca::McTrack::IsReconstructed ( ) const
inline

Definition at line 252 of file CaMcTrack.h.

References fvRecoTrackIndexes.

Referenced by cbm::ca::TrackTypeQa::FillMCTrack(), and ToString().

◆ IsSignal()

bool cbm::algo::ca::McTrack::IsSignal ( ) const
inline

Returns flag, if the track comes from a real particle (true), or from generated noise (false)

Definition at line 255 of file CaMcTrack.h.

References fIsSignal.

◆ operator=() [1/2]

McTrack & cbm::algo::ca::McTrack::operator= ( const McTrack & )
default

Copy assignment operator.

References McTrack().

◆ operator=() [2/2]

McTrack & cbm::algo::ca::McTrack::operator= ( McTrack && )
default

Move assignment operator.

References McTrack().

◆ SetChainId()

void cbm::algo::ca::McTrack::SetChainId ( int chainId)
inline

Sets index of the first particle in the decay chain.

Definition at line 263 of file CaMcTrack.h.

References fChainId.

◆ SetCharge()

void cbm::algo::ca::McTrack::SetCharge ( double q)
inline

Sets charge [e].

Definition at line 266 of file CaMcTrack.h.

References fCharge.

◆ SetEventId()

void cbm::algo::ca::McTrack::SetEventId ( int iEvent)
inline

Sets index of MC event containing this track in external data structures.

Definition at line 269 of file CaMcTrack.h.

References fLinkKey.

◆ SetExternalId()

void cbm::algo::ca::McTrack::SetExternalId ( int id)
inline

Sets index of track in external data structures

Note
This index should be used to navigate through links

Definition at line 273 of file CaMcTrack.h.

References fLinkKey.

◆ SetFileId()

void cbm::algo::ca::McTrack::SetFileId ( int iFile)
inline

Sets index of MC file containing this track in external data structures.

Definition at line 276 of file CaMcTrack.h.

References fLinkKey.

◆ SetFlagAdditional()

void cbm::algo::ca::McTrack::SetFlagAdditional ( bool isAdditional)
inline

Sets flag, if the track is additional (not reconstructable but still interesting)

Definition at line 304 of file CaMcTrack.h.

References fIsAdditional.

◆ SetFlagReconstructable()

void cbm::algo::ca::McTrack::SetFlagReconstructable ( bool isReconstructable)
inline

Sets flag, if the track is reconstructable.

Definition at line 307 of file CaMcTrack.h.

References fIsReconstructable.

◆ SetFlagSignal()

void cbm::algo::ca::McTrack::SetFlagSignal ( bool isSignal)
inline

Sets flag, if the track comes from signal.

Definition at line 310 of file CaMcTrack.h.

References fIsSignal.

◆ SetId()

void cbm::algo::ca::McTrack::SetId ( int id)
inline

Sets index of track in the CA internal data structure (within event/TS)

Definition at line 279 of file CaMcTrack.h.

References fId.

Referenced by cbm::ca::MCModule::ReadMCTracks().

◆ SetMass()

void cbm::algo::ca::McTrack::SetMass ( double mass)
inline

Sets particle mass [GeV/c2].

Definition at line 286 of file CaMcTrack.h.

References fMass.

◆ SetMotherId()

void cbm::algo::ca::McTrack::SetMotherId ( int motherId)
inline

Sets index of mother track

Note
Mother ID should refer to the internal index of track

Definition at line 283 of file CaMcTrack.h.

References fMotherId.

◆ SetPdgCode()

void cbm::algo::ca::McTrack::SetPdgCode ( int pdg)
inline

Sets PDG encoding.

Definition at line 289 of file CaMcTrack.h.

References fPdgCode.

◆ SetProcessId()

void cbm::algo::ca::McTrack::SetProcessId ( unsigned procId)
inline

Sets process ID.

Definition at line 292 of file CaMcTrack.h.

References fProcId.

◆ SetPx()

void cbm::algo::ca::McTrack::SetPx ( double px)
inline

Sets x component of momentum [GeV/c].

Definition at line 295 of file CaMcTrack.h.

References fMom.

◆ SetPy()

void cbm::algo::ca::McTrack::SetPy ( double py)
inline

Sets x component of momentum [GeV/c].

Definition at line 298 of file CaMcTrack.h.

References fMom.

◆ SetPz()

void cbm::algo::ca::McTrack::SetPz ( double pz)
inline

Sets x component of momentum [GeV/c].

Definition at line 301 of file CaMcTrack.h.

References fMom.

◆ SetStartT()

void cbm::algo::ca::McTrack::SetStartT ( double t)
inline

Sets time of the track vertex [ns].

Definition at line 313 of file CaMcTrack.h.

References fTime.

◆ SetStartX()

void cbm::algo::ca::McTrack::SetStartX ( double x)
inline

Sets x component of the track vertex [cm].

Definition at line 316 of file CaMcTrack.h.

References fPos, and x.

◆ SetStartY()

void cbm::algo::ca::McTrack::SetStartY ( double y)
inline

Sets y component of the track vertex [cm].

Definition at line 319 of file CaMcTrack.h.

References fPos, and y.

◆ SetStartZ()

void cbm::algo::ca::McTrack::SetStartZ ( double z)
inline

Sets z component of the track vertex [cm].

Definition at line 322 of file CaMcTrack.h.

References fPos.

◆ SortPointIndexes()

void McTrack::SortPointIndexes ( const std::function< bool(const int &lhs, const int &rhs)> & cmpFn)

Sorts points inside track by a provided hit comparison function function

Parameters
cmpFnFunctional object to compare mcPoints

Definition at line 210 of file CaMcTrack.cxx.

References fvPointIndexes.

◆ ToString()

std::string McTrack::ToString ( int verbose = 1,
bool header = false ) const

Provides string representation of a track.

Parameters
verboseVerbosity level
headerFlag: to print header or data
Returns
String representation

Definition at line 217 of file CaMcTrack.cxx.

References fId, fMotherId, fPdgCode, fvHitIndexes, fvPointIndexes, fvRecoTrackIndexes, fvTouchTrackIndexes, GetNofHits(), GetNofPoints(), GetNofRecoTracks(), GetNofTouchTracks(), GetP(), GetStartT(), GetStartZ(), IsReconstructable(), and IsReconstructed().

Referenced by cbm::ca::TrackTypeQa::FillMCTrack().

Member Data Documentation

◆ fChainId

int cbm::algo::ca::McTrack::fChainId = constants::Undef<int>
private

Index of the first particle in the decay chain.

Definition at line 354 of file CaMcTrack.h.

Referenced by GetChainId(), and SetChainId().

◆ fCharge

double cbm::algo::ca::McTrack::fCharge = constants::Undef<double>
private

Particle charge [e].

Definition at line 340 of file CaMcTrack.h.

Referenced by GetCharge(), and SetCharge().

◆ fId

int cbm::algo::ca::McTrack::fId = constants::Undef<int>
private

Index of MC track in internal container for TS/event.

Definition at line 352 of file CaMcTrack.h.

Referenced by GetId(), SetId(), and ToString().

◆ fIsAdditional

bool cbm::algo::ca::McTrack::fIsAdditional = false
private

If track is not reconstructable, but still interesting.

Definition at line 361 of file CaMcTrack.h.

Referenced by IsAdditional(), and SetFlagAdditional().

◆ fIsReconstructable

bool cbm::algo::ca::McTrack::fIsReconstructable = false
private

If track is reconstructable.

Definition at line 360 of file CaMcTrack.h.

Referenced by IsReconstructable(), and SetFlagReconstructable().

◆ fIsSignal

bool cbm::algo::ca::McTrack::fIsSignal = false
private

If the track comes from signal.

Definition at line 359 of file CaMcTrack.h.

Referenced by IsSignal(), and SetFlagSignal().

◆ fLinkKey

ca::McLinkKey cbm::algo::ca::McTrack::fLinkKey
private
Initial value:

A link key of this track in the external data structures.

Definition at line 356 of file CaMcTrack.h.

Referenced by GetEventId(), GetExternalId(), GetFileId(), GetLinkKey(), SetEventId(), SetExternalId(), and SetFileId().

◆ fMass

double cbm::algo::ca::McTrack::fMass = constants::Undef<double>
private

Particle mass [GeV/c2].

Definition at line 339 of file CaMcTrack.h.

Referenced by GetE(), GetEkin(), GetMass(), and SetMass().

◆ fMaxNofHitsOnStation

int cbm::algo::ca::McTrack::fMaxNofHitsOnStation = constants::Undef<int>
private

Max number of hits on a station.

Definition at line 370 of file CaMcTrack.h.

Referenced by GetMaxNofHitsOnStation(), and InitHitsInfo().

◆ fMaxNofPointsOnSensor

int cbm::algo::ca::McTrack::fMaxNofPointsOnSensor = constants::Undef<int>
private

Max number of MC points with same Z (means on same sensor)

Definition at line 369 of file CaMcTrack.h.

Referenced by InitPointsInfo().

◆ fMaxNofPointsOnStation

int cbm::algo::ca::McTrack::fMaxNofPointsOnStation = constants::Undef<int>
private

Max number of MC points on a station.

Definition at line 368 of file CaMcTrack.h.

Referenced by GetMaxNofPointsOnStation(), and InitPointsInfo().

◆ fMom

std::array<double, 3> cbm::algo::ca::McTrack::fMom
private
Initial value:

Momentum components [GeV/c].

Definition at line 345 of file CaMcTrack.h.

Referenced by GetP(), GetPhi(), GetPt(), GetPx(), GetPy(), GetPz(), GetRapidity(), GetTheta(), GetTx(), GetTy(), SetPx(), SetPy(), and SetPz().

◆ fMotherId

int cbm::algo::ca::McTrack::fMotherId = constants::Undef<int>
private

Index of mother MC track in the external tracks container.

Definition at line 353 of file CaMcTrack.h.

Referenced by GetMotherId(), SetMotherId(), and ToString().

◆ fNofConsStationsWithHit

int cbm::algo::ca::McTrack::fNofConsStationsWithHit = constants::Undef<int>
private

Number of consecutive stations with hits.

Definition at line 364 of file CaMcTrack.h.

Referenced by GetNofConsStationsWithHit(), and InitHitsInfo().

◆ fNofConsStationsWithPoint

int cbm::algo::ca::McTrack::fNofConsStationsWithPoint = constants::Undef<int>
private

Number of consecutive stations with points.

Definition at line 365 of file CaMcTrack.h.

Referenced by GetNofConsStationsWithPoint(), and InitPointsInfo().

◆ fPdgCode

int cbm::algo::ca::McTrack::fPdgCode = constants::Undef<int>
private

PDG encoding.

Definition at line 348 of file CaMcTrack.h.

Referenced by GetPdgCode(), SetPdgCode(), and ToString().

◆ fPos

std::array<double, 3> cbm::algo::ca::McTrack::fPos
private
Initial value:

Track vertex components [cm].

Definition at line 343 of file CaMcTrack.h.

Referenced by GetStartX(), GetStartY(), GetStartZ(), SetStartX(), SetStartY(), and SetStartZ().

◆ fProcId

unsigned cbm::algo::ca::McTrack::fProcId = constants::Undef<unsigned>
private

Process ID (from ROOT::TProcessID)

Definition at line 349 of file CaMcTrack.h.

Referenced by GetProcessId(), IsPrimary(), and SetProcessId().

◆ fTime

double cbm::algo::ca::McTrack::fTime = constants::Undef<double>
private

Time of track [cm].

Definition at line 341 of file CaMcTrack.h.

Referenced by GetStartT(), and SetStartT().

◆ fTotNofStationsWithHit

int cbm::algo::ca::McTrack::fTotNofStationsWithHit = constants::Undef<int>
private

Total number of stations with hits.

Definition at line 366 of file CaMcTrack.h.

Referenced by GetTotNofStationsWithHit(), and InitHitsInfo().

◆ fTotNofStationsWithPoint

int cbm::algo::ca::McTrack::fTotNofStationsWithPoint = constants::Undef<int>
private

Total number of stations with MC points.

Definition at line 367 of file CaMcTrack.h.

Referenced by GetTotNofStationsWithPoint(), and InitPointsInfo().

◆ fvHitIndexes

ca::Vector<int> cbm::algo::ca::McTrack::fvHitIndexes = {"ca::tools::fvHitIndexes"}
private

Indexes of hits in int.container.

Definition at line 373 of file CaMcTrack.h.

Referenced by AddHitIndex(), ClearHitIndexes(), GetHitIndexes(), GetNofHits(), InitHitsInfo(), and ToString().

◆ fvPointIndexes

ca::Vector<int> cbm::algo::ca::McTrack::fvPointIndexes = {"ca::tools::fvPointIndexes"}
private

Indexes of MC points in ext.container.

Definition at line 372 of file CaMcTrack.h.

Referenced by AddPointIndex(), ClearPointIndexes(), GetNofPoints(), GetPointIndexes(), InitPointsInfo(), SortPointIndexes(), and ToString().

◆ fvRecoTrackIndexes

ca::Vector<int> cbm::algo::ca::McTrack::fvRecoTrackIndexes = {"ca::tools::fvRecoTrackIndexes"}
private

Indexes of associated reco tracks.

Definition at line 374 of file CaMcTrack.h.

Referenced by AddRecoTrackIndex(), ClearRecoTrackIndexes(), GetNofClones(), GetNofRecoTracks(), GetRecoTrackIndexes(), IsReconstructed(), and ToString().

◆ fvTouchTrackIndexes

ca::Vector<int> cbm::algo::ca::McTrack::fvTouchTrackIndexes = {"ca::tools::fvTouchTrackIndexes"}
private

Pointers to non-associated tracks, which use hits from this track

Definition at line 375 of file CaMcTrack.h.

Referenced by AddTouchTrackIndex(), ClearTouchTrackIndexes(), GetNofTouchTracks(), GetTouchTrackIndexes(), IsDisturbed(), and ToString().


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