Go to the documentation of this file.00001 #ifndef SiPixelMonitorRawData_SiPixelRawDataErrorModule_h
00002 #define SiPixelMonitorRawData_SiPixelRawDataErrorModule_h
00003
00004
00005
00006
00007
00017
00018
00019
00020
00021 #include "DQMServices/Core/interface/MonitorElement.h"
00022 #include "DataFormats/SiPixelRawData/interface/SiPixelRawDataError.h"
00023 #include "DataFormats/Common/interface/DetSetVector.h"
00024 #include "FWCore/ParameterSet/interface/ParameterSet.h"
00025 #include <boost/cstdint.hpp>
00026
00027 class SiPixelRawDataErrorModule {
00028
00029 public:
00030
00032 SiPixelRawDataErrorModule();
00034 SiPixelRawDataErrorModule(const uint32_t& id);
00036 SiPixelRawDataErrorModule(const uint32_t& id, const int& ncols, const int& nrows);
00038 ~SiPixelRawDataErrorModule();
00039
00040 typedef edm::DetSet<SiPixelRawDataError>::const_iterator ErrorIterator;
00041
00043 void book(const edm::ParameterSet& iConfig, int type=0);
00045 void bookFED(const edm::ParameterSet& iConfig);
00047 int fill(const edm::DetSetVector<SiPixelRawDataError> & input, bool modon=true, bool ladon=false, bool bladeon=false);
00049 int fillFED(const edm::DetSetVector<SiPixelRawDataError> & input);
00050
00051 private:
00052
00053 uint32_t id_;
00054 int ncols_;
00055 int nrows_;
00056 bool _debug_;
00057
00058
00059 MonitorElement* meErrorType_;
00060 MonitorElement* meNErrors_;
00061 MonitorElement* meFullType_;
00062 MonitorElement* meTBMMessage_;
00063 MonitorElement* meTBMType_;
00064 MonitorElement* meEvtNbr_;
00065 MonitorElement* meEvtSize_;
00066 MonitorElement* meFedChNErrArray_[37];
00067 MonitorElement* meFedChLErrArray_[37];
00068 MonitorElement* meFedETypeNErrArray_[21];
00069
00070
00071 MonitorElement* meErrorTypeLad_;
00072 MonitorElement* meNErrorsLad_;
00073 MonitorElement* meFullTypeLad_;
00074 MonitorElement* meTBMMessageLad_;
00075 MonitorElement* meTBMTypeLad_;
00076 MonitorElement* meEvtNbrLad_;
00077 MonitorElement* meEvtSizeLad_;
00078
00079
00080 MonitorElement* meErrorTypeBlade_;
00081 MonitorElement* meNErrorsBlade_;
00082 MonitorElement* meFullTypeBlade_;
00083 MonitorElement* meTBMMessageBlade_;
00084 MonitorElement* meTBMTypeBlade_;
00085 MonitorElement* meEvtNbrBlade_;
00086 MonitorElement* meEvtSizeBlade_;
00087
00088 static const int LINK_bits, ROC_bits, DCOL_bits, PXID_bits, ADC_bits, DataBit_bits, TRLRBGN_bits, EVTLGT_bits, TRLREND_bits;
00089 static const int LINK_shift, ROC_shift, DCOL_shift, PXID_shift, ADC_shift, DB0_shift, DB1_shift, DB2_shift, DB3_shift, DB4_shift, DB5_shift, DB6_shift, DB7_shift, TRLRBGN_shift, EVTLGT_shift, TRLREND_shift;
00090 static const uint32_t LINK_mask, ROC_mask, DCOL_mask, PXID_mask, ADC_mask, DataBit_mask;
00091 static const long long TRLRBGN_mask, EVTLGT_mask, TRLREND_mask;
00092 };
00093 #endif