Belle II Software  release-05-02-19
TRGGRLUnpackerModule.h
1 //---------------------------------------------------------------
2 // $Id$
3 //---------------------------------------------------------------
4 // Filename : TRGGRLUnpackerModule.h
5 // Section : TRG GRL
6 // Owner : Yun-Tsung Lai
7 // Email : ytlai@post.kek.jp
8 //---------------------------------------------------------------
9 // Description : TRGGRLUnpacker Module
10 //---------------------------------------------------------------
11 // $Log$
12 //---------------------------------------------------------------
13 
14 #ifndef TRGGRLUNPACKER_H
15 #define TRGGRLUNPACKER_H
16 
17 #include <string>
18 #include <vector>
19 
20 #include "rawdata/dataobjects/RawTRG.h"
21 #include "trg/grl/dataobjects/TRGGRLUnpackerStore.h"
22 
23 #include <framework/core/Module.h>
24 #include <framework/datastore/StoreArray.h>
25 #include <framework/datastore/StoreObjPtr.h>
26 
27 namespace Belle2 {
33  namespace TRGGRLUNPACKERSPACE {
34 
36  const int nLeafs = 123 + 3 + 32 + 7;
38  const int nLeafsExtra = 7;
40  const int nClks = 1 ;
42  const int nBits = 2048;
44  const char* LeafNames[nLeafs + nLeafsExtra] = {
45  "2GeV_15",
46  "2GeV_14",
47  "2GeV_13",
48  "2GeV_12",
49  "2GeV_11",
50  "2GeV_10",
51  "2GeV_9",
52  "2GeV_8",
53  "2GeV_7",
54  "2GeV_6",
55  "2GeV_5",
56  "2GeV_4",
57  "2GeV_3",
58  "2GeV_2",
59  "2GeV_1",
60  "2GeV_0",
61  "1GeV_15",
62  "1GeV_14",
63  "1GeV_13",
64  "1GeV_12",
65  "1GeV_11",
66  "1GeV_10",
67  "1GeV_9",
68  "1GeV_8",
69  "1GeV_7",
70  "1GeV_6",
71  "1GeV_5",
72  "1GeV_4",
73  "1GeV_3",
74  "1GeV_2",
75  "1GeV_1",
76  "1GeV_0",
77  "theta_11",
78  "phi_11",
79  "t_11",
80  "E_11",
81  "theta_10",
82  "phi_10",
83  "t_10",
84  "E_10",
85  "theta_9",
86  "phi_9",
87  "t_9",
88  "E_9",
89  "theta_8",
90  "phi_8",
91  "t_8",
92  "E_8",
93  "theta_7",
94  "phi_7",
95  "t_7",
96  "E_7",
97  "theta_6",
98  "phi_6",
99  "t_6",
100  "E_6",
101  "X_1",
102  "N_cluster_1",
103  "ECL_trg_1",
104  "theta_5",
105  "phi_5",
106  "t_5",
107  "E_5",
108  "theta_4",
109  "phi_4",
110  "t_4",
111  "E_4",
112  "theta_3",
113  "phi_3",
114  "t_3",
115  "E_3",
116  "theta_2",
117  "phi_2",
118  "t_2",
119  "E_2",
120  "theta_1",
121  "phi_1",
122  "t_1",
123  "E_1",
124  "theta_0",
125  "phi_0",
126  "t_0",
127  "E_0",
128  "X_0",
129  "N_cluster_0",
130  "ECL_trg_0",
131  "N_track_cut",
132  "N_track_3D",
133  "N_track_NN",
134  "CDCL1_count",
135  "phi_CDC_int_1",
136  "phi_CDC_int_0",
137  "phi_i_int_1",
138  "phi_i_int_0",
139  "N_track",
140  "b2b_1to3",
141  "b2b_1to5",
142  "b2b_1to7",
143  "b2b_1to9",
144  "opening",
145  "samehem_1",
146  "opphem_1",
147  "c_b2b_9_1",
148  "c_b2b_7_1",
149  "c_b2b_5_1",
150  "c_b2b_3_1",
151  "tc_b2b_9_1",
152  "tc_b2b_7_1",
153  "tc_b2b_5_1",
154  "tc_b2b_3_1",
155  "TOPL1_count",
156  "KLML1_count",
157  "sector_KLM_int",
158  "sector_CDC_int",
159  "N_KLMmatch",
160  "samehem_0",
161  "opphem_0",
162  "N_match_2GeV_0",
163  "N_match_0",
164  "N_g_1GeV_0",
165  "N_g_2GeV_0",
166  "ECLL1_count",
167  "c_b2b_9_0",
168  "c_b2b_7_0",
169  "c_b2b_5_0",
170  "c_b2b_3_0",
171  "tc_b2b_9_0",
172  "tc_b2b_7_0",
173  "tc_b2b_5_0",
174  "tc_b2b_3_0",
175  "CDC3DL1_count",
176  "CDCNNL1_count",
177  "slot_CDC_int",
178  "slot_TOP_int",
179  "N_TOPmatch",
180  "N_match_2GeV_1",
181  "N_match_1",
182  "N_g_1GeV_1",
183  "N_g_2GeV_1",
184  "TSFL1_count",
185  "slot64b_TOP_int_1",
186  "slot64b_TOP_int_0",
187  "map_TSF3_int_1",
188  "map_TSF3_int_0",
189  "map_TSF1_int_1",
190  "map_TSF1_int_0",
191  "map_N_ST",
192  "map_ST2_int_1",
193  "map_ST2_int_0",
194  "map_ST_int_1",
195  "map_ST_int_0",
196  "map_veto_int_1",
197  "map_veto_int_0",
198  "map_TSF4_int_1",
199  "map_TSF4_int_0",
200  "map_TSF2_int_1",
201  "map_TSF2_int_0",
202  "map_TSF0_int_1",
203  "map_TSF0_int_0",
204  "charge_flag",
205  "charge_sum",
206  "revoclk",
207  "aaaa",
208  "firmid", "firmver", "evt", "clk", "coml1", "b2ldly", "maxrvc"
209  };
210 
212  enum EBits {
213  e_2GeV_15,
214  e_2GeV_14,
215  e_2GeV_13,
216  e_2GeV_12,
217  e_2GeV_11,
218  e_2GeV_10,
219  e_2GeV_9,
220  e_2GeV_8,
221  e_2GeV_7,
222  e_2GeV_6,
223  e_2GeV_5,
224  e_2GeV_4,
225  e_2GeV_3,
226  e_2GeV_2,
227  e_2GeV_1,
228  e_2GeV_0,
229  e_1GeV_15,
230  e_1GeV_14,
231  e_1GeV_13,
232  e_1GeV_12,
233  e_1GeV_11,
234  e_1GeV_10,
235  e_1GeV_9,
236  e_1GeV_8,
237  e_1GeV_7,
238  e_1GeV_6,
239  e_1GeV_5,
240  e_1GeV_4,
241  e_1GeV_3,
242  e_1GeV_2,
243  e_1GeV_1,
244  e_1GeV_0,
245  e_theta_11,
246  e_phi_11,
247  e_t_11,
248  e_E_11,
249  e_theta_10,
250  e_phi_10,
251  e_t_10,
252  e_E_10,
253  e_theta_9,
254  e_phi_9,
255  e_t_9,
256  e_E_9,
257  e_theta_8,
258  e_phi_8,
259  e_t_8,
260  e_E_8,
261  e_theta_7,
262  e_phi_7,
263  e_t_7,
264  e_E_7,
265  e_theta_6,
266  e_phi_6,
267  e_t_6,
268  e_E_6,
269  e_X_1,
270  e_N_cluster_1,
271  e_ECL_trg_1,
272  e_theta_5,
273  e_phi_5,
274  e_t_5,
275  e_E_5,
276  e_theta_4,
277  e_phi_4,
278  e_t_4,
279  e_E_4,
280  e_theta_3,
281  e_phi_3,
282  e_t_3,
283  e_E_3,
284  e_theta_2,
285  e_phi_2,
286  e_t_2,
287  e_E_2,
288  e_theta_1,
289  e_phi_1,
290  e_t_1,
291  e_E_1,
292  e_theta_0,
293  e_phi_0,
294  e_t_0,
295  e_E_0,
296  e_X_0,
297  e_N_cluster_0,
298  e_ECL_trg_0,
299  e_ECL_trg,
300  e_ECL_trg_delay,
301  e_N_track_cut,
302  e_N_track_NN,
303  e_N_track_3D,
304  e_CDCL1_count,
305  e_phi_CDC_int_1,
306  e_phi_CDC_int_0,
307  e_phi_i_int_1,
308  e_phi_i_int_0,
309  e_N_track,
310  e_b2b_1to3,
311  e_b2b_1to5,
312  e_b2b_1to7,
313  e_b2b_1to9,
314  e_opening,
315  e_samehem_1,
316  e_opphem_1,
317  e_c_b2b_1to9_1,
318  e_c_b2b_1to7_1,
319  e_c_b2b_1to5_1,
320  e_c_b2b_1to3_1,
321  e_tc_b2b_1to9_1,
322  e_tc_b2b_1to7_1,
323  e_tc_b2b_1to5_1,
324  e_tc_b2b_1to3_1,
325  e_TOPL1_count,
326  e_KLML1_count,
327  e_sector_KLM_int,
328  e_sector_CDC_int,
329  e_N_KLMmatch,
330  e_samehem_0,
331  e_opphem_0,
332  e_N_match_2GeV_0,
333  e_N_match_0,
334  e_N_g_1GeV_0,
335  e_N_g_2GeV_0,
336  e_ECLL1_count,
337  e_c_b2b_1to9_0,
338  e_c_b2b_1to7_0,
339  e_c_b2b_1to5_0,
340  e_c_b2b_1to3_0,
341  e_tc_b2b_1to9_0,
342  e_tc_b2b_1to7_0,
343  e_tc_b2b_1to5_0,
344  e_tc_b2b_1to3_0,
345  e_CDC3DL1_count,
346  e_CDCNNL1_count,
347  e_slot_CDC_int,
348  e_slot_TOP_int,
349  e_N_TOPmatch,
350  e_N_match_2GeV_1,
351  e_N_match_1,
352  e_N_g_1GeV_1,
353  e_N_g_2GeV_1,
354  e_TSFL1_count,
355  e_slot64b_TOP_int_1,
356  e_slot64b_TOP_int_0,
357  e_map_TSF3_int_1,
358  e_map_TSF3_int_0,
359  e_map_TSF1_int_1,
360  e_map_TSF1_int_0,
361  e_N_ST,
362  e_map_ST2_int_1,
363  e_map_ST2_int_0,
364  e_map_ST_int_1,
365  e_map_ST_int_0,
366  e_map_veto_int_1,
367  e_map_veto_int_0,
368  e_map_TSF4_int_1,
369  e_map_TSF4_int_0,
370  e_map_TSF2_int_1,
371  e_map_TSF2_int_0,
372  e_map_TSF0_int_1,
373  e_map_TSF0_int_0,
374  e_charge_flag,
375  e_charge_sum,
376  e_revoclk,
377  e_aaaa,
378  e_firmid, e_firmver, e_evt, e_clk, e_coml1, e_b2ldly, e_maxrvc
379  };
380 
382  const int BitMap[nLeafs][2] = {
383 
384  2023, 0, // 2GeV_15
385  2022, 0, // 2GeV_14
386  2021, 0, // 2GeV_13
387  2020, 0, // 2GeV_12
388  2019, 0, // 2GeV_11
389  2018, 0, // 2GeV_10
390  2017, 0, // 2GeV_9
391  2016, 0, // 2GeV_8
392  2015, 0, // 2GeV_7
393  2014, 0, // 2GeV_6
394  2013, 0, // 2GeV_5
395  2012, 0, // 2GeV_4
396  2011, 0, // 2GeV_3
397  2010, 0, // 2GeV_2
398  2009, 0, // 2GeV_1
399  2008, 0, // 2GeV_0
400  2007, 0, // 1GeV_15
401  2006, 0, // 1GeV_14
402  2005, 0, // 1GeV_13
403  2004, 0, // 1GeV_12
404  2003, 0, // 1GeV_11
405  2002, 0, // 1GeV_10
406  2001, 0, // 1GeV_9
407  2000, 0, // 1GeV_8
408  1999, 0, // 1GeV_7
409  1998, 0, // 1GeV_6
410  1997, 0, // 1GeV_5
411  1996, 0, // 1GeV_4
412  1995, 0, // 1GeV_3
413  1994, 0, // 1GeV_2
414  1993, 0, // 1GeV_1
415  1992, 0, // 1GeV_0
416 
417  1671 - 216, 6, // theta_11
418  1664 - 216, 7, // phi_11
419  1656 - 216, 7, // t_11
420  1648 - 216, 11, // E_11
421 
422  1636 - 216, 6, // theta_10
423  1629 - 216, 7, // phi_10
424  1621 - 216, 7, // t_10
425  1613 - 216, 11, // E_10
426 
427  1601 - 216, 6, // theta_9
428  1594 - 216, 7, // phi_9
429  1586 - 216, 7, // t_9
430  1578 - 216, 11, // E_9
431 
432  1566 - 216, 6, // theta_8
433  1559 - 216, 7, // phi_8
434  1551 - 216, 7, // t_8
435  1543 - 216, 11, // E_8
436 
437  1531 - 216, 6, // theta_7
438  1524 - 216, 7, // phi_7
439  1516 - 216, 7, // t_7
440  1508 - 216, 11, // E_7
441 
442  1496 - 216, 6, // theta_6
443  1489 - 216, 7, // phi_6
444  1481 - 216, 7, // t_6
445  1473 - 216, 11, // E_6
446 
447  1461 - 216, 1, // X_1
448  1459 - 216, 2, // N_cluster_1
449  1456 - 216, 0, // ECL_trg_1
450 
451  1671 - 216 * 2, 6, // theta_5
452  1664 - 216 * 2, 7, // phi_5
453  1656 - 216 * 2, 7, // t_5
454  1648 - 216 * 2, 11, // E_5
455 
456  1636 - 216 * 2, 6, // theta_4
457  1629 - 216 * 2, 7, // phi_4
458  1621 - 216 * 2, 7, // t_4
459  1613 - 216 * 2, 11, // E_4
460 
461  1601 - 216 * 2, 6, // theta_3
462  1594 - 216 * 2, 7, // phi_3
463  1586 - 216 * 2, 7, // t_3
464  1578 - 216 * 2, 11, // E_3
465 
466  1566 - 216 * 2, 6, // theta_2
467  1559 - 216 * 2, 7, // phi_2
468  1551 - 216 * 2, 7, // t_2
469  1543 - 216 * 2, 11, // E_2
470 
471  1531 - 216 * 2, 6, // theta_1
472  1524 - 216 * 2, 7, // phi_1
473  1516 - 216 * 2, 7, // t_1
474  1508 - 216 * 2, 11, // E_1
475 
476  1496 - 216 * 2, 6, // theta_0
477  1489 - 216 * 2, 7, // phi_0
478  1481 - 216 * 2, 7, // t_0
479  1473 - 216 * 2, 11, // E_0
480 
481  1461 - 216 * 2, 1, // X_0
482  1459 - 216 * 2, 2, // N_cluster_0
483  1456 - 216 * 2, 0, // ECL_trg_0
484 
485 
486  991, 0, // ECL_trg (991)
487  990, 0, // ECL_trg_delay (990)
488  998, 2, // N_track_cut (998 downto 996)
489  995, 2, // N_track_NN (995 downto 993)
490  992, 2, // N_track_3D (992 downto 990)
491  989, 9, // CDCL1_count (989 downto 980)
492  979, 3, // phi_CDC_int_1 (979 downto 976)
493  975, 31, // phi_CDC_int_0 (975 downto 943)
494  943, 3, // phi_i_int_1 (943 downto 940)
495  939, 31, // phi_i_int_0 (939 downto 908)
496  907, 2, // N_track (907 downto 905)
497  904, 0, // b2b_1to3 (904 downto 904)
498  903, 0, // b2b_1to5 (903 downto 903)
499  902, 0, // b2b_1to7 (902 downto 902)
500  901, 0, // b2b_1to9 (901 downto 901)
501  900, 0, // opening (900 downto 900)
502  899, 0, // samehem_1 (899)
503  898, 0, // opphem_1 (898)
504  897, 0, // c_b2b_1to9_1 (897)
505  896, 0, // c_b2b_1to7_1 (896)
506  895, 0, // c_b2b_1to5_1 (895)
507  894, 0, // c_b2b_1to3_1 (894)
508  893, 0, // tc_b2b_1to9_1 (893)
509  892, 0, // tc_b2b_1to7_1 (892)
510  891, 0, // tc_b2b_1to5_1 (891)
511  890, 0, // tc_b2b_1to3_1 (890)
512  887, 9, // TOPL1_count (887 downto 878)
513  877, 9, // KLML1_count (877 downto 868)
514  867, 7, // sector_KLM_int (867 downto 860)
515  859, 7, // sector_CDC_int (859 downto 852)
516  851, 2, // N_KLMmatch (851 downto 849)
517  848, 0, // samehem_0 (848)
518  847, 0, // opphem_0 (847)
519  846, 2, // N_match_2GeV_0 (846 downto 844)
520  843, 2, // N_match_0 (843 downto 841)
521  840, 2, // N_g_1GeV_0 (840 downto 838)
522  837, 2, // N_g_2GeV_0 (837 downto 835)
523  834, 9, // ECLL1_count (834 downto 825)
524  824, 0, // c_b2b_1to9_0 (824)
525  823, 0, // c_b2b_1to7_0 (823)
526  822, 0, // c_b2b_1to5_0 (822)
527  821, 0, // c_b2b_1to3_0 (821)
528  820, 0, // tc_b2b_1to9_0 (820)
529  819, 0, // tc_b2b_1to7_0 (819)
530  818, 0, // tc_b2b_1to5_0 (818)
531  817, 0, // tc_b2b_1to3_0 (817)
532  816, 9, // CDC3DL1_count (816 downto 807)
533  806, 9, // CDCNNL1_count (806 downto 797)
534  796, 15, // slot_CDC_int
535  780, 15, // slot_TOP_int
536  764, 2, // N_TOPmatch
537  761, 2, // N_match_2GeV_1
538  758, 2, // N_match_1
539  755, 2, // N_g_1GeV_1
540  752, 2, // N_g_2GeV_1
541  749, 9, // TSFL1_count
542  739, 31, // slot64b_TOP_int_1
543  708, 31, // slot64b_TOP_int_0
544  546, 31, // map_TSF3_int_1 (63 downto 32)
545  514, 31, // map_TSF3_int_0 (31 downto 0)
546  482, 31, // map_TSF1_int_1 (63 downto 32)
547  450, 31, // map_TSF1_int_0 (31 downto 0)
548  418, 2, // N_ST
549  415, 31, // map_ST2_int_1 (63 downto 32)
550  383, 31, // map_ST2_int_0 (31 downto 0)
551  351, 31, // map_ST_int_1 (63 downto 32)
552  319, 31, // map_ST_int_0 (31 downto 0)
553  287, 31, // map_veto_int_1 (63 downto 32)
554  255, 31, // map_veto_int_0 (31 downto 0)
555  223, 31, // map_TSF4_int_1 (63 downto 32)
556  191, 31, // map_TSF4_int_0 (31 downto 0)
557  159, 31, // map_TSF2_int_1 (63 downto 32)
558  127, 31, // map_TSF2_int_0 (31 downto 0)
559  95, 31, // map_TSF0_int_1 (63 downto 32)
560  63, 31, // map_TSF0_int_0 (31 downto 0)
561 
562  31, 1, // charge_flag (31 downto 30)
563  29, 2, // charge_sum (31 downto 30)
564 
565  26, 10, // revoclk (26 downto 16)
566  15, 15 // aaaa (15 downto 0)
567  };
568 
569  void
570  setLeafPointersArray(TRGGRLUnpackerStore* store, int** bitArray)
571  {
572  bitArray[e_2GeV_15 ] = &(store->m_2GeV_ECL[15]);
573  bitArray[e_2GeV_14 ] = &(store->m_2GeV_ECL[14]);
574  bitArray[e_2GeV_13 ] = &(store->m_2GeV_ECL[13]);
575  bitArray[e_2GeV_12 ] = &(store->m_2GeV_ECL[12]);
576  bitArray[e_2GeV_11 ] = &(store->m_2GeV_ECL[11]);
577  bitArray[e_2GeV_10 ] = &(store->m_2GeV_ECL[10]);
578  bitArray[e_2GeV_9 ] = &(store->m_2GeV_ECL[9]);
579  bitArray[e_2GeV_8 ] = &(store->m_2GeV_ECL[8]);
580  bitArray[e_2GeV_7 ] = &(store->m_2GeV_ECL[7]);
581  bitArray[e_2GeV_6 ] = &(store->m_2GeV_ECL[6]);
582  bitArray[e_2GeV_5 ] = &(store->m_2GeV_ECL[5]);
583  bitArray[e_2GeV_4 ] = &(store->m_2GeV_ECL[4]);
584  bitArray[e_2GeV_3 ] = &(store->m_2GeV_ECL[3]);
585  bitArray[e_2GeV_2 ] = &(store->m_2GeV_ECL[2]);
586  bitArray[e_2GeV_1 ] = &(store->m_2GeV_ECL[1]);
587  bitArray[e_2GeV_0 ] = &(store->m_2GeV_ECL[0]);
588  bitArray[e_1GeV_15 ] = &(store->m_1GeV_ECL[15]);
589  bitArray[e_1GeV_14 ] = &(store->m_1GeV_ECL[14]);
590  bitArray[e_1GeV_13 ] = &(store->m_1GeV_ECL[13]);
591  bitArray[e_1GeV_12 ] = &(store->m_1GeV_ECL[12]);
592  bitArray[e_1GeV_11 ] = &(store->m_1GeV_ECL[11]);
593  bitArray[e_1GeV_10 ] = &(store->m_1GeV_ECL[10]);
594  bitArray[e_1GeV_9 ] = &(store->m_1GeV_ECL[9]);
595  bitArray[e_1GeV_8 ] = &(store->m_1GeV_ECL[8]);
596  bitArray[e_1GeV_7 ] = &(store->m_1GeV_ECL[7]);
597  bitArray[e_1GeV_6 ] = &(store->m_1GeV_ECL[6]);
598  bitArray[e_1GeV_5 ] = &(store->m_1GeV_ECL[5]);
599  bitArray[e_1GeV_4 ] = &(store->m_1GeV_ECL[4]);
600  bitArray[e_1GeV_3 ] = &(store->m_1GeV_ECL[3]);
601  bitArray[e_1GeV_2 ] = &(store->m_1GeV_ECL[2]);
602  bitArray[e_1GeV_1 ] = &(store->m_1GeV_ECL[1]);
603  bitArray[e_1GeV_0 ] = &(store->m_1GeV_ECL[0]);
604 
605  bitArray[e_theta_11 ] = &(store->m_theta_ECL[11]);
606  bitArray[e_phi_11 ] = &(store->m_phi_ECL[11]);
607  bitArray[e_t_11 ] = &(store->m_t_ECL[11]);
608  bitArray[e_E_11 ] = &(store->m_E_ECL[11]);
609  bitArray[e_theta_10 ] = &(store->m_theta_ECL[10]);
610  bitArray[e_phi_10 ] = &(store->m_phi_ECL[10]);
611  bitArray[e_t_10 ] = &(store->m_t_ECL[10]);
612  bitArray[e_E_10 ] = &(store->m_E_ECL[10]);
613  bitArray[e_theta_9 ] = &(store->m_theta_ECL[9]);
614  bitArray[e_phi_9 ] = &(store->m_phi_ECL[9]);
615  bitArray[e_t_9 ] = &(store->m_t_ECL[9]);
616  bitArray[e_E_9 ] = &(store->m_E_ECL[9]);
617  bitArray[e_theta_8 ] = &(store->m_theta_ECL[8]);
618  bitArray[e_phi_8 ] = &(store->m_phi_ECL[8]);
619  bitArray[e_t_8 ] = &(store->m_t_ECL[8]);
620  bitArray[e_E_8 ] = &(store->m_E_ECL[8]);
621  bitArray[e_theta_7 ] = &(store->m_theta_ECL[7]);
622  bitArray[e_phi_7 ] = &(store->m_phi_ECL[7]);
623  bitArray[e_t_7 ] = &(store->m_t_ECL[7]);
624  bitArray[e_E_7 ] = &(store->m_E_ECL[7]);
625  bitArray[e_theta_6 ] = &(store->m_theta_ECL[6]);
626  bitArray[e_phi_6 ] = &(store->m_phi_ECL[6]);
627  bitArray[e_t_6 ] = &(store->m_t_ECL[6]);
628  bitArray[e_E_6 ] = &(store->m_E_ECL[6]);
629  bitArray[e_X_1 ] = &(store->m_X_1);
630  bitArray[e_N_cluster_1 ] = &(store->m_N_cluster_1);
631  bitArray[e_ECL_trg_1 ] = &(store->m_ECL_trg_1);
632  bitArray[e_theta_5 ] = &(store->m_theta_ECL[5]);
633  bitArray[e_phi_5 ] = &(store->m_phi_ECL[5]);
634  bitArray[e_t_5 ] = &(store->m_t_ECL[5]);
635  bitArray[e_E_5 ] = &(store->m_E_ECL[5]);
636  bitArray[e_theta_4 ] = &(store->m_theta_ECL[4]);
637  bitArray[e_phi_4 ] = &(store->m_phi_ECL[4]);
638  bitArray[e_t_4 ] = &(store->m_t_ECL[4]);
639  bitArray[e_E_4 ] = &(store->m_E_ECL[4]);
640  bitArray[e_theta_3 ] = &(store->m_theta_ECL[3]);
641  bitArray[e_phi_3 ] = &(store->m_phi_ECL[3]);
642  bitArray[e_t_3 ] = &(store->m_t_ECL[3]);
643  bitArray[e_E_3 ] = &(store->m_E_ECL[3]);
644  bitArray[e_theta_2 ] = &(store->m_theta_ECL[2]);
645  bitArray[e_phi_2 ] = &(store->m_phi_ECL[2]);
646  bitArray[e_t_2 ] = &(store->m_t_ECL[2]);
647  bitArray[e_E_2 ] = &(store->m_E_ECL[2]);
648  bitArray[e_theta_1 ] = &(store->m_theta_ECL[1]);
649  bitArray[e_phi_1 ] = &(store->m_phi_ECL[1]);
650  bitArray[e_t_1 ] = &(store->m_t_ECL[1]);
651  bitArray[e_E_1 ] = &(store->m_E_ECL[1]);
652  bitArray[e_theta_0 ] = &(store->m_theta_ECL[0]);
653  bitArray[e_phi_0 ] = &(store->m_phi_ECL[0]);
654  bitArray[e_t_0 ] = &(store->m_t_ECL[0]);
655  bitArray[e_E_0 ] = &(store->m_E_ECL[0]);
656  bitArray[e_X_0 ] = &(store->m_X_0);
657  bitArray[e_N_cluster_0 ] = &(store->m_N_cluster_0);
658  bitArray[e_ECL_trg_0 ] = &(store->m_ECL_trg_0);
659  bitArray[e_ECL_trg ] = &(store->m_ECL_trg);
660  bitArray[e_ECL_trg_delay ] = &(store->m_ECL_trg_delay);
661  bitArray[e_N_track_cut ] = &(store->m_N_track_cut);
662  bitArray[e_N_track_NN ] = &(store->m_N_track_NN);
663  bitArray[e_N_track_3D ] = &(store->m_N_track_3D);
664  bitArray[e_CDCL1_count ] = &(store->m_CDCL1_count);
665  bitArray[e_phi_CDC_int_1 ] = &(store->m_phi_CDC_int[1]);
666  bitArray[e_phi_CDC_int_0 ] = &(store->m_phi_CDC_int[0]);
667  bitArray[e_phi_i_int_1 ] = &(store->m_phi_i_int[1]);
668  bitArray[e_phi_i_int_0 ] = &(store->m_phi_i_int[0]);
669  bitArray[e_N_track ] = &(store->m_N_track);
670  bitArray[e_b2b_1to3 ] = &(store->m_b2b_1to3);
671  bitArray[e_b2b_1to5 ] = &(store->m_b2b_1to5);
672  bitArray[e_b2b_1to7 ] = &(store->m_b2b_1to7);
673  bitArray[e_b2b_1to9 ] = &(store->m_b2b_1to9);
674  bitArray[e_opening ] = &(store->m_opening);
675  bitArray[e_samehem_1 ] = &(store->m_samehem[1]);
676  bitArray[e_opphem_1 ] = &(store->m_opphem[1]);
677  bitArray[e_c_b2b_1to9_1 ] = &(store->m_c_b2b_1to9[1]);
678  bitArray[e_c_b2b_1to7_1 ] = &(store->m_c_b2b_1to7[1]);
679  bitArray[e_c_b2b_1to5_1 ] = &(store->m_c_b2b_1to5[1]);
680  bitArray[e_c_b2b_1to3_1 ] = &(store->m_c_b2b_1to3[1]);
681  bitArray[e_tc_b2b_1to9_1 ] = &(store->m_tc_b2b_1to9[1]);
682  bitArray[e_tc_b2b_1to7_1 ] = &(store->m_tc_b2b_1to7[1]);
683  bitArray[e_tc_b2b_1to5_1 ] = &(store->m_tc_b2b_1to5[1]);
684  bitArray[e_tc_b2b_1to3_1 ] = &(store->m_tc_b2b_1to3[1]);
685  bitArray[e_TOPL1_count ] = &(store->m_TOPL1_count);
686  bitArray[e_KLML1_count ] = &(store->m_KLML1_count);
687  bitArray[e_sector_KLM_int ] = &(store->m_sector_KLM_int);
688  bitArray[e_sector_CDC_int ] = &(store->m_sector_CDC_int);
689  bitArray[e_N_KLMmatch ] = &(store->m_N_KLMmatch);
690  bitArray[e_samehem_0 ] = &(store->m_samehem[0]);
691  bitArray[e_opphem_0 ] = &(store->m_opphem[0]);
692  bitArray[e_N_match_2GeV_0 ] = &(store->m_N_match_2GeV[0]);
693  bitArray[e_N_match_0 ] = &(store->m_N_match[0]);
694  bitArray[e_N_g_1GeV_0 ] = &(store->m_N_g_1GeV[0]);
695  bitArray[e_N_g_2GeV_0 ] = &(store->m_N_g_2GeV[0]);
696  bitArray[e_ECLL1_count ] = &(store->m_ECLL1_count);
697  bitArray[e_c_b2b_1to9_0 ] = &(store->m_c_b2b_1to9[0]);
698  bitArray[e_c_b2b_1to7_0 ] = &(store->m_c_b2b_1to7[0]);
699  bitArray[e_c_b2b_1to5_0 ] = &(store->m_c_b2b_1to5[0]);
700  bitArray[e_c_b2b_1to3_0 ] = &(store->m_c_b2b_1to3[0]);
701  bitArray[e_tc_b2b_1to9_0 ] = &(store->m_tc_b2b_1to9[0]);
702  bitArray[e_tc_b2b_1to7_0 ] = &(store->m_tc_b2b_1to7[0]);
703  bitArray[e_tc_b2b_1to5_0 ] = &(store->m_tc_b2b_1to5[0]);
704  bitArray[e_tc_b2b_1to3_0 ] = &(store->m_tc_b2b_1to3[0]);
705  bitArray[e_CDC3DL1_count ] = &(store->m_CDC3DL1_count);
706  bitArray[e_CDCNNL1_count ] = &(store->m_CDCNNL1_count);
707  bitArray[e_slot_CDC_int ] = &(store->m_slot_CDC_int);
708  bitArray[e_slot_TOP_int ] = &(store->m_slot_TOP_int);
709  bitArray[e_N_TOPmatch ] = &(store->m_N_TOPmatch);
710  bitArray[e_N_match_2GeV_1 ] = &(store->m_N_match_2GeV[1]);
711  bitArray[e_N_match_1 ] = &(store->m_N_match[1]);
712  bitArray[e_N_g_1GeV_1 ] = &(store->m_N_g_1GeV[1]);
713  bitArray[e_N_g_2GeV_1 ] = &(store->m_N_g_2GeV[1]);
714  bitArray[e_TSFL1_count ] = &(store->m_TSFL1_count);
715  bitArray[e_slot64b_TOP_int_1 ] = &(store->m_slot64b_TOP_int_1);
716  bitArray[e_slot64b_TOP_int_0 ] = &(store->m_slot64b_TOP_int_0);
717  bitArray[e_map_TSF3_int_1 ] = &(store->m_map_TSF3_int[1]);
718  bitArray[e_map_TSF3_int_0 ] = &(store->m_map_TSF3_int[0]);
719  bitArray[e_map_TSF1_int_1 ] = &(store->m_map_TSF1_int[1]);
720  bitArray[e_map_TSF1_int_0 ] = &(store->m_map_TSF1_int[0]);
721  bitArray[e_N_ST ] = &(store->m_N_ST);
722  bitArray[e_map_ST2_int_1 ] = &(store->m_map_ST2_int[1]);
723  bitArray[e_map_ST2_int_0 ] = &(store->m_map_ST2_int[0]);
724  bitArray[e_map_ST_int_1 ] = &(store->m_map_ST_int[1]);
725  bitArray[e_map_ST_int_0 ] = &(store->m_map_ST_int[0]);
726  bitArray[e_map_veto_int_1 ] = &(store->m_map_veto_int[1]);
727  bitArray[e_map_veto_int_0 ] = &(store->m_map_veto_int[0]);
728  bitArray[e_map_TSF4_int_1 ] = &(store->m_map_TSF4_int[1]);
729  bitArray[e_map_TSF4_int_0 ] = &(store->m_map_TSF4_int[0]);
730  bitArray[e_map_TSF2_int_1 ] = &(store->m_map_TSF2_int[1]);
731  bitArray[e_map_TSF2_int_0 ] = &(store->m_map_TSF2_int[0]);
732  bitArray[e_map_TSF0_int_1 ] = &(store->m_map_TSF0_int[1]);
733  bitArray[e_map_TSF0_int_0 ] = &(store->m_map_TSF0_int[0]);
734  bitArray[e_charge_flag ] = &(store->m_charge_flag);
735  bitArray[e_charge_sum ] = &(store->m_charge_sum);
736  bitArray[e_revoclk ] = &(store->m_revoclk);
737  bitArray[e_aaaa ] = &(store->m_aaaa);
738  bitArray[e_evt ] = &(store->m_evt);
739  bitArray[e_clk ] = &(store->m_clk);
740  bitArray[e_firmid ] = &(store->m_firmid);
741  bitArray[e_firmver ] = &(store->m_firmver);
742  bitArray[e_coml1 ] = &(store->m_coml1);
743  bitArray[e_b2ldly ] = &(store->m_b2ldly);
744  bitArray[e_maxrvc ] = &(store->m_maxrvc);
745  }
746 
751  class TRGGRLUnpackerModule : public Module {
752 
753  public:
754 
757 
759  virtual ~TRGGRLUnpackerModule();
760 
762  virtual void initialize() override;
763 
765  virtual void event() override;
766 
768  virtual void terminate() override;
769 
771  virtual void beginRun() override;
772 
774  virtual void endRun() override;
775 
777  std::string version() const;
778 
780  virtual void fillTreeTRGGRLUnpacker(int* buf, int evt);
781 
782  };
783  }
785 } // end namespace Belle2
786 #endif // TRGGRLUNPACKER_H
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::~TRGGRLUnpackerModule
virtual ~TRGGRLUnpackerModule()
Destructor.
Definition: TRGGRLUnpackerModule.cc:38
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::version
std::string version() const
returns version of TRGGRLUnpackerModule.
Definition: TRGGRLUnpackerModule.cc:23
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::beginRun
virtual void beginRun() override
Called when new run started.
Definition: TRGGRLUnpackerModule.cc:52
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::terminate
virtual void terminate() override
Called when processing ended.
Definition: TRGGRLUnpackerModule.cc:42
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::event
virtual void event() override
Called event by event.
Definition: TRGGRLUnpackerModule.cc:60
Belle2::Module
Base class for Modules.
Definition: Module.h:74
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::initialize
virtual void initialize() override
Initilizes TRGGRLUnpackerUnpackerModule.
Definition: TRGGRLUnpackerModule.cc:46
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::endRun
virtual void endRun() override
Called when run ended.
Definition: TRGGRLUnpackerModule.cc:56
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule
A module of TRGGRLUnpacker.
Definition: TRGGRLUnpackerModule.h:751
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::fillTreeTRGGRLUnpacker
virtual void fillTreeTRGGRLUnpacker(int *buf, int evt)
Unpacker main function.
Definition: TRGGRLUnpackerModule.cc:79
Belle2::TRGGRLUNPACKERSPACE::TRGGRLUnpackerModule::TRGGRLUnpackerModule
TRGGRLUnpackerModule()
Constructor.
Definition: TRGGRLUnpackerModule.cc:28