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