Belle II Software  release-08-01-10
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 
18 namespace 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.
constexpr static 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: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 cdcPathBasicVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.