Belle II Software development
PXDStateBasicVarSet.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/pxd/filters/states/BasePXDStateFilter.h>
14#include <tracking/ckf/pxd/utilities/PXDKalmanStepper.h>
15
16namespace Belle2 {
22 constexpr
23 static char const* const pxdStateBasicVarNames[] = {
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 "cluster_charge",
52 "cluster_seed_charge",
53 "cluster_size",
54 "cluster_size_u",
55 "cluster_size_v",
56
57 "ladder",
58 "sensor",
59 "segment",
60 "id",
61
62 "last_layer",
63 "last_ladder",
64 "last_sensor",
65 "last_segment",
66 "last_id",
67
68 "last_cluster_charge",
69 "last_cluster_seed_charge",
70 "last_cluster_size",
71 "last_cluster_size_u",
72 "last_cluster_size_v",
73 };
74
76 class PXDStateBasicVarNames : public TrackFindingCDC::VarNames<BasePXDStateFilter::Object> {
77
78 public:
80 static const size_t nVars = TrackFindingCDC::size(pxdStateBasicVarNames);
81
83 constexpr
84 static char const* getName(int iName)
85 {
86 return pxdStateBasicVarNames[iName];
87 }
88 };
89
93 class PXDStateBasicVarSet : public TrackFindingCDC::VarSet<PXDStateBasicVarNames> {
94
95 public:
97 virtual bool extract(const BasePXDStateFilter::Object* pair) override;
98
99 private:
102 };
104}
Kalman stepper implementation for the PXD CKF.
Vehicle class to transport the variable names.
static const size_t nVars
Number of variables to be generated.
static constexpr 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.
virtual bool extract(const BasePXDStateFilter::Object *pair) override
Generate and assign the variables from the VXD-CDC-pair.
PXDKalmanStepper m_kalmanStepper
Kalmap update filter used in this var set.
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:35
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
static constexpr char const *const pxdStateBasicVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.