Belle II Software development
KLMAxis.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
9
10#pragma once
11
12
13#include "trg/klm/modules/klmtrigger/ntuples_full.h"
14#include <cstdint>
15
16
17
18namespace Belle2 {
23 namespace KLM_TRG_definitions {
24 nt_new_axis_t(event_nr, int32_t{});
25 nt_new_axis_t(sector, int32_t{});
26 nt_new_axis_t(section, int32_t{});
27 nt_new_axis_t(subdetector, int32_t{});
28 nt_new_axis_t(strip, int32_t{});
29 nt_new_axis_t(layer, int32_t{});
30 nt_new_axis_t(plane, int32_t{});
31 nt_new_axis_t(digit_id, int32_t{});
32
33
34
35 using KLM_Digit_compact_t = nt::ntuple <
36 event_nr,
37 digit_id,
38 subdetector,
39 section,
40 sector,
41 plane,
42 layer,
43 strip
44 >;
45
46 using KLM_Digit_compact_ts = std::vector < KLM_Digit_compact_t>;
47
48 nt_new_axis_t(x_pos, int32_t{});
49 nt_new_axis_t(y_pos, int32_t{});
50
51
52
53 nt_new_axis_t(slopeX, double{});
54 nt_new_axis_t(offsetX, double{});
55 nt_new_axis_t(slopeY, double{});
56 nt_new_axis_t(offsetY, double{});
57
58 nt_new_axis_t(slopeXY, double{});
59 nt_new_axis_t(interceptXY, double{});
60 nt_new_axis_t(ipXY, double{});
61 nt_new_axis_t(chisqXY, double{});
62 nt_new_axis_t(Nhits, double{});
63
64 nt_new_axis_t(track_id, int{});
65 nt_new_axis_t(geo_id, int{});
66
67 using KLM_geo_fit_t =
69 using KLM_geo_fit_t_old =
71 using KLM_geo_fit_ts = std::vector< KLM_geo_fit_t>;
72
73 using KLM_trig_linear_fit = nt::ntuple <
74 subdetector,
75 section,
76 sector,
77 plane,
78 track_id,
79 slopeXY,
80 interceptXY,
81 ipXY,
82 chisqXY,
83 Nhits
84 >;
85
86
87 using KLM_trig_linear_fits = std::vector< KLM_trig_linear_fit>;
88
89
90
91 nt_new_axis_t(n_sections_trig, int32_t{});
92 nt_new_axis_t(sector_mask, int32_t{});
93 nt_new_axis_t(sector_mask_or, int32_t{});
94 nt_new_axis_t(back2back, int32_t{});
95 };
96
97
99}
Abstract base class for different kinds of events.