Belle II Software development
CDCPathBasicVarSet.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 <tracking/ckf/cdc/filters/paths/BaseCDCPathFilter.h>
14
15#include <framework/datastore/StoreObjPtr.h>
16#include <framework/dataobjects/EventMetaData.h>
17
18namespace Belle2 {
24 constexpr
25 static char const* const cdcPathBasicVarNames[] = {
26 "eventNumber",
27 "totalHits",
28 "reachedEnd",
29 "totalHitsSeedTrack",
30 "firstChi2",
31 "lastChi2",
32 "seedICLayer",
33 "firstICLayer",
34 "lastICLayer",
35 "seed_r",
36 "seed_z",
37 "seed_x",
38 "seed_y",
39 "seed_p",
40 "seed_theta",
41 "seed_pt",
42 "seed_pz",
43 "seed_px",
44 "seed_py",
45 "seed_charge",
46 "track_theta",
47 "track_p",
48 "track_pt",
49 "track_pz",
50 "track_px",
51 "track_py",
52 "track_charge",
53 "chargeFlip",
54 "ICLayerLast0",
55 "ICLayerLast1",
56 "ICLayerLast2",
57 "IWireLast0",
58 "IWireLast1",
59 "IWireLast2",
60 "flipPos0",
61 "flipPos1",
62 "flipPos2",
63 "flipPos3",
64 "arcLength0",
65 "arcLength1",
66 "arcLength2",
67 "arcLength3",
68 "arcLength4",
69 "arcLength5",
70 "arcLength6",
71 "arcLength7",
72 "arcLength8",
73 "arcLength9",
74 "hitDistance0",
75 "hitDistance1",
76 "hitDistance2",
77 "hitDistance3",
78 "hitDistance4",
79 "hitDistance5",
80 "hitDistance6",
81 "hitDistance7",
82 "hitDistance8",
83 "hitDistance9"
84 };
85
87 class CDCPathBasicVarNames : public TrackFindingCDC::VarNames<BaseCDCPathFilter::Object> {
88
89 public:
91 static const size_t nVars = TrackFindingCDC::size(cdcPathBasicVarNames);
92
94 constexpr
95 static char const* getName(int iName)
96 {
97 return cdcPathBasicVarNames[iName];
98 }
99 };
100
104 class CDCPathBasicVarSet : public TrackFindingCDC::VarSet<CDCPathBasicVarNames> {
105
106 public:
108 virtual bool extract(const BaseCDCPathFilter::Object* path) override;
109
110 private:
113 };
115}
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 to store basic quantities related to CDC CKF.
StoreObjPtr< EventMetaData > m_eventMetaData
use this to get the eventNumber
virtual bool extract(const BaseCDCPathFilter::Object *path) 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: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 cdcPathBasicVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.