Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:31

0001 #ifndef _ANOMALOUSNOISE_ANALYZERS_NOISERATES_H_
0002 #define _ANOMALOUSNOISE_ANALYZERS_NOISERATES_H_
0003 
0004 //
0005 // NoiseRates.h
0006 //
0007 //    description: Makes plots to calculate the anomalous noise rates
0008 //
0009 //    author: J.P. Chou, Brown
0010 //
0011 //
0012 
0013 // system include files
0014 #include <memory>
0015 #include <string>
0016 #include <vector>
0017 
0018 // user include files
0019 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0020 #include "FWCore/Framework/interface/EventSetup.h"
0021 #include "FWCore/Framework/interface/Frameworkfwd.h"
0022 
0023 #include "FWCore/Framework/interface/Event.h"
0024 #include "FWCore/Framework/interface/MakerMacros.h"
0025 
0026 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0027 
0028 #include "DQMServices/Core/interface/DQMStore.h"
0029 
0030 #include "FWCore/ServiceRegistry/interface/Service.h"
0031 
0032 #include "DataFormats/METReco/interface/HcalNoiseRBX.h"
0033 
0034 // Hcal Hoise Summary
0035 #include "DataFormats/METReco/interface/HcalNoiseSummary.h"
0036 
0037 //
0038 // class declaration
0039 //
0040 
0041 class NoiseRates : public DQMEDAnalyzer {
0042 public:
0043   explicit NoiseRates(const edm::ParameterSet &);
0044   ~NoiseRates() override = default;
0045 
0046   void bookHistograms(DQMStore::IBooker &, edm::Run const &, edm::EventSetup const &) override;
0047 
0048 private:
0049   void analyze(const edm::Event &, const edm::EventSetup &) override;
0050 
0051   const std::string outputFile_;
0052 
0053   // parameters
0054   const edm::InputTag rbxCollName_;  // label for the rbx collection
0055   const double minRBXEnergy_;        // RBX energy threshold
0056   const double minHitEnergy_;        // RecHit energy threshold
0057   const bool useAllHistos_;
0058 
0059   const edm::EDGetTokenT<reco::HcalNoiseRBXCollection> tok_rbx_;
0060   // Hcal Noise Summary Parameters
0061   const edm::EDGetTokenT<HcalNoiseSummary> noisetoken_;
0062 
0063   MonitorElement *hLumiBlockCount_;
0064   MonitorElement *hRBXEnergy_;
0065   MonitorElement *hRBXEnergyType1_;
0066   MonitorElement *hRBXEnergyType2_;
0067   MonitorElement *hRBXEnergyType3_;
0068   MonitorElement *hRBXNHits_;
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   // count lumi segments
0089   std::map<int, int> lumiCountMap_;
0090 };
0091 
0092 #endif