![]() |
ATLAS Offline Software
|
Pattern state object storing pattern information during construction. More...
Public Member Functions | |
| PatternState (const HitPayload &seed, const uint8_t sectorCoord, const double seedTheta) | |
| Constructor taking the seed information. | |
| PatternState ()=delete | |
| Delete default destructor - ensure patterns are always constructed from a seed or another pattern. | |
| PatternState (PatternState &&other) noexcept=default | |
| Move constructor. | |
| PatternState & | operator= (PatternState &&other) noexcept=default |
| Move assignment operator. | |
| PatternState (const PatternState &other)=default | |
| Copy constructor. | |
| PatternState & | operator= (const PatternState &other)=default |
| Copy assignment operator. | |
| ~PatternState ()=default | |
| Destructor. | |
| void | addHit (const HitPayload &hit, const double residual, const double acceptWindow) |
| Add a hit to the pattern and update the internal state. | |
| void | overWriteHit (const HitPayload &oldHit, const HitPayload &newHit, const double newResidual, const double newAcceptWindow) |
| Overwrite a hit in the pattern and update the internal state. | |
| const HitPayload & | getNthLastHit (const uint8_t n) const |
| Get the n-th last inserted hit. | |
| bool | isInPattern (const HitPayload &hit) const |
| Check wheter a hit is present in the pattern. | |
| void | finalizePatternEta () |
| Finalize the pattern building in eta and update its state. | |
| void | finalizePatternPhi () |
| Finalize the pattern building in phi and update its state. | |
| bool | operator== (const PatternState &other) const =delete |
| Patterns are considered identical if they have the same hit content. | |
| void | print (std::ostream &ostr) const |
| Print the pattern candidate and stream operator. | |
Public Attributes | |
| Acts::CloneablePtr< PatternHitVisualInfo > | visualInfo {nullptr} |
| Pointer to Visual Information for pattern visualization. | |
| const SpacePoint * | lastInsertedHit {nullptr} |
| Pointer to the last inserted hit. | |
| const SpacePoint * | prevLayerHit {nullptr} |
| Pointer to the last hit in the second-to-last layer. | |
| double | theta {0.} |
| Average theta & average phi of the pattern. | |
| double | phi {0.} |
| double | meanNormResidual2 {0.} |
| Mean over eta hits of the square of their residual divided by acceptance window. | |
| double | lastResidual {0.} |
| Residual & acceptance window of the last inserted hit (needed when replacing a hit). | |
| double | lastAcceptWindow {0.} |
| uint8_t | nPrecisionHits {0u} |
| Counts of precision measurements / non-precision in bending direction / phi measurements. | |
| uint8_t | nBendingTriggerHits {0u} |
| uint8_t | nPhiHits {0u} |
| uint8_t | nMissedLayerHits {0u} |
| Number of missed candidate hits in different measurement layers during pattern building. | |
| uint8_t | sectorCoord {0} |
| expanded sector coordinate & the two corresponding physical sectors | |
| uint8_t | sector1 {0} |
| uint8_t | sector2 {0} |
| bool | isFinalized {false} |
| Flag to indicate if the pattern has been finalized. | |
| bool | isOverlap {false} |
| Flag to indicate if the pattern is overlapping with another one, used during overlap removal. | |
| std::unordered_map< StIndex, std::vector< HitPayload > > | hitsPerStation {} |
| Map collection of hits per station. | |
| std::vector< StIndex > | stations {} |
| Pattern hit stations to save the filling order. | |
| BucketPerContainer | bucketsPerContainer {} |
| Map of spacepoint buckets per spacepoint container associated to the pattern. | |
Friends | |
| std::ostream & | operator<< (std::ostream &ostr, const PatternState &candidate) |
Pattern state object storing pattern information during construction.
Definition at line 175 of file GlobalPatternFinder.h.
| MuonR4::FastReco::GlobalPatternFinder::PatternState::PatternState | ( | const HitPayload & | seed, |
| const uint8_t | sectorCoord, | ||
| const double | seedTheta ) |
Constructor taking the seed information.
| seed | seed hit |
| sectorCoord | expanded sector coordinate |
| seedTheta | global theta of the seed |
Definition at line 900 of file GlobalPatternFinder.cxx.
|
delete |
Delete default destructor - ensure patterns are always constructed from a seed or another pattern.
|
defaultnoexcept |
Move constructor.
| other | other pattern state to move from |
|
default |
Copy constructor.
| other | other pattern state to copy from |
|
default |
Destructor.
| void MuonR4::FastReco::GlobalPatternFinder::PatternState::addHit | ( | const HitPayload & | hit, |
| const double | residual, | ||
| const double | acceptWindow ) |
Add a hit to the pattern and update the internal state.
| hit | hit to be added |
| residual | residual of the hit |
| acceptWindow | acceptance window |
Update the pointers to last hit and previous layer hit
Add now the new hit
Reset the number of missed layer hits
Update the hit counts in bending direction
Update the phi of the pattern if there are no phi hits yet
Update the residual. Since we can also add phi-only hits without updating the residual, we need to check the accept window
Definition at line 922 of file GlobalPatternFinder.cxx.
| void MuonR4::FastReco::GlobalPatternFinder::PatternState::finalizePatternEta | ( | ) |
Finalize the pattern building in eta and update its state.
This method is called at the end of pattern building in eta, so we don't have phi-only hits yet
Update the bucket map
Update eta
Definition at line 1006 of file GlobalPatternFinder.cxx.
| void MuonR4::FastReco::GlobalPatternFinder::PatternState::finalizePatternPhi | ( | ) |
Finalize the pattern building in phi and update its state.
If there are no phi hits, we just use the central phi of the sector/overlap region
Definition at line 1023 of file GlobalPatternFinder.cxx.
| const GlobalPatternFinder::HitPayload & MuonR4::FastReco::GlobalPatternFinder::PatternState::getNthLastHit | ( | const uint8_t | n | ) | const |
Get the n-th last inserted hit.
| n | the index of the hit to retrieve |
Definition at line 1066 of file GlobalPatternFinder.cxx.
| bool MuonR4::FastReco::GlobalPatternFinder::PatternState::isInPattern | ( | const HitPayload & | hit | ) | const |
Check wheter a hit is present in the pattern.
| hit | hit to be checked |
Definition at line 1083 of file GlobalPatternFinder.cxx.
|
default |
Copy assignment operator.
| other | other pattern state to copy from |
|
defaultnoexcept |
Move assignment operator.
| other | other pattern state to move from |
|
delete |
Patterns are considered identical if they have the same hit content.
However, map comparison is very expensive
| void MuonR4::FastReco::GlobalPatternFinder::PatternState::overWriteHit | ( | const HitPayload & | oldHit, |
| const HitPayload & | newHit, | ||
| const double | newResidual, | ||
| const double | newAcceptWindow ) |
Overwrite a hit in the pattern and update the internal state.
| oldHit | hit to be replaced |
| newHit | new hit to replace with |
| newResidual | residual of the new hit |
| accepWindow | acceptance window of the new hit |
MDT hits in the same layer are added with the same residual
Update the phi count and the pattern phi if needed
Update the residual. When we replace a hit, we have always the new residual & accept window, so no checks are needed.
Update the pointers to last hit. Since we overwrite hits in the same layer, prevLayerHit remains unchanged
Definition at line 954 of file GlobalPatternFinder.cxx.
| void MuonR4::FastReco::GlobalPatternFinder::PatternState::print | ( | std::ostream & | ostr | ) | const |
Print the pattern candidate and stream operator.
Definition at line 1106 of file GlobalPatternFinder.cxx.
|
friend |
Definition at line 269 of file GlobalPatternFinder.h.
| BucketPerContainer MuonR4::FastReco::GlobalPatternFinder::PatternState::bucketsPerContainer {} |
Map of spacepoint buckets per spacepoint container associated to the pattern.
Definition at line 263 of file GlobalPatternFinder.h.
| std::unordered_map<StIndex, std::vector<HitPayload> > MuonR4::FastReco::GlobalPatternFinder::PatternState::hitsPerStation {} |
Map collection of hits per station.
A pattern is determined by the hits belonging to it.
Definition at line 258 of file GlobalPatternFinder.h.
| bool MuonR4::FastReco::GlobalPatternFinder::PatternState::isFinalized {false} |
Flag to indicate if the pattern has been finalized.
Definition at line 253 of file GlobalPatternFinder.h.
| bool MuonR4::FastReco::GlobalPatternFinder::PatternState::isOverlap {false} |
Flag to indicate if the pattern is overlapping with another one, used during overlap removal.
Definition at line 255 of file GlobalPatternFinder.h.
| double MuonR4::FastReco::GlobalPatternFinder::PatternState::lastAcceptWindow {0.} |
Definition at line 241 of file GlobalPatternFinder.h.
| const SpacePoint* MuonR4::FastReco::GlobalPatternFinder::PatternState::lastInsertedHit {nullptr} |
Pointer to the last inserted hit.
Needed to speed-up lookup
Definition at line 231 of file GlobalPatternFinder.h.
| double MuonR4::FastReco::GlobalPatternFinder::PatternState::lastResidual {0.} |
Residual & acceptance window of the last inserted hit (needed when replacing a hit).
Definition at line 240 of file GlobalPatternFinder.h.
| double MuonR4::FastReco::GlobalPatternFinder::PatternState::meanNormResidual2 {0.} |
Mean over eta hits of the square of their residual divided by acceptance window.
Definition at line 238 of file GlobalPatternFinder.h.
| uint8_t MuonR4::FastReco::GlobalPatternFinder::PatternState::nBendingTriggerHits {0u} |
Definition at line 244 of file GlobalPatternFinder.h.
| uint8_t MuonR4::FastReco::GlobalPatternFinder::PatternState::nMissedLayerHits {0u} |
Number of missed candidate hits in different measurement layers during pattern building.
Definition at line 247 of file GlobalPatternFinder.h.
| uint8_t MuonR4::FastReco::GlobalPatternFinder::PatternState::nPhiHits {0u} |
Definition at line 245 of file GlobalPatternFinder.h.
| uint8_t MuonR4::FastReco::GlobalPatternFinder::PatternState::nPrecisionHits {0u} |
Counts of precision measurements / non-precision in bending direction / phi measurements.
Definition at line 243 of file GlobalPatternFinder.h.
| double MuonR4::FastReco::GlobalPatternFinder::PatternState::phi {0.} |
Definition at line 236 of file GlobalPatternFinder.h.
| const SpacePoint* MuonR4::FastReco::GlobalPatternFinder::PatternState::prevLayerHit {nullptr} |
Pointer to the last hit in the second-to-last layer.
Definition at line 233 of file GlobalPatternFinder.h.
| uint8_t MuonR4::FastReco::GlobalPatternFinder::PatternState::sector1 {0} |
Definition at line 250 of file GlobalPatternFinder.h.
| uint8_t MuonR4::FastReco::GlobalPatternFinder::PatternState::sector2 {0} |
Definition at line 251 of file GlobalPatternFinder.h.
| uint8_t MuonR4::FastReco::GlobalPatternFinder::PatternState::sectorCoord {0} |
expanded sector coordinate & the two corresponding physical sectors
Definition at line 249 of file GlobalPatternFinder.h.
| std::vector<StIndex> MuonR4::FastReco::GlobalPatternFinder::PatternState::stations {} |
Pattern hit stations to save the filling order.
Stations can be repeated when we invert the search direction (e.g. from seed ourward -> BM BO, then from seed inward BM BI)
Definition at line 261 of file GlobalPatternFinder.h.
| double MuonR4::FastReco::GlobalPatternFinder::PatternState::theta {0.} |
Average theta & average phi of the pattern.
Definition at line 235 of file GlobalPatternFinder.h.
| Acts::CloneablePtr<PatternHitVisualInfo> MuonR4::FastReco::GlobalPatternFinder::PatternState::visualInfo {nullptr} |
Pointer to Visual Information for pattern visualization.
Definition at line 229 of file GlobalPatternFinder.h.