Back to home page

Project CMSSW displayed by LXR

 
 

    


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

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 ProcessWithMEMap4(BookingHelper& bh, ME4IdsKey key) override;
0050   int ProcessWithMEMap5WithChamber(BookingHelper& bh, ME5IdsKey key) override;
0051 
0052   const static int nNumBitDigiOcc_ = 16384;
0053 
0054   const edm::ESGetToken<GEMChMap, GEMChMapRcd> gemChMapToken_;
0055 
0056   edm::EDGetToken tagDigi_;
0057 
0058   edm::EDGetTokenT<LumiScalersCollection> lumiScalers_;
0059 
0060   std::map<ME4IdsKey, Int_t> mapChamberType_;
0061   std::map<ME3IdsKey, Int_t> mapStripToVFAT_;
0062 
0063   MEMap3Inf mapDigiWheel_layer_;
0064 
0065   MEMap4Inf mapTotalDigi_layer_;
0066   MEMap4Inf mapDigiOcc_ieta_;
0067   MEMap4Inf mapDigiOcc_phi_;
0068   MEMap4Inf mapTotalDigiPerEvtLayer_;
0069   MEMap3Inf mapTotalDigiPerEvtIEta_;
0070   MEMap2Inf mapBX_;
0071 
0072   MEMap5Inf mapDigiOccPerCh_;
0073 
0074   std::string strFolderMain_;
0075 
0076   Bool_t useDBEMap_;
0077 
0078   Int_t nBXMin_, nBXMax_;
0079   Float_t fRadiusMin_;
0080   Float_t fRadiusMax_;
0081 };
0082 
0083 #endif  // DQM_GEM_INTERFACE_GEMDigiSource_h