CMS 3D CMS Logo

List of all members | Public Types | Public Member Functions | Private Attributes | Static Private Attributes
SiPixelRawDataErrorModule Class Reference

#include <SiPixelRawDataErrorModule.h>

Public Types

typedef edm::DetSet< SiPixelRawDataError >::const_iterator ErrorIterator
 

Public Member Functions

void book (const edm::ParameterSet &iConfig, DQMStore::IBooker &, int type=0, bool isUpgrade=false)
 Book histograms. More...
 
int fill (const edm::DetSetVector< SiPixelRawDataError > &input, std::map< std::string, MonitorElement ** > *meMapFEDs, bool modon=true, bool ladon=false, bool bladeon=false)
 Fill histograms. More...
 
int fillFED (const edm::DetSetVector< SiPixelRawDataError > &input, std::map< std::string, MonitorElement ** > *meMapFEDs)
 Fill FED histograms. More...
 
 SiPixelRawDataErrorModule ()
 Default constructor. More...
 
 SiPixelRawDataErrorModule (const uint32_t &id)
 Constructor with raw DetId. More...
 
 SiPixelRawDataErrorModule (const uint32_t &id, const int &ncols, const int &nrows)
 Constructor with raw DetId and sensor size. More...
 
 ~SiPixelRawDataErrorModule ()
 Destructor. More...
 

Private Attributes

bool _debug_
 
uint32_t id_
 
MonitorElementmeErrorTypeBlade_
 
MonitorElementmeErrorTypeLad_
 
MonitorElementmeEvtNbrBlade_
 
MonitorElementmeEvtNbrLad_
 
MonitorElementmeEvtSizeBlade_
 
MonitorElementmeEvtSizeLad_
 
MonitorElementmeFullTypeBlade_
 
MonitorElementmeFullTypeLad_
 
MonitorElementmeNErrorsBlade_
 
MonitorElementmeNErrorsLad_
 
MonitorElementmeTBMMessageBlade_
 
MonitorElementmeTBMMessageLad_
 
MonitorElementmeTBMTypeBlade_
 
MonitorElementmeTBMTypeLad_
 
int ncols_
 
int nrows_
 

Static Private Attributes

static const int ADC_bits = 8
 
static const uint32_t ADC_mask = ~(~uint32_t(0) << ADC_bits)
 
static const int ADC_shift = 0
 
static const int DataBit_bits = 1
 
static const uint32_t DataBit_mask = ~(~uint32_t(0) << DataBit_bits)
 
static const int DB0_shift = 0
 
static const int DB1_shift = DB0_shift + DataBit_bits
 
static const int DB2_shift = DB1_shift + DataBit_bits
 
static const int DB3_shift = DB2_shift + DataBit_bits
 
static const int DB4_shift = DB3_shift + DataBit_bits
 
static const int DB5_shift = DB4_shift + DataBit_bits
 
static const int DB6_shift = DB5_shift + DataBit_bits
 
static const int DB7_shift = DB6_shift + DataBit_bits
 
static const int DCOL_bits = 5
 
static const uint32_t DCOL_mask = ~(~uint32_t(0) << DCOL_bits)
 
static const int DCOL_shift = PXID_shift + PXID_bits
 
static const int EVTLGT_bits = 24
 
static const unsigned long long EVTLGT_mask = ~(~0ULL << EVTLGT_bits)
 
static const int EVTLGT_shift = TRLRBGN_shift + TRLRBGN_bits
 
static const int LINK_bits = 6
 
static const uint32_t LINK_mask = ~(~uint32_t(0) << LINK_bits)
 
static const int LINK_shift = ROC_shift + ROC_bits
 
static const int PXID_bits = 8
 
static const uint32_t PXID_mask = ~(~uint32_t(0) << PXID_bits)
 
static const int PXID_shift = ADC_shift + ADC_bits
 
static const int ROC_bits = 5
 
static const uint32_t ROC_mask = ~(~uint32_t(0) << ROC_bits)
 
static const int ROC_shift = DCOL_shift + DCOL_bits
 
static const int TRLRBGN_bits = 32
 
static const unsigned long long TRLRBGN_mask = ~(~0ULL << TRLRBGN_bits)
 
static const int TRLRBGN_shift = 0
 
static const int TRLREND_bits = 8
 
static const unsigned long long TRLREND_mask = ~(~0ULL << TRLREND_bits)
 
static const int TRLREND_shift = EVTLGT_shift + EVTLGT_bits
 

Detailed Description

Definition at line 30 of file SiPixelRawDataErrorModule.h.

Member Typedef Documentation

Definition at line 41 of file SiPixelRawDataErrorModule.h.

Constructor & Destructor Documentation

SiPixelRawDataErrorModule::SiPixelRawDataErrorModule ( )
SiPixelRawDataErrorModule::SiPixelRawDataErrorModule ( const uint32_t &  id)

Constructor with raw DetId.

Definition at line 68 of file SiPixelRawDataErrorModule.cc.

References _debug_.

SiPixelRawDataErrorModule::SiPixelRawDataErrorModule ( const uint32_t &  id,
const int &  ncols,
const int &  nrows 
)

Constructor with raw DetId and sensor size.

Definition at line 72 of file SiPixelRawDataErrorModule.cc.

References _debug_.

SiPixelRawDataErrorModule::~SiPixelRawDataErrorModule ( )

Destructor.

Definition at line 79 of file SiPixelRawDataErrorModule.cc.

79 {}

Member Function Documentation

void SiPixelRawDataErrorModule::book ( const edm::ParameterSet iConfig,
DQMStore::IBooker iBooker,
int  type = 0,
bool  isUpgrade = false 
)

Book histograms.

Definition at line 83 of file SiPixelRawDataErrorModule.cc.

86  {}
int SiPixelRawDataErrorModule::fill ( const edm::DetSetVector< SiPixelRawDataError > &  input,
std::map< std::string, MonitorElement ** > *  meMapFEDs,
bool  modon = true,
bool  ladon = false,
bool  bladeon = false 
)

Fill histograms.

Definition at line 90 of file SiPixelRawDataErrorModule.cc.

References ADC_mask, ADC_shift, Reference_intrackfit_cff::barrel, edm::DetSetVector< T >::begin(), DataBit_mask, DB0_shift, DB1_shift, DB2_shift, DB3_shift, DB4_shift, DB5_shift, DB6_shift, DB7_shift, edm::DetSetVector< T >::end(), makeMuonMisalignmentScenario::endcap, EVTLGT_mask, EVTLGT_shift, HcalObjRepresent::Fill(), edm::DetSetVector< T >::find(), id_, LINK_bits, LINK_mask, LINK_shift, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, AlCaHLTBitMon_QueryRunRegistry::string, and DetId::subdetId().

94  {
95  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
96  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
97 
98  // Get DQM interface
99 
100  unsigned int numberOfSeriousErrors = 0;
101 
102  edm::DetSetVector<SiPixelRawDataError>::const_iterator isearch = input.find(id_); // search errors of detid
103 
104  if (isearch != input.end()) { // Not at empty iterator
105  // Look at errors now
107  for (di = isearch->data.begin(); di != isearch->data.end(); di++) {
108  int FedId = di->getFedId(); // FED the error came from
109  int chanNmbr = 0;
110  int errorType = di->getType(); // type of error
111  int TBMType = -1;
112  int TBMMessage = -1;
113  int evtSize = -1;
114  int evtNbr = -1;
115  int fullType = -1;
116  bool notReset = true;
117  const int LINK_bits = 6;
118  const int LINK_shift = 26;
119  const uint32_t LINK_mask = ~(~(uint32_t)(0) << LINK_bits);
120 
121  if (modon) {
122  if (errorType == 32 || errorType == 33 || errorType == 34) {
123  long long errorWord = di->getWord64(); // for 64-bit error words
124  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
125  if (errorType == 34)
126  evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
127  } else {
128  uint32_t errorWord = di->getWord32(); // for 32-bit error words
129  chanNmbr = (errorWord >> LINK_shift) & LINK_mask; // default way to get channel number. Only
130  // different for case 29 below.
131  switch (errorType) { // fill in the appropriate monitorables based on
132  // the information stored in the error word
133  case (28): {
134  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
135  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
136  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
137  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
138  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
139  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
140  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
141  if (NFa == 1) {
142  fullType = 1;
143  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
144  }
145  if (NFb == 1) {
146  fullType = 2;
147  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
148  }
149  if (NFc == 1) {
150  fullType = 3;
151  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
152  }
153  if (NFd == 1) {
154  fullType = 4;
155  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
156  }
157  if (NFe == 1) {
158  fullType = 5;
159  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
160  }
161  if (NF2 == 1) {
162  fullType = 6;
163  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
164  }
165  if (L1A == 1) {
166  fullType = 7;
167  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
168  }
169  chanNmbr = 0; // signifies channel not known
170  break;
171  }
172  case (29): {
173  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
174  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
175  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
176  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
177  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
178  int BLOCK_bits = 3;
179  int BLOCK_shift = 8;
180  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
181  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
182  int localCH = 1 * CH1 + 2 * CH2 + 3 * CH3 + 4 * CH4 + 5 * CH5;
183  if (BLOCK % 2 == 0)
184  chanNmbr = (BLOCK / 2) * 9 + localCH;
185  else
186  chanNmbr = ((BLOCK - 1) / 2) * 9 + 4 + localCH;
187  if ((chanNmbr < 1) || (chanNmbr > 36))
188  chanNmbr = 0; // signifies unexpected result
189  break;
190  }
191  case (30): {
192  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
193  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
194  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
195  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
196  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
197  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
198  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
199  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
200  if (T0 == 1)
201  TBMMessage = 0;
202  if (T1 == 1)
203  TBMMessage = 1;
204  if (T2 == 1)
205  TBMMessage = 2;
206  if (T3 == 1)
207  TBMMessage = 3;
208  if (T4 == 1)
209  TBMMessage = 4;
210  if (T5 == 1)
211  TBMMessage = 5;
212  if (T6 == 1)
213  TBMMessage = 6;
214  if (T7 == 1)
215  TBMMessage = 7;
216  if (TBMMessage == 5 || TBMMessage == 6)
217  notReset = false;
218  int StateMach_bits = 4;
219  int StateMach_shift = 8;
220  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
221  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
222  switch (StateMach) {
223  case (0): {
224  TBMType = 0;
225  break;
226  }
227  case (1):
228  case (9): {
229  TBMType = 1;
230  break;
231  }
232  case (2):
233  case (4):
234  case (6): {
235  TBMType = 2;
236  break;
237  }
238  case (8): {
239  TBMType = 3;
240  break;
241  }
242  default:
243  TBMType = 4;
244  };
245  break;
246  }
247  case (31): {
248  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
249  break;
250  }
251  case (36): {
252  // ROCId = (errorWord >> ROC_shift) & ROC_mask;
253  break;
254  }
255  case (37): {
256  // DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
257  // PXId = (errorWord >> PXID_shift) & PXID_mask;
258  break;
259  }
260  case (38): {
261  // ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
262  break;
263  }
264  default:
265  break;
266  };
267  } // end if not double precision
268  } // end if modon
269 
270  if (ladon && barrel) {
271  if (errorType == 32 || errorType == 33 || errorType == 34) {
272  long long errorWord = di->getWord64(); // for 64-bit error words
273  if (errorType == 34)
274  evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
275  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
276  } else {
277  uint32_t errorWord = di->getWord32(); // for 32-bit error words
278  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
279  switch (errorType) { // fill in the appropriate monitorables based on
280  // the information stored in the error word
281  case (28): {
282  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
283  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
284  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
285  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
286  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
287  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
288  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
289  if (NFa == 1) {
290  fullType = 1;
291  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
292  }
293  if (NFb == 1) {
294  fullType = 2;
295  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
296  }
297  if (NFc == 1) {
298  fullType = 3;
299  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
300  }
301  if (NFd == 1) {
302  fullType = 4;
303  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
304  }
305  if (NFe == 1) {
306  fullType = 5;
307  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
308  }
309  if (NF2 == 1) {
310  fullType = 6;
311  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
312  }
313  if (L1A == 1) {
314  fullType = 7;
315  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
316  }
317  chanNmbr = 0;
318  break;
319  }
320  case (29): {
321  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
322  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
323  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
324  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
325  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
326  int BLOCK_bits = 3;
327  int BLOCK_shift = 8;
328  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
329  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
330  int localCH = 1 * CH1 + 2 * CH2 + 3 * CH3 + 4 * CH4 + 5 * CH5;
331  if (BLOCK % 2 == 0)
332  chanNmbr = (BLOCK / 2) * 9 + localCH;
333  else
334  chanNmbr = ((BLOCK - 1) / 2) * 9 + 4 + localCH;
335  if ((chanNmbr < 1) || (chanNmbr > 36))
336  chanNmbr = 0; // signifies unexpected result
337  break;
338  }
339  case (30): {
340  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
341  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
342  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
343  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
344  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
345  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
346  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
347  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
348  if (T0 == 1)
349  TBMMessage = 0;
350  if (T1 == 1)
351  TBMMessage = 1;
352  if (T2 == 1)
353  TBMMessage = 2;
354  if (T3 == 1)
355  TBMMessage = 3;
356  if (T4 == 1)
357  TBMMessage = 4;
358  if (T5 == 1)
359  TBMMessage = 5;
360  if (T6 == 1)
361  TBMMessage = 6;
362  if (T7 == 1)
363  TBMMessage = 7;
364  int StateMach_bits = 4;
365  int StateMach_shift = 8;
366  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
367  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
368  switch (StateMach) {
369  case (0): {
370  TBMType = 0;
371  break;
372  }
373  case (1):
374  case (9): {
375  TBMType = 1;
376  break;
377  }
378  case (2):
379  case (4):
380  case (6): {
381  TBMType = 2;
382  break;
383  }
384  case (8): {
385  TBMType = 3;
386  break;
387  }
388  default:
389  TBMType = 4;
390  };
391  break;
392  }
393  case (31): {
394  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
395  break;
396  }
397  case (36): {
398  // int ROCId = (errorWord >> ROC_shift) & ROC_mask;
399  break;
400  }
401  case (37): {
402  // int DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
403  // int PXId = (errorWord >> PXID_shift) & PXID_mask;
404  break;
405  }
406  case (38): {
407  // int ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
408  break;
409  }
410  default:
411  break;
412  };
413  }
414  } // end if ladderon
415 
416  if (bladeon && endcap) {
417  if (errorType == 32 || errorType == 33 || errorType == 34) {
418  long long errorWord = di->getWord64(); // for 64-bit error words
419  if (errorType == 34)
420  evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
421  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
422  } else {
423  uint32_t errorWord = di->getWord32(); // for 32-bit error words
424  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
425  switch (errorType) { // fill in the appropriate monitorables based on
426  // the information stored in the error word
427  case (28): {
428  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
429  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
430  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
431  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
432  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
433  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
434  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
435  if (NFa == 1) {
436  fullType = 1;
437  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
438  }
439  if (NFb == 1) {
440  fullType = 2;
441  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
442  }
443  if (NFc == 1) {
444  fullType = 3;
445  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
446  }
447  if (NFd == 1) {
448  fullType = 4;
449  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
450  }
451  if (NFe == 1) {
452  fullType = 5;
453  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
454  }
455  if (NF2 == 1) {
456  fullType = 6;
457  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
458  }
459  if (L1A == 1) {
460  fullType = 7;
461  ((*meMapFEDs)["meFullType_"][FedId])->Fill((int)fullType);
462  }
463  chanNmbr = 0;
464  break;
465  }
466  case (29): {
467  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
468  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
469  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
470  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
471  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
472  int BLOCK_bits = 3;
473  int BLOCK_shift = 8;
474  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
475  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
476  int localCH = 1 * CH1 + 2 * CH2 + 3 * CH3 + 4 * CH4 + 5 * CH5;
477  if (BLOCK % 2 == 0)
478  chanNmbr = (BLOCK / 2) * 9 + localCH;
479  else
480  chanNmbr = ((BLOCK - 1) / 2) * 9 + 4 + localCH;
481  if ((chanNmbr < 1) || (chanNmbr > 36))
482  chanNmbr = 0; // signifies unexpected result
483  break;
484  }
485  case (30): {
486  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
487  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
488  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
489  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
490  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
491  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
492  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
493  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
494  if (T0 == 1)
495  TBMMessage = 0;
496  if (T1 == 1)
497  TBMMessage = 1;
498  if (T2 == 1)
499  TBMMessage = 2;
500  if (T3 == 1)
501  TBMMessage = 3;
502  if (T4 == 1)
503  TBMMessage = 4;
504  if (T5 == 1)
505  TBMMessage = 5;
506  if (T6 == 1)
507  TBMMessage = 6;
508  if (T7 == 1)
509  TBMMessage = 7;
510  int StateMach_bits = 4;
511  int StateMach_shift = 8;
512  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
513  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
514  switch (StateMach) {
515  case (0): {
516  TBMType = 0;
517  break;
518  }
519  case (1):
520  case (9): {
521  TBMType = 1;
522  break;
523  }
524  case (2):
525  case (4):
526  case (6): {
527  TBMType = 2;
528  break;
529  }
530  case (8): {
531  TBMType = 3;
532  break;
533  }
534  default:
535  TBMType = 4;
536  };
537  break;
538  }
539  case (31): {
540  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
541  break;
542  }
543  case (36): {
544  // int ROCId = (errorWord >> ROC_shift) & ROC_mask;
545  break;
546  }
547  case (37): {
548  // int DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
549  // int PXId = (errorWord >> PXID_shift) & PXID_mask;
550  break;
551  }
552  case (38): {
553  // int ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
554  break;
555  }
556  default:
557  break;
558  };
559  }
560  } // end if bladeon
561 
562  // Example to mask a specific bad channel -->
563  // if(!(FedId==38&&chanNmbr==7)){
564  if (!(errorType == 30) || notReset) {
565  std::string hid;
566  static const char chNfmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChNErr_%d";
567  char chNbuf[sizeof(chNfmt) + 2 * 32]; // 32 digits is enough for up to 2^105 + sign.
568  sprintf(chNbuf, chNfmt, FedId, chanNmbr);
569  hid = chNbuf;
570  if ((*meMapFEDs)["meFedChNErr_"][FedId])
571  (*meMapFEDs)["meFedChNErr_"][FedId]->Fill(chanNmbr);
572 
573  static const char chLfmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChLErr_%d";
574  char chLbuf[sizeof(chLfmt) + 2 * 32]; // 32 digits is enough for up to 2^105 + sign.
575  sprintf(chLbuf, chLfmt, FedId, chanNmbr);
576  hid = chLbuf;
577  if ((*meMapFEDs)["meFedChLErr_"][FedId])
578  (*meMapFEDs)["meFedChLErr_"][FedId]->setBinContent(chanNmbr + 1, errorType);
579 
580  numberOfSeriousErrors++;
581  int messageType = 99;
582  if (errorType < 30)
583  messageType = errorType - 25;
584  else if (errorType > 30)
585  messageType = errorType - 19;
586  else if (errorType == 30 && TBMMessage == 0)
587  messageType = errorType - 25;
588  else if (errorType == 30 && TBMMessage == 1)
589  messageType = errorType - 24;
590  else if (errorType == 30 && (TBMMessage == 2 || TBMMessage == 3 || TBMMessage == 4))
591  messageType = errorType - 23;
592  else if (errorType == 30 && TBMMessage == 7)
593  messageType = errorType - 22;
594  else if (errorType == 30 && TBMType == 1)
595  messageType = errorType - 21;
596  else if (errorType == 30 && TBMType == 2)
597  messageType = errorType - 20;
598  else if (errorType == 30 && TBMType == 3)
599  messageType = errorType - 19;
600  if (messageType <= 20) {
601  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedETypeNErr_%d";
602  char buf[sizeof(fmt) + 2 * 32]; // 32 digits is enough for up to 2^105 + sign.
603  sprintf(buf, fmt, FedId, messageType);
604  hid = buf;
605  if ((*meMapFEDs)["meFedETypeNErr_"][FedId])
606  (*meMapFEDs)["meFedETypeNErr_"][FedId]->Fill(messageType);
607  }
608  }
609 
610  (*meMapFEDs)["meNErrors_"][FedId]->Fill((int)numberOfSeriousErrors);
611  (*meMapFEDs)["meTBMMessage_"][FedId]->Fill((int)TBMMessage);
612  (*meMapFEDs)["meTBMType_"][FedId]->Fill((int)TBMType);
613  (*meMapFEDs)["meErrorType_"][FedId]->Fill((int)errorType);
614  (*meMapFEDs)["meFullType_"][FedId]->Fill((int)fullType);
615  (*meMapFEDs)["meEvtNbr_"][FedId]->setBinContent(1, (int)evtNbr);
616  (*meMapFEDs)["meEvtSize_"][FedId]->setBinContent(1, (int)evtSize);
617  }
618  } // end if not an empty iterator
619  return numberOfSeriousErrors;
620 }
iterator find(det_id_type id)
Definition: DetSetVector.h:290
static const uint32_t DataBit_mask
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
constexpr int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:41
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:361
static const unsigned long long EVTLGT_mask
Definition: DetId.h:18
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:346
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:104
int SiPixelRawDataErrorModule::fillFED ( const edm::DetSetVector< SiPixelRawDataError > &  input,
std::map< std::string, MonitorElement ** > *  meMapFEDs 
)

Fill FED histograms.

Definition at line 622 of file SiPixelRawDataErrorModule.cc.

References ADC_mask, ADC_shift, edm::DetSetVector< T >::begin(), DataBit_mask, DB0_shift, DB1_shift, DB2_shift, DB3_shift, DB4_shift, DB5_shift, DB6_shift, DB7_shift, edm::DetSetVector< T >::end(), EVTLGT_mask, EVTLGT_shift, HcalObjRepresent::Fill(), edm::DetSetVector< T >::find(), id_, LINK_bits, LINK_mask, LINK_shift, and AlCaHLTBitMon_QueryRunRegistry::string.

623  {
624  unsigned int numberOfSeriousErrors = 0;
625 
626  edm::DetSetVector<SiPixelRawDataError>::const_iterator isearch = input.find(0xffffffff); // search errors of detid
627  if (isearch != input.end()) { // Not an empty iterator
628  // Look at FED errors now
630  for (di = isearch->data.begin(); di != isearch->data.end(); di++) {
631  int FedId = di->getFedId(); // FED the error came from
632  int chanNmbr = -1;
633  int errorType = 0; // type of error
634  if (FedId == static_cast<int>(id_)) {
635  errorType = di->getType(); // type of error
636  ((*meMapFEDs)["meErrorType_"][id_])->Fill((int)errorType);
637  bool notReset = true;
638  int TBMType = -1;
639  int TBMMessage = -1;
640  int evtSize = -1;
641  int fullType = -1;
642  const int LINK_bits = 6;
643  const int LINK_shift = 26;
644  const uint32_t LINK_mask = ~(~(uint32_t)(0) << LINK_bits);
645  if ((errorType == 32) || (errorType == 33) || (errorType == 34)) {
646  long long errorWord = di->getWord64(); // for 64-bit error words
647  chanNmbr = 0;
648  switch (errorType) { // fill in the appropriate monitorables based on
649  // the information stored in the error word
650  case (32): {
651  break;
652  }
653  case (33): {
654  break;
655  }
656  case (34): {
657  evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
658  ((*meMapFEDs)["meEvtSize_"][id_])->setBinContent(1, (int)evtSize);
659  break;
660  }
661  default:
662  break;
663  };
664  } else {
665  uint32_t errorWord = di->getWord32(); // for 32-bit error words
666  switch (errorType) { // fill in the appropriate monitorables based on
667  // the information stored in the error word
668  case (25):
669  case (39): {
670  chanNmbr = 0;
671  break;
672  }
673  case (28): {
674  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
675  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
676  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
677  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
678  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
679  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
680  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
681  if (NFa == 1) {
682  fullType = 1;
683  ((*meMapFEDs)["meFullType_"][id_])->Fill((int)fullType);
684  }
685  if (NFb == 1) {
686  fullType = 2;
687  ((*meMapFEDs)["meFullType_"][id_])->Fill((int)fullType);
688  }
689  if (NFc == 1) {
690  fullType = 3;
691  ((*meMapFEDs)["meFullType_"][id_])->Fill((int)fullType);
692  }
693  if (NFd == 1) {
694  fullType = 4;
695  ((*meMapFEDs)["meFullType_"][id_])->Fill((int)fullType);
696  }
697  if (NFe == 1) {
698  fullType = 5;
699  ((*meMapFEDs)["meFullType_"][id_])->Fill((int)fullType);
700  }
701  if (NF2 == 1) {
702  fullType = 6;
703  ((*meMapFEDs)["meFullType_"][id_])->Fill((int)fullType);
704  }
705  if (L1A == 1) {
706  fullType = 7;
707  ((*meMapFEDs)["meFullType_"][id_])->Fill((int)fullType);
708  }
709  chanNmbr = 0;
710  break;
711  }
712  case (29): {
713  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
714  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
715  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
716  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
717  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
718  int BLOCK_bits = 3;
719  int BLOCK_shift = 8;
720  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
721  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
722  int localCH = 1 * CH1 + 2 * CH2 + 3 * CH3 + 4 * CH4 + 5 * CH5;
723  if (BLOCK % 2 == 0)
724  chanNmbr = (BLOCK / 2) * 9 + localCH;
725  else
726  chanNmbr = ((BLOCK - 1) / 2) * 9 + 4 + localCH;
727  if ((chanNmbr < 1) || (chanNmbr > 36))
728  chanNmbr = 0; // signifies unexpected result
729  break;
730  }
731  case (30): {
732  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
733  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
734  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
735  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
736  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
737  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
738  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
739  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
740  if (!(FedId == 38 && chanNmbr == 7)) {
741  if (T0 == 1) {
742  TBMMessage = 0;
743  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
744  }
745  if (T1 == 1) {
746  TBMMessage = 1;
747  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
748  }
749  if (T2 == 1) {
750  TBMMessage = 2;
751  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
752  }
753  if (T3 == 1) {
754  TBMMessage = 3;
755  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
756  }
757  if (T4 == 1) {
758  TBMMessage = 4;
759  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
760  }
761  if (T5 == 1) {
762  TBMMessage = 5;
763  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
764  }
765  if (T6 == 1) {
766  TBMMessage = 6;
767  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
768  }
769  if (T7 == 1) {
770  TBMMessage = 7;
771  ((*meMapFEDs)["meTBMMessage_"][id_])->Fill((int)TBMMessage);
772  }
773  }
774  if (TBMMessage == 5 || TBMMessage == 6)
775  notReset = false;
776  int StateMach_bits = 4;
777  int StateMach_shift = 8;
778  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
779  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
780  switch (StateMach) {
781  case (0): {
782  TBMType = 0;
783  break;
784  }
785  case (1):
786  case (9): {
787  TBMType = 1;
788  break;
789  }
790  case (2):
791  case (4):
792  case (6): {
793  TBMType = 2;
794  break;
795  }
796  case (8): {
797  TBMType = 3;
798  break;
799  }
800  default:
801  TBMType = 4;
802  };
803  if (!(FedId == 38 && chanNmbr == 7))
804  ((*meMapFEDs)["meTBMType_"][id_])->Fill((int)TBMType);
805  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
806  break;
807  }
808  case (31): {
809  int evtNbr = (errorWord >> ADC_shift) & ADC_mask;
810  if (!(FedId == 38 && chanNmbr == 7))
811  ((*meMapFEDs)["meEvtNbr_"][id_])->setBinContent(1, (int)evtNbr);
812  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
813  break;
814  }
815  case (35):
816  case (36):
817  case (37):
818  case (38): {
819  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
820  break;
821  }
822  default:
823  break;
824  };
825  } // end if errorType
826 
827  if (!(errorType == 30) || notReset) {
828  std::string hid;
829  static const char chNfmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChNErr_%d";
830  char chNbuf[sizeof(chNfmt) + 2 * 32]; // 32 digits is enough for up to 2^105 + sign.
831  sprintf(chNbuf, chNfmt, FedId, chanNmbr);
832  hid = chNbuf;
833  if ((*meMapFEDs)["meFedChNErr_"][id_])
834  (*meMapFEDs)["meFedChNErr_"][id_]->Fill(chanNmbr);
835 
836  static const char chLfmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChLErr_%d";
837  char chLbuf[sizeof(chLfmt) + 2 * 32]; // 32 digits is enough for up to 2^105 + sign.
838  sprintf(chLbuf, chLfmt, FedId, chanNmbr);
839  hid = chLbuf;
840  if ((*meMapFEDs)["meFedChLErr_"][id_])
841  (*meMapFEDs)["meFedChLErr_"][id_]->setBinContent(chanNmbr + 1, errorType);
842 
843  numberOfSeriousErrors++;
844  int messageType = 99;
845  if (errorType < 30)
846  messageType = errorType - 25;
847  else if (errorType > 30)
848  messageType = errorType - 19;
849  else if (errorType == 30 && TBMMessage == 0)
850  messageType = errorType - 25;
851  else if (errorType == 30 && TBMMessage == 1)
852  messageType = errorType - 24;
853  else if (errorType == 30 && (TBMMessage == 2 || TBMMessage == 3 || TBMMessage == 4))
854  messageType = errorType - 23;
855  else if (errorType == 30 && TBMMessage == 7)
856  messageType = errorType - 22;
857  else if (errorType == 30 && TBMType == 1)
858  messageType = errorType - 21;
859  else if (errorType == 30 && TBMType == 2)
860  messageType = errorType - 20;
861  else if (errorType == 30 && TBMType == 3)
862  messageType = errorType - 19;
863  if (messageType <= 20) {
864  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedETypeNErr_%d";
865  char buf[sizeof(fmt) + 2 * 32]; // 32 digits is enough for up to 2^105 + sign.
866  sprintf(buf, fmt, FedId, messageType);
867  hid = buf;
868  if ((*meMapFEDs)["meFedETypeNErr_"][id_])
869  (*meMapFEDs)["meFedETypeNErr_"][id_]->Fill(messageType);
870  }
871  } // end if not 30 || notReset
872  } // end if
873  } // end for
874  if (numberOfSeriousErrors > 0)
875  ((*meMapFEDs)["meNErrors_"][id_])->Fill((float)numberOfSeriousErrors);
876  } // end if not an empty iterator
877  return numberOfSeriousErrors;
878 }
iterator find(det_id_type id)
Definition: DetSetVector.h:290
static const uint32_t DataBit_mask
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:361
static const unsigned long long EVTLGT_mask
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:346
collection_type::const_iterator const_iterator
Definition: DetSet.h:33
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:104

Member Data Documentation

bool SiPixelRawDataErrorModule::_debug_
private

Definition at line 58 of file SiPixelRawDataErrorModule.h.

Referenced by SiPixelRawDataErrorModule().

const int SiPixelRawDataErrorModule::ADC_bits = 8
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const uint32_t SiPixelRawDataErrorModule::ADC_mask = ~(~uint32_t(0) << ADC_bits)
staticprivate

Definition at line 82 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::ADC_shift = 0
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DataBit_bits = 1
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const uint32_t SiPixelRawDataErrorModule::DataBit_mask = ~(~uint32_t(0) << DataBit_bits)
staticprivate

Definition at line 82 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB0_shift = 0
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB1_shift = DB0_shift + DataBit_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB2_shift = DB1_shift + DataBit_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB3_shift = DB2_shift + DataBit_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB4_shift = DB3_shift + DataBit_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB5_shift = DB4_shift + DataBit_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB6_shift = DB5_shift + DataBit_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB7_shift = DB6_shift + DataBit_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DCOL_bits = 5
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const uint32_t SiPixelRawDataErrorModule::DCOL_mask = ~(~uint32_t(0) << DCOL_bits)
staticprivate

Definition at line 82 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::DCOL_shift = PXID_shift + PXID_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::EVTLGT_bits = 24
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const unsigned long long SiPixelRawDataErrorModule::EVTLGT_mask = ~(~0ULL << EVTLGT_bits)
staticprivate

Definition at line 83 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::EVTLGT_shift = TRLRBGN_shift + TRLRBGN_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

uint32_t SiPixelRawDataErrorModule::id_
private

Definition at line 55 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::LINK_bits = 6
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const uint32_t SiPixelRawDataErrorModule::LINK_mask = ~(~uint32_t(0) << LINK_bits)
staticprivate

Definition at line 82 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::LINK_shift = ROC_shift + ROC_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meErrorTypeBlade_
private

Definition at line 70 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meErrorTypeLad_
private

Definition at line 61 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtNbrBlade_
private

Definition at line 75 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtNbrLad_
private

Definition at line 66 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtSizeBlade_
private

Definition at line 76 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtSizeLad_
private

Definition at line 67 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meFullTypeBlade_
private

Definition at line 72 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meFullTypeLad_
private

Definition at line 63 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meNErrorsBlade_
private

Definition at line 71 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meNErrorsLad_
private

Definition at line 62 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMMessageBlade_
private

Definition at line 73 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMMessageLad_
private

Definition at line 64 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMTypeBlade_
private

Definition at line 74 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMTypeLad_
private

Definition at line 65 of file SiPixelRawDataErrorModule.h.

int SiPixelRawDataErrorModule::ncols_
private

Definition at line 56 of file SiPixelRawDataErrorModule.h.

int SiPixelRawDataErrorModule::nrows_
private

Definition at line 57 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::PXID_bits = 8
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const uint32_t SiPixelRawDataErrorModule::PXID_mask = ~(~uint32_t(0) << PXID_bits)
staticprivate

Definition at line 82 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::PXID_shift = ADC_shift + ADC_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::ROC_bits = 5
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const uint32_t SiPixelRawDataErrorModule::ROC_mask = ~(~uint32_t(0) << ROC_bits)
staticprivate

Definition at line 82 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::ROC_shift = DCOL_shift + DCOL_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLRBGN_bits = 32
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const unsigned long long SiPixelRawDataErrorModule::TRLRBGN_mask = ~(~0ULL << TRLRBGN_bits)
staticprivate

Definition at line 83 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLRBGN_shift = 0
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLREND_bits = 8
staticprivate

Definition at line 78 of file SiPixelRawDataErrorModule.h.

const unsigned long long SiPixelRawDataErrorModule::TRLREND_mask = ~(~0ULL << TRLREND_bits)
staticprivate

Definition at line 83 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLREND_shift = EVTLGT_shift + EVTLGT_bits
staticprivate

Definition at line 80 of file SiPixelRawDataErrorModule.h.