CMS 3D CMS Logo

CMSSW_4_4_3_patch1/src/DQM/HcalMonitorTasks/interface/HcalNZSMonitor.h

Go to the documentation of this file.
00001 #ifndef DQM_HCALMONITORTASKS_HCALNZSMONITOR_H
00002 #define DQM_HCALMONITORTASKS_HCALNZSMONITOR_H
00003 
00004 #include "DQM/HcalMonitorTasks/interface/HcalBaseDQMonitor.h"
00005 #include "EventFilter/HcalRawToDigi/interface/HcalHTRData.h"
00006 #include "EventFilter/HcalRawToDigi/interface/HcalUnpacker.h"  // need for emap
00007 #include "DataFormats/FEDRawData/interface/FEDRawDataCollection.h"
00008 #include "DataFormats/Common/interface/TriggerResults.h"
00009 
00010 class HcalNZSMonitor: public HcalBaseDQMonitor 
00011 {
00012  public:
00013   HcalNZSMonitor(const edm::ParameterSet& ps);
00014   ~HcalNZSMonitor();
00015 
00016 
00017   void setup();
00018   void beginRun(const edm::Run& run, const edm::EventSetup& c);
00019   void analyze(edm::Event const&e, edm::EventSetup const&s);
00020   void processEvent(const FEDRawDataCollection& rawraw, edm::TriggerResults, int bxNum,const edm::TriggerNames & triggerNames);
00021 
00022 
00023 
00024   void unpack(const FEDRawData& raw, const HcalElectronicsMap& emap);
00025   void cleanup();
00026   void reset();
00027 
00028  private: 
00029   // Data accessors
00030   std::vector<int> selFEDs_;
00031    
00032   std::vector<std::string>  triggers_;
00033   int period_;
00034   
00035   //Monitoring elements
00036   MonitorElement* meFEDsizeVsLumi_;
00037   
00038   MonitorElement* meFEDsizesNZS_;
00039   MonitorElement* meL1evtNumber_;
00040   MonitorElement* meIsUS_;
00041   MonitorElement* meBXtriggered_;
00042   MonitorElement* meTrigFrac_;
00043   MonitorElement* meFullCMSdataSize_;
00044 
00045   bool isUnsuppressed (HcalHTRData& payload); //Return the US bit: ExtHdr7[bit 15]
00046   uint64_t UScount[32][15];
00047 
00048   int nAndAcc;
00049   int nAcc_Total;
00050   std::vector<int> nAcc;
00051 
00052   edm::InputTag rawdataLabel_;
00053   edm::InputTag hltresultsLabel_;
00054 };
00055 
00056 
00057 #endif