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

Added "/dd4hep::cm" to the DTGeometryBuilder Class #32485

Merged
merged 2 commits into from Dec 16, 2020
Merged
Show file tree
Hide file tree
Changes from 1 commit
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
26 changes: 22 additions & 4 deletions Geometry/DTGeometryBuilder/plugins/dd4hep/DTGeometryBuilder.cc
Expand Up @@ -40,6 +40,7 @@
#include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
#include "DTGeometryBuilder.h"
#include "DD4hep/Detector.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include <memory>
#include <string>
Expand All @@ -50,6 +51,8 @@ using namespace std;
using namespace cms;

void DTGeometryBuilder::buildGeometry(DDFilteredView& fview, DTGeometry& geom, const MuonGeometryConstants& num) const {
edm::LogVerbatim("DTGeometryBuilder") << "(0) DTGeometryBuilder - DD4Hep ";

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It looks like line 89 also needs conversion:

 new Plane(Surface::PositionType(tr[0], tr[1], tr[2]),

I believe these are positions in cm.

bool doChamber = fview.firstChild();

while (doChamber) {
Expand Down Expand Up @@ -96,7 +99,11 @@ DTChamber* DTGeometryBuilder::buildChamber(DDFilteredView& fview, const MuonGeom
DTChamberId detId(rawid);
auto const& par = fview.parameters();

RCPPlane surf(plane(fview, new RectangularPlaneBounds(par[0], par[1], par[2])));
edm::LogVerbatim("DTGeometryBuilder") << "(1) detId: " << rawid << " par[0]: " << par[0] / dd4hep::cm
<< " par[1]: " << par[1] / dd4hep::cm << " par[2]: " << par[2] / dd4hep::cm;

RCPPlane surf(
plane(fview, new RectangularPlaneBounds(par[0] / dd4hep::cm, par[1] / dd4hep::cm, par[2] / dd4hep::cm)));

DTChamber* chamber = new DTChamber(detId, surf);

Expand All @@ -114,7 +121,11 @@ DTSuperLayer* DTGeometryBuilder::buildSuperLayer(DDFilteredView& fview,

auto const& par = fview.parameters();

RCPPlane surf(plane(fview, new RectangularPlaneBounds(par[0], par[1], par[2])));
edm::LogVerbatim("DTGeometryBuilder") << "(2) detId: " << rawid << " par[0]: " << par[0] / dd4hep::cm
<< " par[1]: " << par[1] / dd4hep::cm << " par[2]: " << par[2] / dd4hep::cm;

RCPPlane surf(
plane(fview, new RectangularPlaneBounds(par[0] / dd4hep::cm, par[1] / dd4hep::cm, par[2] / dd4hep::cm)));

DTSuperLayer* slayer = new DTSuperLayer(slId, surf, chamber);

Expand All @@ -134,13 +145,20 @@ DTLayer* DTGeometryBuilder::buildLayer(DDFilteredView& fview,

auto const& par = fview.parameters();

RCPPlane surf(plane(fview, new RectangularPlaneBounds(par[0], par[1], par[2])));
edm::LogVerbatim("DTGeometryBuilder") << "(3) detId: " << rawid << " par[0]: " << par[0] / dd4hep::cm
<< " par[1]: " << par[1] / dd4hep::cm << " par[2]: " << par[2] / dd4hep::cm;

RCPPlane surf(
plane(fview, new RectangularPlaneBounds(par[0] / dd4hep::cm, par[1] / dd4hep::cm, par[2] / dd4hep::cm)));

fview.down();
bool doWire = fview.sibling();
int firstWire = fview.volume()->GetNumber();
auto const& wpar = fview.parameters();
float wireLength = wpar[1];
float wireLength = wpar[1] / dd4hep::cm;

edm::LogVerbatim("DTGeometryBuilder") << "(4) detId: " << rawid << " wpar[1]: " << wpar[1] / dd4hep::cm
<< " firstWire: " << firstWire;

int WCounter = 0;
while (doWire) {
Expand Down
26 changes: 22 additions & 4 deletions Geometry/DTGeometryBuilder/src/DTGeometryBuilderFromDD4Hep.cc
Expand Up @@ -38,6 +38,7 @@
#include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
#include "DTGeometryBuilderFromDD4Hep.h"
#include "DD4hep/Detector.h"
#include "FWCore/MessageLogger/interface/MessageLogger.h"

#include <memory>
#include <string>
Expand All @@ -49,6 +50,8 @@ using namespace std;
void DTGeometryBuilderFromDD4Hep::buildGeometry(cms::DDFilteredView& fview,
DTGeometry& geom,
const MuonGeometryConstants& num) const {
edm::LogVerbatim("DTGeometryBuilder") << "(0) DTGeometryBuilder - DD4Hep ";

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Same translation problem here, same line 89.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@cvuosalo : done

bool doChamber = fview.firstChild();

while (doChamber) {
Expand Down Expand Up @@ -97,7 +100,11 @@ DTChamber* DTGeometryBuilderFromDD4Hep::buildChamber(cms::DDFilteredView& fview,
DTChamberId detId(rawid);
auto const& par = fview.parameters();

RCPPlane surf(plane(fview, new RectangularPlaneBounds(par[0], par[1], par[2])));
RCPPlane surf(
plane(fview, new RectangularPlaneBounds(par[0] / dd4hep::cm, par[1] / dd4hep::cm, par[2] / dd4hep::cm)));

edm::LogVerbatim("DTGeometryBuilder") << "(1) detId: " << rawid << " par[0]: " << par[0] / dd4hep::cm
<< " par[1]: " << par[1] / dd4hep::cm << " par[2]: " << par[2] / dd4hep::cm;

DTChamber* chamber = new DTChamber(detId, surf);

Expand All @@ -115,7 +122,11 @@ DTSuperLayer* DTGeometryBuilderFromDD4Hep::buildSuperLayer(cms::DDFilteredView&

auto const& par = fview.parameters();

RCPPlane surf(plane(fview, new RectangularPlaneBounds(par[0], par[1], par[2])));
RCPPlane surf(
plane(fview, new RectangularPlaneBounds(par[0] / dd4hep::cm, par[1] / dd4hep::cm, par[2] / dd4hep::cm)));

edm::LogVerbatim("DTGeometryBuilder") << "(2) detId: " << rawid << " par[0]: " << par[0] / dd4hep::cm
<< " par[1]: " << par[1] / dd4hep::cm << " par[2]: " << par[2] / dd4hep::cm;

DTSuperLayer* slayer = new DTSuperLayer(slId, surf, chamber);

Expand All @@ -135,13 +146,20 @@ DTLayer* DTGeometryBuilderFromDD4Hep::buildLayer(cms::DDFilteredView& fview,

auto const& par = fview.parameters();

RCPPlane surf(plane(fview, new RectangularPlaneBounds(par[0], par[1], par[2])));
RCPPlane surf(
plane(fview, new RectangularPlaneBounds(par[0] / dd4hep::cm, par[1] / dd4hep::cm, par[2] / dd4hep::cm)));

edm::LogVerbatim("DTGeometryBuilder") << "(3) detId: " << rawid << " par[0]: " << par[0] / dd4hep::cm
<< " par[1]: " << par[1] / dd4hep::cm << " par[2]: " << par[2] / dd4hep::cm;

fview.down();
bool doWire = fview.sibling();
int firstWire = fview.volume()->GetNumber();
auto const& wpar = fview.parameters();
float wireLength = wpar[1];
float wireLength = wpar[1] / dd4hep::cm;

edm::LogVerbatim("DTGeometryBuilder") << "(4) detId: " << rawid << " wpar[1]: " << wpar[1] / dd4hep::cm
<< " firstWire: " << firstWire;

int WCounter = 0;
while (doWire) {
Expand Down
19 changes: 17 additions & 2 deletions Geometry/DTGeometryBuilder/src/DTGeometryBuilderFromDDD.cc
Expand Up @@ -16,9 +16,8 @@
#include "Geometry/MuonNumbering/interface/MuonBaseNumber.h"
#include "Geometry/MuonNumbering/interface/DTNumberingScheme.h"
#include "DataFormats/MuonDetId/interface/DTChamberId.h"

#include "DataFormats/GeometrySurface/interface/RectangularPlaneBounds.h"

#include "FWCore/MessageLogger/interface/MessageLogger.h"
#include <string>

using namespace std;
Expand Down Expand Up @@ -54,6 +53,8 @@ void DTGeometryBuilderFromDDD::build(DTGeometry& theGeometry,
void DTGeometryBuilderFromDDD::buildGeometry(DTGeometry& theGeometry,
DDFilteredView& fv,
const MuonGeometryConstants& muonConstants) const {
edm::LogVerbatim("DTGeometryBuilder") << "(0) DTGeometryBuilder - DDD ";

bool doChamber = fv.firstChild();

// Loop on chambers
Expand Down Expand Up @@ -119,6 +120,9 @@ DTChamber* DTGeometryBuilderFromDDD::buildChamber(DDFilteredView& fv,
// length is along local Y. z dimension - constant 125.55 cm
// thickness is long local Z. radial thickness - almost constant about 18 cm

edm::LogVerbatim("DTGeometryBuilder") << "(1) detId: " << rawid << " par[0]: " << par[0] << " par[1]: " << par[1]
<< " par[2]: " << par[2];

RCPPlane surf(plane(fv, dtGeometryBuilder::getRecPlaneBounds(par.begin())));

DTChamber* chamber = new DTChamber(detId, surf);
Expand All @@ -138,6 +142,9 @@ DTSuperLayer* DTGeometryBuilderFromDDD::buildSuperLayer(DDFilteredView& fv,
// Slayer specific parameter (size)
vector<double> par = extractParameters(fv);

edm::LogVerbatim("DTGeometryBuilder") << "(2) detId: " << rawid << " par[0]: " << par[0] << " par[1]: " << par[1]
<< " par[2]: " << par[2];

// r-phi dimension - different in different chambers
// z dimension - constant 126.8 cm
// radial thickness - almost constant about 20 cm
Expand Down Expand Up @@ -172,12 +179,20 @@ DTLayer* DTGeometryBuilderFromDDD::buildLayer(DDFilteredView& fv,

RCPPlane surf(plane(fv, dtGeometryBuilder::getRecPlaneBounds(par.begin())));

edm::LogVerbatim("DTGeometryBuilder") << "(3) detId: " << rawid << " par[0]: " << par[0] << " par[1]: " << par[1]
<< " par[2]: " << par[2];

// Loop on wires
bool doWire = fv.firstChild();
int WCounter = 0;
int firstWire = fv.copyno();
par = extractParameters(fv);
float wireLength = convertMmToCm(par[1]);

edm::LogVerbatim("DTGeometryBuilder") << "(4) detId: " << rawid
<< " wireLenght in ddd, wpar[1] in dd4hep: " << wireLength
<< " firstWire: " << firstWire;

while (doWire) {
WCounter++;
doWire = fv.nextSibling(); // next wire
Expand Down
@@ -0,0 +1,30 @@
import FWCore.ParameterSet.Config as cms
from Configuration.Eras.Era_Run3_cff import Run3

process = cms.Process('VALID',Run3)

process.source = cms.Source('EmptySource')

process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)

process.load('Configuration.Geometry.GeometryExtended2021_cff')
process.load("FWCore.MessageLogger.MessageLogger_cfi")
process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi")
process.load("Geometry.MuonNumbering.muonGeometryConstants_cff")
process.load("Geometry.DTGeometryBuilder.dtGeometry_cfi")

process.MessageLogger = cms.Service("MessageLogger",
destinations = cms.untracked.vstring('myLog'),
myLog = cms.untracked.PSet(
threshold = cms.untracked.string('INFO'),
)
)

process.valid = cms.EDAnalyzer("DTGeometryValidate",
infileName = cms.untracked.string('cmsRecoGeom-2021.root'),
outfileName = cms.untracked.string('validateDTGeometryDDD.root'),
)

process.p = cms.Path(process.valid)
Expand Up @@ -13,6 +13,12 @@
process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi")
process.load("Geometry.MuonNumbering.muonGeometryConstants_cff")

process.MessageLogger = cms.Service("MessageLogger",
destinations = cms.untracked.vstring('myLog'),
myLog = cms.untracked.PSet(
threshold = cms.untracked.string('INFO'),
)
)

process.DTGeometryESProducer = cms.ESProducer("DTGeometryESProducer",
DDDetector = cms.ESInputTag('',''),
Expand Down