Belle II Software  release-05-01-25
HitBasedT0Extractor.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Thomas Hauth *
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 
14 #include <tracking/trackFindingCDC/eventdata/hits/CDCWireHit.h>
15 
16 #include <framework/dataobjects/EventMetaData.h>
17 #include <framework/datastore/StoreObjPtr.h>
18 
19 #include <vector>
20 #include <limits>
21 
22 namespace Belle2 {
28  class HitBasedT0Extractor final : public BaseEventTimeExtractor<TrackFindingCDC::CDCWireHit&> {
30 
31  private:
33  using Super = BaseEventTimeExtractor<TrackFindingCDC::CDCWireHit&>;
34 
35  public:
37  HitBasedT0Extractor() = default;
38 
40  virtual ~HitBasedT0Extractor() = default;
41 
43  std::string getDescription() override final;
44 
46  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override final;
47 
49  void apply(std::vector<TrackFindingCDC::CDCWireHit>& inputWireHits) override final;
50 
52  void initialize() override final;
53 
54  private:
55 
56  unsigned int m_param_minHitCount = 20;
58  float m_param_searchWindow = 70.0f;
60  float m_param_fitWindow = 100.0f;
68  bool m_param_storeAllFits = false;
70  // don't use fit results which have a chi2 larger than configured here
71  float m_param_rejectIfChiSquareLargerThan = std::numeric_limits<float>::max();
75  float m_param_refitWindow = 50.0f;
78  };
80 }
Belle2::HitBasedT0Extractor::~HitBasedT0Extractor
virtual ~HitBasedT0Extractor()=default
Make destructor of interface virtual.
Belle2::HitBasedT0Extractor::m_param_rejectIfUncertaintyLargerThan
float m_param_rejectIfUncertaintyLargerThan
largest allowable uncertainty value
Definition: HitBasedT0Extractor.h:81
Belle2::HitBasedT0Extractor::m_param_refitWindow
float m_param_refitWindow
the width of the window in ns (+- m_param_refitWindow) used to refit the final t0 value
Definition: HitBasedT0Extractor.h:83
Belle2::HitBasedT0Extractor::m_param_rejectIfNotTakenFlag
bool m_param_rejectIfNotTakenFlag
don't use hits for the fit which have not been assigned to any track
Definition: HitBasedT0Extractor.h:74
Belle2::HitBasedT0Extractor::m_param_fitWindow
float m_param_fitWindow
the space (+-m_param_fitWindow) in ns used to fit the t0
Definition: HitBasedT0Extractor.h:68
Belle2::HitBasedT0Extractor::HitBasedT0Extractor
HitBasedT0Extractor()=default
Constructor registering the subordinary findlets to the processing signal distribution machinery.
Belle2::HitBasedT0Extractor::initialize
void initialize() override final
Initialize the event meta data.
Definition: HitBasedT0Extractor.cc:37
Belle2::HitBasedT0Extractor::Super
BaseEventTimeExtractor< TrackFindingCDC::CDCWireHit & > Super
Type of the base class.
Definition: HitBasedT0Extractor.h:41
Belle2::HitBasedT0Extractor::m_param_searchWindow
float m_param_searchWindow
the window (+-m_param_searchWindow) in ns where to search for the best t0
Definition: HitBasedT0Extractor.h:66
Belle2::HitBasedT0Extractor::m_param_rejectIfChiSquareLargerThan
float m_param_rejectIfChiSquareLargerThan
largest allowable chi2 value
Definition: HitBasedT0Extractor.h:79
Belle2::HitBasedT0Extractor::m_param_minHitCount
unsigned int m_param_minHitCount
minimum number of hits
Definition: HitBasedT0Extractor.h:64
Belle2::HitBasedT0Extractor::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override final
Expose the parameters to a module.
Definition: HitBasedT0Extractor.cc:43
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::HitBasedT0Extractor::m_param_rejectByBackgroundFlag
bool m_param_rejectByBackgroundFlag
don't use hits for the fit which have been flagged as background
Definition: HitBasedT0Extractor.h:72
Belle2::HitBasedT0Extractor::apply
void apply(std::vector< TrackFindingCDC::CDCWireHit > &inputWireHits) override final
Collects all Wire Hits and executes the t0 fit.
Definition: HitBasedT0Extractor.cc:100
Belle2::HitBasedT0Extractor::getDescription
std::string getDescription() override final
Short description of the findlet.
Definition: HitBasedT0Extractor.cc:32
Belle2::EventMetaData
Store event, run, and experiment numbers.
Definition: EventMetaData.h:43
Belle2::TrackFindingCDC::CDCWireHit
Class representing a hit wire in the central drift chamber.
Definition: CDCWireHit.h:65
Belle2::HitBasedT0Extractor::m_param_storeAllFits
bool m_param_storeAllFits
store an image of the histogram and fit result, for debug purpose only
Definition: HitBasedT0Extractor.h:76
Belle2::ModuleParamList
The Module parameter list class.
Definition: ModuleParamList.h:46
Belle2::HitBasedT0Extractor::m_eventMetaData
StoreObjPtr< EventMetaData > m_eventMetaData
access to event nr for debugging purposes
Definition: HitBasedT0Extractor.h:85
Belle2::HitBasedT0Extractor::m_param_binCountTimeHistogram
int m_param_binCountTimeHistogram
number of bins in the timing histogram
Definition: HitBasedT0Extractor.h:70