8 #include <tracking/eventTimeExtraction/findlets/FullGridChi2TrackTimeExtractor.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>
14 #include <framework/core/ModuleParamList.templateDetails.h>
17 using namespace TrackFindingCDC;
23 addProcessingSignalListener(&m_finalExtractor);
24 addProcessingSignalListener(&m_gridExtractor);
30 m_gridExtractor.exposeParameters(moduleParamList, prefixed(
"Grid", prefix));
31 m_finalExtractor.exposeParameters(moduleParamList, prefixed(
"Refiner", prefix));
33 moduleParamList->
getParameter<
unsigned int>(
"GridIterations").setDefaultValue(1);
34 moduleParamList->
getParameter<
bool>(
"RefinerUseLastEventT0").setDefaultValue(
true);
40 const auto& temporaryT0Extractions = m_eventT0->getTemporaryEventT0s(Const::CDC);
41 B2ASSERT(
"There should only be a single or none extraction at this stage!", temporaryT0Extractions.size() <= 1);
43 if (temporaryT0Extractions.empty()) {
44 m_gridExtractor.apply(recoTracks);
46 if (not m_gridExtractor.wasSuccessful()) {
47 m_wasSuccessful =
false;
52 m_eventT0->setEventT0(temporaryT0Extractions[0]);
55 m_finalExtractor.apply(recoTracks);
56 m_wasSuccessful = m_finalExtractor.wasSuccessful();
58 if (not wasSuccessful()) {
59 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.