Belle II Software  release-05-02-19
IterativeEventTimeExtractor.dcl.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2018 Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Nils Braun *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/eventTimeExtraction/findlets/BaseEventTimeExtractor.dcl.h>
13 #include <framework/dataobjects/EventT0.h>
14 
15 #include <vector>
16 
17 namespace Belle2 {
22  class RecoTrack;
23 
28  template <class AFindlet>
29  class IterativeEventTimeExtractor : public BaseEventTimeExtractor<RecoTrack*> {
30  private:
32  using Super = BaseEventTimeExtractor<RecoTrack*>;
33 
34  public:
37 
39  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
40 
42  void apply(std::vector<RecoTrack*>& recoTracks) override final;
43 
44  private:
46  unsigned int m_param_maxIterations = 10;
48  unsigned int m_param_minIterations = 1;
50  double m_param_minimalDeltaT0 = 0.2;
56  AFindlet m_findlet;
58  std::vector<EventT0::EventT0Component> m_eventT0WithQuality;
59  };
60 
62 }
Belle2::IterativeEventTimeExtractor::m_param_abortOnUnsuccessfulStep
bool m_param_abortOnUnsuccessfulStep
Parameter: abort if a single iteration is not working.
Definition: IterativeEventTimeExtractor.dcl.h:60
Belle2::IterativeEventTimeExtractor::Super
BaseEventTimeExtractor< RecoTrack * > Super
Type of the base class.
Definition: IterativeEventTimeExtractor.dcl.h:40
Belle2::IterativeEventTimeExtractor::m_param_minIterations
unsigned int m_param_minIterations
Parameter: how many iterations should be done minimally?
Definition: IterativeEventTimeExtractor.dcl.h:56
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::IterativeEventTimeExtractor::m_param_minimalDeltaT0
double m_param_minimalDeltaT0
Parameter: What is the final precision?
Definition: IterativeEventTimeExtractor.dcl.h:58
Belle2::IterativeEventTimeExtractor::m_findlet
AFindlet m_findlet
The subfindlet.
Definition: IterativeEventTimeExtractor.dcl.h:64
Belle2::IterativeEventTimeExtractor::apply
void apply(std::vector< RecoTrack * > &recoTracks) override final
Timing extraction for this findlet.
Definition: IterativeEventTimeExtractor.icc.h:39
Belle2::IterativeEventTimeExtractor::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters.
Definition: IterativeEventTimeExtractor.icc.h:89
Belle2::IterativeEventTimeExtractor::m_eventT0WithQuality
std::vector< EventT0::EventT0Component > m_eventT0WithQuality
Pool for the event t0s with chi2.
Definition: IterativeEventTimeExtractor.dcl.h:66
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::IterativeEventTimeExtractor::IterativeEventTimeExtractor
IterativeEventTimeExtractor()
Add the subfindlet as listener.
Definition: IterativeEventTimeExtractor.icc.h:33
Belle2::IterativeEventTimeExtractor::m_param_maxIterations
unsigned int m_param_maxIterations
Parameter: how many iterations should be done maximally?
Definition: IterativeEventTimeExtractor.dcl.h:54
Belle2::IterativeEventTimeExtractor::m_param_useLastEventT0
bool m_param_useLastEventT0
Parameter: use the last event t0 instead of the best one.
Definition: IterativeEventTimeExtractor.dcl.h:62