Analysis Software
Documentation for sPHENIX simulation software
|
#include <acts/blob/sPHENIX/Core/include/Acts/AmbiguityResolution/GreedyAmbiguityResolution.hpp>
Classes | |
struct | Config |
struct | State |
Public Member Functions | |
GreedyAmbiguityResolution (const Config &cfg, std::unique_ptr< const Logger > logger=getDefaultLogger("GreedyAmbiguityResolution", Logging::INFO)) | |
void | resolve (State &state) const |
Public Attributes | |
m_logger | |
Private Member Functions | |
const Logger & | logger () const |
Private access to logging instance. | |
Private Attributes | |
Config | m_cfg |
std::unique_ptr< const Logger > | m_logger |
Logging instance. | |
Evicts tracks that seem to be duplicates or fakes. This algorithm takes a greedy approach in the sense that it will remove the track which looks "most duplicate/fake" first and continues the same process with the rest. That process continues until the final state conditions are met.
The implementation works as follows: 1) Calculate shared hits per track. 2) If the maximum shared hits criteria is met, we are done. This is the configurable amount of shared hits we are ok with in our experiment. 3) Else, remove the track with the highest relative shared hits (i.e. shared hits / hits). 4) Back to square 1.
Definition at line 37 of file GreedyAmbiguityResolution.hpp.
View newest version in sPHENIX GitHub at line 37 of file GreedyAmbiguityResolution.hpp
|
inline |
Definition at line 66 of file GreedyAmbiguityResolution.hpp.
View newest version in sPHENIX GitHub at line 66 of file GreedyAmbiguityResolution.hpp
|
inlineprivate |
Private access to logging instance.
Definition at line 101 of file GreedyAmbiguityResolution.hpp.
View newest version in sPHENIX GitHub at line 101 of file GreedyAmbiguityResolution.hpp
References m_logger.
void Acts::GreedyAmbiguityResolution::resolve | ( | State & | state | ) | const |
Updates the state iteratively by evicting one track after the other until the final state conditions are met.
state | A state object that was previously filled by the initialization. |
Compares two tracks based on the number of shared measurements in order to decide if we already met the final state.
Compares two tracks in order to find the one which should be evicted. First we compare the relative amount of shared measurements. If that is indecisive we use the chi2.
Helper to calculate the relative amount of shared measurements.
Definition at line 33 of file GreedyAmbiguityResolution.cpp.
View newest version in sPHENIX GitHub at line 33 of file GreedyAmbiguityResolution.cpp
References KFPMath::a, Acts::ACTS_VERBOSE(), KFPMath::b, i, m_cfg, Acts::GreedyAmbiguityResolution::Config::maximumIterations, Acts::GreedyAmbiguityResolution::Config::maximumSharedHits, Acts::GreedyAmbiguityResolution::State::measurementsPerTrack, Acts::GreedyAmbiguityResolution::State::selectedTracks, Acts::GreedyAmbiguityResolution::State::sharedMeasurementsPerTrack, filter::state, and Acts::GreedyAmbiguityResolution::State::trackChi2.
|
private |
Definition at line 95 of file GreedyAmbiguityResolution.hpp.
View newest version in sPHENIX GitHub at line 95 of file GreedyAmbiguityResolution.hpp
Referenced by resolve().
Acts::GreedyAmbiguityResolution::m_logger |
Definition at line 70 of file GreedyAmbiguityResolution.hpp.
View newest version in sPHENIX GitHub at line 70 of file GreedyAmbiguityResolution.hpp
Referenced by logger().
|
private |
Logging instance.
Definition at line 98 of file GreedyAmbiguityResolution.hpp.
View newest version in sPHENIX GitHub at line 98 of file GreedyAmbiguityResolution.hpp