Belle II Software  release-08-01-10
SVDStateBasicVarSet.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 #include <tracking/trackFindingCDC/varsets/VarSet.h>
10 #include <tracking/trackFindingCDC/varsets/VarNames.h>
11 #include <tracking/trackFindingCDC/varsets/FixedSizeNamedFloatTuple.h>
12 
13 #include <tracking/ckf/svd/filters/states/BaseSVDStateFilter.h>
14 #include <tracking/ckf/svd/utilities/SVDKalmanStepper.h>
15 
16 namespace Belle2 {
22  constexpr
23  static char const* const svdStateBasicVarNames[] = {
24  "distance",
25  "xy_distance",
26  "z_distance",
27 
28  "mSoP_distance",
29  "mSoP_xy_distance",
30  "mSoP_z_distance",
31 
32  "same_hemisphere",
33 
34  "layer",
35  "number",
36 
37  "arcLengthOfHitPosition",
38  "arcLengthOfCenterPosition",
39 
40  "pt",
41  "tan_lambda",
42  "phi",
43 
44  "sigma_uv",
45  "residual_over_sigma",
46 
47  "residual",
48 
49  "chi2",
50 
51  "ladder",
52  "sensor",
53  "segment",
54  "id",
55 
56  "last_layer",
57  "last_ladder",
58  "last_sensor",
59  "last_segment",
60  "last_id",
61  };
62 
64  class SVDStateBasicVarNames : public TrackFindingCDC::VarNames<BaseSVDStateFilter::Object> {
65 
66  public:
68  static const size_t nVars = TrackFindingCDC::size(svdStateBasicVarNames);
69 
71  constexpr
72  static char const* getName(int iName)
73  {
74  return svdStateBasicVarNames[iName];
75  }
76  };
77 
81  class SVDStateBasicVarSet : public TrackFindingCDC::VarSet<SVDStateBasicVarNames> {
82 
83  public:
85  virtual bool extract(const BaseSVDStateFilter::Object* pair) override;
86 
87  private:
90  };
92 }
Kalman stepper implementation for the SVD CKF.
Vehicle class to transport the variable names.
static const size_t nVars
Number of variables to be generated.
constexpr static char const * getName(int iName)
Get the name of the column.
Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match.
SVDKalmanStepper m_kalmanStepper
Kalman stepper (CKF) for SVD.
virtual bool extract(const BaseSVDStateFilter::Object *pair) override
Generate and assign the variables from the VXD-CDC-pair.
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:33
Class that specifies the names of the variables.
Definition: VarNames.h:21
Generic class that generates some named float values from a given object.
Definition: VarSet.h:36
constexpr static char const *const svdStateBasicVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.