Belle II Software  release-05-02-19
SimplePXDStateFilter.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/pxd/filters/states/BasePXDStateFilter.h>
13 #include <tracking/ckf/pxd/utilities/PXDKalmanStepper.h>
14 
15 namespace Belle2 {
20  class SimplePXDStateFilter : public BasePXDStateFilter {
22  public:
24  void beginRun() final;
25 
27  SimplePXDStateFilter() = default;
28 
29  TrackFindingCDC::Weight operator()(const BasePXDStateFilter::Object& pair) final;
30 
31  private:
33  double m_cachedBField;
34 
37 
39  using MaximalValueArray = double[2][3];
40 
42  static constexpr const MaximalValueArray m_param_maximumHelixDistanceXY = {
43  {0.295060, 0.295060, 0.295060},
44  {0.295060, 0.295060, 0.295060}
45  };
46 
48  static constexpr const MaximalValueArray m_param_maximumResidual = {
49  {0.679690, 0.677690, 0.427060},
50  {1.006930, 0.926120, 0.687030}
51  };
52 
54  static constexpr const MaximalValueArray m_param_maximumChi2 = {
55  {10, 50, 125},
56  {20, 60, 85}
57  };
58  };
60 }
Belle2::SimplePXDStateFilter::SimplePXDStateFilter
SimplePXDStateFilter()=default
default constructor to silence the cppcheck warnings
Belle2::SimplePXDStateFilter::m_param_maximumHelixDistanceXY
static constexpr const MaximalValueArray m_param_maximumHelixDistanceXY
Maximum distance calculated with helix extrapolation in filter 1. Numbers calculated on MC.
Definition: SimplePXDStateFilter.h:50
Belle2::BasePXDStateFilter
TrackFindingCDC::Filter< std::pair< const std::vector< TrackFindingCDC::WithWeight< const CKFToPXDState * > >, CKFToPXDState * > > BasePXDStateFilter
Base filter for CKF PXD states.
Definition: BasePXDStateFilter.h:31
Belle2::TrackFindingCDC::Filter
Base class for filters on a generic object type.
Definition: Filter.dcl.h:39
Belle2::SimplePXDStateFilter::MaximalValueArray
double[2][3] MaximalValueArray
Shortcut for a 2x3 array.
Definition: SimplePXDStateFilter.h:47
Belle2::SimplePXDStateFilter::m_param_maximumChi2
static constexpr const MaximalValueArray m_param_maximumChi2
Maximum chi^2 in filter 3. Numbers calculated on MC.
Definition: SimplePXDStateFilter.h:62
Belle2::PXDKalmanStepper
Kalman stepper implementation for the PXD CKF.
Definition: PXDKalmanStepper.h:26
Belle2::SimplePXDStateFilter::m_param_maximumResidual
static constexpr const MaximalValueArray m_param_maximumResidual
Maximum distance calculated with normal extrapolation in filter 2. Numbers calculated on MC.
Definition: SimplePXDStateFilter.h:56
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::SimplePXDStateFilter::m_kalmanStepper
PXDKalmanStepper m_kalmanStepper
Kalman stepper (CKF) for PXD.
Definition: SimplePXDStateFilter.h:44
Belle2::SimplePXDStateFilter::beginRun
void beginRun() final
Set the cached B field.
Definition: SimplePXDStateFilter.cc:43
Belle2::SimplePXDStateFilter::m_cachedBField
double m_cachedBField
Cache for the B field at the IP.
Definition: SimplePXDStateFilter.h:41
Belle2::TrackFindingCDC::Filter::Object
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:43