Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 10:57:45

0001 #ifndef _DQMOFFLINE_HCAL_HCALNOISERATES_H_
0002 #define _DQMOFFLINE_HCAL_HCALNOISERATES_H_
0003 
0004 //
0005 // NoiseRates.h
0006 //
0007 //    description: Makes plots to calculate the anomalous noise rates
0008 //
0009 //    author: K. Hatakeyama, H. Liu, Baylor
0010 //
0011 //
0012 
0013 // system include files
0014 #include <memory>
0015 #include <string>
0016 #include <vector>
0017 
0018 // user include files
0019 #include "FWCore/Framework/interface/EventSetup.h"
0020 #include "FWCore/Framework/interface/Frameworkfwd.h"
0021 
0022 #include "FWCore/Framework/interface/Event.h"
0023 #include "FWCore/Framework/interface/MakerMacros.h"
0024 
0025 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0026 
0027 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0028 #include "DQMServices/Core/interface/DQMStore.h"
0029 
0030 #include "DataFormats/METReco/interface/HcalNoiseRBX.h"
0031 
0032 // Hcal Hoise Summary
0033 #include "DataFormats/METReco/interface/HcalNoiseSummary.h"
0034 
0035 //
0036 // class declaration
0037 //
0038 
0039 class HcalNoiseRates : public DQMEDAnalyzer {
0040 public:
0041   explicit HcalNoiseRates(const edm::ParameterSet &);
0042   ~HcalNoiseRates() override;
0043 
0044 private:
0045   void analyze(const edm::Event &, const edm::EventSetup &) override;
0046   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0047 
0048   std::string outputFile_;
0049 
0050   // parameters
0051   edm::InputTag rbxCollName_;  // label for the rbx collection
0052   edm::EDGetTokenT<reco::HcalNoiseRBXCollection> tok_rbx_;
0053   double minRBXEnergy_;  // RBX energy threshold
0054   double minHitEnergy_;  // RecHit energy threshold
0055   bool useAllHistos_;
0056 
0057   // Hcal Noise Summary Parameters
0058   edm::EDGetTokenT<HcalNoiseSummary> noisetoken_;
0059 
0060   MonitorElement *hLumiBlockCount_;
0061   MonitorElement *hRBXEnergy_;
0062   MonitorElement *hRBXEnergyType1_;
0063   MonitorElement *hRBXEnergyType2_;
0064   MonitorElement *hRBXEnergyType3_;
0065   MonitorElement *hRBXNHits_;
0066 
0067   // count lumi segments
0068   std::map<int, int> lumiCountMap_;
0069 
0070   // Hcal Noise Summary Plots
0071 
0072   MonitorElement *nNNumChannels_;
0073   MonitorElement *nNSumE_;
0074   MonitorElement *nNSumEt_;
0075 
0076   MonitorElement *sNNumChannels_;
0077   MonitorElement *sNSumE_;
0078   MonitorElement *sNSumEt_;
0079 
0080   MonitorElement *iNNumChannels_;
0081   MonitorElement *iNSumE_;
0082   MonitorElement *iNSumEt_;
0083 
0084   MonitorElement *hNoise_maxZeros_;
0085   MonitorElement *hNoise_maxHPDHits_;
0086   MonitorElement *hNoise_maxHPDNoOtherHits_;
0087 };
0088 
0089 #endif