00001 #ifndef _ANOMALOUSNOISE_ANALYZERS_NOISERATES_H_ 00002 #define _ANOMALOUSNOISE_ANALYZERS_NOISERATES_H_ 00003 00004 00005 // 00006 // NoiseRates.h 00007 // 00008 // description: Makes plots to calculate the anomalous noise rates 00009 // 00010 // author: J.P. Chou, Brown 00011 // 00012 // 00013 00014 // system include files 00015 #include <memory> 00016 #include <string> 00017 #include <vector> 00018 00019 // user include files 00020 #include "FWCore/Framework/interface/Frameworkfwd.h" 00021 #include "FWCore/Framework/interface/EDAnalyzer.h" 00022 #include "FWCore/Framework/interface/EventSetup.h" 00023 00024 #include "FWCore/Framework/interface/Event.h" 00025 #include "FWCore/Framework/interface/MakerMacros.h" 00026 00027 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00028 00029 #include "DQMServices/Core/interface/DQMStore.h" 00030 #include "DQMServices/Core/interface/MonitorElement.h" 00031 00032 #include "FWCore/ServiceRegistry/interface/Service.h" 00033 00034 00035 // 00036 // class declaration 00037 // 00038 00039 class NoiseRates : public edm::EDAnalyzer { 00040 public: 00041 explicit NoiseRates(const edm::ParameterSet&); 00042 ~NoiseRates(); 00043 00044 00045 private: 00046 virtual void beginJob(); 00047 virtual void analyze(const edm::Event&, const edm::EventSetup&); 00048 virtual void endJob(); 00049 00050 DQMStore* dbe_; 00051 std::string outputFile_; 00052 00053 // parameters 00054 edm::InputTag rbxCollName_; // label for the rbx collection 00055 double minRBXEnergy_; // RBX energy threshold 00056 double minHitEnergy_; // RecHit energy threshold 00057 bool useAllHistos_; 00058 00059 MonitorElement* hLumiBlockCount_; 00060 MonitorElement* hRBXEnergy_; 00061 MonitorElement* hRBXEnergyType1_; 00062 MonitorElement* hRBXEnergyType2_; 00063 MonitorElement* hRBXEnergyType3_; 00064 MonitorElement* hRBXNHits_; 00065 00066 // count lumi segments 00067 std::map<int, int> lumiCountMap_; 00068 00069 }; 00070 00071 00072 #endif