Belle II Software  release-05-01-25
SVDStateVarSet.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2017 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: 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 #include <tracking/trackFindingCDC/varsets/FixedSizeNamedFloatTuple.h>
15 
16 #include <tracking/ckf/svd/filters/states/BaseSVDStateFilter.h>
17 
18 #include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorCircleFit.h>
19 #include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorRiemannHelixFit.h>
20 #include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorTripletFit.h>
21 
22 namespace Belle2 {
27  constexpr
29  static char const* const svdStateVarNames[] = {
30  "seed_cdc_hits",
31  "seed_svd_hits",
32  "seed_lowest_svd_layer",
33  "seed_lowest_cdc_layer",
34 
35  "quality_index_triplet",
36  "quality_index_circle",
37  "quality_index_helix",
38 
39  "cluster_1_charge",
40  "cluster_2_charge",
41  "mean_rest_cluster_charge",
42  "min_rest_cluster_charge",
43  "std_rest_cluster_charge",
44 
45  "cluster_1_seed_charge",
46  "cluster_2_seed_charge",
47  "mean_rest_cluster_seed_charge",
48  "min_rest_cluster_seed_charge",
49  "std_rest_cluster_seed_charge",
50 
51  "cluster_1_size",
52  "cluster_2_size",
53  "mean_rest_cluster_size",
54  "min_rest_cluster_size",
55  "std_rest_cluster_size",
56 
57  "cluster_1_snr",
58  "cluster_2_snr",
59  "mean_rest_cluster_snr",
60  "min_rest_cluster_snr",
61  "std_rest_cluster_snr",
62 
63  "cluster_1_charge_over_size",
64  "cluster_2_charge_over_size",
65  "mean_rest_cluster_charge_over_size",
66  "min_rest_cluster_charge_over_size",
67  "std_rest_cluster_charge_over_size",
68  };
69 
71  class SVDStateVarNames : public TrackFindingCDC::VarNames<BaseSVDStateFilter::Object> {
72 
73  public:
75  static const size_t nVars = TrackFindingCDC::size(svdStateVarNames);
76 
78  constexpr
79  static char const* getName(int iName)
80  {
81  return svdStateVarNames[iName];
82  }
83  };
84 
88  class SVDStateVarSet : public TrackFindingCDC::VarSet<SVDStateVarNames> {
89 
90  public:
92  virtual bool extract(const BaseSVDStateFilter::Object* object) override;
93 
94  private:
101  };
103 }
Belle2::SVDStateVarSet::m_qualityTriplet
QualityEstimatorTripletFit m_qualityTriplet
Instance of the triplet-fit class.
Definition: SVDStateVarSet.h:108
Belle2::QualityEstimatorTripletFit
does a tripletFit of the given hits The filter is based on the paper 'A New Three-Dimensional Track F...
Definition: QualityEstimatorTripletFit.h:31
Belle2::svdStateVarNames
constexpr static char const *const svdStateVarNames[]
Names of the variables to be generated.
Definition: SVDStateVarSet.h:37
Belle2::SVDStateVarNames::nVars
static const size_t nVars
Number of variables to be generated.
Definition: SVDStateVarSet.h:83
Belle2::SVDStateVarSet::m_qualityCircle
QualityEstimatorCircleFit m_qualityCircle
Instance of the circle-fit class.
Definition: SVDStateVarSet.h:104
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::QualityEstimatorCircleFit
Class containing the algorithm to perform the simple circle fit.
Definition: QualityEstimatorCircleFit.h:29
Belle2::SVDStateVarNames::getName
constexpr static char const * getName(int iName)
Get the name of the column.
Definition: SVDStateVarSet.h:87
Belle2::SVDStateVarSet::m_qualityHelix
QualityEstimatorRiemannHelixFit m_qualityHelix
Instance of the Riemann helix-fit class.
Definition: SVDStateVarSet.h:106
Belle2::QualityEstimatorRiemannHelixFit
Based on R.
Definition: QualityEstimatorRiemannHelixFit.h:32
Belle2::SVDStateVarSet::extract
virtual bool extract(const BaseSVDStateFilter::Object *object) override
Generate and assign the variables from the VXD-CDC object.
Definition: SVDStateVarSet.cc:92
Belle2::TrackFindingCDC::VarSet
Generic class that generates some named float values from a given object.
Definition: VarSet.h:46
Belle2::SVDStateVarSet
Var set used in the VXD-CDC-Merger for calculating the probability of a VXD-CDC-track match.
Definition: SVDStateVarSet.h:96
Belle2::TrackFindingCDC::Filter::Object
AObject Object
Type of the object to be analysed.
Definition: Filter.dcl.h:43