Belle II Software development
SVDStateVarSet.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#include <tracking/trackFindingCDC/varsets/FixedSizeNamedFloatTuple.h>
13
14#include <tracking/ckf/svd/filters/states/BaseSVDStateFilter.h>
15
16#include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorCircleFit.h>
17#include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorRiemannHelixFit.h>
18#include <tracking/trackFindingVXD/trackQualityEstimators/QualityEstimatorTripletFit.h>
19
20namespace Belle2 {
26 constexpr
27 static char const* const svdStateVarNames[] = {
28 "seed_cdc_hits",
29 "seed_svd_hits",
30 "seed_lowest_svd_layer",
31 "seed_lowest_cdc_layer",
32
33 "quality_index_triplet",
34 "quality_index_circle",
35 "quality_index_helix",
36
37 "cluster_1_charge",
38 "cluster_2_charge",
39 "mean_rest_cluster_charge",
40 "min_rest_cluster_charge",
41 "std_rest_cluster_charge",
42
43 "cluster_1_seed_charge",
44 "cluster_2_seed_charge",
45 "mean_rest_cluster_seed_charge",
46 "min_rest_cluster_seed_charge",
47 "std_rest_cluster_seed_charge",
48
49 "cluster_1_size",
50 "cluster_2_size",
51 "mean_rest_cluster_size",
52 "min_rest_cluster_size",
53 "std_rest_cluster_size",
54
55 "cluster_1_snr",
56 "cluster_2_snr",
57 "mean_rest_cluster_snr",
58 "min_rest_cluster_snr",
59 "std_rest_cluster_snr",
60
61 "cluster_1_charge_over_size",
62 "cluster_2_charge_over_size",
63 "mean_rest_cluster_charge_over_size",
64 "min_rest_cluster_charge_over_size",
65 "std_rest_cluster_charge_over_size",
66 };
67
69 class SVDStateVarNames : public TrackFindingCDC::VarNames<BaseSVDStateFilter::Object> {
70
71 public:
73 static const size_t nVars = TrackFindingCDC::size(svdStateVarNames);
74
76 constexpr
77 static char const* getName(int iName)
78 {
79 return svdStateVarNames[iName];
80 }
81 };
82
86 class SVDStateVarSet : public TrackFindingCDC::VarSet<SVDStateVarNames> {
87
88 public:
90 virtual bool extract(const BaseSVDStateFilter::Object* object) override;
91
92 private:
99 };
101}
Class containing the algorithm to perform the simple circle fit.
does a tripletFit of the given hits The filter is based on the paper 'A New Three-Dimensional Track F...
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.
QualityEstimatorRiemannHelixFit m_qualityHelix
Instance of the Riemann helix-fit class.
QualityEstimatorTripletFit m_qualityTriplet
Instance of the triplet-fit class.
QualityEstimatorCircleFit m_qualityCircle
Instance of the circle-fit class.
virtual bool extract(const BaseSVDStateFilter::Object *object) override
Generate and assign the variables from the VXD-CDC object.
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 svdStateVarNames[]
Names of the variables to be generated.
Abstract base class for different kinds of events.