Belle II Software development
PXDStateTruthVarSet.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/pxd/filters/states/BasePXDStateFilter.h>
17#include <tracking/ckf/pxd/utilities/PXDMCUtil.h>
18
19namespace Belle2 {
25 constexpr
26 static char const* const pxdStateTruthVarNames[] = {
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 PXDStateTruthVarNames : public TrackFindingCDC::VarNames<BasePXDStateFilter::Object> {
40
41 public:
43 static const size_t nVars = TrackFindingCDC::size(pxdStateTruthVarNames);
44
46 constexpr
47 static char const* getName(int iName)
48 {
49 return pxdStateTruthVarNames[iName];
50 }
51 };
52
57 class PXDStateTruthVarSet : public TrackFindingCDC::VarSet<PXDStateTruthVarNames> {
58
59 public:
61 virtual bool extract(const BasePXDStateFilter::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.
static constexpr 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 PXD CKF.
virtual bool extract(const BasePXDStateFilter::Object *result) override
Generate and assign the variables from the object.
StoreObjPtr< EventMetaData > m_eventMetaData
Pointer to the object containing event number etc.
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:35
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
static constexpr char const *const pxdStateTruthVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.