8 #include <tracking/eventTimeExtraction/findlets/FullGridDriftLengthTrackTimeExtractor.h>
9 #include <tracking/eventTimeExtraction/findlets/BaseEventTimeExtractor.icc.h>
10 #include <tracking/eventTimeExtraction/findlets/GridEventTimeExtractor.icc.h>
11 #include <tracking/eventTimeExtraction/findlets/IterativeEventTimeExtractor.icc.h>
12 #include <tracking/trackFindingCDC/utilities/StringManipulation.h>
13 #include <tracking/dataobjects/RecoTrack.h>
15 #include <framework/core/ModuleParamList.templateDetails.h>
18 using namespace TrackFindingCDC;
24 addProcessingSignalListener(&m_finalExtractor);
25 addProcessingSignalListener(&m_gridExtractor);
31 m_gridExtractor.exposeParameters(moduleParamList, prefixed(
"Grid", prefix));
32 m_finalExtractor.exposeParameters(moduleParamList, prefixed(
"Refiner", prefix));
34 moduleParamList->
getParameter<
unsigned int>(
"GridIterations").setDefaultValue(1);
35 moduleParamList->
getParameter<
bool>(
"RefinerUseLastEventT0").setDefaultValue(
true);
41 const auto& temporaryT0Extractions = m_eventT0->getTemporaryEventT0s(Const::CDC);
42 B2ASSERT(
"There should only be a single or none extraction at this stage!", temporaryT0Extractions.size() <= 1);
44 if (temporaryT0Extractions.empty()) {
45 m_gridExtractor.apply(recoTracks);
47 if (not m_gridExtractor.wasSuccessful()) {
48 m_wasSuccessful =
false;
53 m_eventT0->setEventT0(temporaryT0Extractions[0]);
56 m_finalExtractor.apply(recoTracks);
57 m_wasSuccessful = m_finalExtractor.wasSuccessful();
59 if (not wasSuccessful()) {
60 B2DEBUG(25,
"Resetting the event t0 as the final extraction was not successful.");
The Module parameter list class.
ModuleParam< T > & getParameter(const std::string &name) const
Returns a reference to a parameter.
Abstract base class for different kinds of events.