Analysis Software
Documentation for sPHENIX simulation software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
Acts::GreedyAmbiguityResolution Class Reference

#include <acts/blob/sPHENIX/Core/include/Acts/AmbiguityResolution/GreedyAmbiguityResolution.hpp>

+ Collaboration diagram for Acts::GreedyAmbiguityResolution:

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 Loggerlogger () const
 Private access to logging instance.
 

Private Attributes

Config m_cfg
 
std::unique_ptr< const Loggerm_logger
 Logging instance.
 

Detailed Description

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

Constructor & Destructor Documentation

Acts::GreedyAmbiguityResolution::GreedyAmbiguityResolution ( const Config cfg,
std::unique_ptr< const Logger logger = getDefaultLogger("GreedyAmbiguityResolution",                                                 Logging::INFO) 
)
inline

Definition at line 66 of file GreedyAmbiguityResolution.hpp.

View newest version in sPHENIX GitHub at line 66 of file GreedyAmbiguityResolution.hpp

Member Function Documentation

const Logger& Acts::GreedyAmbiguityResolution::logger ( ) const
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.

Parameters
stateA 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.

+ Here is the call graph for this function:

Member Data Documentation

Config Acts::GreedyAmbiguityResolution::m_cfg
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
Initial value:
template <typename track_container_t, typename traj_t,
template <typename> class holder_t, typename source_link_hash_t,
typename source_link_equality_t>
void computeInitialState(
const TrackContainer<track_container_t, traj_t, holder_t>& tracks,
State& state, source_link_hash_t&& sourceLinkHash,
source_link_equality_t&& sourceLinkEquality) const

Definition at line 70 of file GreedyAmbiguityResolution.hpp.

View newest version in sPHENIX GitHub at line 70 of file GreedyAmbiguityResolution.hpp

Referenced by logger().

std::unique_ptr<const Logger> Acts::GreedyAmbiguityResolution::m_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


The documentation for this class was generated from the following files: