|
CbmRoot
|
#include <CaTripletConstructorSW.h>
Public Member Functions | |
| TripletConstructorSW (const ca::Framework &framework, const ca::Parameters< fvec > &pars, WindowData &wData, const fscal mass, const ca::TrackingMode &mode) | |
| ---— Constructors and destructor ---— | |
| TripletConstructorSW (const TripletConstructorSW &)=delete | |
| Copy constructor. | |
| TripletConstructorSW (TripletConstructorSW &&)=delete | |
| Move constructor. | |
| TripletConstructorSW & | operator= (const TripletConstructorSW &)=delete |
| Copy assignment operator. | |
| TripletConstructorSW & | operator= (TripletConstructorSW &&)=delete |
| Move assignment operator. | |
| ~TripletConstructorSW ()=default | |
| Destructor. | |
| void | CreateTripletsForHit (Vector< ca::Triplet > &tripletsOut, int istal, int istam, int istar, ca::HitIndex_t ihl) |
| ---— FUNCTIONAL PART ---— | |
Private Types | |
| typedef Vector< ca::HitIndex_t > | Doublet_t |
| typedef std::tuple< Vector< ca::HitIndex_t >, Vector< ca::HitIndex_t >, Vector< fscal > > | Triplet_t |
Private Member Functions | |
| bool | InitStations (int istal, int istam, int istar) |
| void | SuppressDoubletClones () |
| Find the doublets. Reformat data in the portion of doublets. | |
| void | FindTripletHits () |
| void | FitTriplets (Vector< ca::Triplet > &tripletsOut) |
| Fit triplets on station. | |
| void | CollectHits (Vector< ca::HitIndex_t > &collectedHits, const SearchWindowMap::SearchWindow &area2D, fscal time, fscal timeRange, const int iSta, const fscal areaExtension, const int maxNhits, const McMatch &mc) |
| int | FindClosestHitWithMc (const SearchWindowMap::SearchWindow &area2D, const int iSta, const McMatch &mc) |
Private Attributes | |
| const ca::Framework & | fFramework |
| Reference to the Framework object. | |
| const Parameters< fvec > & | fParameters |
| Object of Framework parameters class. | |
| const cbm::algo::kf::Setup< fvec > & | fSetup |
| Reference to the setup. | |
| const cbm::algo::kf::Field< fvec > & | fField |
| Reference to field. | |
| const SearchWindowMapContainer & | fSwMaps |
| Search windows. | |
| WindowData & | frWData |
| fscal | fDefaultMass {constants::phys::MuonMass} |
| mass of the propagated particle [GeV/c2] | |
| ca::TrackingMode | fTrackingMode |
| bool | fIsTargetField {false} |
| is the magnetic field present at the target | |
| int | fNfieldStations {0} |
| int | fIstaL {-1} |
| left station index | |
| int | fIstaM {-1} |
| middle station index | |
| int | fIstaR {-1} |
| right station index | |
| const kf::ActiveLayer< fvec > * | fStaL {nullptr} |
| left station | |
| const kf::ActiveLayer< fvec > * | fStaM {nullptr} |
| mid station | |
| const kf::ActiveLayer< fvec > * | fStaR {nullptr} |
| right station | |
| ca::HitIndex_t | fIhitL |
| index of the left hit in fAlgo->fWindowHits | |
| kf::FieldRegion< fvec > | fFldL |
| Triplet_t | fTripletData |
| Vector< ca::HitIndex_t > | fDoubletData |
Static Private Attributes | |
| static constexpr bool | fDebugDublets = false |
| static constexpr bool | fDebugTriplets = false |
| static constexpr bool | fDebugCollectHits = false |
Construction of triplets for the CA tracker
Definition at line 27 of file CaTripletConstructorSW.h.
|
private |
Definition at line 56 of file CaTripletConstructorSW.h.
|
private |
Definition at line 57 of file CaTripletConstructorSW.h.
| TripletConstructorSW::TripletConstructorSW | ( | const ca::Framework & | framework, |
| const ca::Parameters< fvec > & | pars, | ||
| WindowData & | wData, | ||
| const fscal | mass, | ||
| const ca::TrackingMode & | mode ) |
---— Constructors and destructor ---—
Constructor
| nThreads | Number of threads for multi-threaded mode |
Definition at line 25 of file CaTripletConstructorSW.cxx.
References cbm::algo::ca::utils::Debugger::AddNtuple(), fDebugDublets, fDebugTriplets, fDefaultMass, fField, fFramework, fIsTargetField, fNfieldStations, fParameters, frWData, fSetup, fSwMaps, fTrackingMode, and cbm::algo::ca::utils::Debugger::Instance().
Referenced by operator=(), operator=(), TripletConstructorSW(), and TripletConstructorSW().
|
delete |
Copy constructor.
References TripletConstructorSW().
|
delete |
Move constructor.
References TripletConstructorSW().
|
default |
Destructor.
|
private |
Collect hits on a station
Definition at line 541 of file CaTripletConstructorSW.cxx.
References cbm::algo::ca::GridArea::DoLoopOverEntireGrid(), fDebugCollectHits, fFramework, fParameters, frWData, fSetup, cbm::algo::ca::GridArea::GetNextObjectId(), cbm::algo::ca::Hit::Id(), cbm::algo::ca::McMatch::IsEmpty(), cbm::algo::ca::Vector< T >::push_back(), cbm::algo::ca::Hit::RangeT(), cbm::algo::ca::Hit::RangeX(), cbm::algo::ca::Hit::RangeY(), cbm::algo::ca::Vector< T >::reserve(), cbm::algo::ca::Hit::T(), cbm::algo::ca::Hit::ToString(), cbm::algo::ca::Hit::X(), cbm::algo::ca::SearchWindowMap::SearchWindow::xMax, cbm::algo::ca::SearchWindowMap::SearchWindow::xMin, cbm::algo::ca::Hit::Y(), cbm::algo::ca::SearchWindowMap::SearchWindow::yMax, and cbm::algo::ca::SearchWindowMap::SearchWindow::yMin.
Referenced by CreateTripletsForHit(), and FindTripletHits().
| void TripletConstructorSW::CreateTripletsForHit | ( | Vector< ca::Triplet > & | tripletsOut, |
| int | istal, | ||
| int | istam, | ||
| int | istar, | ||
| ca::HitIndex_t | ihl ) |
---— FUNCTIONAL PART ---—
Find the doublets. Reformat data into portions of doublets.
Definition at line 103 of file CaTripletConstructorSW.cxx.
References CollectHits(), fDebugDublets, fDoubletData, fFramework, fIhitL, cbm::algo::ca::utils::Debugger::FillNtuple(), FindClosestHitWithMc(), FindTripletHits(), fIstaM, fIstaR, FitTriplets(), fParameters, frWData, fSetup, fSwMaps, cbm::algo::ca::McTrack::GetCharge(), cbm::algo::ca::McTrack::GetEventId(), cbm::algo::ca::McMatch::GetLink(), cbm::algo::ca::McMatch::GetNofLinks(), cbm::algo::ca::McTrack::GetP(), cbm::algo::ca::DoubletSearchWindowMap::GetSearchWindow(), cbm::algo::ca::McTrack::GetStartX(), cbm::algo::ca::McTrack::GetStartY(), cbm::algo::ca::McTrack::GetStartZ(), InitStations(), cbm::algo::ca::utils::Debugger::Instance(), cbm::algo::ca::McMatch::IsEmpty(), sqrt(), SuppressDoubletClones(), cbm::algo::ca::Hit::X(), x, cbm::algo::ca::SearchWindowMap::SearchWindow::xMax, cbm::algo::ca::SearchWindowMap::SearchWindow::xMin, cbm::algo::ca::Hit::Y(), y, cbm::algo::ca::SearchWindowMap::SearchWindow::yMax, cbm::algo::ca::SearchWindowMap::SearchWindow::yMin, and cbm::algo::ca::Hit::Z().
Referenced by cbm::algo::ca::TrackFinderWindow::ConstructTriplets().
|
private |
Find closest hit on a station with a given MC match
Definition at line 620 of file CaTripletConstructorSW.cxx.
References cbm::algo::ca::GridArea::DoLoopOverEntireGrid(), fFramework, frWData, cbm::algo::ca::GridArea::GetNextObjectId(), cbm::algo::ca::Hit::Id(), cbm::algo::ca::McMatch::IsEmpty(), cbm::algo::ca::Hit::X(), cbm::algo::ca::SearchWindowMap::SearchWindow::xMax, cbm::algo::ca::SearchWindowMap::SearchWindow::xMin, cbm::algo::ca::Hit::Y(), cbm::algo::ca::SearchWindowMap::SearchWindow::yMax, and cbm::algo::ca::SearchWindowMap::SearchWindow::yMin.
Referenced by CreateTripletsForHit(), and FindTripletHits().
|
private |
Add the middle hits to parameters estimation. Propagate to right station. Find the triplets (right hit). Reformat data in the portion of triplets.
Definition at line 230 of file CaTripletConstructorSW.cxx.
References CollectHits(), fDebugTriplets, fDoubletData, fFramework, fIhitL, cbm::algo::ca::utils::Debugger::FillNtuple(), FindClosestHitWithMc(), fIstaL, fIstaM, fIstaR, fParameters, frWData, fSetup, fSwMaps, fTripletData, cbm::algo::ca::McTrack::GetCharge(), cbm::algo::ca::McTrack::GetEventId(), cbm::algo::ca::McTrack::GetP(), cbm::algo::ca::TripletSearchWindowMap::GetSearchWindowAndMs(), cbm::algo::ca::McTrack::GetStartX(), cbm::algo::ca::McTrack::GetStartY(), cbm::algo::ca::McTrack::GetStartZ(), cbm::algo::ca::Hit::Id(), cbm::algo::ca::utils::Debugger::Instance(), cbm::algo::ca::McMatch::IsEmpty(), cbm::algo::ca::Vector< T >::push_back(), cbm::algo::ca::Hit::RangeT(), cbm::algo::ca::Hit::RangeX(), cbm::algo::ca::Hit::RangeY(), cbm::algo::ca::Vector< T >::reserve(), sqrt(), cbm::algo::ca::Hit::T(), cbm::algo::ca::Hit::X(), x, cbm::algo::ca::Hit::Y(), y, and cbm::algo::ca::Hit::Z().
Referenced by CreateTripletsForHit().
|
private |
Fit triplets on station.
Fit Triplets
Definition at line 349 of file CaTripletConstructorSW.cxx.
References cbm::algo::kf::FieldRegion< T >::CopyConvert(), cbm::algo::ca::Hit::dX2(), cbm::algo::ca::Hit::dY2(), cbm::algo::ca::Vector< T >::emplace_back(), fDebugTriplets, fField, fIhitL, fIstaL, fIstaM, fIstaR, frWData, fSetup, fStaL, fStaM, fStaR, fTripletData, cbm::algo::kf::defs::SpeedOfLight, sqrt(), cbm::algo::ca::Hit::X(), x, cbm::algo::ca::Hit::Y(), y, and cbm::algo::ca::Hit::Z().
Referenced by CreateTripletsForHit().
|
private |
Definition at line 64 of file CaTripletConstructorSW.cxx.
References fIstaL, fIstaM, fIstaR, fNfieldStations, fSetup, fStaL, fStaM, and fStaR.
Referenced by CreateTripletsForHit().
|
delete |
Copy assignment operator.
References TripletConstructorSW().
|
delete |
Move assignment operator.
References TripletConstructorSW().
|
private |
Find the doublets. Reformat data in the portion of doublets.
Definition at line 163 of file CaTripletConstructorSW.cxx.
References fDoubletData, fFramework, fIhitL, fParameters, frWData, fStaM, fTrackingMode, cbm::algo::ca::Hit::Id(), cbm::algo::ca::kMcbm, cbm::algo::ca::Hit::RangeT(), cbm::algo::ca::Hit::RangeX(), cbm::algo::ca::Hit::RangeY(), cbm::algo::ca::Vector< T >::shrink(), cbm::algo::ca::Hit::T(), cbm::algo::ca::Hit::X(), cbm::algo::ca::Hit::Y(), and cbm::algo::ca::Hit::Z().
Referenced by CreateTripletsForHit().
|
staticconstexprprivate |
Definition at line 112 of file CaTripletConstructorSW.h.
Referenced by CollectHits().
|
staticconstexprprivate |
Definition at line 110 of file CaTripletConstructorSW.h.
Referenced by CreateTripletsForHit(), and TripletConstructorSW().
|
staticconstexprprivate |
Definition at line 111 of file CaTripletConstructorSW.h.
Referenced by FindTripletHits(), FitTriplets(), and TripletConstructorSW().
|
private |
mass of the propagated particle [GeV/c2]
Definition at line 84 of file CaTripletConstructorSW.h.
Referenced by TripletConstructorSW().
|
private |
Definition at line 107 of file CaTripletConstructorSW.h.
Referenced by CreateTripletsForHit(), FindTripletHits(), and SuppressDoubletClones().
|
private |
Reference to field.
Definition at line 81 of file CaTripletConstructorSW.h.
Referenced by FitTriplets(), and TripletConstructorSW().
|
private |
Definition at line 101 of file CaTripletConstructorSW.h.
|
private |
Reference to the Framework object.
Definition at line 78 of file CaTripletConstructorSW.h.
Referenced by CollectHits(), CreateTripletsForHit(), FindClosestHitWithMc(), FindTripletHits(), SuppressDoubletClones(), and TripletConstructorSW().
|
private |
index of the left hit in fAlgo->fWindowHits
Definition at line 100 of file CaTripletConstructorSW.h.
Referenced by CreateTripletsForHit(), FindTripletHits(), FitTriplets(), and SuppressDoubletClones().
|
private |
left station index
Definition at line 92 of file CaTripletConstructorSW.h.
Referenced by FindTripletHits(), FitTriplets(), and InitStations().
|
private |
middle station index
Definition at line 93 of file CaTripletConstructorSW.h.
Referenced by CreateTripletsForHit(), FindTripletHits(), FitTriplets(), and InitStations().
|
private |
right station index
Definition at line 94 of file CaTripletConstructorSW.h.
Referenced by CreateTripletsForHit(), FindTripletHits(), FitTriplets(), and InitStations().
|
private |
is the magnetic field present at the target
Definition at line 87 of file CaTripletConstructorSW.h.
Referenced by TripletConstructorSW().
|
private |
Definition at line 90 of file CaTripletConstructorSW.h.
Referenced by InitStations(), and TripletConstructorSW().
|
private |
Object of Framework parameters class.
Definition at line 79 of file CaTripletConstructorSW.h.
Referenced by CollectHits(), CreateTripletsForHit(), FindTripletHits(), SuppressDoubletClones(), and TripletConstructorSW().
|
private |
Definition at line 83 of file CaTripletConstructorSW.h.
Referenced by CollectHits(), CreateTripletsForHit(), FindClosestHitWithMc(), FindTripletHits(), FitTriplets(), SuppressDoubletClones(), and TripletConstructorSW().
|
private |
Reference to the setup.
Definition at line 80 of file CaTripletConstructorSW.h.
Referenced by CollectHits(), CreateTripletsForHit(), FindTripletHits(), FitTriplets(), InitStations(), and TripletConstructorSW().
|
private |
left station
Definition at line 96 of file CaTripletConstructorSW.h.
Referenced by FitTriplets(), and InitStations().
|
private |
mid station
Definition at line 97 of file CaTripletConstructorSW.h.
Referenced by FitTriplets(), InitStations(), and SuppressDoubletClones().
|
private |
right station
Definition at line 98 of file CaTripletConstructorSW.h.
Referenced by FitTriplets(), and InitStations().
|
private |
Search windows.
Definition at line 82 of file CaTripletConstructorSW.h.
Referenced by CreateTripletsForHit(), FindTripletHits(), and TripletConstructorSW().
|
private |
Definition at line 85 of file CaTripletConstructorSW.h.
Referenced by SuppressDoubletClones(), and TripletConstructorSW().
|
private |
Definition at line 104 of file CaTripletConstructorSW.h.
Referenced by FindTripletHits(), and FitTriplets().