Belle II Software development
TruthSegmentVarSet.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
13namespace Belle2 {
18 namespace TrackFindingCDC {
19 class CDCSegment2D;
20
22 constexpr
23 static char const* const truthSegmentVarNames[] = {
24 "segment_is_fake_truth",
25 "track_is_already_found_truth",
26 "segment_is_new_track_truth",
27 "truth",
28 };
29
31 struct TruthSegmentVarNames : public VarNames<CDCSegment2D> {
32
34 // we shouldn't use public member variables but we do want to rewrite all related code using setters/getters
35 // at least tell cppcheck that everything is fine
36 // cppcheck-suppress duplInheritedMember
37 static const size_t nVars = size(truthSegmentVarNames);
38
40 static constexpr char const* getName(int iName)
41 {
42 return truthSegmentVarNames[iName];
43 }
44 };
45
50 class TruthSegmentVarSet : public VarSet<TruthSegmentVarNames> {
51
52 private:
55
56 public:
58 void initialize() final;
59
61 void beginEvent() final;
62
64 bool extract(const CDCSegment2D* segment) override;
65 };
66 }
68}
A reconstructed sequence of two dimensional hits in one super layer.
Definition: CDCSegment2D.h:39
Class to compute floating point variables from a segment which can be recorded as a flat TNtuple or s...
void initialize() final
Require the Monte Carlo truth information at initialisation.
void beginEvent() final
Prepare the Monte Carlo truth information at start of the event.
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.