Belle II Software  release-05-02-19
Scrooge Class Reference

Executes greedy algorithm for vector of QITrackOverlap structs. More...

#include <Scrooge.h>

Public Member Functions

void performSelection (std::vector< OverlapResolverNodeInfo > &overlapResolverNodeInfo)
 Sets the isActive flag in m_qiTrackOverlap to false, for killed tracks. More...
 

Detailed Description

Executes greedy algorithm for vector of QITrackOverlap structs.

In contrast to Jakob's original greedy implementation, this one doesn't use a recursive algorithm, but sorts according to QI and simply goes from the top and kills all overlapping SpacePointTrackCands.

Definition at line 36 of file Scrooge.h.

Member Function Documentation

◆ performSelection()

void performSelection ( std::vector< OverlapResolverNodeInfo > &  overlapResolverNodeInfo)
inline

Sets the isActive flag in m_qiTrackOverlap to false, for killed tracks.

Sorts the "tracks" according to quality, loops from the top and kills overlapping tracks of all tracks, that are still active.

Definition at line 43 of file Scrooge.h.

45  {
46  if (!trackIter->activityState) continue;
47  for (auto testTrackIter = trackIter; testTrackIter != endOfOverlapResolverNodeInfo; testTrackIter++) {
48  if (std::find(trackIter->overlaps.begin(), trackIter->overlaps.end(), testTrackIter->trackIndex) !=
49  trackIter->overlaps.end()) {
50  testTrackIter->activityState = 0.;
51  }
52  }
53  }
54  }
55  };
57 }

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