Skip to content

Commit

Permalink
Merge pull request #38422 from bsunanda/Phase2-hgx315C
Browse files Browse the repository at this point in the history
Phase2-hgx315C Tests to investigate overlaps in the dd4hep version of HGCal
  • Loading branch information
cmsbuild committed Jun 23, 2022
2 parents f3a612d + e2582cc commit 26397c3
Show file tree
Hide file tree
Showing 6 changed files with 76 additions and 15 deletions.
@@ -0,0 +1,35 @@
<?xml version="1.0"?>
<DDDefinition>
<debug>
<!--
<debug_shapes/>
<debug_includes/>
<debug_rotations/>
<debug_includes/>
<debug_volumes/>
<debug_constants/>
<debug_namespaces/>
<debug_placements/>
<debug_algorithms/>
<debug_materials/>
<debug_visattr/>
-->
</debug>

<open_geometry/>
<close_geometry/>

<IncludeSection>
<Include ref="Geometry/CMSCommonData/data/materials/2021/v3/materials.xml"/>
<Include ref="Geometry/CMSCommonData/data/rotations.xml"/>
<Include ref="Geometry/HGCalCommonData/test/cms.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalMaterial/v2/hgcalMaterial.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcal.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml"/>
<Include ref="Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalpos.xml"/>
<Include ref="Geometry/HGCalCommonData/data/dd4hep/world.xml"/>
</IncludeSection>

</DDDefinition>

10 changes: 2 additions & 8 deletions Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc
Expand Up @@ -22,7 +22,7 @@
class DDHGCalWaferPartialRotated : public DDAlgorithm {
public:
// Constructor and Destructor
DDHGCalWaferPartialRotated();
DDHGCalWaferPartialRotated() = default;
~DDHGCalWaferPartialRotated() override = default;

void initialize(const DDNumericArguments& nArgs,
Expand Down Expand Up @@ -54,12 +54,6 @@ class DDHGCalWaferPartialRotated : public DDAlgorithm {
std::string nameSpace_; // Namespace to be used
};

DDHGCalWaferPartialRotated::DDHGCalWaferPartialRotated() {
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated: Creating an instance";
#endif
}

void DDHGCalWaferPartialRotated::initialize(const DDNumericArguments& nArgs,
const DDVectorArguments& vArgs,
const DDMapArguments&,
Expand Down Expand Up @@ -111,7 +105,7 @@ void DDHGCalWaferPartialRotated::initialize(const DDNumericArguments& nArgs,
senseType_ = static_cast<int>(nArgs["SenseType"]);
nameSpace_ = DDCurrentNamespace::ns();
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated: NameSpace " << nameSpace_ << " Sensitive Layer Name "
edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated: NameSpace " << nameSpace_ << ": Sensitive Layer Name "
<< senseName_ << " Thickness " << senseT_ << " Type " << senseType_;
#endif
}
Expand Down
Expand Up @@ -74,6 +74,9 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext
<< senseName << " Thickness " << senseT << " Type " << senseType;
#endif

#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "==>> Executing DDHGCalWaferPartialRotated...";
#endif
static constexpr double tol = 0.00001 * dd4hep::mm;
static const double sqrt3 = std::sqrt(3.0);
double r = 0.5 * waferSize;
Expand Down Expand Up @@ -123,6 +126,10 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext
double zi(-0.5 * thick), thickTot(0.0);
for (unsigned int l = 0; l < layers.size(); l++) {
unsigned int i = layers[l];
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated:Layer " << l << ":" << i << " T " << layerThick[i]
<< " Copy " << copyNumber[i];
#endif
if (copyNumber[i] == 1) {
if (layerType[i] > 0) {
zw[0] = -0.5 * waferThick;
Expand All @@ -142,10 +149,9 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext
<< " extruded polygon made of " << materials[i] << " z|x|y|s (0) "
<< cms::convert2mm(zw[0]) << ":" << cms::convert2mm(zx[0]) << ":"
<< cms::convert2mm(zy[0]) << ":" << scale[0] << " z|x|y|s (1) "
<< cms::convert2mm(zw[1]) << ": partial " << partialTypes[k]
<< " placement index " << placementIndex[m] << cms::convert2mm(zx[1]) << ":"
<< cms::convert2mm(zy[1]) << ":" << scale[1] << " and " << xM.size()
<< " edges";
<< cms::convert2mm(zw[1]) << ": " << cms::convert2mm(zx[1]) << ":"
<< cms::convert2mm(zy[1]) << ":" << scale[1] << " partial " << partialTypes[k]
<< " placement index " << placementIndex[m] << " and " << xM.size() << " edges";
for (unsigned int j = 0; j < xL.size(); ++j)
edm::LogVerbatim("HGCalGeom")
<< "[" << j << "] " << cms::convert2mm(xL[j]) << ":" << cms::convert2mm(yL[j]);
Expand Down Expand Up @@ -187,7 +193,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext
#ifdef EDM_ML_DEBUG
edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated: " << glogs[i].name() << " number "
<< copyNumber[i] << " positioned in " << glogM.name() << " at (0,0,"
<< cms::convert2mm(zi + 0.5 * layerThick[i]) << " with no rotation";
<< cms::convert2mm(zi + 0.5 * layerThick[i]) << ") with no rotation";
#endif
++copyNumber[i];
zi += layerThick[i];
Expand Down
3 changes: 2 additions & 1 deletion Geometry/HGCalCommonData/python/testHGCalWaferFRXML_cfi.py
@@ -1,7 +1,8 @@
import FWCore.ParameterSet.Config as cms

XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource",
geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml',
geomXMLFiles = cms.vstring(
'Geometry/CMSCommonData/data/materials/2021/v3/materials.xml',
'Geometry/CMSCommonData/data/rotations.xml',
'Geometry/HGCalCommonData/test/cms.xml',
'Geometry/HGCalCommonData/data/hgcalMaterial/v2/hgcalMaterial.xml',
Expand Down
3 changes: 2 additions & 1 deletion Geometry/HGCalCommonData/python/testHGCalWaferPRXML_cfi.py
@@ -1,7 +1,8 @@
import FWCore.ParameterSet.Config as cms

XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource",
geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml',
geomXMLFiles = cms.vstring(
'Geometry/CMSCommonData/data/materials/2021/v3/materials.xml',
'Geometry/CMSCommonData/data/rotations.xml',
'Geometry/HGCalCommonData/test/cms.xml',
'Geometry/HGCalCommonData/data/hgcalMaterial/v2/hgcalMaterial.xml',
Expand Down
24 changes: 24 additions & 0 deletions Geometry/HGCalCommonData/test/python/dumpHGCalWaferPRDD4hep_cfg.py
@@ -0,0 +1,24 @@
import FWCore.ParameterSet.Config as cms

process = cms.Process("DUMP")
process.load('FWCore.MessageService.MessageLogger_cfi')
process.source = cms.Source("EmptySource")
process.maxEvents = cms.untracked.PSet(
input = cms.untracked.int32(1)
)

process.MessageLogger.cerr.FwkReport.reportEvery = 5
if hasattr(process,'MessageLogger'):
process.MessageLogger.HGCalGeom=dict()

process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer",
confGeomXMLFiles = cms.FileInPath('Geometry/HGCalCommonData/data/dd4hep/cms-test-ddhgcalWaferPR-algorithm.xml'),
appendToDataLabel = cms.string('DDHGCalWaferPartialRotated')
)

process.testDump = cms.EDAnalyzer("DDTestDumpFile",
outputFileName = cms.untracked.string('hgcalWaferPartialRotatedDD4hep.root'),
DDDetector = cms.ESInputTag('','DDHGCalWaferPartialRotated')
)

process.p = cms.Path(process.testDump)

0 comments on commit 26397c3

Please sign in to comment.