Belle II Software  release-05-02-19
SegmentTrackTruthVarSet.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2015 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Oliver Frost *
7  * *
8  * This software is provided "as is" without any warranty. *
9  **************************************************************************/
10 #pragma once
11 
12 #include <tracking/trackFindingCDC/varsets/VarSet.h>
13 #include <tracking/trackFindingCDC/varsets/VarNames.h>
14 
15 #include <tracking/trackFindingCDC/mclookup/CDCMCManager.h>
16 
17 #include <tracking/trackFindingCDC/filters/segmentTrack/BaseSegmentTrackFilter.h>
18 
19 namespace Belle2 {
24  namespace TrackFindingCDC {
25 
27  constexpr
28  static char const* const segmentTrackTruthVarNames[] = {
29  "belongs_to_same_track_truth",
30  "segment_is_fake_truth",
31  "segment_purity_truth",
32  "track_purity_truth",
33  "truth",
34  };
35 
37  struct SegmentTrackTruthVarNames : public VarNames<BaseSegmentTrackFilter::Object> {
38 
40  static const size_t nVars = size(segmentTrackTruthVarNames);
41 
43  static constexpr char const* getName(int iName)
44  {
45  return segmentTrackTruthVarNames[iName];
46  }
47  };
48 
53  class SegmentTrackTruthVarSet : public VarSet<SegmentTrackTruthVarNames> {
54 
55  public:
57  bool extract(const BaseSegmentTrackFilter::Object* testPair) final;
58 
59 
60  void initialize() override
61  {
64  }
65 
66  void beginEvent() override
67  {
70  }
71  };
72  }
74 }
Belle2::TrackFindingCDC::CompositeProcessingSignalListener::initialize
void initialize() override
Receive and dispatch signal before the start of the event processing.
Definition: CompositeProcessingSignalListener.cc:17
Belle2::TrackFindingCDC::CDCMCManager::requireTruthInformation
void requireTruthInformation()
Require the mc information store arrays.
Definition: CDCMCManager.cc:117
Belle2::TrackFindingCDC::SegmentTrackTruthVarSet::extract
bool extract(const BaseSegmentTrackFilter::Object *testPair) final
Generate and assign the contained variables.
Definition: SegmentTrackTruthVarSet.cc:24
Belle2::TrackFindingCDC::CDCMCManager::fill
void fill()
Fill Monte Carlo look up maps from the DataStore.
Definition: CDCMCManager.cc:137
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TrackFindingCDC::CDCMCManager::getInstance
static CDCMCManager & getInstance()
Getter for the singletone instance.
Definition: CDCMCManager.cc:76
Belle2::TrackFindingCDC::SegmentTrackTruthVarSet::initialize
void initialize() override
Receive signal before the start of the event processing.
Definition: SegmentTrackTruthVarSet.h:68
Belle2::TrackFindingCDC::SegmentTrackTruthVarSet
Class to compute floating point variables from a segment to track match which can be recorded as a fl...
Definition: SegmentTrackTruthVarSet.h:61
Belle2::TrackFindingCDC::CompositeProcessingSignalListener::beginEvent
void beginEvent() override
Receive and dispatch signal for the start of a new event.
Definition: CompositeProcessingSignalListener.cc:33
Belle2::TrackFindingCDC::SegmentTrackTruthVarNames::nVars
static const size_t nVars
Number of variables to be generated.
Definition: SegmentTrackTruthVarSet.h:48
Belle2::TrackFindingCDC::SegmentTrackTruthVarSet::beginEvent
void beginEvent() override
Receive signal for the start of a new event.
Definition: SegmentTrackTruthVarSet.h:74
Belle2::TrackFindingCDC::VarSet
Generic class that generates some named float values from a given object.
Definition: VarSet.h:46
Belle2::TrackFindingCDC::SegmentTrackTruthVarNames::getName
static constexpr char const * getName(int iName)
Getter for the name at the given index.
Definition: SegmentTrackTruthVarSet.h:51
Belle2::TrackFindingCDC::Filter::Object
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:43