Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-10-25 09:42:31

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 {
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   int numSummaryBins_{LOOSEBAD};
0039   int numErrBins_{RLOOSE};
0040   bool incBin_[RLOOSE + 1];
0041 
0042   edm::EDGetTokenT<l1t::MuonShowerBxCollection> showerToken1_;
0043   edm::EDGetTokenT<l1t::MuonShowerBxCollection> showerToken2_;
0044   std::string monitorDir_;
0045   std::string showerColl1Title_;
0046   std::string showerColl2Title_;
0047   std::string summaryTitle_;
0048   std::vector<int> ignoreBin_;
0049   bool verbose_;
0050 
0051   MonitorElement* summary_;
0052   MonitorElement* errorSummaryNum_;
0053   MonitorElement* errorSummaryDen_;
0054 
0055   MonitorElement* showerColl1BxRange_;
0056   MonitorElement* showerColl1nShowers_;
0057   MonitorElement* showerColl1ShowerTypeVsBX_;
0058 
0059   MonitorElement* showerColl2BxRange_;
0060   MonitorElement* showerColl2nShowers_;
0061   MonitorElement* showerColl2ShowerTypeVsBX_;
0062 
0063   static constexpr unsigned IDX_LOOSE_SHOWER{3};
0064   static constexpr unsigned IDX_TIGHT_SHOWER{2};
0065   static constexpr unsigned IDX_NOMINAL_SHOWER{1};
0066 };
0067 
0068 #endif