Belle II Software development
SegmentFitter.h
1/**************************************************************************
2 * basf2 (Belle II Analysis Software Framework) *
3 * Author: The Belle II Collaboration *
4 * *
5 * See git log for contributors and copyright holders. *
6 * This file is licensed under LGPL-3.0, see LICENSE.md. *
7 **************************************************************************/
8#pragma once
9
10#include <tracking/trackFindingCDC/findlets/base/Findlet.h>
11
12#include <tracking/trackFindingCDC/fitting/CDCRiemannFitter.h>
13#include <tracking/trackFindingCDC/fitting/CDCKarimakiFitter.h>
14
15#include <tracking/trackFindingCDC/fitting/EFitPos.h>
16#include <tracking/trackFindingCDC/fitting/EFitVariance.h>
17
18#include <tracking/trackFindingCDC/eventdata/utils/DriftLengthEstimator.h>
19
20#include <vector>
21#include <string>
22
23namespace Belle2 {
28
29
30 namespace TrackFindingCDC {
31 class CDCSegment2D;
32
35 public Findlet<CDCSegment2D&> {
36
37 private:
40
41 public:
43 std::string getDescription() override;
44
46 void exposeParameters(ModuleParamList* moduleParamList, const std::string& prefix) override;
47
49 void initialize() override;
50
51 public:
53 void apply(std::vector<CDCSegment2D>& outputSegments) override;
54
55 private:
57 bool m_param_karimakiFit = false;
58
60 std::string m_param_fitPosString = "recoPos";
61
63 std::string m_param_fitVarianceString = "proper";
64
67
70
72 EFitPos m_fitPos = EFitPos::c_RecoPos;
73
75 EFitVariance m_fitVariance = EFitVariance::c_Proper;
76
79
82
85 };
86 }
88}
The Module parameter list class.
Class implementing the fitter using Karimakis method.
Class implementing the Riemann fit for two dimensional trajectory circle.
A reconstructed sequence of two dimensional hits in one super layer.
Interface for a minimal algorithm part that wants to expose some parameters to a module.
Definition Findlet.h:26
Fits segments with the Riemann method.
EFitPos m_fitPos
Option which positional information from the hits should be used.
DriftLengthEstimator m_driftLengthEstimator
Instance of the drift length estimator to be used.
void initialize() override
Signals the beginning of the event processing.
bool m_param_karimakiFit
Parameter : Switch to use Karimaki fit.
std::string getDescription() override
Short description of the findlet.
CDCKarimakiFitter m_karimakiFitter
Instance of the karimaki fitter to be used.
bool m_param_updateDriftLength
Parameter : Switch to reestimate the drift length before the fit.
Findlet< CDCSegment2D & > Super
Type of the base class.
CDCRiemannFitter m_riemannFitter
Instance of the riemann fitter to be used.
void apply(std::vector< CDCSegment2D > &outputSegments) override
Main algorithm applying the fit to each segment.
void exposeParameters(ModuleParamList *moduleParamList, const std::string &prefix) override
Expose the parameters to a module.
EFitVariance m_fitVariance
Option which variance information from the hits should be used.
std::string m_param_fitVarianceString
Parameter : Option string which variance information from the hits should be used.
bool m_param_updateRecoPos
Parameter : Switch to reevaluate the position and right left passage information based in the fit.
std::string m_param_fitPosString
Parameter : Option string which positional information from the hits should be used.
Abstract base class for different kinds of events.
Helper construct implementing the (re)estimation of the drift length for various hit objects.