57 auto cc = setWhatProduced(
this);
58 dtToken_ = cc.consumes();
59 cscToken_ = cc.consumes();
60 gemToken_ = cc.consumes();
61 me0Token_ = cc.consumes();
62 rpcToken_ = cc.consumes();
66 const std::string metname =
"Muon|RecoMuon|RecoMuonDetLayers|MuonDetLayerGeometryESProducer";
67 auto muonDetLayerGeometry = std::make_unique<MuonDetLayerGeometry>();
73 LogInfo(metname) <<
"No DT geometry is available.";
80 LogInfo(metname) <<
"No CSC geometry is available.";
84 if (
auto gem = record.
getHandle(gemToken_)) {
87 LogInfo(metname) <<
"No GEM geometry is available.";
91 if (
auto me0 = record.
getHandle(me0Token_)) {
94 LogDebug(metname) <<
"No ME0 geometry is available.";
102 LogInfo(metname) <<
"No RPC geometry is available.";
106 muonDetLayerGeometry->sortLayers();
108 return muonDetLayerGeometry;
const std::string metname
ESHandle< ProductT > getHandle(ESGetToken< ProductT, DepRecordT > const &iToken) const
static void fillDescriptions(edm::ConfigurationDescriptions &descriptions)
edm::ESGetToken< DTGeometry, MuonGeometryRecord > dtToken_
void addDefault(ParameterSetDescription const &psetDescription)
static std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > buildLayers(const CSCGeometry &geo)
static std::vector< DetLayer * > buildLayers(const DTGeometry &geo)
Operations.
Log< level::Info, false > LogInfo
static std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > buildEndcapLayers(const ME0Geometry &geo)
#define DEFINE_FWK_EVENTSETUP_MODULE(type)
static std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > buildEndcapLayers(const RPCGeometry &geo)
std::unique_ptr< MuonDetLayerGeometry > produce(const MuonRecoGeometryRecord &record)
Produce MuonDeLayerGeometry.
edm::ESGetToken< ME0Geometry, MuonGeometryRecord > me0Token_
edm::ESGetToken< RPCGeometry, MuonGeometryRecord > rpcToken_
MuonDetLayerGeometryESProducer(const edm::ParameterSet &p)
Constructor.
edm::ESGetToken< CSCGeometry, MuonGeometryRecord > cscToken_
edm::ESGetToken< GEMGeometry, MuonGeometryRecord > gemToken_
static std::pair< std::vector< DetLayer * >, std::vector< DetLayer * > > buildEndcapLayers(const GEMGeometry &geo)
static std::vector< DetLayer * > buildBarrelLayers(const RPCGeometry &geo)
Builds the barrel layers. Result vector is sorted inside-out.