Belle II Software  release-05-01-25
PXDErrorFlags.h
1 /**************************************************************************
2  * BASF2 (Belle Analysis Framework 2) *
3  * Copyright(C) 2010 - Belle II Collaboration *
4  * *
5  * Author: The Belle II Collaboration *
6  * Contributors: bjoern.spruck@belle2.org *
7  * Created: 23.10.2017 *
8  * *
9  * This software is provided "as is" without any warranty. *
10  **************************************************************************/
11 
12 #pragma once
13 
14 #include <string>
15 
16 namespace Belle2 {
22  namespace PXD {
23  namespace PXDError {
26  enum { ONSEN_MAX_TYPE_ERR = 64};
27 
31  enum { ONSEN_USED_TYPE_ERR = 64};
32 
35  typedef uint64_t PXDErrorFlags;
36 
41  enum EPXDErrMask : uint64_t {
42  c_NO_ERROR = 0ull,
43  c_ALL_ERROR = ~0ull,
44  //
45  c_EVENT_STRUCT = 1ull << 0,
46  c_FRAME_TNR_MM = 1ull << 1,
47  c_META_MM = 1ull << 2,
48  c_ONSEN_TRG_FIRST = 1ull << 3,
49  //
50  c_DHC_END_MISS = 1ull << 4,
51  c_NR_FRAMES_TO_SMALL = 1ull << 5,
52  c_ROI_PACKET_INV_SIZE = 1ull << 6,
53  c_DATA_OUTSIDE = 1ull << 7,
54  //
55  c_DHC_START_SECOND = 1ull << 8,
56  c_DHE_WRONG_ID_SEQ = 1ull << 9,
57  c_FIX_SIZE = 1ull << 10,
58  c_DHE_CRC = 1ull << 11,
59  //
60  c_DHC_UNKNOWN = 1ull << 12,
61  c_HEADERTYPE_INV = 1ull << 13,
62  c_PACKET_SIZE = 1ull << 14,
63  c_MAGIC = 1ull << 15,
64  //
65  c_FRAME_NR = 1ull << 16,
66  c_FRAME_SIZE = 1ull << 17,
67  c_HLTROI_MAGIC = 1ull << 18,
68  c_MERGER_TRIGNR = 1ull << 19,
69  //
70  c_DHP_SIZE = 1ull << 20,
71  c_DHE_DHP_DHEID = 1ull << 21,
72  c_DHE_DHP_PORT = 1ull << 22,
73  c_DHP_PIX_WO_ROW = 1ull << 23,
74  //
75  c_DHE_START_END_ID = 1ull << 24,
76  c_DHE_START_ID = 1ull << 25,
77  c_DHE_START_WO_END = 1ull << 26,
78  c_NO_PXD = 1ull << 27,
79  //
80  c_NO_DATCON = 1ull << 28,
81  c_FAKE_NO_DATA_TRIG = 1ull << 29,
82  c_DHE_ACTIVE = 1ull << 30,
83  c_DHP_ACTIVE = 1ull << 31,
84  //
85  c_SENDALL_TYPE = 1ull << 32,
86  c_NOTSENDALL_TYPE = 1ull << 33,
87  c_DHP_DBL_HEADER = 1ull << 34,
88  c_HEADER_ERR = 1ull << 35,
89  //
90  c_HEADER_ERR_GHOST = 1ull << 36,
91  c_SUSP_PADDING = 1ull << 37,
92  c_DHC_WIE = 1ull << 38,
93  c_DHE_WIE = 1ull << 39,
94  //
95  c_ROW_OVERFLOW = 1ull << 40,
96  c_DHP_NOT_CONT = 1ull << 41,
97  c_DHP_DHP_FRAME_DIFFER = 1ull << 42,
98  c_DHP_DHE_FRAME_DIFFER = 1ull << 43,
99  //
100  c_DHE_ID_INVALID = 1ull << 44,
101  c_DHC_DHCID_START_END_MM = 1ull << 45,
102  c_DHE_END_WO_START = 1ull << 46,
103  c_DHC_END_DBL = 1ull << 47,
104  //
105  c_META_MM_DHC = 1ull << 48,
106  c_META_MM_DHE = 1ull << 49,
107  c_COL_OVERFLOW = 1ull << 50,
108  c_UNEXPECTED_FRAME_TYPE = 1ull << 51,
109  //
110  c_META_MM_DHC_ERS = 1ull << 52,
111  c_META_MM_DHC_TT = 1ull << 53,
112  c_META_MM_ONS_HLT = 1ull << 54,
113  c_META_MM_ONS_DC = 1ull << 55,
114  //
115  c_EVT_TRG_GATE_DIFFER = 1ull << 56,
116  c_EVT_TRG_FRM_NR_DIFFER = 1ull << 57,
117  c_DHP_ROW_WO_PIX = 1ull << 58,
118  c_DHE_START_THIRD = 1ull << 59,
119  //
120  c_FAKE_NO_FAKE_DATA = 1ull << 60,
121  c_UNUSABLE_DATA = 1ull << 61,
122  c_DHH_END_ERRORBITS = 1ull << 62,
123  c_DHH_MISC_ERROR = 1ull << 63,
124  // all used up!
125  };
126 
131  const std::string& getPXDBitErrorName(int bit);
132 
137  const std::string& getPXDBitMaskErrorName(EPXDErrMask mask);
138 
139  } // end namespace PXDError
140 
141  } // end namespace PXD
143 } // end namespace Belle2
Belle2
Abstract base class for different kinds of events.
Definition: MillepedeAlgorithm.h:19