Belle II Software  release-05-02-19
TrgBitData.cc
1 #include <trg/gdl/TrgBit.h>
2 
3 using namespace Belle2;
4 
5 const std::string TrgBit::_ftdlVersion[2] = {
6  "ftdlv4_5.alg.dat", // map 0
7  "ftdlv4_3.alg.dat" // map 1
8 };
9 
10 const char*
11 TrgBit::_inputBitNames[N_BITS_RESERVED] = {
12  "t3_0", "t3_1", "t3_2", "t2_0", "t2_1", "t2_2", "cdc_open90", "cdc_active", "cdc_b2b3", "cdc_b2b5",
13  "cdc_b2b7", "cdc_b2b9", "ehigh", "elow", "elum", "ecl_bha", "bha_0", "bha_1", "bha_2", "bha_3",
14  "bha_4", "bha_5", "bha_6", "bha_7", "bha_8", "bha_9", "bha_10", "bha_11", "bha_12", "bha_13",
15  "c_0", "c_1", "c_2", "c_3", "ebg_0", "ebg_1", "ebg_2", "ecl_active", "ecl_tim_fwd", "ecl_tim_brl",
16  "ecl_tim_bwd", "ecl_phys", "top_0", "top_1", "top_2", "top_bb", "top_active", "klm_hit", "klm_0", "klm_1",
17  "klm_2", "klm_3", "klmb2b_0", "klmb2b_1", "klmb2b_2", "revo", "her_kick", "ler_kick", "bha_delay", "pseud_rand",
18  "plsin", "poiin", "periodin", "veto", "n1_0", "n1_1", "n1_2", "n2_0", "n2_1", "n2_2",
19  "cdcecl_0", "cdcecl_1", "cdcecl_2", "cdcklm_0", "cdcklm_1", "cdcklm_2", "nim0", "nim1", "nim2", "nim3",
20  "t3_3", "t2_3", "n1_3", "n2_3", "cdcecl_3", "cdcklm_3", "u2_0", "u2_1", "u2_2", "ecl_oflo",
21  "ecl_3dbha", "lml_0", "lml_1", "lml_2", "lml_3", "lml_4", "lml_5", "lml_6", "lml_7", "lml_8", // 100
22  "lml_9", "lml_10", "samhem", "opohem", "d_b2b3", "d_b2b5", "d_b2b7", "d_b2b9", "p_b2b3", "p_b2b5",
23  "p_b2b7", "p_b2b9", "track", "trkflt", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
24  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
25  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
26  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
27  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
28  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
29  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
30  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
31  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
32 };
33 
34 const unsigned
35 TrgBit::_inputMap[N_INPUT_ARRAY][N_BITS_RESERVED] = {
36 
37  /*
38  t3_0, t3_1, t3_2, t2_0, t2_1, t2_2, cdc_open90, cdc_active, cdc_b2b3, cdc_b2b5,
39  cdc_b2b7, cdc_b2b9, ehigh, elow, elum, ecl_bha, bha_0, bha_1, bha_2, bha_3,
40  bha_4, bha_5, bha_6, bha_7, bha_8, bha_9, bha_10, bha_11, bha_12, bha_13,
41  c_0, c_1, c_2, c_3, ebg_0, ebg_1, ebg_2, eactive, ecl_tim_fwd, ecl_tim_brl,
42  // 40 ecl_tim_bwd, ecl_phys, top_0, top_1, top_2, top_bb, top_active, klm_hit, klm_0, klm_1,
43  // 50 klm_2, klm_3, klmb2b_0, klmb2b_1, klmb2b_2, revo, her_kick, ler_kick, bha_delay, pseud_rand,
44  // 60 plsin, poiin, periodin, veto, n1_0, n1_1, n1_2, n2_0, n2_1, n2_2,
45  // 70 cdcecl_0, cdcecl_1, cdcecl_2, cdcklm_0, cdcklm_1, cdcklm_2, nim0, nim1, nim2, nim3, --80
46  // 80 t3_3, t2_3, n1_3, n2_3, cdcecl_3, cdcklm_3, u2_0, u2_1, u2_2, ecl_oflo,
47  // 90 ecl_3dbha, lml_0, lml_1, lml_2, lml_3, lml_4, lml_5, lml_6, lml_7, lml_8,
48  //100 lml_9, lml_10, samhem, opohem, d_b2b3, d_b2b5, d_b2b7, d_b2b9, p_b2b3, p_b2b5,
49  //110 p_b2b7, p_b2b9, track, trkflt
50  */
51 
52  // "0"
53  // 80 bits. gdl0065c-gdl0065j.
54  // e3r100 <= run < e3r1315
55  {
56  0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
57  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
58  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
59  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
60  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
61  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
62  60, 61, 62, 63, 64, 65, 66, 67, 68, 69,
63  70, 71, 72, 73, 74, 75, 76, 77, 78, 79,
64  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
65  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
66  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
67  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
68  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
69  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
70  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
71  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
72  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
73  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
74  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
75  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
76  },
77 
78  // "1"
79  // 87 bits. gdl0065k-gdl0066e.
80  // e3r1315 <= run < e3r1866
81  {
82  0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
83  12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
84  22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
85  32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
86  42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
87  52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
88  62, 63, 64, 65, 66, 67, 68, 69, 70, 71,
89  72, 73, 74, 76, 77, 78, 80, 81, 82, 83,
90  3, 7, 999, 999, 75, 79, 84, 85, 86, 999,
91  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
92  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
93  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
94  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
95  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
96  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
97  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
98  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
99  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
100  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
101  },
102 
103  // "2"
104  // 89 bits. gdl0066f-gdl0067g.
105  // e3r1866 <= run < 5314
106  {
107  0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
108  12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
109  22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
110  32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
111  42, 43, 44, 45, 46, 47, 48, 49, 50, 51,
112  52, 53, 54, 55, 56, 57, 58, 59, 60, 61,
113  62, 63, 64, 65, 66, 67, 68, 70, 71, 72,
114  74, 75, 76, 78, 79, 80, 82, 83, 84, 85,
115  3, 7, 69, 73, 77, 81, 86, 87, 88, 999,
116  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
117  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
118  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
119  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
120  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
121  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
122  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
123  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
124  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
125  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
126  },
127 
128  // "3"
129  // 109 bits. gdl0068a.
130  // e3r5314 <= run < 5594
131  {
132  0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
133  12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
134  22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
135  32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
136  42, 43, 57, 58, 59, 60, 61, 62, 63, 64,
137  65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
138  75, 76, 77, 78, 81, 82, 83, 85, 86, 87,
139  89, 90, 91, 93, 94, 95, 105, 106, 107, 108,
140  3, 7, 84, 88, 92, 96, 999, 999, 999, 44,
141  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
142  55, 56, 79, 80, 97, 98, 99, 100, 101, 102,
143  103, 104, 999, 999, 999, 999, 999, 999, 999, 999,
144  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
145  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
146  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
147  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
148  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
149  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
150  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
151  },
152 
153  // "4"
154  // 111 bits. track, trkflt added. gdl0068b
155  // e3r5594 <= run
156  {
157  0, 1, 2, 4, 5, 6, 8, 9, 10, 11,
158  12, 13, 14, 15, 16, 17, 18, 19, 20, 21,
159  22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
160  32, 33, 34, 35, 36, 37, 38, 39, 40, 41,
161  42, 43, 57, 58, 59, 60, 61, 62, 63, 64,
162  65, 66, 67, 68, 69, 70, 71, 72, 73, 74,
163  75, 76, 77, 78, 81, 82, 83, 85, 86, 87,
164  89, 90, 91, 93, 94, 95, 107, 108, 109, 110,
165  3, 7, 84, 88, 92, 96, 999, 999, 999, 44,
166  45, 46, 47, 48, 49, 50, 51, 52, 53, 54,
167  55, 56, 79, 80, 97, 98, 99, 100, 101, 102,
168  103, 104, 105, 106, 999, 999, 999, 999, 999, 999,
169  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
170  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
171  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
172  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
173  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
174  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
175  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
176  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
177  },
178 
179 };
180 
181 const char*
182 TrgBit::_outputBitNames[N_BITS_RESERVED] = {
183  "zzz", "zzzo", "fff", "fffo", "zz", "zzo", "ff", "ffo", "hie", "lowe",
184  "lume", "c2", "c3", "c4", "c5", "bha", "bha_trk", "bha_brl", "bha_ecp", "g_high",
185  "g_c1", "gg", "mu_pair", "mu_b2b", "revo", "rand", "bg", "ecltiming", "nim0", "nima03",
186  "nimo03", "period", "eclnima03", "eclnimo03", "pls", "poi", "klmhit", "f", "fe", "ffe",
187  "fc", "ffc", "cdctiming", "cdcbb", "nim1c", "c1n0", "c1n1", "c1n2", "c1n3", "c1n4",
188  "c2n1", "c2n2", "c2n3", "c2n4", "cdcecl1", "cdcecl2", "cdcecl3", "cdcecl4", "cdcklm1", "cdcklm2",
189  "cdcklm3", "cdcklm4", "ffb", "uuu", "uuuo", "uub", "uuo", "c1hie", "c1lume", "n1hie",
190  "n1lume", "c3hie", "c3lume", "n3hie", "n3lume", "eed", "fed", "fp", "bha3d", "shem",
191  "ohem", "lml0", "lml1", "lml2", "lml3", "lml4", "lml5", "lml6", "lml7", "lml8",
192  "lml9", "lml10", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", // 100
193  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
194  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
195  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
196  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
197  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
198  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
199  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
200  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
201  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A",
202  "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A", "N/A"
203 };
204 
205 const unsigned
206 TrgBit::_outputMap[N_OUTPUT_ARRAY][N_BITS_RESERVED] = {
207 
208  // 00 zzz, zzzo, fff, fffo, zz, zzo, ff, ffo, hie, lowe,
209  // 10 lume, c2, c3, c4, c5, bha, bha_trk, bha_brl, bha_ecp, g_high,
210  // 20 g_c1, gg, mu_pair, mu_b2b, revo, rand, bg, ecltiming, nim0, nima03,
211  // 30 nimo03, period, eclnima03, eclnimo03, pls, poi, klmhit, f, fe, ffe,
212  // 40 fc, ffc, cdctiming, cdcbb, nim1c, c1n0, c1n1, c1n2, c1n3, c1n4,
213  // 50 c2n1, c2n2, c2n3, c2n4, cdcecl1, cdcecl2, cdcecl3, cdcecl4, cdcklm1, cdcklm2,
214  // 60 cdcklm3, cdcklm4, ffb, uuu, uuuo, uub, uuo, c1hie, c1lume, n1hie,
215  // 70 n1lume, c3hie, c3lume, n3hie, n3lume, eed, fed, fp, bha3d, shem,
216  // 80 ohem, lml0, lml1, lml2, lml3, lml4, lml5, lml6, lml7, lml8,
217  // 92 lml9, lml10,
218 
219  // 0
220  // 62 bit. gdl0065c
221  // 10 <= run <= 261
222  {
223  0, 1, 2, 3, 4, 5, 6, 7, 8, 9,
224  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
225  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
226  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
227  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
228  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
229  60, 61, 999, 999, 999, 999, 999, 999, 999, 999,
230  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
231  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
232  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
233  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
234  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
235  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
236  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
237  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
238  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
239  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
240  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
241  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
242  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
243  },
244 
245  // 1
246  // 63 bit. gdl0065e, 65h, 65j, 65k
247  // 292 <= run <= 480
248  {
249  0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
250  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
251  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
252  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
253  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
254  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
255  60, 61, 6, 999, 999, 999, 999, 999, 999, 999,
256  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
257  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
258  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
259  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
260  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
261  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
262  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
263  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
264  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
265  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
266  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
267  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
268  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
269  },
270 
271  // 2
272  // 67 bit. gdl0066a
273  // 292 <= run <= 480
274  {
275  0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
276  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
277  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
278  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
279  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
280  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
281  60, 61, 6, 63, 64, 65, 66, 999, 999, 999,
282  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
283  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
284  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
285  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
286  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
287  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
288  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
289  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
290  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
291  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
292  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
293  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
294  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
295  },
296 
297  // 3
298  // 75 bit. gdl0066b(71bit), 66c,e,f,h,k, 67g.
299  // 1512 <= run < 5314
300  {
301  0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
302  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
303  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
304  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
305  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
306  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
307  60, 61, 6, 63, 64, 65, 66, 67, 68, 69,
308  70, 71, 72, 73, 74, 999, 999, 999, 999, 999,
309  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
310  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
311  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
312  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
313  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
314  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
315  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
316  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
317  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
318  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
319  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
320  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
321  },
322 
323  // 4
324  // 88 bit. gdl0068a, 68b
325  // 5314 <= run
326  {
327  0, 1, 2, 3, 4, 5, 62, 7, 8, 9,
328  10, 11, 12, 13, 14, 15, 16, 17, 18, 19,
329  20, 21, 22, 23, 24, 25, 26, 27, 28, 29,
330  30, 31, 32, 33, 34, 35, 36, 37, 38, 39,
331  40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
332  50, 51, 52, 53, 54, 55, 56, 57, 58, 59,
333  60, 61, 6, 999, 999, 999, 999, 67, 68, 69,
334  70, 71, 72, 73, 74, 63, 64, 65, 66, 75,
335  76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
336  86, 87, 999, 999, 999, 999, 999, 999, 999, 999,
337  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
338  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
339  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
340  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
341  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
342  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
343  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
344  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
345  999, 999, 999, 999, 999, 999, 999, 999, 999, 999,
346  999, 999, 999, 999, 999, 999, 999, 999, 999, 999
347  }
348 
349 };
350 
351 const unsigned
352 TrgBit::_psnmValues[N_PSNM_ARRAY][N_BITS_RESERVED] = {
353 
354  // 0
355  // psn_0055 r59-
356  {
357  0, 0, 0, 0, 1, 1, 1, 1, 1, 1,
358  0, 0, 0, 0, 0, 0, 0, 1, 0, 0,
359  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
360  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
361  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
362  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
363  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
364  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
365  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
366  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
367  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
368  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
369  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
370  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
371  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
372  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
373  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
374  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
375  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
376  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
377  },
378 
379  // 1
380  // psn_0056 r108-
381  {
382  0, 0, 0, 0, 0, 0, 1, 1, 1, 1,
383  1, 1, 1, 1, 1, 1, 1, 1, 1, 0,
384  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
385  0, 0, 0, 0, 0, 0, 0, 0, 0, 1,
386  0, 1, 0, 1, 0, 0, 0, 0, 0, 0,
387  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
388  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
389  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
390  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
391  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
392  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
393  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
394  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
395  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
396  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
397  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
398  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
399  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
400  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
401  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
402  },
403 
404  // 2
405  // psn_0057 r296-
406  {
407  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
408  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
409  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
410  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
411  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
412  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
413  1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
414  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
415  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
416  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
417  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
418  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
419  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
420  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
421  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
422  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
423  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
424  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
425  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
426  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
427  },
428 
429  // 3
430  // psn_0058 r1512-r1615 ecltiming=1
431  // Not used for good data
432  {
433  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
434  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
435  1500, 150, 0, 0, 1, 1, 0, 1, 0, 0,
436  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
437  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
438  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
439  1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
440  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
441  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
442  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
443  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
444  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
445  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
446  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
447  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
448  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
449  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
450  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
451  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
452  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
453  },
454 
455  // 4
456  // psn_0057 r1811- ecltiming=0
457  {
458  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
459  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
460  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
461  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
462  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
463  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
464  1, 0, 20, 0, 0, 0, 0, 0, 0, 0,
465  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
466  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
467  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
468  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
469  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
470  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
471  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
472  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
473  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
474  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
475  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
476  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
477  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
478  },
479 
480  // 5
481  // psn_0059 r1995- 5 Dark bits
482  {
483  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
484  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
485  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
486  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
487  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
488  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
489  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
490  1, 1, 0, 0, 0, 0, 0, 0, 0, 0,
491  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
492  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
493  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
494  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
495  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
496  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
497  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
498  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
499  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
500  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
501  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
502  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
503  },
504 
505  // 6
506  // psn_0059 r2001- 3 Dark bits
507  {
508  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
509  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
510  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
511  0, 0, 0, 30, 0, 0, 20000, 0, 0, 0,
512  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
513  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
514  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
515  1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
516  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
517  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
518  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
519  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
520  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
521  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
522  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
523  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
524  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
525  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
526  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
527  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
528  },
529 
530  // 7
531  // psn_0060 r2314- eclnimo03 30->300
532  {
533  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
534  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
535  1500, 150, 0, 0, 1, 1, 0, 0, 0, 0,
536  0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
537  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
538  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
539  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
540  1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
541  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
542  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
543  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
544  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
545  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
546  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
547  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
548  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
549  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
550  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
551  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
552  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
553  },
554 
555  // 8
556  // psn_0063 e3504- bg(26)->1
557  {
558  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
559  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
560  1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
561  0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
562  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
563  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
564  1, 0, 20, 0, 0, 0, 0, 1, 1, 1,
565  1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
566  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
567  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
568  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
569  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
570  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
571  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
572  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
573  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
574  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
575  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
576  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
577  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
578  },
579 
580  // 9
581  // psn_0064=65. e5341- eed,fed,fp,bha3d
582  // Can be earlier than 5341 but
583  // runsum files lost.
584  {
585  0, 0, 1, 1, 0, 0, 1, 1, 1, 0,
586  1, 150, 0, 1, 0, 1, 1, 1, 1, 20,
587  1500, 150, 0, 0, 1, 1, 1, 0, 0, 0,
588  0, 0, 0, 300, 0, 0, 20000, 0, 0, 0,
589  0, 0, 400000, 1, 0, 0, 0, 0, 0, 0,
590  0, 0, 0, 0, 0, 0, 0, 0, 1, 1,
591  1, 0, 20, 1, 1, 1, 1, 1, 1, 1,
592  1, 1, 1, 1, 1, 0, 0, 0, 0, 0,
593  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
594  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
595  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
596  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
597  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
598  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
599  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
600  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
601  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
602  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
603  0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
604  0, 0, 0, 0, 0, 0, 0, 0, 0, 0
605  }
606 
607 };
608 
609 void
610 TrgBit::mapNumber(unsigned exp, unsigned run)
611 {
612 
613  const unsigned ern = exp * 1000000 + run;
614 
615  // psnm
616  if (ern >= 3005341) nconf_psnm = 9; // 64=65
617  else if (ern >= 3003504) nconf_psnm = 8; // 63
618  else if (ern >= 3002314) nconf_psnm = 7; // 60
619  else if (ern >= 3002001) nconf_psnm = 6; // 59
620  else if (ern >= 3001995) nconf_psnm = 5; // 59 No good data.
621  else if (ern >= 3001811) nconf_psnm = 4; // 57
622  else if (ern >= 3001512) nconf_psnm = 3; // 58 No good data.
623  else if (ern >= 3000296) nconf_psnm = 2; // 57
624  else if (ern >= 3000108) nconf_psnm = 1; // 56
625  else { nconf_psnm = 0; } // 55
626 
627  // ftdl
628  if (ern >= 3005314) nconf_ftdl = 4;
629  else if (ern >= 3001512) nconf_ftdl = 3;
630  else if (ern >= 3001315) nconf_ftdl = 2;
631  else if (ern >= 3000292) nconf_ftdl = 1;
632  else { nconf_ftdl = 0; }
633 
634  // input
635  if (ern >= 3005594) nconf_input = 4;
636  else if (ern >= 3005314) nconf_input = 3;
637  else if (ern >= 3001866) nconf_input = 2;
638  else if (ern >= 3001315) nconf_input = 1;
639  else { nconf_input = 0; }
640 
641  // Find number of using bits
642  n_input = 0;
643  n_output = 0;
644  for (unsigned i = 0; i < N_BITS_RESERVED; i++) {
645  unsigned j;
646  j = _inputMap[nconf_input][i];
647  if (j != 999 && n_input < j) n_input = j;
648  j = _outputMap[nconf_ftdl][i];
649  if (j != 999 && n_output < j) n_output = j;
650  }
651  n_input++;
652  n_output++;
653 
654 };
655 
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19