Belle II Software  release-05-02-19
SimpleSVDStateFilter.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - 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/ckf/svd/filters/states/BaseSVDStateFilter.h>
13 #include <tracking/ckf/svd/utilities/SVDKalmanStepper.h>
14 
15 namespace Belle2 {
20  class SimpleSVDStateFilter : public BaseSVDStateFilter {
22  public:
24  void beginRun() final;
25 
27  SimpleSVDStateFilter() = default;
28 
29  TrackFindingCDC::Weight operator()(const BaseSVDStateFilter::Object& pair) final;
30 
31  private:
33  double m_cachedBField;
34 
37 
39  using MaximalValueArray = double[4][3];
40 
42  static constexpr const MaximalValueArray m_param_maximumHelixDistance = {
43  // high pt, middle pt, low pt
44  {1.38532, 1.44346, 1.53386}, // layer 3
45  {1.96701, 2.17819, 2.19784}, // layer 4
46  {2.33064, 2.67768, 2.67174}, // layer 5
47  {6, 6, 6}, // layer 6
48  };
49 
51  static constexpr const MaximalValueArray m_param_maximumResidual = {
52  {1.52328, 1.57714, 1.63069}, // layer 3
53  {1.61301, 1.78301, 1.75973}, // layer 4
54  {1.85188, 2.19571, 2.38167}, // layer 5
55  {5.5, 5, 5}, // layer 6
56  };
57 
59  static constexpr const MaximalValueArray m_param_maximumResidual2 = {
60  {0.69713, 0.39872, 0.41854}, // layer 3
61  {0.72737, 0.40816, 0.53138}, // layer 4
62  {0.35624, 0.12846, 0.22516}, // layer 5
63  {0.00975, 0.06432, 0.5969}, // layer 6
64  };
65 
66  };
68 }
Belle2::SimpleSVDStateFilter::m_param_maximumResidual2
static constexpr const MaximalValueArray m_param_maximumResidual2
Maximum distance calculated with normal extrapolation in filter 2. Numbers calculated on MC.
Definition: SimpleSVDStateFilter.h:67
Belle2::SimpleSVDStateFilter::m_cachedBField
double m_cachedBField
Cache for the B field at the IP.
Definition: SimpleSVDStateFilter.h:41
Belle2::SimpleSVDStateFilter::m_kalmanStepper
SVDKalmanStepper m_kalmanStepper
Kalman stepper (CKF) for SVD.
Definition: SimpleSVDStateFilter.h:44
Belle2::TrackFindingCDC::Filter
Base class for filters on a generic object type.
Definition: Filter.dcl.h:39
Belle2::SVDKalmanStepper
Kalman stepper implementation for the SVD CKF.
Definition: SVDKalmanStepper.h:26
Belle2::SimpleSVDStateFilter::SimpleSVDStateFilter
SimpleSVDStateFilter()=default
default constructor to silence cppcheck warnings
Belle2::SimpleSVDStateFilter::MaximalValueArray
double[4][3] MaximalValueArray
Shortcut for a 4x3 array.
Definition: SimpleSVDStateFilter.h:47
Belle2::BaseSVDStateFilter
TrackFindingCDC::Filter< std::pair< const std::vector< TrackFindingCDC::WithWeight< const CKFToSVDState * > >, CKFToSVDState * > > BaseSVDStateFilter
Base filter for CKF SVD states.
Definition: BaseSVDStateFilter.h:32
Belle2::SimpleSVDStateFilter::beginRun
void beginRun() final
Set the cached B field.
Definition: SimpleSVDStateFilter.cc:43
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SimpleSVDStateFilter::m_param_maximumResidual
static constexpr const MaximalValueArray m_param_maximumResidual
Maximum distance calculated with normal extrapolation in filter 3. Numbers calculated on MC.
Definition: SimpleSVDStateFilter.h:59
Belle2::SimpleSVDStateFilter::m_param_maximumHelixDistance
static constexpr const MaximalValueArray m_param_maximumHelixDistance
Maximum distance calculated with helix extrapolation in filter 1. Numbers calculated on MC.
Definition: SimpleSVDStateFilter.h:50
Belle2::TrackFindingCDC::Filter::Object
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:43