Belle II Software  release-08-01-10
SVDStateTruthVarSet.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 #include <framework/dataobjects/EventMetaData.h>
14 #include <framework/datastore/StoreObjPtr.h>
15 
16 #include <tracking/ckf/svd/filters/states/BaseSVDStateFilter.h>
17 #include <tracking/ckf/svd/utilities/SVDMCUtil.h>
18 
19 namespace Belle2 {
25  constexpr
26  static char const* const svdStateTruthVarNames[] = {
27  "truth",
28  "truth_position_x",
29  "truth_position_y",
30  "truth_position_z",
31  "truth_momentum_x",
32  "truth_momentum_y",
33  "truth_momentum_z",
34  "truth_event_id",
35  "truth_seed_number"
36  };
37 
39  class SVDStateTruthVarNames : public TrackFindingCDC::VarNames<BaseSVDStateFilter::Object> {
40 
41  public:
43  static const size_t nVars = TrackFindingCDC::size(svdStateTruthVarNames);
44 
46  constexpr
47  static char const* getName(int iName)
48  {
49  return svdStateTruthVarNames[iName];
50  }
51  };
52 
57  class SVDStateTruthVarSet : public TrackFindingCDC::VarSet<SVDStateTruthVarNames> {
58 
59  public:
61  virtual bool extract(const BaseSVDStateFilter::Object* result) override;
62 
63  private:
66 
69  };
71 }
Class bundling all helper functions for the MC information used in the PXD CKF.
Definition: PXDMCUtil.h:23
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,...
MCUtil m_mcUtil
MC information used in the SVD CKF.
StoreObjPtr< EventMetaData > m_eventMetaData
Pointer to the object containing event number etc.
virtual bool extract(const BaseSVDStateFilter::Object *result) override
Generate and assign the variables from the object.
Type-safe access to single objects in the data store.
Definition: StoreObjPtr.h:96
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:33
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 svdStateTruthVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.