9 #include "tracking/modules/trackSetEvaluatorVXD/TrackSetEvaluatorGreedyDEVModule.h"
11 #include <tracking/trackFindingVXD/trackSetEvaluator/Scrooge.h>
12 #include <tracking/trackFindingVXD/trackSetEvaluator/OverlapResolverNodeInfo.h>
23 setDescription(
"Expects a container of SpacePointTrackCandidates,\
24 selects a subset of non-overlapping TCs using the Greedy algorithm.");
26 addParam(
"NameSpacePointTrackCands", m_nameSpacePointTrackCands,
"Name of expected StoreArray of SpacePoint track candidates.",
29 addParam(
"NameOverlapNetworks", m_nameOverlapNetworks,
"Name of expected StoreArray with overlap "
30 "networks.", std::string(
""));
37 std::vector<OverlapResolverNodeInfo> qiTrackOverlap;
39 qiTrackOverlap.reserve(nSpacePointTrackCands);
43 qiTrackOverlap.emplace_back(spacePointTrackCand.getQualityIndicator(), spacePointTrackCand.getArrayIndex(),
44 m_overlapNetworks[0]->getOverlapForTrackIndex(spacePointTrackCand.getArrayIndex()),
52 for (
auto && track : qiTrackOverlap) {
53 if (track.activityState < 0.75) {
Executes greedy algorithm for vector of QITrackOverlap structs.
void performSelection(std::vector< OverlapResolverNodeInfo > &overlapResolverNodeInfo)
Sets the isActive flag in m_qiTrackOverlap to false, for killed tracks.
@ c_isActive
bit 11: SPTC is active (i.e.
int getEntries() const
Get the number of objects in the array.
The Greedy algoritm Track-set-evaluator.
void event() override final
Application of the algorithm.
StoreArray< OverlapNetwork > m_overlapNetworks
access to tcNetwork, which will be produced by this module
StoreArray< SpacePointTrackCand > m_spacePointTrackCands
the storeArray for SpacePointTrackCands as member, is faster than recreating link for each event
#define REG_MODULE(moduleName)
Register the given module (without 'Module' suffix) with the framework.
Abstract base class for different kinds of events.