Belle II Software  release-05-01-25
SegmentFitter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/findlets/base/Findlet.h>
13 
14 #include <tracking/trackFindingCDC/fitting/CDCRiemannFitter.h>
15 #include <tracking/trackFindingCDC/fitting/CDCKarimakiFitter.h>
16 
17 #include <tracking/trackFindingCDC/fitting/EFitPos.h>
18 #include <tracking/trackFindingCDC/fitting/EFitVariance.h>
19 
20 #include <tracking/trackFindingCDC/eventdata/utils/DriftLengthEstimator.h>
21 
22 #include <vector>
23 #include <string>
24 
25 namespace Belle2 {
32  namespace TrackFindingCDC {
33  class CDCSegment2D;
34 
36  class SegmentFitter:
37  public Findlet<CDCSegment2D&> {
38 
39  private:
41  using Super = Findlet<CDCSegment2D&>;
42 
43  public:
45  std::string getDescription() override;
46 
48  void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
49 
51  void initialize() override;
52 
53  public:
55  void apply(std::vector<CDCSegment2D>& outputSegments) override;
56 
57  private:
59  bool m_param_karimakiFit = false;
60 
62  std::string m_param_fitPosString = "recoPos";
63 
65  std::string m_param_fitVarianceString = "proper";
66 
68  bool m_param_updateDriftLength = true;
69 
71  bool m_param_updateRecoPos = false;
72 
74  EFitPos m_fitPos = EFitPos::c_RecoPos;
75 
77  EFitVariance m_fitVariance = EFitVariance::c_Proper;
78 
81 
84 
87  };
88  }
90 }
Belle2::TrackFindingCDC::SegmentFitter::m_param_updateDriftLength
bool m_param_updateDriftLength
Parameter : Switch to reestimate the drift length before the fit.
Definition: SegmentFitter.h:76
Belle2::TrackFindingCDC::CDCRiemannFitter
Class implementing the Riemann fit for two dimensional trajectory circle.
Definition: CDCRiemannFitter.h:34
Belle2::TrackFindingCDC::SegmentFitter::m_fitPos
EFitPos m_fitPos
Option which positional information from the hits should be used.
Definition: SegmentFitter.h:82
Belle2::TrackFindingCDC::SegmentFitter::m_param_fitPosString
std::string m_param_fitPosString
Parameter : Option string which positional information from the hits should be used.
Definition: SegmentFitter.h:70
Belle2::TrackFindingCDC::SegmentFitter::apply
void apply(std::vector< CDCSegment2D > &outputSegments) override
Main algorithm applying the fit to each segment.
Definition: SegmentFitter.cc:89
Belle2::TrackFindingCDC::CDCKarimakiFitter
Class implementing the fitter using Karimakis method.
Definition: CDCKarimakiFitter.h:33
Belle2::TrackFindingCDC::SegmentFitter::m_fitVariance
EFitVariance m_fitVariance
Option which variance information from the hits should be used.
Definition: SegmentFitter.h:85
Belle2::TrackFindingCDC::SegmentFitter::initialize
void initialize() override
Signals the beginning of the event processing.
Definition: SegmentFitter.cc:62
Belle2::TrackFindingCDC::SegmentFitter::exposeParameters
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters to a module.
Definition: SegmentFitter.cc:29
Belle2::TrackFindingCDC::SegmentFitter::m_driftLengthEstimator
DriftLengthEstimator m_driftLengthEstimator
Instance of the drift length estimator to be used.
Definition: SegmentFitter.h:94
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::SegmentFitter::m_karimakiFitter
CDCKarimakiFitter m_karimakiFitter
Instance of the karimaki fitter to be used.
Definition: SegmentFitter.h:91
Belle2::TrackFindingCDC::SegmentFitter::getDescription
std::string getDescription() override
Short description of the findlet.
Definition: SegmentFitter.cc:24
Belle2::TrackFindingCDC::SegmentFitter::m_param_fitVarianceString
std::string m_param_fitVarianceString
Parameter : Option string which variance information from the hits should be used.
Definition: SegmentFitter.h:73
Belle2::TrackFindingCDC::SegmentFitter::Super
Findlet< CDCSegment2D & > Super
Type of the base class.
Definition: SegmentFitter.h:49
Belle2::TrackFindingCDC::SegmentFitter::m_riemannFitter
CDCRiemannFitter m_riemannFitter
Instance of the riemann fitter to be used.
Definition: SegmentFitter.h:88
Belle2::TrackFindingCDC::DriftLengthEstimator
Helper construct implementing the (re)estimation of the drift length for various hit objects.
Definition: DriftLengthEstimator.h:38
Belle2::TrackFindingCDC::SegmentFitter::m_param_karimakiFit
bool m_param_karimakiFit
Parameter : Switch to use Karimaki fit.
Definition: SegmentFitter.h:67
Belle2::TrackFindingCDC::SegmentFitter::m_param_updateRecoPos
bool m_param_updateRecoPos
Parameter : Switch to reevaluate the position and right left passage information based in the fit.
Definition: SegmentFitter.h:79