|
CbmRoot
|
#include <CaCloneMerger.h>
Public Member Functions | |
| CloneMerger (const ca::Parameters< fvec > &pars, const fscal mass) | |
| Default constructor. | |
| ~CloneMerger () | |
| Destructor. | |
| CloneMerger (const CloneMerger &)=default | |
| Copy constructor. | |
| CloneMerger (CloneMerger &&)=default | |
| Move constructor. | |
| CloneMerger & | operator= (const CloneMerger &)=delete |
| Copy assignment operator. | |
| CloneMerger & | operator= (CloneMerger &&)=delete |
| Move assignment operator. | |
| void | Exec (const ca::InputData &input, WindowData &wData) |
| Registers. | |
Static Private Member Functions | |
| static void | InvertCholesky (fvec a[15]) |
| static void | MultiplySS (fvec const C[15], fvec const V[15], fvec K[5][5]) |
| static void | MultiplyMS (fvec const C[5][5], fvec const V[15], fvec K[15]) |
| static void | MultiplySR (fvec const C[15], fvec const r_in[5], fvec r_out[5]) |
| static void | FilterTracks (fvec const r[5], fvec const C[15], fvec const m[5], fvec const V[15], fvec R[5], fvec W[15], fvec *chi2) |
Private Attributes | |
| Vector< unsigned short > | fTrackFirstStation {"CloneMerger::fTrackFirstStation"} |
| First station of a track. | |
| Vector< unsigned short > | fTrackLastStation {"CloneMerger::fTrackLastStation"} |
| Last station of a track. | |
| Vector< ca::HitIndex_t > | fTrackFirstHit {"CloneMerger::fTrackFirstHit"} |
| Index of the first hit of a track. | |
| Vector< ca::HitIndex_t > | fTrackLastHit {"CloneMerger::fTrackLastHit"} |
| Index of the last hit of a track. | |
| Vector< unsigned short > | fTrackNeighbour {"CloneMerger::fTrackNeighbour"} |
| Index (TODO:??) of a track that can be merge with the given track. | |
| Vector< fscal > | fTrackChi2 {"CloneMerger::fTrackChi2"} |
| Chi2 value of the track merging procedure. | |
| Vector< char > | fTrackIsStored {"CloneMerger::fTrackIsStored"} |
| Flag: is the given track already stored to the output. | |
| Vector< char > | fTrackIsDownstreamNeighbour {"CloneMerger::fTrackIsDownstreamNeighbour"} |
| Flag: is the track a downstream neighbour of another track. | |
| Vector< Track > | fTracksNew {"CaCloneMerger::fTracksNew"} |
| vector of tracks after the merge | |
| Vector< ca::HitIndex_t > | fRecoHitsNew {"CaCloneMerger::fRecoHitsNew"} |
| vector of track hits after the merge | |
| const Parameters< fvec > & | fParameters |
| Reference to the Framework parameters class. | |
| const kf::Setup< fvec > & | fSetup |
| Active setup. | |
| const kf::Field< fvec > & | fField |
| Reference to the magnetic field representation. | |
| fscal | fDefaultMass {constants::phys::MuonMass} |
| mass of the propagated particle [GeV/c2] | |
Class implements a clones merger algorithm for the CA track finder
Definition at line 27 of file CaCloneMerger.h.
| cbm::algo::ca::CloneMerger::CloneMerger | ( | const ca::Parameters< fvec > & | pars, |
| const fscal | mass ) |
Default constructor.
Definition at line 26 of file CaCloneMerger.cxx.
References fDefaultMass, fField, fParameters, and fSetup.
Referenced by CloneMerger(), CloneMerger(), operator=(), and operator=().
| cbm::algo::ca::CloneMerger::~CloneMerger | ( | ) |
Destructor.
Definition at line 36 of file CaCloneMerger.cxx.
|
default |
Copy constructor.
References CloneMerger().
|
default |
Move constructor.
References CloneMerger().
| void cbm::algo::ca::CloneMerger::Exec | ( | const ca::InputData & | input, |
| WindowData & | wData ) |
Registers.
Executes track clones merging algorithm and updates input containers
| input | Reference to input data |
| wData | Reference to the external container of reconstructed tracks and hit indices |
Definition at line 40 of file CaCloneMerger.cxx.
References cbm::algo::ca::_fvecalignment, cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::Extrapolate(), fDefaultMass, fField, FilterTracks(), fParameters, fRecoHitsNew, fSetup, fTrackChi2, fTrackFirstHit, fTrackFirstStation, fTrackIsDownstreamNeighbour, fTrackIsStored, fTrackLastHit, fTrackLastStation, fTrackNeighbour, fTracksNew, cbm::algo::ca::InputData::GetHit(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::Linearization(), cbm::algo::kf::fmask::One(), cbm::algo::ca::WindowData::RecoHitIndices(), cbm::algo::ca::WindowData::RecoTracks(), cbm::algo::ca::Vector< T >::reset(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::SetMask(), cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::SetParticleMass(), sqrt(), cbm::algo::ca::Hit::Station(), and cbm::algo::kf::TrackKalmanFilter< DataT, Settings >::Tr().
|
staticprivate |
Definition at line 208 of file CaCloneMerger.cxx.
References InvertCholesky(), MultiplyMS(), MultiplySR(), and MultiplySS().
Referenced by Exec().
|
staticprivate |
Definition at line 254 of file CaCloneMerger.cxx.
References cbm::algo::kf::utils::fabs(), iif(), and sqrt().
Referenced by FilterTracks().
|
staticprivate |
Definition at line 319 of file CaCloneMerger.cxx.
Referenced by FilterTracks().
|
staticprivate |
Definition at line 344 of file CaCloneMerger.cxx.
Referenced by FilterTracks().
|
staticprivate |
Multiplication of two symmetric matryces 5x5
| C | Left matrix: C[0] C[1] C[3] C[6] C[10] C[1] C[2] C[4] C[7] C[11] C = C[3] C[4] C[5] C[8] C[12] C[6] C[7] C[8] C[9] C[13] C[10] C[11] C[12] C[13] C[14] |
| V | Right matrix: V[0] V[1] V[3] V[6] V[10] V[1] V[2] V[4] V[7] V[11] V = V[3] V[4] V[5] V[8] V[12] V[6] V[7] V[8] V[9] V[13] V[10] V[11] V[12] V[13] V[14] |
| K | Output: K = C * V |
Definition at line 355 of file CaCloneMerger.cxx.
Referenced by FilterTracks().
|
delete |
Move assignment operator.
References CloneMerger().
|
delete |
Copy assignment operator.
References CloneMerger().
|
private |
mass of the propagated particle [GeV/c2]
Definition at line 126 of file CaCloneMerger.h.
Referenced by CloneMerger(), and Exec().
Reference to the magnetic field representation.
Definition at line 125 of file CaCloneMerger.h.
Referenced by CloneMerger(), and Exec().
|
private |
Reference to the Framework parameters class.
Definition at line 123 of file CaCloneMerger.h.
Referenced by CloneMerger(), and Exec().
|
private |
vector of track hits after the merge
Definition at line 120 of file CaCloneMerger.h.
Referenced by Exec().
Active setup.
Definition at line 124 of file CaCloneMerger.h.
Referenced by CloneMerger(), and Exec().
Chi2 value of the track merging procedure.
Definition at line 110 of file CaCloneMerger.h.
Referenced by Exec().
|
private |
Index of the first hit of a track.
Definition at line 101 of file CaCloneMerger.h.
Referenced by Exec().
|
private |
|
private |
Flag: is the track a downstream neighbour of another track.
Definition at line 116 of file CaCloneMerger.h.
Referenced by Exec().
|
private |
Flag: is the given track already stored to the output.
Definition at line 113 of file CaCloneMerger.h.
Referenced by Exec().
|
private |
Index of the last hit of a track.
Definition at line 104 of file CaCloneMerger.h.
Referenced by Exec().
|
private |
|
private |
Index (TODO:??) of a track that can be merge with the given track.
Definition at line 107 of file CaCloneMerger.h.
Referenced by Exec().
vector of tracks after the merge
Definition at line 118 of file CaCloneMerger.h.
Referenced by Exec().