File indexing completed on 2024-04-06 12:08:22
0001 #ifndef SiPixelMonitorRawData_SiPixelRawDataErrorModule_h
0002 #define SiPixelMonitorRawData_SiPixelRawDataErrorModule_h
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024 #include "DataFormats/Common/interface/DetSetVector.h"
0025 #include "DataFormats/SiPixelRawData/interface/SiPixelRawDataError.h"
0026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0027 #include <cstdint>
0028
0029 class SiPixelRawDataErrorModule {
0030 public:
0031 typedef dqm::reco::MonitorElement MonitorElement;
0032 typedef dqm::reco::DQMStore DQMStore;
0033
0034
0035 SiPixelRawDataErrorModule();
0036
0037 SiPixelRawDataErrorModule(const uint32_t &id);
0038
0039 SiPixelRawDataErrorModule(const uint32_t &id, const int &ncols, const int &nrows);
0040
0041 ~SiPixelRawDataErrorModule();
0042
0043 typedef edm::DetSet<SiPixelRawDataError>::const_iterator ErrorIterator;
0044
0045
0046 void book(const edm::ParameterSet &iConfig, DQMStore::IBooker &, int type = 0, bool isUpgrade = false);
0047
0048 int fill(const edm::DetSetVector<SiPixelRawDataError> &input,
0049 std::map<std::string, MonitorElement **> *meMapFEDs,
0050 bool modon = true,
0051 bool ladon = false,
0052 bool bladeon = false);
0053
0054 int fillFED(const edm::DetSetVector<SiPixelRawDataError> &input, std::map<std::string, MonitorElement **> *meMapFEDs);
0055
0056 private:
0057 uint32_t id_;
0058 int ncols_;
0059 int nrows_;
0060 bool _debug_;
0061
0062
0063 MonitorElement *meErrorTypeLad_;
0064 MonitorElement *meNErrorsLad_;
0065 MonitorElement *meFullTypeLad_;
0066 MonitorElement *meTBMMessageLad_;
0067 MonitorElement *meTBMTypeLad_;
0068 MonitorElement *meEvtNbrLad_;
0069 MonitorElement *meEvtSizeLad_;
0070
0071
0072 MonitorElement *meErrorTypeBlade_;
0073 MonitorElement *meNErrorsBlade_;
0074 MonitorElement *meFullTypeBlade_;
0075 MonitorElement *meTBMMessageBlade_;
0076 MonitorElement *meTBMTypeBlade_;
0077 MonitorElement *meEvtNbrBlade_;
0078 MonitorElement *meEvtSizeBlade_;
0079
0080 static const int LINK_bits, ROC_bits, DCOL_bits, PXID_bits, ADC_bits, DataBit_bits, TRLRBGN_bits, EVTLGT_bits,
0081 TRLREND_bits;
0082 static const int LINK_shift, ROC_shift, DCOL_shift, PXID_shift, ADC_shift, DB0_shift, DB1_shift, DB2_shift, DB3_shift,
0083 DB4_shift, DB5_shift, DB6_shift, DB7_shift, TRLRBGN_shift, EVTLGT_shift, TRLREND_shift;
0084 static const uint32_t LINK_mask, ROC_mask, DCOL_mask, PXID_mask, ADC_mask, DataBit_mask;
0085 static const unsigned long long TRLRBGN_mask, EVTLGT_mask, TRLREND_mask;
0086 };
0087 #endif