CMS 3D CMS Logo

 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Pages
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, int type=0)
 Book histograms. More...
 
void bookFED (const edm::ParameterSet &iConfig)
 Book FED histograms. More...
 
int fill (const edm::DetSetVector< SiPixelRawDataError > &input, bool modon=true, bool ladon=false, bool bladeon=false)
 Fill histograms. More...
 
int fillFED (const edm::DetSetVector< SiPixelRawDataError > &input)
 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_
 
int FedChLErrArray [40][37]
 
int FedChNErrArray [40][37]
 
int FedETypeNErrArray [40][21]
 
uint32_t id_
 
MonitorElementmeErrorType_
 
MonitorElementmeErrorTypeBlade_
 
MonitorElementmeErrorTypeLad_
 
MonitorElementmeEvtNbr_
 
MonitorElementmeEvtNbrBlade_
 
MonitorElementmeEvtNbrLad_
 
MonitorElementmeEvtSize_
 
MonitorElementmeEvtSizeBlade_
 
MonitorElementmeEvtSizeLad_
 
MonitorElementmeFedChLErrArray_ [37]
 
MonitorElementmeFedChNErrArray_ [37]
 
MonitorElementmeFedETypeNErrArray_ [21]
 
MonitorElementmeFullType_
 
MonitorElementmeFullTypeBlade_
 
MonitorElementmeFullTypeLad_
 
MonitorElementmeNErrors_
 
MonitorElementmeNErrorsBlade_
 
MonitorElementmeNErrorsLad_
 
MonitorElementmeTBMMessage_
 
MonitorElementmeTBMMessageBlade_
 
MonitorElementmeTBMMessageLad_
 
MonitorElementmeTBMType_
 
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 long long EVTLGT_mask = ~(~(long long)(0) << 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 long long TRLRBGN_mask = ~(~(long long)(0) << TRLRBGN_bits)
 
static const int TRLRBGN_shift = 0
 
static const int TRLREND_bits = 8
 
static const long long TRLREND_mask = ~(~(long long)(0) << TRLREND_bits)
 
static const int TRLREND_shift = EVTLGT_shift + EVTLGT_bits
 

Detailed Description

Definition at line 27 of file SiPixelRawDataErrorModule.h.

Member Typedef Documentation

Definition at line 40 of file SiPixelRawDataErrorModule.h.

Constructor & Destructor Documentation

SiPixelRawDataErrorModule::SiPixelRawDataErrorModule ( )

Default constructor.

Definition at line 64 of file SiPixelRawDataErrorModule.cc.

References _debug_, FedChLErrArray, FedChNErrArray, FedETypeNErrArray, i, and j.

64  :
65  id_(0),
66  ncols_(416),
67  nrows_(160)
68 {
69  _debug_ = false;
70  for(int i=0; i!=40; i++) for(int j=0; j!=37; j++){
71  FedChNErrArray[i][j]=0;
72  FedChLErrArray[i][j]=0;
73  if(j<21) FedETypeNErrArray[i][j]=0;
74  }
75 }
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
SiPixelRawDataErrorModule::SiPixelRawDataErrorModule ( const uint32_t &  id)

Constructor with raw DetId.

Definition at line 77 of file SiPixelRawDataErrorModule.cc.

References _debug_, FedChLErrArray, FedChNErrArray, FedETypeNErrArray, i, and j.

77  :
78  id_(id),
79  ncols_(416),
80  nrows_(160)
81 {
82  _debug_ = false;
83  for(int i=0; i!=40; i++) for(int j=0; j!=37; j++){
84  FedChNErrArray[i][j]=0;
85  FedChLErrArray[i][j]=0;
86  if(j<21) FedETypeNErrArray[i][j]=0;
87  }
88 }
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
SiPixelRawDataErrorModule::SiPixelRawDataErrorModule ( const uint32_t &  id,
const int &  ncols,
const int &  nrows 
)

Constructor with raw DetId and sensor size.

Definition at line 90 of file SiPixelRawDataErrorModule.cc.

References _debug_, FedChLErrArray, FedChNErrArray, FedETypeNErrArray, i, and j.

90  :
91  id_(id),
92  ncols_(ncols),
93  nrows_(nrows)
94 {
95  _debug_ = false;
96  for(int i=0; i!=40; i++) for(int j=0; j!=37; j++){
97  FedChNErrArray[i][j]=0;
98  FedChLErrArray[i][j]=0;
99  if(j<21) FedETypeNErrArray[i][j]=0;
100  }
101 }
int i
Definition: DBlmapReader.cc:9
int j
Definition: DBlmapReader.cc:9
SiPixelRawDataErrorModule::~SiPixelRawDataErrorModule ( )

Destructor.

Definition at line 105 of file SiPixelRawDataErrorModule.cc.

105 {}

Member Function Documentation

void SiPixelRawDataErrorModule::book ( const edm::ParameterSet iConfig,
int  type = 0 
)

Book histograms.

Definition at line 109 of file SiPixelRawDataErrorModule.cc.

109  {
110 }
void SiPixelRawDataErrorModule::bookFED ( const edm::ParameterSet iConfig)

Book FED histograms.

Definition at line 114 of file SiPixelRawDataErrorModule.cc.

References edm::ParameterSet::getParameter(), id_, j, edm::InputTag::label(), meErrorType_, meEvtNbr_, meEvtSize_, meFedChLErrArray_, meFedChNErrArray_, meFedETypeNErrArray_, meFullType_, meNErrors_, meTBMMessage_, meTBMType_, cmsCodeRules.cppFunctionSkipper::operator, MonitorElement::setAxisTitle(), align_tpl::src, and cond::rpcobtemp::temp.

114  {
115 //std::cout<<"Entering SiPixelRawDataErrorModule::bookFED: "<<std::endl;
116  std::string hid;
117  // Get collection name and instantiate Histo Id builder
118  edm::InputTag src = iConfig.getParameter<edm::InputTag>( "src" );
119  SiPixelHistogramId* theHistogramId = new SiPixelHistogramId( src.label() );
120  // Get DQM interface
121  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
122  // Types of errors
123  hid = theHistogramId->setHistoId("errorType",id_);
124  meErrorType_ = theDMBE->book1D(hid,"Type of errors",15,24.5,39.5);
125  meErrorType_->setAxisTitle("Type of errors",1);
126  // Number of errors
127  hid = theHistogramId->setHistoId("NErrors",id_);
128  meNErrors_ = theDMBE->book1D(hid,"Number of errors",36,0.,36.);
129  meNErrors_->setAxisTitle("Number of errors",1);
130  // Type of FIFO full (errorType = 28). FIFO 1 is 1-5 (where fullType = channel of FIFO 1),
131  // fullType = 6 signifies FIFO 2 nearly full, 7 signifies trigger FIFO nearly full, 8
132  // indicates an unexpected result
133  hid = theHistogramId->setHistoId("fullType",id_);
134  meFullType_ = theDMBE->book1D(hid,"Type of FIFO full",7,0.5,7.5);
135  meFullType_->setAxisTitle("FIFO type",1);
136  // For error type 30, the type of problem encoded in the TBM trailer
137  // 0 = stack full, 1 = Pre-cal issued, 2 = clear trigger counter, 3 = sync trigger,
138  // 4 = sync trigger error, 5 = reset ROC, 6 = reset TBM, 7 = no token bit pass
139  hid = theHistogramId->setHistoId("TBMMessage",id_);
140  meTBMMessage_ = theDMBE->book1D(hid,"TBM trailer message",8,-0.5,7.5);
141  meTBMMessage_->setAxisTitle("TBM message",1);
142  // For error type 30, the type of problem encoded in the TBM error trailer 0 = none
143  // 1 = data stream too long, 2 = FSM errors, 3 = invalid # of ROCs, 4 = multiple
144  hid = theHistogramId->setHistoId("TBMType",id_);
145  meTBMType_ = theDMBE->book1D(hid,"Type of TBM trailer",5,-0.5,4.5);
146  meTBMType_->setAxisTitle("TBM Type",1);
147  // For error type 31, the event number of the TBM header with the error
148  hid = theHistogramId->setHistoId("EvtNbr",id_);
149  meEvtNbr_ = theDMBE->bookInt(hid);
150  // For errorType = 34, datastream size according to error word
151  hid = theHistogramId->setHistoId("evtSize",id_);
152  meEvtSize_ = theDMBE->bookInt(hid);
153 
154  for(int j=0; j!=37; j++){
155  std::stringstream temp; temp << j;
156  hid = "FedChNErrArray_" + temp.str();
157  meFedChNErrArray_[j] = theDMBE->bookInt(hid);
158  hid = "FedChLErrArray_" + temp.str();
159  meFedChLErrArray_[j] = theDMBE->bookInt(hid);
160  hid = "FedETypeNErrArray_" + temp.str();
161  if(j<21) meFedETypeNErrArray_[j] = theDMBE->bookInt(hid);
162  }
163  delete theHistogramId;
164 //std::cout<<"...leaving SiPixelRawDataErrorModule::bookFED. "<<std::endl;
165 }
T getParameter(std::string const &) const
MonitorElement * meFedChLErrArray_[37]
MonitorElement * meFedChNErrArray_[37]
MonitorElement * meFedETypeNErrArray_[21]
int j
Definition: DBlmapReader.cc:9
std::string const & label() const
Definition: InputTag.h:25
void setAxisTitle(const std::string &title, int axis=1)
set x-, y- or z-axis title (axis=1, 2, 3 respectively)
tuple src
Definition: align_tpl.py:87
int SiPixelRawDataErrorModule::fill ( const edm::DetSetVector< SiPixelRawDataError > &  input,
bool  modon = true,
bool  ladon = false,
bool  bladeon = false 
)

Fill histograms.

Definition at line 169 of file SiPixelRawDataErrorModule.cc.

References ADC_mask, ADC_shift, Reference_intrackfit_cff::barrel, edm::DetSetVector< T >::begin(), DQMStore::cd(), DataBit_mask, DB0_shift, DB1_shift, DB2_shift, DB3_shift, DB4_shift, DB5_shift, DB6_shift, DB7_shift, edm::DetSetVector< T >::end(), Reference_intrackfit_cff::endcap, EVTLGT_mask, EVTLGT_shift, FedChLErrArray, FedChNErrArray, FedETypeNErrArray, MonitorElement::Fill(), edm::DetSetVector< T >::find(), DQMStore::get(), i, id_, PixelBarrelName::isHalfModule(), j, PixelBarrelName::ladderName(), LINK_bits, LINK_mask, LINK_shift, meFedChLErrArray_, meFedChNErrArray_, meFedETypeNErrArray_, meFullType_, cmsCodeRules.cppFunctionSkipper::operator, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DQMStore::pwd(), and DetId::subdetId().

169  {
170 //std::cout<<"Entering SiPixelRawDataErrorModule::fill: "<<std::endl;
171  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
172  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
173  bool isHalfModule = false;
174  uint32_t DBladder = 0;
175  if(barrel){
176  isHalfModule = PixelBarrelName(DetId(id_)).isHalfModule();
177  DBladder = PixelBarrelName(DetId(id_)).ladderName();
178 // int FedId = DetId(id_).getFedId(); // FED the error came from
179 
180  }
181 
182  // Get DQM interface
183  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
184 
185  unsigned int numberOfSeriousErrors = 0;
186 
187  edm::DetSetVector<SiPixelRawDataError>::const_iterator isearch = input.find(id_); // search errors of detid
188 
189  if( isearch != input.end() ) { // Not at empty iterator
190  // Look at errors now
192  for(di = isearch->data.begin(); di != isearch->data.end(); di++) {
193  int FedId = di->getFedId(); // FED the error came from
194  int chanNmbr = -1;
195  int errorType = di->getType(); // type of error
196  int TBMType=-1; int TBMMessage=-1; int evtSize=-1; int evtNbr=-1; int fullType=-1;
197  bool notReset = true;
198  const int LINK_bits = 6;
199  const int LINK_shift = 26;
200  const uint32_t LINK_mask = ~(~(uint32_t)(0) << LINK_bits);
201 
202  if(modon){
203  if(errorType == 32 || errorType == 33 || errorType == 34) {
204  long long errorWord = di->getWord64(); // for 64-bit error words
205  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
206  if(errorType == 34) evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
207  } else {
208  uint32_t errorWord = di->getWord32(); // for 32-bit error words
209  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
210  switch(errorType) { // fill in the appropriate monitorables based on the information stored in the error word
211  case(28) : {
212  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
213  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
214  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
215  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
216  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
217  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
218  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
219  if (NFa==1) fullType = 1; (meFullType_)->Fill((int)fullType);
220  if (NFb==1) fullType = 2; (meFullType_)->Fill((int)fullType);
221  if (NFc==1) fullType = 3; (meFullType_)->Fill((int)fullType);
222  if (NFd==1) fullType = 4; (meFullType_)->Fill((int)fullType);
223  if (NFe==1) fullType = 5; (meFullType_)->Fill((int)fullType);
224  if (NF2==1) fullType = 6; (meFullType_)->Fill((int)fullType);
225  if (L1A==1) fullType = 7; (meFullType_)->Fill((int)fullType);
226  chanNmbr = 0;
227  break; }
228  case(30) : {
229  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
230  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
231  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
232  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
233  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
234  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
235  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
236  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
237  if (T0==1) TBMMessage=0;
238  if (T1==1) TBMMessage=1;
239  if (T2==1) TBMMessage=2;
240  if (T3==1) TBMMessage=3;
241  if (T4==1) TBMMessage=4;
242  if (T5==1) TBMMessage=5;
243  if (T6==1) TBMMessage=6;
244  if (T7==1) TBMMessage=7;
245  if(TBMMessage==5 || TBMMessage==6) notReset=false;
246  int StateMach_bits = 4;
247  int StateMach_shift = 8;
248  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
249  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
250  switch(StateMach) {
251  case(0) : {
252  TBMType = 0;
253  break; }
254  case(1) : case(9) : {
255  TBMType = 1;
256  break; }
257  case(2) : case(4) : case(6) : {
258  TBMType = 2;
259  break; }
260  case(8) : {
261  TBMType = 3;
262  break; }
263  default : TBMType = 4;
264  };
265  break; }
266  case(31) : {
267  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
268  break; }
269  case(36) : {
270  //ROCId = (errorWord >> ROC_shift) & ROC_mask;
271  break; }
272  case(37) : {
273  //DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
274  //PXId = (errorWord >> PXID_shift) & PXID_mask;
275  break; }
276  case(38) : {
277  //ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
278  break; }
279  default : break;
280  };
281  }//end if not double precision
282  }//end if modon
283 
284  if(ladon && barrel){
285  if(errorType == 32 || errorType == 33 || errorType == 34){
286  long long errorWord = di->getWord64(); // for 64-bit error words
287  if(errorType == 34) evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
288  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
289  } else {
290  uint32_t errorWord = di->getWord32(); // for 32-bit error words
291  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
292  switch(errorType) { // fill in the appropriate monitorables based on the information stored in the error word
293  case(28) : {
294  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
295  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
296  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
297  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
298  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
299  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
300  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
301  if (NFa==1) fullType = 1; (meFullType_)->Fill((int)fullType);
302  if (NFb==1) fullType = 2; (meFullType_)->Fill((int)fullType);
303  if (NFc==1) fullType = 3; (meFullType_)->Fill((int)fullType);
304  if (NFd==1) fullType = 4; (meFullType_)->Fill((int)fullType);
305  if (NFe==1) fullType = 5; (meFullType_)->Fill((int)fullType);
306  if (NF2==1) fullType = 6; (meFullType_)->Fill((int)fullType);
307  if (L1A==1) fullType = 7; (meFullType_)->Fill((int)fullType);
308  chanNmbr = 0;
309  break; }
310  case(30) : {
311  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
312  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
313  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
314  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
315  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
316  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
317  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
318  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
319  if (T0==1) TBMMessage=0;
320  if (T1==1) TBMMessage=1;
321  if (T2==1) TBMMessage=2;
322  if (T3==1) TBMMessage=3;
323  if (T4==1) TBMMessage=4;
324  if (T5==1) TBMMessage=5;
325  if (T6==1) TBMMessage=6;
326  if (T7==1) TBMMessage=7;
327  int StateMach_bits = 4;
328  int StateMach_shift = 8;
329  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
330  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
331  switch(StateMach) {
332  case(0) : {
333  TBMType = 0;
334  break; }
335  case(1) : case(9) : {
336  TBMType = 1;
337  break; }
338  case(2) : case(4) : case(6) : {
339  TBMType = 2;
340  break; }
341  case(8) : {
342  TBMType = 3;
343  break; }
344  default : TBMType = 4;
345  };
346  break; }
347  case(31) : {
348  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
349  break; }
350  case(36) : {
351  //int ROCId = (errorWord >> ROC_shift) & ROC_mask;
352  break; }
353  case(37) : {
354  //int DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
355  //int PXId = (errorWord >> PXID_shift) & PXID_mask;
356  break; }
357  case(38) : {
358  //int ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
359  break; }
360  default : break;
361  };
362  }
363  }//end if ladderon
364 
365  if(bladeon && endcap){
366  if(errorType == 32 || errorType == 33 || errorType == 34){
367  long long errorWord = di->getWord64(); // for 64-bit error words
368  if(errorType == 34) evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
369  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
370  } else {
371  uint32_t errorWord = di->getWord32(); // for 32-bit error words
372  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
373  switch(errorType) { // fill in the appropriate monitorables based on the information stored in the error word
374  case(28) : {
375  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
376  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
377  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
378  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
379  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
380  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
381  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
382  if (NFa==1) fullType = 1; (meFullType_)->Fill((int)fullType);
383  if (NFb==1) fullType = 2; (meFullType_)->Fill((int)fullType);
384  if (NFc==1) fullType = 3; (meFullType_)->Fill((int)fullType);
385  if (NFd==1) fullType = 4; (meFullType_)->Fill((int)fullType);
386  if (NFe==1) fullType = 5; (meFullType_)->Fill((int)fullType);
387  if (NF2==1) fullType = 6; (meFullType_)->Fill((int)fullType);
388  if (L1A==1) fullType = 7; (meFullType_)->Fill((int)fullType);
389  chanNmbr = 0;
390  break; }
391  case(30) : {
392  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
393  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
394  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
395  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
396  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
397  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
398  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
399  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
400  if (T0==1) TBMMessage=0;
401  if (T1==1) TBMMessage=1;
402  if (T2==1) TBMMessage=2;
403  if (T3==1) TBMMessage=3;
404  if (T4==1) TBMMessage=4;
405  if (T5==1) TBMMessage=5;
406  if (T6==1) TBMMessage=6;
407  if (T7==1) TBMMessage=7;
408  int StateMach_bits = 4;
409  int StateMach_shift = 8;
410  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
411  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
412  switch(StateMach) {
413  case(0) : {
414  TBMType = 0;
415  break; }
416  case(1) : case(9) : {
417  TBMType = 1;
418  break; }
419  case(2) : case(4) : case(6) : {
420  TBMType = 2;
421  break; }
422  case(8) : {
423  TBMType = 3;
424  break; }
425  default : TBMType = 4;
426  };
427  break; }
428  case(31) : {
429  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
430  break; }
431  case(36) : {
432  //int ROCId = (errorWord >> ROC_shift) & ROC_mask;
433  break; }
434  case(37) : {
435  //int DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
436  //int PXId = (errorWord >> PXID_shift) & PXID_mask;
437  break; }
438  case(38) : {
439  //int ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
440  break; }
441  default : break;
442  };
443  }
444  }//end if bladeon
445 
446  if(!(errorType==30) || notReset){
447  if(!(FedId==38&&chanNmbr==7)){ // mask slow channel that spits out lots of EventNumber errors even when in STDBY!
448  numberOfSeriousErrors++;
449  FedChNErrArray[FedId][chanNmbr]++;
450  FedChLErrArray[FedId][chanNmbr] = errorType;
451  if(errorType<30) FedETypeNErrArray[FedId][errorType-25]++;
452  else if(errorType>30) FedETypeNErrArray[FedId][errorType-19]++;
453  else if(errorType==30 && TBMMessage==0) FedETypeNErrArray[FedId][errorType-25]++;
454  else if(errorType==30 && TBMMessage==1) FedETypeNErrArray[FedId][errorType-24]++;
455  else if(errorType==30 && (TBMMessage==2 || TBMMessage==3 || TBMMessage==4)) FedETypeNErrArray[FedId][errorType-23]++;
456  else if(errorType==30 && TBMMessage==7) FedETypeNErrArray[FedId][errorType-22]++;
457  else if(errorType==30 && TBMType==1) FedETypeNErrArray[FedId][errorType-21]++;
458  else if(errorType==30 && TBMType==2) FedETypeNErrArray[FedId][errorType-20]++;
459  else if(errorType==30 && TBMType==3) FedETypeNErrArray[FedId][errorType-19]++;
460  }
461  }
462  if(!(FedId==38&&chanNmbr==7)){ // mask slow channel that spits out lots of EventNumber errors even when in STDBY!
463  std::string currDir = theDMBE->pwd();
464  static const char buf[] = "Pixel/AdditionalPixelErrors/FED_%d";
465  char feddir[sizeof(buf)+2];
466  sprintf(feddir,buf,FedId);
467  theDMBE->cd(feddir);
468  MonitorElement* me;
469  static const char buf1[] = "Pixel/AdditionalPixelErrors/FED_%d/NErrors_siPixelDigis_%d";
470  char hname1[sizeof(buf1)+4];
471  sprintf(hname1,buf1,FedId,FedId);
472  me = theDMBE->get(hname1);
473  if(me) me->Fill((int)numberOfSeriousErrors);
474  static const char buf2[] = "Pixel/AdditionalPixelErrors/FED_%d/TBMMessage_siPixelDigis_%d";
475  char hname2[sizeof(buf2)+4];
476  sprintf(hname2,buf2,FedId,FedId);
477  me = theDMBE->get(hname2);
478  if(me) me->Fill((int)TBMMessage);
479  static const char buf3[] = "Pixel/AdditionalPixelErrors/FED_%d/TBMType_siPixelDigis_%d";
480  char hname3[sizeof(buf3)+4];
481  sprintf(hname3,buf3,FedId,FedId);
482  me = theDMBE->get(hname3);
483  if(me) me->Fill((int)TBMType);
484  static const char buf4[] = "Pixel/AdditionalPixelErrors/FED_%d/errorType_siPixelDigis_%d";
485  char hname4[sizeof(buf4)+4];
486  sprintf(hname4,buf4,FedId,FedId);
487  me = theDMBE->get(hname4);
488  if(me) me->Fill((int)errorType);
489  static const char buf5[] = "Pixel/AdditionalPixelErrors/FED_%d/fullType_siPixelDigis_%d";
490  char hname5[sizeof(buf5)+4];
491  sprintf(hname5,buf5,FedId,FedId);
492  me = theDMBE->get(hname5);
493  if(me) me->Fill((int)fullType);
494  static const char buf6[] = "Pixel/AdditionalPixelErrors/FED_%d/EvtNbr_siPixelDigis_%d";
495  char hname6[sizeof(buf6)+4];
496  sprintf(hname6,buf6,FedId,FedId);
497  me = theDMBE->get(hname6);
498  if(me) me->Fill((int)evtNbr);
499  static const char buf7[] = "Pixel/AdditionalPixelErrors/FED_%d/evtSize_siPixelDigis_%d";
500  char hname7[sizeof(buf7)+4];
501  sprintf(hname7,buf7,FedId,FedId);
502  me = theDMBE->get(hname7);
503  if(me) me->Fill((int)evtSize);
504  theDMBE->cd(currDir);
505  }
506  }//for loop
507 
508  std::string hid;
509  for(int i=0; i!=40; i++){
510  for(int j=0; j!=37; j++){
511  if(FedChNErrArray[i][j]>0){
512  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChNErrArray_%d";
513  char buf[sizeof(fmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
514  sprintf(buf, fmt, i, j);
515  hid = buf;
516  meFedChNErrArray_[j] = theDMBE->get(hid);
518  }
519  if(FedChLErrArray[i][j]>0){
520  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChLErrArray_%d";
521  char buf[sizeof(fmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
522  sprintf(buf, fmt, i, j);
523  hid = buf;
524  meFedChLErrArray_[j] = theDMBE->get(hid);
526  }
527  if(j<=20 && FedETypeNErrArray[i][j]>0){
528  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedETypeNErrArray_%d";
529  char buf[sizeof(fmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
530  sprintf(buf, fmt, i, j);
531  hid = buf;
532  meFedETypeNErrArray_[j] = theDMBE->get(hid);
534  }
535  }//end for j
536  }//end for i
537  }//end if not an empty iterator
538 
539  return numberOfSeriousErrors;
540 }
int i
Definition: DBlmapReader.cc:9
iterator find(det_id_type id)
Definition: DetSetVector.h:281
MonitorElement * meFedChLErrArray_[37]
MonitorElement * meFedChNErrArray_[37]
void Fill(long long x)
MonitorElement * meFedETypeNErrArray_[21]
static const uint32_t DataBit_mask
bool isHalfModule() const
full or half module
int j
Definition: DBlmapReader.cc:9
int subdetId() const
get the contents of the subdetector field (not cast into any detector&#39;s numbering enum) ...
Definition: DetId.h:39
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:352
Definition: DetId.h:20
int ladderName() const
ladder id (index in phi)
static const long long EVTLGT_mask
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:337
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:105
int SiPixelRawDataErrorModule::fillFED ( const edm::DetSetVector< SiPixelRawDataError > &  input)

Fill FED histograms.

Definition at line 542 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, FedChLErrArray, FedChNErrArray, FedETypeNErrArray, MonitorElement::Fill(), edm::DetSetVector< T >::find(), DQMStore::get(), i, id_, j, LINK_bits, LINK_mask, LINK_shift, meErrorType_, meEvtNbr_, meEvtSize_, meFedChLErrArray_, meFedChNErrArray_, meFedETypeNErrArray_, meFullType_, meNErrors_, meTBMMessage_, meTBMType_, and cmsCodeRules.cppFunctionSkipper::operator.

542  {
543  //std::cout<<"Entering SiPixelRawDataErrorModule::fillFED: "<<static_cast<int>(id_)<<std::endl;
544  unsigned int numberOfSeriousErrors = 0;
545 
546  edm::DetSetVector<SiPixelRawDataError>::const_iterator isearch = input.find(0xffffffff); // search errors of detid
547  if( isearch != input.end() ) { // Not an empty iterator
548  // Look at FED errors now
550  for(di = isearch->data.begin(); di != isearch->data.end(); di++) {
551  int FedId = di->getFedId(); // FED the error came from
552  int chanNmbr = -1;
553  int errorType = 0; // type of error
554  if(FedId==static_cast<int>(id_)) {
555  errorType = di->getType(); // type of error
556  (meErrorType_)->Fill((int)errorType);
557  bool notReset=true;
558  int TBMType=-1; int TBMMessage=-1; int evtSize=-1; int fullType=-1;
559  const int LINK_bits = 6;
560  const int LINK_shift = 26;
561  const uint32_t LINK_mask = ~(~(uint32_t)(0) << LINK_bits);
562  if((errorType == 32)||(errorType == 33)||(errorType == 34)) {
563  long long errorWord = di->getWord64(); // for 64-bit error words
564  chanNmbr = 0;
565  switch(errorType) { // fill in the appropriate monitorables based on the information stored in the error word
566  case(32) : {
567  break; }
568  case(33) : {
569  break; }
570  case(34) : {
571  evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
572  if(!(FedId==38&&chanNmbr==7)) (meEvtSize_)->Fill((int)evtSize);
573  break; }
574  default : break;
575  };
576  } else {
577  uint32_t errorWord = di->getWord32(); // for 32-bit error words
578  switch(errorType) { // fill in the appropriate monitorables based on the information stored in the error word
579  case(25) : case(39) : {
580  chanNmbr = 0;
581  break; }
582  case(28) : {
583  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
584  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
585  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
586  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
587  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
588  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
589  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
590  if (NFa==1) fullType = 1; (meFullType_)->Fill((int)fullType);
591  if (NFb==1) fullType = 2; (meFullType_)->Fill((int)fullType);
592  if (NFc==1) fullType = 3; (meFullType_)->Fill((int)fullType);
593  if (NFd==1) fullType = 4; (meFullType_)->Fill((int)fullType);
594  if (NFe==1) fullType = 5; (meFullType_)->Fill((int)fullType);
595  if (NF2==1) fullType = 6; (meFullType_)->Fill((int)fullType);
596  if (L1A==1) fullType = 7; (meFullType_)->Fill((int)fullType);
597  chanNmbr = 0;
598  break; }
599  case(29) : {
600  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
601  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
602  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
603  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
604  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
605  int BLOCK_bits = 3;
606  int BLOCK_shift = 8;
607  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
608  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
609  int localCH = 1*CH1+2*CH2+3*CH3+4*CH4+5*CH5;
610  if (BLOCK%2==0) chanNmbr=(BLOCK/2)*9+localCH;
611  else chanNmbr = ((BLOCK-1)/2)*9+4+localCH;
612  if ((chanNmbr<1)||(chanNmbr>36)) chanNmbr=0; // signifies unexpected result
613  break; }
614  case(30) : {
615  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
616  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
617  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
618  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
619  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
620  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
621  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
622  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
623  if(!(FedId==38&&chanNmbr==7)){
624  if (T0==1) { TBMMessage=0; (meTBMMessage_)->Fill((int)TBMMessage); }
625  if (T1==1) { TBMMessage=1; (meTBMMessage_)->Fill((int)TBMMessage); }
626  if (T2==1) { TBMMessage=2; (meTBMMessage_)->Fill((int)TBMMessage); }
627  if (T3==1) { TBMMessage=3; (meTBMMessage_)->Fill((int)TBMMessage); }
628  if (T4==1) { TBMMessage=4; (meTBMMessage_)->Fill((int)TBMMessage); }
629  if (T5==1) { TBMMessage=5; (meTBMMessage_)->Fill((int)TBMMessage); }
630  if (T6==1) { TBMMessage=6; (meTBMMessage_)->Fill((int)TBMMessage); }
631  if (T7==1) { TBMMessage=7; (meTBMMessage_)->Fill((int)TBMMessage); }
632  }
633  if(TBMMessage==5 || TBMMessage==6) notReset=false;
634  int StateMach_bits = 4;
635  int StateMach_shift = 8;
636  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
637  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
638  switch(StateMach) {
639  case(0) : {
640  TBMType = 0;
641  break; }
642  case(1) : case(9) : {
643  TBMType = 1;
644  break; }
645  case(2) : case(4) : case(6) : {
646  TBMType = 2;
647  break; }
648  case(8) : {
649  TBMType = 3;
650  break; }
651  default : TBMType = 4;
652  };
653  if(!(FedId==38&&chanNmbr==7)) (meTBMType_)->Fill((int)TBMType);
654  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
655  break; }
656  case(31) : {
657  int evtNbr = (errorWord >> ADC_shift) & ADC_mask;
658  if(!(FedId==38&&chanNmbr==7))(meEvtNbr_)->Fill((int)evtNbr);
659  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
660  break; }
661  case(35) : case(36) : case(37) : case(38) : {
662  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
663  break; }
664  default : break;
665  };
666  }// end if errorType
667 
668  if(!(errorType==30) || notReset){
669  if(!(FedId==38&&chanNmbr==7)){ // mask slow channel that spits out lots of EventNumber errors even when in STDBY!
670  numberOfSeriousErrors++;
671  FedChNErrArray[FedId][chanNmbr]++;
672  FedChLErrArray[FedId][chanNmbr] = errorType;
673  if(errorType<30) FedETypeNErrArray[FedId][errorType-25]++;
674  else if(errorType>30) FedETypeNErrArray[FedId][errorType-19]++;
675  else if(errorType==30 && TBMMessage==0) FedETypeNErrArray[FedId][errorType-25]++;
676  else if(errorType==30 && TBMMessage==1) FedETypeNErrArray[FedId][errorType-24]++;
677  else if(errorType==30 && (TBMMessage==2 || TBMMessage==3 || TBMMessage==4)) FedETypeNErrArray[FedId][errorType-23]++;
678  else if(errorType==30 && TBMMessage==7) FedETypeNErrArray[FedId][errorType-22]++;
679  else if(errorType==30 && TBMType==1) FedETypeNErrArray[FedId][errorType-21]++;
680  else if(errorType==30 && TBMType==2) FedETypeNErrArray[FedId][errorType-20]++;
681  else if(errorType==30 && TBMType==3) FedETypeNErrArray[FedId][errorType-19]++;
682  }
683  }
684  }// end if FedId
685  }// end for loop over all error words
686 
687  if(numberOfSeriousErrors>0) (meNErrors_)->Fill((float)numberOfSeriousErrors);
688  std::string hid;
689  // Get DQM interface
690  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
691  for(int i=0; i!=40; i++){
692  if(static_cast<int>(id_) == i){
693  for(int j=0; j!=37; j++){
694  if(FedChNErrArray[i][j]>0){
695  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChNErrArray_%d";
696  char buf[sizeof(fmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
697  sprintf(buf, fmt, i, j);
698  hid = buf;
699  meFedChNErrArray_[j] = theDMBE->get(hid);
701  }
702  if(FedChLErrArray[i][j]>0){
703  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChLErrArray_%d";
704  char buf[sizeof(fmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
705  sprintf(buf, fmt, i, j);
706  hid = buf;
707  meFedChLErrArray_[j] = theDMBE->get(hid);
709  }
710  if(j<=20 && FedETypeNErrArray[i][j]>0){
711  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedETypeNErrArray_%d";
712  char buf[sizeof(fmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
713  sprintf(buf, fmt, i, j);
714  hid = buf;
715  meFedETypeNErrArray_[j] = theDMBE->get(hid);
717  }
718  }//end for
719  }//end if
720  }//end for
721  }// end if not an empty iterator
722 
723 //std::cout<<"...leaving SiPixelRawDataErrorModule::fillFED. "<<std::endl;
724  return numberOfSeriousErrors;
725 }
int i
Definition: DBlmapReader.cc:9
iterator find(det_id_type id)
Definition: DetSetVector.h:281
MonitorElement * meFedChLErrArray_[37]
MonitorElement * meFedChNErrArray_[37]
void Fill(long long x)
MonitorElement * meFedETypeNErrArray_[21]
static const uint32_t DataBit_mask
int j
Definition: DBlmapReader.cc:9
iterator end()
Return the off-the-end iterator.
Definition: DetSetVector.h:352
static const long long EVTLGT_mask
iterator begin()
Return an iterator to the first DetSet.
Definition: DetSetVector.h:337
collection_type::const_iterator const_iterator
Definition: DetSet.h:31
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:105

Member Data Documentation

bool SiPixelRawDataErrorModule::_debug_
private

Definition at line 56 of file SiPixelRawDataErrorModule.h.

Referenced by SiPixelRawDataErrorModule().

const int SiPixelRawDataErrorModule::ADC_bits = 8
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::ADC_shift = 0
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DataBit_bits = 1
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB0_shift = 0
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB1_shift = DB0_shift + DataBit_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB2_shift = DB1_shift + DataBit_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB3_shift = DB2_shift + DataBit_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB4_shift = DB3_shift + DataBit_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB5_shift = DB4_shift + DataBit_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB6_shift = DB5_shift + DataBit_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB7_shift = DB6_shift + DataBit_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DCOL_bits = 5
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::DCOL_shift = PXID_shift + PXID_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::EVTLGT_bits = 24
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 92 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::EVTLGT_shift = TRLRBGN_shift + TRLRBGN_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

int SiPixelRawDataErrorModule::FedChLErrArray[40][37]
private

Definition at line 57 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), fillFED(), and SiPixelRawDataErrorModule().

int SiPixelRawDataErrorModule::FedChNErrArray[40][37]
private

Definition at line 57 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), fillFED(), and SiPixelRawDataErrorModule().

int SiPixelRawDataErrorModule::FedETypeNErrArray[40][21]
private

Definition at line 57 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), fillFED(), and SiPixelRawDataErrorModule().

uint32_t SiPixelRawDataErrorModule::id_
private

Definition at line 53 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), fill(), and fillFED().

const int SiPixelRawDataErrorModule::LINK_bits = 6
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::LINK_shift = ROC_shift + ROC_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meErrorType_
private

Definition at line 60 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meErrorTypeBlade_
private

Definition at line 81 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meErrorTypeLad_
private

Definition at line 72 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtNbr_
private

Definition at line 65 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meEvtNbrBlade_
private

Definition at line 86 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtNbrLad_
private

Definition at line 77 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtSize_
private

Definition at line 66 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meEvtSizeBlade_
private

Definition at line 87 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtSizeLad_
private

Definition at line 78 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meFedChLErrArray_[37]
private

Definition at line 68 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), fill(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meFedChNErrArray_[37]
private

Definition at line 67 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), fill(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meFedETypeNErrArray_[21]
private

Definition at line 69 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), fill(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meFullType_
private

Definition at line 62 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), fill(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meFullTypeBlade_
private

Definition at line 83 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meFullTypeLad_
private

Definition at line 74 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meNErrors_
private

Definition at line 61 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meNErrorsBlade_
private

Definition at line 82 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meNErrorsLad_
private

Definition at line 73 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMMessage_
private

Definition at line 63 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meTBMMessageBlade_
private

Definition at line 84 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMMessageLad_
private

Definition at line 75 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMType_
private

Definition at line 64 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meTBMTypeBlade_
private

Definition at line 85 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMTypeLad_
private

Definition at line 76 of file SiPixelRawDataErrorModule.h.

int SiPixelRawDataErrorModule::ncols_
private

Definition at line 54 of file SiPixelRawDataErrorModule.h.

int SiPixelRawDataErrorModule::nrows_
private

Definition at line 55 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::PXID_bits = 8
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::PXID_shift = ADC_shift + ADC_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::ROC_bits = 5
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::ROC_shift = DCOL_shift + DCOL_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLRBGN_bits = 32
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 92 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLRBGN_shift = 0
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLREND_bits = 8
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

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

Definition at line 92 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLREND_shift = EVTLGT_shift + EVTLGT_bits
staticprivate

Definition at line 90 of file SiPixelRawDataErrorModule.h.