Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Run3-gem38 Correct ME0GeometryBuilder to take care of DDD and DD4HEP #29943

Merged
merged 5 commits into from May 28, 2020
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
2 changes: 1 addition & 1 deletion CalibMuon/DTCalibration/plugins/DTGeometryParserFromDDD.cc
Expand Up @@ -79,7 +79,7 @@ void DTGeometryParserFromDDD::parseGeometry(DDFilteredView& fv,
void DTGeometryParserFromDDD::buildLayer(DDFilteredView& fv,
const MuonGeometryConstants& muonConstants,
map<DTLayerId, std::pair<unsigned int, unsigned int> >& theLayerIdWiresMap) {
MuonDDDNumbering mdddnum(muonConstants);
MuonGeometryNumbering mdddnum(muonConstants);
DTNumberingScheme dtnum(muonConstants);
int rawid = dtnum.getDetId(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
DTLayerId layId(rawid);
Expand Down
2 changes: 1 addition & 1 deletion CalibMuon/DTCalibration/plugins/DTGeometryParserFromDDD.h
Expand Up @@ -9,7 +9,7 @@
#include "DetectorDescription/Core/interface/DDFilter.h"
#include "DetectorDescription/Core/interface/DDFilteredView.h"
#include "DetectorDescription/Core/interface/DDSolid.h"
#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryConstants.h"
#include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
Expand Down
2 changes: 0 additions & 2 deletions Geometry/CSCGeometryBuilder/plugins/CSCGeometryESModule.cc
Expand Up @@ -22,8 +22,6 @@
#include <memory>

#include "Geometry/MuonNumbering/interface/DD4hep_MuonNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"

using namespace edm;

Expand Down
4 changes: 2 additions & 2 deletions Geometry/CSCGeometryBuilder/src/CSCGeometryParsFromDD.cc
Expand Up @@ -17,7 +17,7 @@
#include "Geometry/CSCGeometry/interface/CSCChamberSpecs.h"
#include "Geometry/MuonNumbering/interface/CSCNumberingScheme.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryConstants.h"

#include "Geometry/CSCGeometry/src/CSCWireGroupPackage.h"
Expand Down Expand Up @@ -82,7 +82,7 @@ bool CSCGeometryParsFromDD::build(const DDCompactView* cview,

LogTrace(myName) << myName << ": create numbering scheme...";

MuonDDDNumbering mdn(muonConstants);
MuonGeometryNumbering mdn(muonConstants);
MuonBaseNumber mbn = mdn.geoHistoryToBaseNumber(fv.geoHistory());
CSCNumberingScheme mens(muonConstants);

Expand Down
8 changes: 4 additions & 4 deletions Geometry/DTGeometryBuilder/src/DTGeometryBuilderFromDDD.cc
Expand Up @@ -12,7 +12,7 @@
#include <DetectorDescription/Core/interface/DDFilteredView.h>
#include <DetectorDescription/Core/interface/DDSolid.h>
#include "DataFormats/Math/interface/GeantUnits.h"
#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
#include "DataFormats/MuonDetId/interface/DTChamberId.h"
Expand Down Expand Up @@ -105,7 +105,7 @@ void DTGeometryBuilderFromDDD::buildGeometry(DTGeometry& theGeometry,
DTChamber* DTGeometryBuilderFromDDD::buildChamber(DDFilteredView& fv,
const string& type,
const MuonGeometryConstants& muonConstants) const {
MuonDDDNumbering mdddnum(muonConstants);
MuonGeometryNumbering mdddnum(muonConstants);
DTNumberingScheme dtnum(muonConstants);
int rawid = dtnum.getDetId(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
DTChamberId detId(rawid);
Expand All @@ -130,7 +130,7 @@ DTSuperLayer* DTGeometryBuilderFromDDD::buildSuperLayer(DDFilteredView& fv,
DTChamber* chamber,
const std::string& type,
const MuonGeometryConstants& muonConstants) const {
MuonDDDNumbering mdddnum(muonConstants);
MuonGeometryNumbering mdddnum(muonConstants);
DTNumberingScheme dtnum(muonConstants);
int rawid = dtnum.getDetId(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
DTSuperLayerId slId(rawid);
Expand Down Expand Up @@ -159,7 +159,7 @@ DTLayer* DTGeometryBuilderFromDDD::buildLayer(DDFilteredView& fv,
DTSuperLayer* sl,
const std::string& type,
const MuonGeometryConstants& muonConstants) const {
MuonDDDNumbering mdddnum(muonConstants);
MuonGeometryNumbering mdddnum(muonConstants);
DTNumberingScheme dtnum(muonConstants);
int rawid = dtnum.getDetId(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
DTLayerId layId(rawid);
Expand Down
8 changes: 4 additions & 4 deletions Geometry/DTGeometryBuilder/src/DTGeometryParsFromDD.cc
Expand Up @@ -12,7 +12,7 @@
#include <DetectorDescription/Core/interface/DDFilter.h>
#include <DetectorDescription/Core/interface/DDFilteredView.h>
#include <DetectorDescription/Core/interface/DDSolid.h>
#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
#include "DataFormats/MuonDetId/interface/DTChamberId.h"
Expand Down Expand Up @@ -102,7 +102,7 @@ void DTGeometryParsFromDD::insertChamber(DDFilteredView& fv,
const string& type,
const MuonGeometryConstants& muonConstants,
RecoIdealGeometry& rig) const {
MuonDDDNumbering mdddnum(muonConstants);
MuonGeometryNumbering mdddnum(muonConstants);
DTNumberingScheme dtnum(muonConstants);
int rawid = dtnum.getDetId(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
DTChamberId detId(rawid);
Expand All @@ -128,7 +128,7 @@ void DTGeometryParsFromDD::insertSuperLayer(DDFilteredView& fv,
const std::string& type,
const MuonGeometryConstants& muonConstants,
RecoIdealGeometry& rig) const {
MuonDDDNumbering mdddnum(muonConstants);
MuonGeometryNumbering mdddnum(muonConstants);
DTNumberingScheme dtnum(muonConstants);
int rawid = dtnum.getDetId(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
DTSuperLayerId slId(rawid);
Expand All @@ -150,7 +150,7 @@ void DTGeometryParsFromDD::insertLayer(DDFilteredView& fv,
const std::string& type,
const MuonGeometryConstants& muonConstants,
RecoIdealGeometry& rig) const {
MuonDDDNumbering mdddnum(muonConstants);
MuonGeometryNumbering mdddnum(muonConstants);
DTNumberingScheme dtnum(muonConstants);
int rawid = dtnum.getDetId(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
DTLayerId layId(rawid);
Expand Down
10 changes: 4 additions & 6 deletions Geometry/GEMGeometryBuilder/plugins/GEMGeometryESModule.cc
Expand Up @@ -13,6 +13,7 @@
#include "Geometry/Records/interface/IdealGeometryRecord.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryConstants.h"
#include "DetectorDescription/Core/interface/DDCompactView.h"
#include "DetectorDescription/DDCMS/interface/DDCompactView.h"

#include "Geometry/Records/interface/GEMRecoGeometryRcd.h"
#include "CondFormats/GeometryObjects/interface/RecoIdealGeometry.h"
Expand All @@ -37,11 +38,6 @@

#include <memory>

//dd4hep
#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "DetectorDescription/DDCMS/interface/DDCompactView.h"

using namespace edm;

class GEMGeometryESModule : public edm::ESProducer {
Expand Down Expand Up @@ -76,8 +72,10 @@ GEMGeometryESModule::GEMGeometryESModule(const edm::ParameterSet& p)
applyAlignment_(p.getParameter<bool>("applyAlignment")),
alignmentsLabel_(p.getParameter<std::string>("alignmentsLabel")) {
auto cc = setWhatProduced(this);
if (useDDD_ || useDD4hep_) {
if (useDDD_) {
cc.setConsumes(cpvToken_).setConsumes(mdcToken_);
} else if (useDD4hep_) {
cc.setConsumes(dd4hepcpvToken_).setConsumes(mdcToken_);
} else {
cc.setConsumes(riggemToken_);
}
Expand Down
19 changes: 7 additions & 12 deletions Geometry/GEMGeometryBuilder/plugins/ME0GeometryESModule.cc
Expand Up @@ -14,9 +14,7 @@
#include "Geometry/Records/interface/IdealGeometryRecord.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryConstants.h"
#include "DetectorDescription/Core/interface/DDCompactView.h"

#include "Geometry/MuonNumbering/interface/DD4hep_MuonNumbering.h"
#include <DetectorDescription/DDCMS/interface/DDCompactView.h>
#include "DetectorDescription/DDCMS/interface/DDCompactView.h"

#include "Geometry/Records/interface/ME0RecoGeometryRcd.h"
#include "Geometry/Records/interface/MuonGeometryRecord.h"
Expand All @@ -32,8 +30,6 @@

#include <memory>

using namespace edm;

class ME0GeometryESModule : public edm::ESProducer {
public:
ME0GeometryESModule(const edm::ParameterSet& p);
Expand All @@ -45,7 +41,6 @@ class ME0GeometryESModule : public edm::ESProducer {
edm::ESGetToken<DDCompactView, IdealGeometryRecord> cpvToken_;
edm::ESGetToken<MuonGeometryConstants, IdealGeometryRecord> mdcToken_;
edm::ESGetToken<cms::DDCompactView, IdealGeometryRecord> dd4hepcpvToken_;
edm::ESGetToken<cms::MuonNumbering, MuonNumberingRecord> dd4hepmdcToken_;
edm::ESGetToken<RecoIdealGeometry, ME0RecoGeometryRcd> rigme0Token_;
// use the DDD or DD4hep as Geometry source
bool useDDD_;
Expand All @@ -59,7 +54,7 @@ ME0GeometryESModule::ME0GeometryESModule(const edm::ParameterSet& p) {
if (useDDD_) {
cc.setConsumes(cpvToken_).setConsumes(mdcToken_);
} else if (useDD4hep_) {
cc.setConsumes(dd4hepcpvToken_).setConsumes(dd4hepmdcToken_);
cc.setConsumes(dd4hepcpvToken_).setConsumes(mdcToken_);
} else {
cc.setConsumes(rigme0Token_);
}
Expand All @@ -68,21 +63,21 @@ ME0GeometryESModule::ME0GeometryESModule(const edm::ParameterSet& p) {
ME0GeometryESModule::~ME0GeometryESModule() {}

std::unique_ptr<ME0Geometry> ME0GeometryESModule::produce(const MuonGeometryRecord& record) {
LogTrace("ME0GeometryESModule") << "ME0GeometryESModule::produce with useDDD = " << useDDD_;
edm::LogVerbatim("ME0GeometryESModule") << "ME0GeometryESModule::produce with useDDD = " << useDDD_;
if (useDDD_) {
LogTrace("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilder builder";
edm::LogVerbatim("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilder builder";
auto cpv = record.getTransientHandle(cpvToken_);
const auto& mdc = record.get(mdcToken_);
ME0GeometryBuilder builder;
return std::unique_ptr<ME0Geometry>(builder.build(cpv.product(), mdc));
} else if (useDD4hep_) {
LogTrace("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilder builder DD4hep";
edm::LogVerbatim("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilder builder DD4hep";
auto cpv = record.getTransientHandle(dd4hepcpvToken_);
const auto& mdc = record.get(dd4hepmdcToken_);
const auto& mdc = record.get(mdcToken_);
ME0GeometryBuilder builder;
return std::unique_ptr<ME0Geometry>(builder.build(cpv.product(), mdc));
} else {
LogTrace("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilderFromCondDB builder";
edm::LogVerbatim("ME0GeometryESModule") << "ME0GeometryESModule::produce :: ME0GeometryBuilderFromCondDB builder";
const auto& rigme0 = record.get(rigme0Token_);
ME0GeometryBuilderFromCondDB builder;
return std::unique_ptr<ME0Geometry>(builder.build(rigme0));
Expand Down
18 changes: 7 additions & 11 deletions Geometry/GEMGeometryBuilder/src/GEMGeometryBuilderFromDDD.cc
Expand Up @@ -17,7 +17,7 @@
#include <DetectorDescription/DDCMS/interface/DDFilteredView.h>
#include <DetectorDescription/DDCMS/interface/DDCompactView.h>

#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "Geometry/MuonNumbering/interface/GEMNumberingScheme.h"

Expand Down Expand Up @@ -62,14 +62,14 @@ void GEMGeometryBuilderFromDDD::build(GEMGeometry& theGeometry,
// loop over superchambers
std::vector<GEMSuperChamber*> superChambers;

MuonGeometryNumbering mdddnum(muonConstants);
GEMNumberingScheme gemNum(muonConstants);
while (doSuper) {
// getting chamber id from eta partitions
fv.firstChild();
fv.firstChild();

MuonDDDNumbering mdddnumCh(muonConstants);
GEMNumberingScheme gemNumCh(muonConstants);
int rawidCh = gemNumCh.baseNumberToUnitNumber(mdddnumCh.geoHistoryToBaseNumber(fv.geoHistory()));
int rawidCh = gemNum.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
GEMDetId detIdCh = GEMDetId(rawidCh);

// back to chambers
Expand All @@ -96,9 +96,7 @@ void GEMGeometryBuilderFromDDD::build(GEMGeometry& theGeometry,

if (detIdCh.station() == GEMDetId::minStationId0) {
fv.firstChild();
MuonDDDNumbering mdddnum(muonConstants);
GEMNumberingScheme ge0Num(muonConstants);
int rawId = ge0Num.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
int rawId = gemNum.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
GEMDetId detId = GEMDetId(rawId);
fv.parent();

Expand All @@ -109,8 +107,6 @@ void GEMGeometryBuilderFromDDD::build(GEMGeometry& theGeometry,
bool doEtaPart = fv.firstChild();

while (doEtaPart) {
MuonDDDNumbering mdddnum(muonConstants);
GEMNumberingScheme gemNum(muonConstants);
int rawid = gemNum.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.geoHistory()));
GEMDetId detId = GEMDetId(rawid);
GEMEtaPartition* etaPart = buildEtaPartition(fv, detId);
Expand Down Expand Up @@ -350,10 +346,10 @@ void GEMGeometryBuilderFromDDD::build(GEMGeometry& theGeometry,

// loop over superchambers
std::vector<GEMSuperChamber*> superChambers;
MuonGeometryNumbering mdddnum(muonConstants);
GEMNumberingScheme gemNum(muonConstants);

while (doChambers) {
MuonDDDNumbering mdddnum(muonConstants);
GEMNumberingScheme gemNum(muonConstants);
int rawidCh = gemNum.baseNumberToUnitNumber(mdddnum.geoHistoryToBaseNumber(fv.history()));
GEMDetId detIdCh = GEMDetId(rawidCh);

Expand Down
4 changes: 2 additions & 2 deletions Geometry/GEMGeometryBuilder/src/GEMGeometryParsFromDD.cc
Expand Up @@ -10,7 +10,7 @@
#include "DetectorDescription/Core/interface/DDFilteredView.h"
#include "DetectorDescription/Core/interface/DDSolid.h"

#include "Geometry/MuonNumbering/interface/MuonDDDNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonGeometryNumbering.h"
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "Geometry/MuonNumbering/interface/GEMNumberingScheme.h"

Expand Down Expand Up @@ -45,7 +45,7 @@ void GEMGeometryParsFromDD::buildGeometry(DDFilteredView& fv,
LogDebug("GEMGeometryParsFromDD") << "About to run through the GEM structure\n"
<< " First logical part " << fv.logicalPart().name().name();

MuonDDDNumbering muonDDDNumbering(muonConstants);
MuonGeometryNumbering muonDDDNumbering(muonConstants);
GEMNumberingScheme gemNumbering(muonConstants);

bool doSuper = fv.firstChild();
Expand Down