326 void SortPointIndexes(
const std::function<
bool(
const int& lhs,
const int& rhs)>& cmpFn);
332 std::string
ToString(
int verbose = 1,
bool header =
false)
const;
Compile-time constants definition for the CA tracking algorithm.
Data structure to represent a MC link in CA tracking MC module.
Class describes a unified MC-point, used in CA tracking QA analysis.
int fMaxNofPointsOnSensor
Max number of MC points with same Z (means on same sensor)
void ClearRecoTrackIndexes()
Clears container of reconstructed track indexes.
int GetMaxNofHitsOnStation() const
Gets max number of hits within a station.
double GetEta() const
Gets pseudo-rapidity.
int fPdgCode
PDG encoding.
double GetPx() const
Gets x component of momentum [GeV/c].
double GetEkin() const
Gets kinetic energy [GeV].
int fId
Index of MC track in internal container for TS/event.
bool IsReconstructed() const
bool IsSignal() const
Returns flag, if the track comes from a real particle (true), or from generated noise (false)
void AddTouchTrackIndex(int iTre)
void SetStartZ(double z)
Sets z component of the track vertex [cm].
McTrack & operator=(McTrack &&)=default
Move assignment operator.
void AddRecoTrackIndex(int iTre)
void SetPx(double px)
Sets x component of momentum [GeV/c].
McPoint GetVertexPoint() const
Creates an MC point from the track vertex.
bool IsReconstructable() const
void SetFlagAdditional(bool isAdditional)
Sets flag, if the track is additional (not reconstructable but still interesting)
bool fIsAdditional
If track is not reconstructable, but still interesting.
int GetNofClones() const
Gets number of clones.
ca::Vector< int > fvTouchTrackIndexes
void SetCharge(double q)
Sets charge [e].
void ClearHitIndexes()
Clears container of hit indexes.
double GetPhi() const
Gets azimuthal angle [rad].
bool IsPrimary() const
Returns flag, if the track is primary (process ID is 0 either mother ID is -1)
double GetStartX() const
Gets x component of the track vertex [cm].
void SetPdgCode(int pdg)
Sets PDG encoding.
double GetStartZ() const
Gets z component of the track vertex [cm].
ca::Vector< int > fvRecoTrackIndexes
Indexes of associated reco tracks.
int GetNofHits() const
Gets number of hits.
std::string ToString(int verbose=1, bool header=false) const
Provides string representation of a track.
McTrack(const McTrack &)=default
Copy constructor.
int GetNofTouchTracks() const
Gets number of reconstructed tracks, which contain hits from this MC track.
unsigned fProcId
Process ID (from ROOT::TProcessID)
int GetTotNofStationsWithPoint() const
Gets total number of stations with MC points.
int fMotherId
Index of mother MC track in the external tracks container.
McTrack(McTrack &&)=default
Move constructor.
void SetStartX(double x)
Sets x component of the track vertex [cm].
void SetProcessId(unsigned procId)
Sets process ID.
void SetChainId(int chainId)
Sets index of the first particle in the decay chain.
int GetNofRecoTracks() const
Gets number of assigned reconstructed tracks.
void InitHitsInfo(const ca::Vector< cbm::algo::ca::McHitInfo > &vHits)
Initializes information about MC track hits arrangement within stations Defines: #1) Number of statio...
double fCharge
Particle charge [e].
void AddPointIndex(int iP)
ca::Vector< int > fvHitIndexes
Indexes of hits in int.container.
void SortPointIndexes(const std::function< bool(const int &lhs, const int &rhs)> &cmpFn)
double fTime
Time of track [cm].
bool IsAdditional() const
Returns .... TODO.
const auto & GetTouchTrackIndexes() const
int fNofConsStationsWithPoint
Number of consecutive stations with points.
bool IsDisturbed() const
Returns true, if this MC track.
void SetStartY(double y)
Sets y component of the track vertex [cm].
void Clear()
Clears contents.
int GetId() const
Gets index of track.
int GetTotNofStationsWithHit() const
Gets total number of stations with hits.
int fMaxNofPointsOnStation
Max number of MC points on a station.
void SetMass(double mass)
Sets particle mass [GeV/c2].
void ClearPointIndexes()
Clears container of point indexes.
std::array< double, 3 > fPos
Track vertex components [cm].
void SetPz(double pz)
Sets x component of momentum [GeV/c].
void SetPy(double py)
Sets x component of momentum [GeV/c].
int GetMotherId() const
Gets index of mother track in CA internal data structures.
const auto & GetPointIndexes() const
Gets a reference to associated point indexes.
int GetExternalId() const
Gets index of the track in the external data structures.
double GetTx() const
Gets track slope along x-axis.
double GetMass() const
Gets particle mass [GeV/c2].
void SetEventId(int iEvent)
Sets index of MC event containing this track in external data structures.
int GetNofPoints() const
Gets number of points.
unsigned GetProcessId() const
Gets process ID.
double GetCharge() const
Gets charge [e].
double GetRapidity() const
Gets rapidity.
int fTotNofStationsWithPoint
Total number of stations with MC points.
double GetSpeed() const
Gets particle speed [c].
double GetTheta() const
Gets track polar angle.
std::array< double, 3 > fMom
Momentum components [GeV/c].
void SetId(int id)
Sets index of track in the CA internal data structure (within event/TS)
int fNofConsStationsWithHit
Number of consecutive stations with hits.
ca::McLinkKey fLinkKey
A link key of this track in the external data structures.
int GetFileId() const
Gets index of MC file containing this track in external data structures.
McTrack & operator=(const McTrack &)=default
Copy assignment operator.
int GetEventId() const
Gets index of MC event containing this track in external data structures.
void SetFileId(int iFile)
Sets index of MC file containing this track in external data structures.
~McTrack()=default
Destructor.
void SetMotherId(int motherId)
int GetNofConsStationsWithHit() const
Gets number of consecutive stations with hits.
double GetP() const
Gets absolute momentum [GeV/c].
int GetMaxNofPointsOnStation() const
Gets max number of points within a station.
ca::McLinkKey GetLinkKey() const
Gets link key.
double GetE() const
Gets total energy [GeV].
double GetTy() const
Gets track slope along y-axis.
void SetExternalId(int id)
void SetStartT(double t)
Sets time of the track vertex [ns].
void ClearTouchTrackIndexes()
int fTotNofStationsWithHit
Total number of stations with hits.
double GetStartT() const
Gets time of the track vertex [ns].
const auto & GetRecoTrackIndexes() const
Gets a reference to vector associated reconstructed track indexes.
bool fIsReconstructable
If track is reconstructable.
void InitPointsInfo(const ca::Vector< McPoint > &vPoints)
Initializes information about MC track points arrangement within stations Defines: #1) Number of stat...
bool fIsSignal
If the track comes from signal.
int fChainId
Index of the first particle in the decay chain.
void SetFlagReconstructable(bool isReconstructable)
Sets flag, if the track is reconstructable.
double fMass
Particle mass [GeV/c2].
void SetFlagSignal(bool isSignal)
Sets flag, if the track comes from signal.
ca::Vector< int > fvPointIndexes
Indexes of MC points in ext.container.
const auto & GetHitIndexes() const
Gets a reference to associated hit indexes.
int fMaxNofHitsOnStation
Max number of hits on a station.
double GetPz() const
Gets x component of momentum [GeV/c].
int GetChainId() const
Gets index of the first particle in the decay chain.
double GetPy() const
Gets x component of momentum [GeV/c].
McTrack()=default
Default constructor.
int GetNofConsStationsWithPoint() const
Gets number of consecutive stations with MC points.
int GetPdgCode() const
Gets PDG encoding.
double GetPt() const
Gets transverse momentum [GeV/c].
double GetStartY() const
Gets y component of the track vertex [cm].
constexpr T2 Undef
Undefined values.
TODO: SZh 8.11.2022: add selection of parameterisation.