Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 #ifndef L1TdeStage2uGT_H
0002 #define L1TdeStage2uGT_H
0003 
0004 // system include files
0005 #include <memory>
0006 #include <string>
0007 #include <array>
0008 
0009 // user include files
0010 #include "FWCore/Framework/interface/Frameworkfwd.h"
0011 
0012 #include "FWCore/Framework/interface/Event.h"
0013 #include "FWCore/Framework/interface/MakerMacros.h"
0014 
0015 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0016 
0017 // #include "FWCore/ServiceRegistry/interface/Service.h"
0018 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0019 
0020 #include "FWCore/Framework/interface/ESHandle.h"
0021 #include "FWCore/Framework/interface/LuminosityBlock.h"
0022 
0023 #include "DQMServices/Core/interface/DQMStore.h"
0024 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0025 
0026 #include "DataFormats/L1TGlobal/interface/GlobalAlgBlk.h"
0027 // #include "DataFormats/Provenance/interface/EventAuxiliary.h"
0028 
0029 #include "CondFormats/RunInfo/interface/RunInfo.h"
0030 #include "CondFormats/DataRecord/interface/RunSummaryRcd.h"
0031 
0032 #include "L1Trigger/L1TGlobal/interface/L1TGlobalUtil.h"
0033 
0034 #include "FWCore/Utilities/interface/RegexMatch.h"
0035 
0036 class L1TdeStage2uGT : public DQMEDAnalyzer {
0037 public:
0038   L1TdeStage2uGT(const edm::ParameterSet& ps);
0039   ~L1TdeStage2uGT() override;
0040 
0041 protected:
0042   void analyze(const edm::Event& e, const edm::EventSetup& c) override;
0043   void bookHistograms(DQMStore::IBooker& ibooker, const edm::Run&, const edm::EventSetup&) override;
0044 
0045 private:
0046   // Input and config info
0047   edm::InputTag dataLabel_;
0048   edm::EDGetTokenT<GlobalAlgBlkBxCollection> dataSource_;
0049   edm::InputTag emulLabel_;
0050   edm::EDGetTokenT<GlobalAlgBlkBxCollection> emulSource_;
0051   std::vector<std::string> triggerBlackList_;
0052   int numBx_;
0053   std::string histFolder_;
0054   l1t::L1TGlobalUtil gtUtil_;
0055   int numLS_;
0056   uint m_currentLumi;
0057   uint m_currentRun;
0058 
0059   int firstBx, lastBx;
0060 
0061   std::map<std::string, MonitorElement*> m_HistNamesInitial, m_HistNamesFinal, m_SummaryHistograms;
0062   MonitorElement* initDecisionMismatchesDnoE_vs_LS;
0063   MonitorElement* initDecisionMismatchesEnoD_vs_LS;
0064   MonitorElement* finalDecisionMismatchesDnoE_vs_LS;
0065   MonitorElement* finalDecisionMismatchesEnoD_vs_LS;
0066   MonitorElement* m_normalizationHisto;
0067 
0068   enum SummaryColumn {
0069     NInitalMismatchDataNoEmul,
0070     NInitalMismatchEmulNoData,
0071     NFinalMismatchDataNoEmul,
0072     NFinalMismatchEmulNoData,
0073     NSummaryColumns,
0074   };
0075 
0076   void fillHist(const std::map<std::string, MonitorElement*>&, const std::string&, const Double_t&, const Double_t&);
0077 };
0078 
0079 #endif