CMS 3D CMS Logo

/data/doxygen/doxygen-1.7.3/gen/CMSSW_4_2_8/src/DQM/CastorMonitor/interface/CastorDataIntegrityMonitor.h

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_; //-- vector of CASTOR FEDs
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