Go to the documentation of this file.00001 #ifndef DQM_CASTORMONITOR_CASTORDATAINTEGRITYMONITOR_H
00002 #define DQM_CASTORMONITOR_CASTORDATAINTEGRITYMONITOR_H
00003
00004 #include "DQM/CastorMonitor/interface/CastorBaseMonitor.h"
00005 #include "EventFilter/CastorRawToDigi/interface/CastorUnpacker.h"
00006 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00007
00008 #include <map>
00009
00010 class CastorDataIntegrityMonitor: public CastorBaseMonitor
00011 {
00012
00013 public:
00014 CastorDataIntegrityMonitor();
00015 ~CastorDataIntegrityMonitor();
00016
00017 void setup(const edm::ParameterSet& ps, DQMStore* dbe);
00018
00019 void processEvent(const FEDRawDataCollection& RawData, const HcalUnpackerReport& report, const CastorElectronicsMap& emap);
00020
00021 void unpack(const FEDRawData& raw, const CastorElectronicsMap& emap);
00022
00023 void cleanup();
00024
00025 void reset();
00026
00027 public:
00028 std::map<uint32_t, std::vector<HcalCastorDetId> > DCCtoCell;
00029 std::map<uint32_t, std::vector<HcalCastorDetId> > ::iterator thisDCC;
00030
00031 private:
00032
00033 std::vector<std::vector<bool> > problemCASTOR;
00034
00035 void mapHTRproblem (int dcc, int spigot) ;
00036 void mapDCCproblem(int dcc) ;
00037 void fillzoos(int bin, int dccid);
00038 void UpdateMap();
00039
00040
00041 std::vector<int> fedUnpackList_;
00042 int dccid;
00043 int ievt_;
00044 bool CDFProbThisDCC;
00045 int spigotStatus;
00046 double statusSpigotDCC;
00047
00048 private:
00049
00050 int problemsSpigot[15][3];
00051
00053
00054 MonitorElement* meEVT_;
00055 MonitorElement* fedEntries;
00056 MonitorElement* fedFatal;
00057 MonitorElement* fedNonFatal;
00058
00059 MonitorElement* meDCCVersion;
00060 MonitorElement* spigotStatusMap;
00061
00063 std::map<int, short> CDFversionNumber_list;
00064 std::map<int, short>::iterator CDFvers_it;
00065 std::map<int, short> CDFEventType_list;
00066 std::map<int, short>::iterator CDFEvT_it;
00067 std::map<int, short> CDFReservedBits_list;
00068 std::map<int, short>::iterator CDFReservedBits_it;
00069 std::map<int, short> DCCEvtFormat_list;
00070 std::map<int, short>::iterator DCCEvtFormat_it;
00071 std::map<int, short> DCCRsvdBits_list;
00072 std::map<int, short>::iterator DCCRsvdBits_it;
00073
00074 };
00075
00076 #endif