Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:18

0001 #include "FWCore/Framework/interface/one/EDAnalyzer.h"
0002 #include "FWCore/Framework/interface/MakerMacros.h"
0003 #include "FWCore/Framework/interface/ESTransientHandle.h"
0004 #include "FWCore/Framework/interface/EventSetup.h"
0005 #include "FWCore/MessageLogger/interface/MessageLogger.h"
0006 #include "Geometry/Records/interface/MuonNumberingRecord.h"
0007 #include "Geometry/MuonNumbering/interface/DD4hep_MuonNumbering.h"
0008 
0009 class DDTestMuonNumbering : public edm::one::EDAnalyzer<> {
0010 public:
0011   explicit DDTestMuonNumbering(const edm::ParameterSet&) : numberingToken_(esConsumes()) {}
0012 
0013   void analyze(edm::Event const& iEvent, edm::EventSetup const&) override;
0014 
0015 private:
0016   const edm::ESGetToken<cms::MuonNumbering, MuonNumberingRecord> numberingToken_;
0017 };
0018 
0019 void DDTestMuonNumbering::analyze(const edm::Event&, const edm::EventSetup& iEventSetup) {
0020   edm::LogVerbatim("Geometry") << "DDTestMuonNumbering::analyze";
0021   auto numbering = iEventSetup.getTransientHandle(numberingToken_);
0022 
0023   edm::LogVerbatim("Geometry") << "MuonNumbering size: " << numbering->values().size();
0024   edm::LogVerbatim("Geometry").log([&numbering](auto& log) {
0025     for (const auto& i : numbering->values()) {
0026       log << " " << i.first << " = " << i.second;
0027       log << '\n';
0028     }
0029   });
0030 }
0031 
0032 DEFINE_FWK_MODULE(DDTestMuonNumbering);