00001 #ifndef DQM_HCALMONITORTASKS_HCALDETDIAGNOISEMONITOR_H 00002 #define DQM_HCALMONITORTASKS_HCALDETDIAGNOISEMONITOR_H 00003 00004 // user include files 00005 #include "FWCore/Framework/interface/Frameworkfwd.h" 00006 #include "FWCore/Framework/interface/Event.h" 00007 #include "FWCore/Framework/interface/MakerMacros.h" 00008 00009 #include "DQM/HcalMonitorTasks/interface/HcalBaseDQMonitor.h" 00010 00011 #include "DataFormats/JetReco/interface/CaloJetCollection.h" 00012 #include "DataFormats/JetReco/interface/CaloJet.h" 00013 #include "FWCore/ParameterSet/interface/ParameterSet.h" 00014 00015 // forward declarations 00016 class HcalDetDiagNoiseRMSummary; 00017 class DQMStore; 00018 class MonitorElement; 00019 class HcalDbService; 00020 class HcalLogicalMap; 00021 class HcalLogicalMapGenerator; 00022 00023 // ######################################################################################### 00024 00033 class HcalDetDiagNoiseMonitor:public HcalBaseDQMonitor { 00034 public: 00035 HcalDetDiagNoiseMonitor(const edm::ParameterSet& ps); 00036 ~HcalDetDiagNoiseMonitor(); 00037 00038 void setup(); 00039 void analyze(edm::Event const&e, edm::EventSetup const&s); 00040 void done(); 00041 void reset(); 00042 void beginRun(const edm::Run& run, const edm::EventSetup& c); 00043 void endLuminosityBlock(const edm::LuminosityBlock& lumiSeg,const edm::EventSetup& c); 00044 00045 void cleanup(); 00046 void UpdateHistos(); 00047 int GetStatistics(){ return ievt_; } 00048 private: 00049 edm::InputTag L1ADataLabel_; 00050 edm::InputTag digiLabel_; 00051 edm::InputTag rawDataLabel_; 00052 00053 HcalLogicalMap *lmap; 00054 HcalLogicalMapGenerator *gen; 00055 00056 std::string OutputFilePath; 00057 bool Overwrite; 00058 int dataset_seq_number; 00059 00060 bool UseDB; 00061 00062 double HPDthresholdHi; 00063 double HPDthresholdLo; 00064 double SpikeThreshold; 00065 00066 void SaveRates(); 00067 00068 int ievt_; 00069 bool newLS; 00070 int FirstOrbit; 00071 int LastOrbit; 00072 int FirstOrbitLS; 00073 int LastOrbitLS; 00074 int run_number; 00075 int NoisyEvents; 00076 bool LocalRun; 00077 00078 MonitorElement *meEVT_; 00079 00080 MonitorElement *HBP_Rate50; 00081 MonitorElement *HBM_Rate50; 00082 MonitorElement *HEP_Rate50; 00083 MonitorElement *HEM_Rate50; 00084 MonitorElement *HBP_Rate300; 00085 MonitorElement *HBM_Rate300; 00086 MonitorElement *HEP_Rate300; 00087 MonitorElement *HEM_Rate300; 00088 00089 MonitorElement *HO0_Rate50; 00090 MonitorElement *HO1P_Rate50; 00091 MonitorElement *HO1M_Rate50; 00092 MonitorElement *HO0_Rate300; 00093 MonitorElement *HO1P_Rate300; 00094 MonitorElement *HO1M_Rate300; 00095 00096 MonitorElement *HB_RBXmapSpikeCnt; 00097 MonitorElement *HE_RBXmapSpikeCnt; 00098 MonitorElement *HO_RBXmapSpikeCnt; 00099 00100 MonitorElement *PixelMult; 00101 MonitorElement *HPDEnergy; 00102 MonitorElement *RBXEnergy; 00103 MonitorElement *NZeroes; 00104 MonitorElement *TriggerBx11; 00105 MonitorElement *TriggerBx12; 00106 00107 00108 HcalDetDiagNoiseRMSummary* RMSummary; 00109 00110 }; 00111 00112 #endif