42 bool breakLoop =
false;
52 }
else if (m_param_abortOnUnsuccessfulStep) {
53 B2DEBUG(25,
"Aborting because time extraction was not successful.");
62 if (not m_eventT0WithQuality.empty() and iteration != m_param_maxIterations) {
63 if (m_param_useLastEventT0) {
64 m_eventT0->addTemporaryEventT0(m_eventT0WithQuality.back());
65 m_eventT0->setEventT0(m_eventT0WithQuality.back());
68 const auto& bestEventT0 = std::max_element(m_eventT0WithQuality.begin(), m_eventT0WithQuality.end(),
69 [](
const auto & lhs,
const auto & rhs) {
70 return lhs.quality < rhs.quality;
72 m_eventT0->setEventT0(*bestEventT0);
74 m_wasSuccessful =
true;
83 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"maxIterations"),
85 "How many iterations should be done maximally?",
87 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"minIterations"),
89 "How many iterations should be done minimally?",
91 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"minimalDeltaT0"),
93 "What is the final precision?",
95 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"useLastEventT0"),
97 "Use the last event t0 instead of the best one.",
99 moduleParamList->
addParameter(TrackFindingCDC::prefixed(prefix,
"abortOnUnsuccessfulStep"),
101 "Abort on a single unsuccessful step. Otherwise, the success is defined by the last step",
104 m_findlet.exposeParameters(moduleParamList, TrackFindingCDC::prefixed(
"sub", prefix));