12 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
14 #include <tracking/trackFindingCDC/filters/base/ChooseableFilter.h>
15 #include <tracking/ckf/cdc/filters/paths/CDCPathFilterFactory.h>
17 #include <tracking/trackFindingCDC/numerics/Weight.h>
19 #include <tracking/ckf/cdc/entities/CDCCKFPath.h>
20 #include <tracking/ckf/cdc/entities/CDCCKFResult.h>
29 class ModuleParamList;
32 class CDCCKFResultFinalizer :
public TrackFindingCDC::Findlet<const CDCCKFPath, CDCCKFResult> {
34 CDCCKFResultFinalizer()
42 m_filter.exposeParameters(moduleParamList, prefix);
46 void apply(
const std::vector<CDCCKFPath>& paths, std::vector<CDCCKFResult>& results)
override
53 TrackFindingCDC::Weight bestWeight = -NAN;
56 const TrackFindingCDC::Weight weight =
m_filter(path);
57 if (weight <= bestWeight) {
64 if (bestElement and not std::isnan(bestWeight)) {
65 results.push_back(*bestElement);
71 TrackFindingCDC::ChooseableFilter<CDCPathFilterFactory>
m_filter;