Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:07:45

0001 #ifndef DQM_L1TMonitor_L1TStage2RegionalMuonShowerComp_h
0002 #define DQM_L1TMonitor_L1TStage2RegionalMuonShowerComp_h
0003 
0004 #include "DataFormats/L1TMuon/interface/RegionalMuonShower.h"
0005 
0006 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0007 #include "DQMServices/Core/interface/DQMStore.h"
0008 
0009 #include "FWCore/Framework/interface/Event.h"
0010 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0011 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0012 #include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h"
0013 #include "FWCore/ParameterSet/interface/ParameterSetDescription.h"
0014 
0015 class L1TStage2RegionalMuonShowerComp : public DQMEDAnalyzer {
0016 public:
0017   L1TStage2RegionalMuonShowerComp(const edm::ParameterSet& ps);
0018   ~L1TStage2RegionalMuonShowerComp() override;
0019   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0020 
0021 protected:
0022   void bookHistograms(DQMStore::IBooker&, const edm::Run&, const edm::EventSetup&) override;
0023   void analyze(const edm::Event&, const edm::EventSetup&) override;
0024 
0025 private:
0026   enum variables {
0027     BXRANGEGOOD = 1,
0028     BXRANGEBAD,
0029     NSHOWERGOOD,
0030     NSHOWERBAD,
0031     SHOWERALL,
0032     SHOWERGOOD,
0033     NOMINALBAD,
0034     TIGHTBAD,
0035     LOOSEBAD
0036   };
0037   enum ratioVariables { RBXRANGE = 1, RNSHOWER, RSHOWER, RNOMINAL, RTIGHT, RLOOSE };
0038   enum tfs { EMTFNEGBIN = 1, EMTFPOSBIN };
0039   int numSummaryBins_{LOOSEBAD};
0040   int numErrBins_{RLOOSE};
0041   bool incBin_[RLOOSE + 1];
0042 
0043   edm::EDGetTokenT<l1t::RegionalMuonShowerBxCollection> showerToken1_;
0044   edm::EDGetTokenT<l1t::RegionalMuonShowerBxCollection> showerToken2_;
0045   std::string monitorDir_;
0046   std::string showerColl1Title_;
0047   std::string showerColl2Title_;
0048   std::string summaryTitle_;
0049   std::vector<int> ignoreBin_;
0050   bool verbose_;
0051 
0052   MonitorElement* summary_;
0053   MonitorElement* errorSummaryNum_;
0054   MonitorElement* errorSummaryDen_;
0055 
0056   MonitorElement* showerColl1BxRange_;
0057   MonitorElement* showerColl1nShowers_;
0058   MonitorElement* showerColl1ShowerTypeVsProcessor_;
0059   MonitorElement* showerColl1ShowerTypeVsBX_;
0060   MonitorElement* showerColl1ProcessorVsBX_;
0061 
0062   MonitorElement* showerColl2BxRange_;
0063   MonitorElement* showerColl2nShowers_;
0064   MonitorElement* showerColl2ShowerTypeVsProcessor_;
0065   MonitorElement* showerColl2ShowerTypeVsBX_;
0066   MonitorElement* showerColl2ProcessorVsBX_;
0067 
0068   static constexpr unsigned IDX_LOOSE_SHOWER{3};
0069   static constexpr unsigned IDX_TIGHT_SHOWER{2};
0070   static constexpr unsigned IDX_NOMINAL_SHOWER{1};
0071 };
0072 
0073 #endif