Belle II Software  release-08-01-10
BendFacetVarSet.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 
13 namespace Belle2 {
18  namespace TrackFindingCDC {
19  class CDCFacet;
20 
22  constexpr
23  static char const* const bendFacetVarNames[] = {
24  "start_phi",
25  "start_phi_sigma",
26  "start_phi_pull",
27  "start_d",
28  "start_chi2",
29 
30  "middle_phi",
31  "middle_phi_sigma",
32  "middle_phi_pull",
33  "middle_d",
34  "middle_chi2",
35 
36  "end_phi",
37  "end_phi_sigma",
38  "end_phi_pull",
39  "end_d",
40  "end_chi2",
41 
42  "s",
43 
44  "curv",
45  "curv_sigma",
46  "curv_pull",
47  };
48 
50  struct BendFacetVarNames : public VarNames<const CDCFacet> {
51 
53  // we shouldn't use public member variables but we do want to rewrite all related code using setters/getters
54  // at least tell cppcheck that everything is fine
55  // cppcheck-suppress duplInheritedMember
56  static const size_t nVars = size(bendFacetVarNames);
57 
59  static constexpr char const* getName(int iName)
60  {
61  return bendFacetVarNames[iName];
62  }
63  };
64 
69  class BendFacetVarSet : public VarSet<BendFacetVarNames> {
70 
71  public:
73  bool extract(const CDCFacet* ptrFacet) final;
74  };
75  }
77 }
Class to compute floating point variables from a facet which can be recorded as a flat TNtuple or ser...
bool extract(const CDCFacet *ptrFacet) final
Generate and assign the contained variables.
Class representing a triple of neighboring oriented wire with additional trajectory information.
Definition: CDCFacet.h:32
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
Abstract base class for different kinds of events.
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)
Getter for the name at the given index.