Belle II Software development
SVDResultVarSet.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/varsets/VarSet.h>
11#include <tracking/trackFindingCDC/varsets/VarNames.h>
12#include <tracking/trackFindingCDC/varsets/FixedSizeNamedFloatTuple.h>
13
14#include <tracking/ckf/svd/entities/CKFToSVDResult.h>
15#include <tracking/ckf/svd/utilities/SVDAdvancer.h>
16
17namespace Belle2 {
23 constexpr
24 static char const* const svdResultVarNames[] = {
25 "chi2_vxd_max",
26 "chi2_vxd_min",
27 "chi2_cdc",
28 "chi2",
29
30 "number_of_hits",
31
32 "pt",
33 "theta",
34
35 "number_of_holes",
36
37 "cdc_lowest_layer",
38
39 "last_hit_layer",
40 "first_hit_layer",
41
42 "weight_sum",
43
44 "has_missing_layer_1",
45 "has_missing_layer_2",
46 "has_missing_layer_3",
47 "has_missing_layer_4",
48 "has_missing_layer_5",
49 "has_missing_layer_6",
50
51 "distance_to_cdc_track",
52 "distance_to_cdc_track_xy",
53 };
54
56 class SVDResultVarNames : public TrackFindingCDC::VarNames<CKFToSVDResult> {
57
58 public:
60 // we shouldn't use public member variables but we do want to rewrite all related code using setters/getters
61 // at least tell cppcheck that everything is fine
62 // cppcheck-suppress duplInheritedMember
63 static const size_t nVars = TrackFindingCDC::size(svdResultVarNames);
64
66 constexpr
67 static char const* getName(int iName)
68 {
69 return svdResultVarNames[iName];
70 }
71 };
72
77 class SVDResultVarSet : public TrackFindingCDC::VarSet<SVDResultVarNames> {
80
81 public:
83
85 bool extract(const CKFToSVDResult* object) final;
86
87 void initialize() override;
88
89 private:
92 };
94}
Helper findlet for performing an extrapolation of a mSoP of one plane to another plane using the repr...
Definition: Advancer.h:37
Specialized CKF Result for extrapolating into the SVD.
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,...
bool extract(const CKFToSVDResult *object) final
Generate and assign the variables from the object.
void initialize() override
Receive signal before the start of the event processing.
SVDAdvancer m_advancer
Findlet for advancing.
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 svdResultVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.