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_
 
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_.

SiPixelRawDataErrorModule::SiPixelRawDataErrorModule ( const uint32_t &  id)

Constructor with raw DetId.

Definition at line 72 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 80 of file SiPixelRawDataErrorModule.cc.

References _debug_.

SiPixelRawDataErrorModule::~SiPixelRawDataErrorModule ( )

Destructor.

Definition at line 90 of file SiPixelRawDataErrorModule.cc.

90 {}

Member Function Documentation

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

Book histograms.

Definition at line 94 of file SiPixelRawDataErrorModule.cc.

94  {
95 }
void SiPixelRawDataErrorModule::bookFED ( const edm::ParameterSet iConfig)

Book FED histograms.

Definition at line 99 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.

99  {
100 //std::cout<<"Entering SiPixelRawDataErrorModule::bookFED: "<<std::endl;
101  std::string hid;
102  // Get collection name and instantiate Histo Id builder
103  edm::InputTag src = iConfig.getParameter<edm::InputTag>( "src" );
104  SiPixelHistogramId* theHistogramId = new SiPixelHistogramId( src.label() );
105  // Get DQM interface
106  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
107  // Types of errors
108  hid = theHistogramId->setHistoId("errorType",id_);
109  meErrorType_ = theDMBE->book1D(hid,"Type of errors",15,24.5,39.5);
110  meErrorType_->setAxisTitle("Type of errors",1);
111  // Number of errors
112  hid = theHistogramId->setHistoId("NErrors",id_);
113  meNErrors_ = theDMBE->book1D(hid,"Number of errors",36,0.,36.);
114  meNErrors_->setAxisTitle("Number of errors",1);
115  // Type of FIFO full (errorType = 28). FIFO 1 is 1-5 (where fullType = channel of FIFO 1),
116  // fullType = 6 signifies FIFO 2 nearly full, 7 signifies trigger FIFO nearly full, 8
117  // indicates an unexpected result
118  hid = theHistogramId->setHistoId("fullType",id_);
119  meFullType_ = theDMBE->book1D(hid,"Type of FIFO full",7,0.5,7.5);
120  meFullType_->setAxisTitle("FIFO type",1);
121  // For error type 30, the type of problem encoded in the TBM trailer
122  // 0 = stack full, 1 = Pre-cal issued, 2 = clear trigger counter, 3 = sync trigger,
123  // 4 = sync trigger error, 5 = reset ROC, 6 = reset TBM, 7 = no token bit pass
124  hid = theHistogramId->setHistoId("TBMMessage",id_);
125  meTBMMessage_ = theDMBE->book1D(hid,"TBM trailer message",8,-0.5,7.5);
126  meTBMMessage_->setAxisTitle("TBM message",1);
127  // For error type 30, the type of problem encoded in the TBM error trailer 0 = none
128  // 1 = data stream too long, 2 = FSM errors, 3 = invalid # of ROCs, 4 = multiple
129  hid = theHistogramId->setHistoId("TBMType",id_);
130  meTBMType_ = theDMBE->book1D(hid,"Type of TBM trailer",5,-0.5,4.5);
131  meTBMType_->setAxisTitle("TBM Type",1);
132  // For error type 31, the event number of the TBM header with the error
133  hid = theHistogramId->setHistoId("EvtNbr",id_);
134  meEvtNbr_ = theDMBE->bookInt(hid);
135  // For errorType = 34, datastream size according to error word
136  hid = theHistogramId->setHistoId("evtSize",id_);
137  meEvtSize_ = theDMBE->bookInt(hid);
138 
139  for(int j=0; j!=37; j++){
140  std::stringstream temp; temp << j;
141  hid = "FedChNErrArray_" + temp.str();
142  meFedChNErrArray_[j] = theDMBE->bookInt(hid);
143  hid = "FedChLErrArray_" + temp.str();
144  meFedChLErrArray_[j] = theDMBE->bookInt(hid);
145  hid = "FedETypeNErrArray_" + temp.str();
146  if(j<21) meFedETypeNErrArray_[j] = theDMBE->bookInt(hid);
147  }
148  delete theHistogramId;
149 //std::cout<<"...leaving SiPixelRawDataErrorModule::bookFED. "<<std::endl;
150 }
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 154 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, MonitorElement::Fill(), HcalObjRepresent::Fill(), edm::DetSetVector< T >::find(), DQMStore::get(), id_, PixelBarrelName::isHalfModule(), PixelBarrelName::ladderName(), LINK_bits, LINK_mask, LINK_shift, meFedChLErrArray_, meFedChNErrArray_, meFedETypeNErrArray_, meFullType_, cmsCodeRules.cppFunctionSkipper::operator, PixelSubdetector::PixelBarrel, PixelSubdetector::PixelEndcap, DQMStore::pwd(), and DetId::subdetId().

154  {
155 //std::cout<<"Entering SiPixelRawDataErrorModule::fill: "<<std::endl;
156  bool barrel = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelBarrel);
157  bool endcap = DetId(id_).subdetId() == static_cast<int>(PixelSubdetector::PixelEndcap);
158  bool isHalfModule = false;
159  uint32_t DBladder = 0;
160  if(barrel){
161  isHalfModule = PixelBarrelName(DetId(id_)).isHalfModule();
162  DBladder = PixelBarrelName(DetId(id_)).ladderName();
163 // int FedId = DetId(id_).getFedId(); // FED the error came from
164 
165  }
166 
167  // Get DQM interface
168  DQMStore* theDMBE = edm::Service<DQMStore>().operator->();
169 
170  unsigned int numberOfSeriousErrors = 0;
171 
172  edm::DetSetVector<SiPixelRawDataError>::const_iterator isearch = input.find(id_); // search errors of detid
173 
174  if( isearch != input.end() ) { // Not at empty iterator
175  // Look at errors now
177  for(di = isearch->data.begin(); di != isearch->data.end(); di++) {
178  int FedId = di->getFedId(); // FED the error came from
179  int chanNmbr = -1;
180  int errorType = di->getType(); // type of error
181  int TBMType=-1; int TBMMessage=-1; int evtSize=-1; int evtNbr=-1; int fullType=-1;
182  bool notReset = true;
183  const int LINK_bits = 6;
184  const int LINK_shift = 26;
185  const uint32_t LINK_mask = ~(~(uint32_t)(0) << LINK_bits);
186 
187  if(modon){
188  if(errorType == 32 || errorType == 33 || errorType == 34) {
189  long long errorWord = di->getWord64(); // for 64-bit error words
190  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
191  if(errorType == 34) evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
192  } else {
193  uint32_t errorWord = di->getWord32(); // for 32-bit error words
194  chanNmbr = (errorWord >> LINK_shift) & LINK_mask; // default way to get channel number. Only different for case 29 below.
195  switch(errorType) { // fill in the appropriate monitorables based on the information stored in the error word
196  case(28) : {
197  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
198  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
199  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
200  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
201  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
202  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
203  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
204  if (NFa==1) fullType = 1; (meFullType_)->Fill((int)fullType);
205  if (NFb==1) fullType = 2; (meFullType_)->Fill((int)fullType);
206  if (NFc==1) fullType = 3; (meFullType_)->Fill((int)fullType);
207  if (NFd==1) fullType = 4; (meFullType_)->Fill((int)fullType);
208  if (NFe==1) fullType = 5; (meFullType_)->Fill((int)fullType);
209  if (NF2==1) fullType = 6; (meFullType_)->Fill((int)fullType);
210  if (L1A==1) fullType = 7; (meFullType_)->Fill((int)fullType);
211  chanNmbr = 0; // signifies channel not known
212  break; }
213  case(29) : {
214  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
215  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
216  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
217  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
218  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
219  int BLOCK_bits = 3;
220  int BLOCK_shift = 8;
221  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
222  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
223  int localCH = 1*CH1+2*CH2+3*CH3+4*CH4+5*CH5;
224  if (BLOCK%2==0) chanNmbr=(BLOCK/2)*9+localCH;
225  else chanNmbr = ((BLOCK-1)/2)*9+4+localCH;
226  if ((chanNmbr<1)||(chanNmbr>36)) chanNmbr=0; // signifies unexpected result
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(29) : {
311  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
312  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
313  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
314  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
315  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
316  int BLOCK_bits = 3;
317  int BLOCK_shift = 8;
318  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
319  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
320  int localCH = 1*CH1+2*CH2+3*CH3+4*CH4+5*CH5;
321  if (BLOCK%2==0) chanNmbr=(BLOCK/2)*9+localCH;
322  else chanNmbr = ((BLOCK-1)/2)*9+4+localCH;
323  if ((chanNmbr<1)||(chanNmbr>36)) chanNmbr=0; // signifies unexpected result
324  break; }
325  case(30) : {
326  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
327  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
328  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
329  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
330  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
331  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
332  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
333  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
334  if (T0==1) TBMMessage=0;
335  if (T1==1) TBMMessage=1;
336  if (T2==1) TBMMessage=2;
337  if (T3==1) TBMMessage=3;
338  if (T4==1) TBMMessage=4;
339  if (T5==1) TBMMessage=5;
340  if (T6==1) TBMMessage=6;
341  if (T7==1) TBMMessage=7;
342  int StateMach_bits = 4;
343  int StateMach_shift = 8;
344  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
345  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
346  switch(StateMach) {
347  case(0) : {
348  TBMType = 0;
349  break; }
350  case(1) : case(9) : {
351  TBMType = 1;
352  break; }
353  case(2) : case(4) : case(6) : {
354  TBMType = 2;
355  break; }
356  case(8) : {
357  TBMType = 3;
358  break; }
359  default : TBMType = 4;
360  };
361  break; }
362  case(31) : {
363  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
364  break; }
365  case(36) : {
366  //int ROCId = (errorWord >> ROC_shift) & ROC_mask;
367  break; }
368  case(37) : {
369  //int DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
370  //int PXId = (errorWord >> PXID_shift) & PXID_mask;
371  break; }
372  case(38) : {
373  //int ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
374  break; }
375  default : break;
376  };
377  }
378  }//end if ladderon
379 
380  if(bladeon && endcap){
381  if(errorType == 32 || errorType == 33 || errorType == 34){
382  long long errorWord = di->getWord64(); // for 64-bit error words
383  if(errorType == 34) evtSize = (errorWord >> EVTLGT_shift) & EVTLGT_mask;
384  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
385  } else {
386  uint32_t errorWord = di->getWord32(); // for 32-bit error words
387  chanNmbr = (errorWord >> LINK_shift) & LINK_mask;
388  switch(errorType) { // fill in the appropriate monitorables based on the information stored in the error word
389  case(28) : {
390  int NFa = (errorWord >> DB0_shift) & DataBit_mask;
391  int NFb = (errorWord >> DB1_shift) & DataBit_mask;
392  int NFc = (errorWord >> DB2_shift) & DataBit_mask;
393  int NFd = (errorWord >> DB3_shift) & DataBit_mask;
394  int NFe = (errorWord >> DB4_shift) & DataBit_mask;
395  int NF2 = (errorWord >> DB6_shift) & DataBit_mask;
396  int L1A = (errorWord >> DB7_shift) & DataBit_mask;
397  if (NFa==1) fullType = 1; (meFullType_)->Fill((int)fullType);
398  if (NFb==1) fullType = 2; (meFullType_)->Fill((int)fullType);
399  if (NFc==1) fullType = 3; (meFullType_)->Fill((int)fullType);
400  if (NFd==1) fullType = 4; (meFullType_)->Fill((int)fullType);
401  if (NFe==1) fullType = 5; (meFullType_)->Fill((int)fullType);
402  if (NF2==1) fullType = 6; (meFullType_)->Fill((int)fullType);
403  if (L1A==1) fullType = 7; (meFullType_)->Fill((int)fullType);
404  chanNmbr = 0;
405  break; }
406  case(29) : {
407  int CH1 = (errorWord >> DB0_shift) & DataBit_mask;
408  int CH2 = (errorWord >> DB1_shift) & DataBit_mask;
409  int CH3 = (errorWord >> DB2_shift) & DataBit_mask;
410  int CH4 = (errorWord >> DB3_shift) & DataBit_mask;
411  int CH5 = (errorWord >> DB4_shift) & DataBit_mask;
412  int BLOCK_bits = 3;
413  int BLOCK_shift = 8;
414  uint32_t BLOCK_mask = ~(~uint32_t(0) << BLOCK_bits);
415  int BLOCK = (errorWord >> BLOCK_shift) & BLOCK_mask;
416  int localCH = 1*CH1+2*CH2+3*CH3+4*CH4+5*CH5;
417  if (BLOCK%2==0) chanNmbr=(BLOCK/2)*9+localCH;
418  else chanNmbr = ((BLOCK-1)/2)*9+4+localCH;
419  if ((chanNmbr<1)||(chanNmbr>36)) chanNmbr=0; // signifies unexpected result
420  break; }
421  case(30) : {
422  int T0 = (errorWord >> DB0_shift) & DataBit_mask;
423  int T1 = (errorWord >> DB1_shift) & DataBit_mask;
424  int T2 = (errorWord >> DB2_shift) & DataBit_mask;
425  int T3 = (errorWord >> DB3_shift) & DataBit_mask;
426  int T4 = (errorWord >> DB4_shift) & DataBit_mask;
427  int T5 = (errorWord >> DB5_shift) & DataBit_mask;
428  int T6 = (errorWord >> DB6_shift) & DataBit_mask;
429  int T7 = (errorWord >> DB7_shift) & DataBit_mask;
430  if (T0==1) TBMMessage=0;
431  if (T1==1) TBMMessage=1;
432  if (T2==1) TBMMessage=2;
433  if (T3==1) TBMMessage=3;
434  if (T4==1) TBMMessage=4;
435  if (T5==1) TBMMessage=5;
436  if (T6==1) TBMMessage=6;
437  if (T7==1) TBMMessage=7;
438  int StateMach_bits = 4;
439  int StateMach_shift = 8;
440  uint32_t StateMach_mask = ~(~uint32_t(0) << StateMach_bits);
441  int StateMach = (errorWord >> StateMach_shift) & StateMach_mask;
442  switch(StateMach) {
443  case(0) : {
444  TBMType = 0;
445  break; }
446  case(1) : case(9) : {
447  TBMType = 1;
448  break; }
449  case(2) : case(4) : case(6) : {
450  TBMType = 2;
451  break; }
452  case(8) : {
453  TBMType = 3;
454  break; }
455  default : TBMType = 4;
456  };
457  break; }
458  case(31) : {
459  evtNbr = (errorWord >> ADC_shift) & ADC_mask;
460  break; }
461  case(36) : {
462  //int ROCId = (errorWord >> ROC_shift) & ROC_mask;
463  break; }
464  case(37) : {
465  //int DCOLId = (errorWord >> DCOL_shift) & DCOL_mask;
466  //int PXId = (errorWord >> PXID_shift) & PXID_mask;
467  break; }
468  case(38) : {
469  //int ROCNmbr = (errorWord >> ROC_shift) & ROC_mask;
470  break; }
471  default : break;
472  };
473  }
474  }//end if bladeon
475 
476  if(!(FedId==38&&chanNmbr==7)){ // mask slow channel that spits out lots of EventNumber errors even when in STDBY!
477  if(!(errorType==30) || notReset){
478  std::string hid;
479  static const char chNfmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChNErrArray_%d";
480  char chNbuf[sizeof(chNfmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
481  sprintf(chNbuf, chNfmt, FedId, chanNmbr);
482  hid = chNbuf;
483  meFedChNErrArray_[chanNmbr] = theDMBE->get(hid);
484  if(meFedChNErrArray_[chanNmbr]) meFedChNErrArray_[chanNmbr]->Fill(meFedChNErrArray_[chanNmbr]->getIntValue()+1);
485 
486  static const char chLfmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedChLErrArray_%d";
487  char chLbuf[sizeof(chLfmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
488  sprintf(chLbuf, chLfmt, FedId, chanNmbr);
489  hid = chLbuf;
490  meFedChLErrArray_[chanNmbr] = theDMBE->get(hid);
491  if(meFedChLErrArray_[chanNmbr]) meFedChLErrArray_[chanNmbr]->Fill(errorType);
492 
493  numberOfSeriousErrors++;
494  int messageType = 99;
495  if(errorType<30) messageType = errorType-25;
496  else if(errorType>30) messageType = errorType-19;
497  else if(errorType==30 && TBMMessage==0) messageType = errorType-25;
498  else if(errorType==30 && TBMMessage==1) messageType = errorType-24;
499  else if(errorType==30 && (TBMMessage==2 || TBMMessage==3 || TBMMessage==4)) messageType = errorType-23;
500  else if(errorType==30 && TBMMessage==7) messageType = errorType-22;
501  else if(errorType==30 && TBMType==1) messageType = errorType-21;
502  else if(errorType==30 && TBMType==2) messageType = errorType-20;
503  else if(errorType==30 && TBMType==3) messageType = errorType-19;
504  if(messageType<=20){
505  static const char fmt[] = "Pixel/AdditionalPixelErrors/FED_%d/FedETypeNErrArray_%d";
506  char buf[sizeof(fmt) + 2*32]; // 32 digits is enough for up to 2^105 + sign.
507  sprintf(buf, fmt, FedId, messageType);
508  hid = buf;
509  meFedETypeNErrArray_[messageType] = theDMBE->get(hid);
510  if(meFedETypeNErrArray_[messageType]) meFedETypeNErrArray_[messageType]->Fill(meFedETypeNErrArray_[messageType]->getIntValue()+1);
511  }
512  }
513 
514  std::string currDir = theDMBE->pwd();
515  static const char buf[] = "Pixel/AdditionalPixelErrors/FED_%d";
516  char feddir[sizeof(buf)+2];
517  sprintf(feddir,buf,FedId);
518  theDMBE->cd(feddir);
519  MonitorElement* me;
520  static const char buf1[] = "Pixel/AdditionalPixelErrors/FED_%d/NErrors_siPixelDigis_%d";
521  char hname1[sizeof(buf1)+4];
522  sprintf(hname1,buf1,FedId,FedId);
523  me = theDMBE->get(hname1);
524  if(me) me->Fill((int)numberOfSeriousErrors);
525  static const char buf2[] = "Pixel/AdditionalPixelErrors/FED_%d/TBMMessage_siPixelDigis_%d";
526  char hname2[sizeof(buf2)+4];
527  sprintf(hname2,buf2,FedId,FedId);
528  me = theDMBE->get(hname2);
529  if(me) me->Fill((int)TBMMessage);
530  static const char buf3[] = "Pixel/AdditionalPixelErrors/FED_%d/TBMType_siPixelDigis_%d";
531  char hname3[sizeof(buf3)+4];
532  sprintf(hname3,buf3,FedId,FedId);
533  me = theDMBE->get(hname3);
534  if(me) me->Fill((int)TBMType);
535  static const char buf4[] = "Pixel/AdditionalPixelErrors/FED_%d/errorType_siPixelDigis_%d";
536  char hname4[sizeof(buf4)+4];
537  sprintf(hname4,buf4,FedId,FedId);
538  me = theDMBE->get(hname4);
539  if(me) me->Fill((int)errorType);
540  static const char buf5[] = "Pixel/AdditionalPixelErrors/FED_%d/fullType_siPixelDigis_%d";
541  char hname5[sizeof(buf5)+4];
542  sprintf(hname5,buf5,FedId,FedId);
543  me = theDMBE->get(hname5);
544  if(me) me->Fill((int)fullType);
545  static const char buf6[] = "Pixel/AdditionalPixelErrors/FED_%d/EvtNbr_siPixelDigis_%d";
546  char hname6[sizeof(buf6)+4];
547  sprintf(hname6,buf6,FedId,FedId);
548  me = theDMBE->get(hname6);
549  if(me) me->Fill((int)evtNbr);
550  static const char buf7[] = "Pixel/AdditionalPixelErrors/FED_%d/evtSize_siPixelDigis_%d";
551  char hname7[sizeof(buf7)+4];
552  sprintf(hname7,buf7,FedId,FedId);
553  me = theDMBE->get(hname7);
554  if(me) me->Fill((int)evtSize);
555  theDMBE->cd(currDir);
556  }
557  }//end for loop over all errors on module
558  }//end if not an empty iterator
559 
560  return numberOfSeriousErrors;
561 }
iterator find(det_id_type id)
Definition: DetSetVector.h:285
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
void Fill(HcalDetId &id, double val, std::vector< TH2F > &depth)
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:356
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:341
collection_type::const_iterator const_iterator
Definition: DetSet.h:32
collection_type::const_iterator const_iterator
Definition: DetSetVector.h:106
int SiPixelRawDataErrorModule::fillFED ( const edm::DetSetVector< SiPixelRawDataError > &  input)

Fill FED histograms.

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

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

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 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::ADC_shift = 0
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DataBit_bits = 1
staticprivate

Definition at line 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB0_shift = 0
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB1_shift = DB0_shift + DataBit_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB2_shift = DB1_shift + DataBit_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB3_shift = DB2_shift + DataBit_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB4_shift = DB3_shift + DataBit_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB5_shift = DB4_shift + DataBit_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB6_shift = DB5_shift + DataBit_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DB7_shift = DB6_shift + DataBit_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::DCOL_bits = 5
staticprivate

Definition at line 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 90 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::DCOL_shift = PXID_shift + PXID_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::EVTLGT_bits = 24
staticprivate

Definition at line 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::EVTLGT_shift = TRLRBGN_shift + TRLRBGN_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

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 88 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

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

Definition at line 90 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

const int SiPixelRawDataErrorModule::LINK_shift = ROC_shift + ROC_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

Referenced by fill(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meErrorType_
private

Definition at line 59 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meErrorTypeBlade_
private

Definition at line 80 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meErrorTypeLad_
private

Definition at line 71 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtNbr_
private

Definition at line 64 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meEvtNbrBlade_
private

Definition at line 85 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtNbrLad_
private

Definition at line 76 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtSize_
private

Definition at line 65 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meEvtSizeBlade_
private

Definition at line 86 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meEvtSizeLad_
private

Definition at line 77 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meFedChLErrArray_[37]
private

Definition at line 67 of file SiPixelRawDataErrorModule.h.

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

MonitorElement* SiPixelRawDataErrorModule::meFedChNErrArray_[37]
private

Definition at line 66 of file SiPixelRawDataErrorModule.h.

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

MonitorElement* SiPixelRawDataErrorModule::meFedETypeNErrArray_[21]
private

Definition at line 68 of file SiPixelRawDataErrorModule.h.

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

MonitorElement* SiPixelRawDataErrorModule::meFullType_
private

Definition at line 61 of file SiPixelRawDataErrorModule.h.

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

MonitorElement* SiPixelRawDataErrorModule::meFullTypeBlade_
private

Definition at line 82 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meFullTypeLad_
private

Definition at line 73 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meNErrors_
private

Definition at line 60 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meNErrorsBlade_
private

Definition at line 81 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meNErrorsLad_
private

Definition at line 72 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMMessage_
private

Definition at line 62 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meTBMMessageBlade_
private

Definition at line 83 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMMessageLad_
private

Definition at line 74 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMType_
private

Definition at line 63 of file SiPixelRawDataErrorModule.h.

Referenced by bookFED(), and fillFED().

MonitorElement* SiPixelRawDataErrorModule::meTBMTypeBlade_
private

Definition at line 84 of file SiPixelRawDataErrorModule.h.

MonitorElement* SiPixelRawDataErrorModule::meTBMTypeLad_
private

Definition at line 75 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 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 90 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::PXID_shift = ADC_shift + ADC_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::ROC_bits = 5
staticprivate

Definition at line 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 90 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::ROC_shift = DCOL_shift + DCOL_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLRBGN_bits = 32
staticprivate

Definition at line 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLRBGN_shift = 0
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLREND_bits = 8
staticprivate

Definition at line 88 of file SiPixelRawDataErrorModule.h.

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

Definition at line 91 of file SiPixelRawDataErrorModule.h.

const int SiPixelRawDataErrorModule::TRLREND_shift = EVTLGT_shift + EVTLGT_bits
staticprivate

Definition at line 89 of file SiPixelRawDataErrorModule.h.