Belle II Software  release-05-02-19
CDCPathBasicVarSet.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2019 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: Simon Kurz, Nils Braun *
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/ckf/cdc/filters/paths/BaseCDCPathFilter.h>
16 
17 #include <framework/datastore/StoreObjPtr.h>
18 #include <framework/dataobjects/EventMetaData.h>
19 
20 namespace Belle2 {
25  constexpr
27  static char const* const cdcPathBasicVarNames[] = {
28  "eventNumber",
29  "totalHits",
30  "reachedEnd",
31  "totalHitsSeedTrack",
32  "firstChi2",
33  "lastChi2",
34  "seedICLayer",
35  "firstICLayer",
36  "lastICLayer",
37  "seed_r",
38  "seed_z",
39  "seed_x",
40  "seed_y",
41  "seed_p",
42  "seed_theta",
43  "seed_pt",
44  "seed_pz",
45  "seed_px",
46  "seed_py",
47  "seed_charge",
48  "track_theta",
49  "track_p",
50  "track_pt",
51  "track_pz",
52  "track_px",
53  "track_py",
54  "track_charge",
55  "chargeFlip",
56  "ICLayerLast0",
57  "ICLayerLast1",
58  "ICLayerLast2",
59  "IWireLast0",
60  "IWireLast1",
61  "IWireLast2",
62  "flipPos0",
63  "flipPos1",
64  "flipPos2",
65  "flipPos3",
66  "arcLength0",
67  "arcLength1",
68  "arcLength2",
69  "arcLength3",
70  "arcLength4",
71  "arcLength5",
72  "arcLength6",
73  "arcLength7",
74  "arcLength8",
75  "arcLength9",
76  "hitDistance0",
77  "hitDistance1",
78  "hitDistance2",
79  "hitDistance3",
80  "hitDistance4",
81  "hitDistance5",
82  "hitDistance6",
83  "hitDistance7",
84  "hitDistance8",
85  "hitDistance9"
86  };
87 
89  class CDCPathBasicVarNames : public TrackFindingCDC::VarNames<BaseCDCPathFilter::Object> {
90 
91  public:
93  static const size_t nVars = TrackFindingCDC::size(cdcPathBasicVarNames);
94 
96  constexpr
97  static char const* getName(int iName)
98  {
99  return cdcPathBasicVarNames[iName];
100  }
101  };
102 
106  class CDCPathBasicVarSet : public TrackFindingCDC::VarSet<CDCPathBasicVarNames> {
107 
108  public:
110  virtual bool extract(const BaseCDCPathFilter::Object* path) override;
111 
112  private:
115  };
117 }
Belle2::CDCPathBasicVarSet::m_eventMetaData
StoreObjPtr< EventMetaData > m_eventMetaData
use this to get the eventNumber
Definition: CDCPathBasicVarSet.h:122
Belle2::CDCPathBasicVarSet
Var set to store basic quantities related to CDC CKF.
Definition: CDCPathBasicVarSet.h:114
Belle2::CDCPathBasicVarNames::nVars
static const size_t nVars
Number of variables to be generated.
Definition: CDCPathBasicVarSet.h:101
Belle2::CDCPathBasicVarSet::extract
virtual bool extract(const BaseCDCPathFilter::Object *path) override
Generate and assign the variables from the object.
Definition: CDCPathBasicVarSet.cc:22
Belle2::CDCPathBasicVarNames::getName
constexpr static char const * getName(int iName)
Get the name of the column.
Definition: CDCPathBasicVarSet.h:105
Belle2::cdcPathBasicVarNames
constexpr static char const *const cdcPathBasicVarNames[]
Names of the variables to be generated.
Definition: CDCPathBasicVarSet.h:35
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::StoreObjPtr
Type-safe access to single objects in the data store.
Definition: ParticleList.h:33
Belle2::TrackFindingCDC::VarSet
Generic class that generates some named float values from a given object.
Definition: VarSet.h:46
Belle2::TrackFindingCDC::Filter::Object
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:43