Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-02-16 06:12:40

0001 #ifndef DQM_L1TMonitor_L1TStage2MuonShowerComp_h
0002 #define DQM_L1TMonitor_L1TStage2MuonShowerComp_h
0003 
0004 #include "DataFormats/L1Trigger/interface/MuonShower.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 L1TStage2MuonShowerComp : public DQMEDAnalyzer {
0016 public:
0017   L1TStage2MuonShowerComp(const edm::ParameterSet& ps);
0018   ~L1TStage2MuonShowerComp() 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 { BXRANGEGOOD = 1, BXRANGEBAD, NSHOWERGOOD, NSHOWERBAD, SHOWERALL, SHOWERGOOD, NOMINALBAD, TIGHTBAD };
0027   enum ratioVariables { RBXRANGE = 1, RNSHOWER, RSHOWER, RNOMINAL, RTIGHT };
0028   int numSummaryBins_{TIGHTBAD};
0029   int numErrBins_{RTIGHT};
0030   bool incBin_[RTIGHT + 1];
0031 
0032   edm::EDGetTokenT<l1t::MuonShowerBxCollection> showerToken1_;
0033   edm::EDGetTokenT<l1t::MuonShowerBxCollection> showerToken2_;
0034   std::string monitorDir_;
0035   std::string showerColl1Title_;
0036   std::string showerColl2Title_;
0037   std::string summaryTitle_;
0038   std::vector<int> ignoreBin_;
0039   bool verbose_;
0040 
0041   MonitorElement* summary_;
0042   MonitorElement* errorSummaryNum_;
0043   MonitorElement* errorSummaryDen_;
0044 
0045   MonitorElement* showerColl1BxRange_;
0046   MonitorElement* showerColl1nShowers_;
0047   MonitorElement* showerColl1ShowerTypeVsBX_;
0048 
0049   MonitorElement* showerColl2BxRange_;
0050   MonitorElement* showerColl2nShowers_;
0051   MonitorElement* showerColl2ShowerTypeVsBX_;
0052 
0053   static constexpr unsigned IDX_TIGHT_SHOWER{2};
0054   static constexpr unsigned IDX_NOMINAL_SHOWER{1};
0055 };
0056 
0057 #endif