Belle II Software  release-08-01-10
PXDResultVarSet.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/pxd/entities/CKFToPXDResult.h>
15 #include <tracking/ckf/pxd/utilities/PXDAdvancer.h>
16 
17 namespace Belle2 {
23  constexpr
24  static char const* const pxdResultVarNames[] = {
25  "chi2_vxd_max",
26  "chi2_vxd_min",
27  "chi2_seed",
28  "chi2",
29 
30  "number_of_hits",
31 
32  "pt",
33  "theta",
34 
35  "number_of_holes",
36 
37  "last_hit_layer",
38  "first_hit_layer",
39 
40  "weight_sum",
41 
42  "has_missing_layer_1",
43  "has_missing_layer_2",
44  "has_missing_layer_3",
45  "has_missing_layer_4",
46  "has_missing_layer_5",
47  "has_missing_layer_6",
48 
49  "number_of_overlap_hits",
50 
51  "distance_to_seed_track",
52  "distance_to_seed_track_xy",
53  };
54 
56  class PXDResultVarNames : public TrackFindingCDC::VarNames<CKFToPXDResult> {
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(pxdResultVarNames);
64 
66  constexpr
67  static char const* getName(int iName)
68  {
69  return pxdResultVarNames[iName];
70  }
71  };
72 
77  class PXDResultVarSet : public TrackFindingCDC::VarSet<PXDResultVarNames> {
80 
81  public:
83 
84  void initialize() override;
85 
87  bool extract(const CKFToPXDResult* object) final;
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 PXD.
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,...
void initialize() override
Receive signal before the start of the event processing.
PXDAdvancer m_advancer
Findlet for advancing.
bool extract(const CKFToPXDResult *object) final
Generate and assign the variables from the object.
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 pxdResultVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.