Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2022-11-28 04:00:51

0001 #ifndef DQM_GEM_INTERFACE_GEMDigiSource_h
0002 #define DQM_GEM_INTERFACE_GEMDigiSource_h
0003 
0004 #include "FWCore/Framework/interface/ESHandle.h"
0005 #include "FWCore/Framework/interface/MakerMacros.h"
0006 #include "FWCore/PluginManager/interface/ModuleDef.h"
0007 #include "FWCore/Framework/interface/Event.h"
0008 #include "FWCore/Framework/interface/EventSetup.h"
0009 #include "FWCore/ParameterSet/interface/ParameterSet.h"
0010 #include "FWCore/Utilities/interface/InputTag.h"
0011 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0012 
0013 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0014 #include "DQMServices/Core/interface/DQMEDAnalyzer.h"
0015 #include "DQMServices/Core/interface/DQMStore.h"
0016 #include "DQMServices/Core/interface/MonitorElement.h"
0017 
0018 #include "Validation/MuonGEMHits/interface/GEMValidationUtils.h"
0019 
0020 #include "CondFormats/DataRecord/interface/GEMChMapRcd.h"
0021 #include "CondFormats/GEMObjects/interface/GEMChMap.h"
0022 #include "DataFormats/GEMDigi/interface/GEMDigiCollection.h"
0023 
0024 #include "DataFormats/Scalers/interface/LumiScalers.h"
0025 
0026 #include "DQM/GEM/interface/GEMDQMBase.h"
0027 
0028 #include <string>
0029 
0030 //----------------------------------------------------------------------------------------------------
0031 
0032 class GEMDigiSource : public GEMDQMBase {
0033 public:
0034   explicit GEMDigiSource(const edm::ParameterSet& cfg);
0035   ~GEMDigiSource() override{};
0036   static void fillDescriptions(edm::ConfigurationDescriptions& descriptions);
0037 
0038 protected:
0039   void LoadROMap(edm::EventSetup const& iSetup);
0040 
0041   void dqmBeginRun(edm::Run const&, edm::EventSetup const&) override{};
0042   void bookHistograms(DQMStore::IBooker&, edm::Run const&, edm::EventSetup const&) override;
0043   void analyze(edm::Event const& e, edm::EventSetup const& eSetup) override;
0044 
0045 private:
0046   int ProcessWithMEMap2WithEta(BookingHelper& bh, ME3IdsKey key) override;
0047   int ProcessWithMEMap2(BookingHelper& bh, ME2IdsKey key) override;
0048   int ProcessWithMEMap3(BookingHelper& bh, ME3IdsKey key) override;
0049   int ProcessWithMEMap3WithChamber(BookingHelper& bh, ME4IdsKey key) override;
0050 
0051   const static int nNumBitDigiOcc_ = 16384;
0052 
0053   const edm::ESGetToken<GEMChMap, GEMChMapRcd> gemChMapToken_;
0054 
0055   edm::EDGetToken tagDigi_;
0056 
0057   edm::EDGetTokenT<LumiScalersCollection> lumiScalers_;
0058 
0059   std::map<ME4IdsKey, Int_t> mapChamberType_;
0060   std::map<ME3IdsKey, Int_t> mapStripToVFAT_;
0061 
0062   MEMap3Inf mapTotalDigi_layer_;
0063   MEMap3Inf mapDigiWheel_layer_;
0064   MEMap3Inf mapDigiOcc_ieta_;
0065   MEMap3Inf mapDigiOcc_phi_;
0066   MEMap3Inf mapTotalDigiPerEvtLayer_;
0067   MEMap3Inf mapTotalDigiPerEvtIEta_;
0068   MEMap2Inf mapBX_;
0069 
0070   MEMap4Inf mapDigiOccPerCh_;
0071 
0072   std::string strFolderMain_;
0073 
0074   Int_t nBXMin_, nBXMax_;
0075   Float_t fRadiusMin_;
0076   Float_t fRadiusMax_;
0077 };
0078 
0079 #endif  // DQM_GEM_INTERFACE_GEMDigiSource_h