From 81873b742489146a07a59adf6a237f453fd44159 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Tue, 22 Jun 2021 00:12:09 +0200 Subject: [PATCH 1/4] Next step for V16 Geometry --- .../data/hgcalCons/v15/hgcalCons.xml | 8 +++ .../data/hgcalCons/v15f/hgcalCons.xml | 4 ++ .../data/hgcalConsData/v15/hgcalConsData.xml | 10 +++- .../data/hgcalConsData/v15f/hgcalConsData.xml | 6 +- .../interface/HGCalGeomParameters.h | 1 + .../interface/HGCalParameters.h | 5 ++ .../HGCalCommonData/src/HGCalDDDConstants.cc | 2 + .../src/HGCalGeomParameters.cc | 58 +++++++++++++++++-- .../src/HGCalParametersFromDD.cc | 12 +++- .../HGCalCommonData/src/HGCalWaferMask.cc | 4 +- 10 files changed, 100 insertions(+), 10 deletions(-) diff --git a/Geometry/HGCalCommonData/data/hgcalCons/v15/hgcalCons.xml b/Geometry/HGCalCommonData/data/hgcalCons/v15/hgcalCons.xml index 0e56ff2d3a864..a4c8033593f32 100644 --- a/Geometry/HGCalCommonData/data/hgcalCons/v15/hgcalCons.xml +++ b/Geometry/HGCalCommonData/data/hgcalCons/v15/hgcalCons.xml @@ -27,6 +27,9 @@ + + + @@ -35,6 +38,7 @@ + @@ -85,6 +89,9 @@ + + + @@ -93,6 +100,7 @@ + diff --git a/Geometry/HGCalCommonData/data/hgcalCons/v15f/hgcalCons.xml b/Geometry/HGCalCommonData/data/hgcalCons/v15f/hgcalCons.xml index 1c41b0c646f56..64f6a0df010fb 100644 --- a/Geometry/HGCalCommonData/data/hgcalCons/v15f/hgcalCons.xml +++ b/Geometry/HGCalCommonData/data/hgcalCons/v15f/hgcalCons.xml @@ -27,6 +27,9 @@ + + + @@ -35,6 +38,7 @@ + diff --git a/Geometry/HGCalCommonData/data/hgcalConsData/v15/hgcalConsData.xml b/Geometry/HGCalCommonData/data/hgcalConsData/v15/hgcalConsData.xml index e94c67cc22d72..115aa1d89efab 100644 --- a/Geometry/HGCalCommonData/data/hgcalConsData/v15/hgcalConsData.xml +++ b/Geometry/HGCalCommonData/data/hgcalConsData/v15/hgcalConsData.xml @@ -2,7 +2,11 @@ - + + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1 + + 262146, 262147, 262148, 262149, 262150, 262151, 262152, 262153, 262178, 262179, 262180, 262181, 262182, 262183, 262184, 262185, 262210, 262211, 262212, 262213, 262214, @@ -2128,6 +2132,10 @@ 4002, 4002, 4042, 5042, 5012, 4002, 4002, 4002, 4002, 4002, 5012, 4042, 4052, 4072, 4072, 4052 + + 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, 3, 2, + 3, 2 + 262146, 262147, 262148, 262149, 262150, 262151, 262152, 262153, 262178, 262179, 262180, 262181, 262182, 262183, diff --git a/Geometry/HGCalCommonData/data/hgcalConsData/v15f/hgcalConsData.xml b/Geometry/HGCalCommonData/data/hgcalConsData/v15f/hgcalConsData.xml index 19e97ad90412e..42b1034e22575 100644 --- a/Geometry/HGCalCommonData/data/hgcalConsData/v15f/hgcalConsData.xml +++ b/Geometry/HGCalCommonData/data/hgcalConsData/v15f/hgcalConsData.xml @@ -2,7 +2,11 @@ - + + 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, + 0, 1, 0, 1, 0, 1, 0, 1 + + 262146, 262147, 262148, 262149, 262150, 262151, 262152, 262153, 262178, 262179, 262180, 262181, 262182, 262183, 262184, 262185, 262210, 262211, 262212, 262213, 262214, diff --git a/Geometry/HGCalCommonData/interface/HGCalGeomParameters.h b/Geometry/HGCalCommonData/interface/HGCalGeomParameters.h index 21c53524d958c..154407eeadad9 100644 --- a/Geometry/HGCalCommonData/interface/HGCalGeomParameters.h +++ b/Geometry/HGCalCommonData/interface/HGCalGeomParameters.h @@ -118,6 +118,7 @@ class HGCalGeomParameters { void loadSpecParsHexagon(const HGCalParameters& php); void loadSpecParsHexagon8(HGCalParameters& php); void loadSpecParsHexagon8(HGCalParameters& php, + const std::vector& layerType, const std::vector& waferIndex, const std::vector& waferProperties); void loadSpecParsTrapezoid(HGCalParameters& php); diff --git a/Geometry/HGCalCommonData/interface/HGCalParameters.h b/Geometry/HGCalCommonData/interface/HGCalParameters.h index 9685f326f0284..8c2cc6d1795e7 100644 --- a/Geometry/HGCalCommonData/interface/HGCalParameters.h +++ b/Geometry/HGCalCommonData/interface/HGCalParameters.h @@ -148,6 +148,7 @@ class HGCalParameters { int waferUVMax_; std::vector waferUVMaxLayer_; bool defineFull_; + std::vector waferThickness_; std::vector cellThickness_; std::vector radius100to200_; std::vector radius200to300_; @@ -172,6 +173,8 @@ class HGCalParameters { int firstLayer_; int firstMixedLayer_; int layerOffset_; + double layerRotation_; + std::vector layerType_; std::vector layerCenter_; wafer_map wafersInLayers_; wafer_map typesInLayers_; @@ -179,6 +182,8 @@ class HGCalParameters { int waferMaskMode_; int waferZSide_; waferInfo_map waferInfoMap_; + std::vector > layerRotF_; + std::vector > layerRotB_; tileInfo_map tileInfoMap_; std::vector > tileRingR_; std::vector > tileRingRange_; diff --git a/Geometry/HGCalCommonData/src/HGCalDDDConstants.cc b/Geometry/HGCalCommonData/src/HGCalDDDConstants.cc index 523c7df173f51..0f4f36276d998 100644 --- a/Geometry/HGCalCommonData/src/HGCalDDDConstants.cc +++ b/Geometry/HGCalCommonData/src/HGCalDDDConstants.cc @@ -1598,9 +1598,11 @@ bool HGCalDDDConstants::isValidCell8(int lay, int waferU, int waferV, int cellU, int N = (type == 0) ? hgpar_->nCellsFine_ : hgpar_->nCellsCoarse_; auto partn = waferTypeRotation(lay, waferU, waferV, false, false); result = HGCalWaferMask::goodCell(cellU, cellV, N, partn.first, partn.second); +#ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "Input " << lay << ":" << waferU << ":" << waferV << ":" << cellU << ":" << cellV << " N " << N << " part " << partn.first << ":" << partn.second << " Result " << result; +#endif } return result; } diff --git a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc index 935ad9a04ce10..e92d379c25b09 100644 --- a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc +++ b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc @@ -1249,6 +1249,13 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const DDFilteredView& fv, HGCalPa DDsvalues_type sv(fv.mergedSpecifics()); php.cellThickness_ = getDDDArray("CellThickness", sv, 3); rescale(php.cellThickness_, HGCalParameters::k_ScaleFromDDD); + if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { + php.waferThickness_ = getDDDArray("WaferThickness", sv, 3); + rescale(php.waferThickness_, HGCalParameters::k_ScaleFromDDD); + } else { + for (unsigned int k= 0; k < php.cellThickness_.size(); ++k) + php.waferThickness_.emplace_back(php.waferThick_); + } php.radius100to200_ = getDDDArray("Radius100to200", sv, 5); php.radius200to300_ = getDDDArray("Radius200to300", sv, 5); @@ -1285,7 +1292,7 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const DDFilteredView& fv, HGCalPa // Read in parameters from Philip's file if (php.waferMaskMode_ > 1) { - std::vector waferIndex, waferProperties; + std::vector layerType, waferIndex, waferProperties; if (php.waferMaskMode_ == siliconFileEE) { waferIndex = dbl_to_int(fv.vector("WaferIndexEE")); waferProperties = dbl_to_int(fv.vector("WaferPropertiesEE")); @@ -1293,8 +1300,15 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const DDFilteredView& fv, HGCalPa waferIndex = dbl_to_int(fv.vector("WaferIndexHE")); waferProperties = dbl_to_int(fv.vector("WaferPropertiesHE")); } + if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { + if (php.waferMaskMode_ == siliconFileEE) { + layerType = dbl_to_int(fv.vector("LayerTypeEE")); + } else if (php.waferMaskMode_ == siliconFileHE) { + layerType = dbl_to_int(fv.vector("LayerTypeHE")); + } + } - loadSpecParsHexagon8(php, waferIndex, waferProperties); + loadSpecParsHexagon8(php, layerType, waferIndex, waferProperties); } } @@ -1304,6 +1318,13 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const cms::DDFilteredView& fv, const std::string& sdTag1) { php.cellThickness_ = fv.get >(sdTag1, "CellThickness"); rescale(php.cellThickness_, HGCalParameters::k_ScaleFromDD4Hep); + if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { + php.waferThickness_ = fv.get >(sdTag1, "WaferThickness"); + rescale(php.waferThickness_, HGCalParameters::k_ScaleFromDD4Hep); + } else { + for (unsigned int k= 0; k < php.cellThickness_.size(); ++k) + php.waferThickness_.emplace_back(php.waferThick_); + } php.radius100to200_ = fv.get >(sdTag1, "Radius100to200"); php.radius200to300_ = fv.get >(sdTag1, "Radius200to300"); @@ -1357,7 +1378,7 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const cms::DDFilteredView& fv, // Read in parameters from Philip's file if (php.waferMaskMode_ > 1) { - std::vector waferIndex, waferProperties; + std::vector layerType, waferIndex, waferProperties; if (php.waferMaskMode_ == siliconFileEE) { for (auto const& it : vmap) { if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "WaferIndexEE")) { @@ -1379,13 +1400,33 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const cms::DDFilteredView& fv, } } } + if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { + if (php.waferMaskMode_ == siliconFileEE) { + for (auto const& it : vmap) { + if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "LayerTypeEE")) { + for (const auto& i : it.second) + layerType.emplace_back(std::round(i)); + } + } + } else if (php.waferMaskMode_ == siliconFileHE) { + for (auto const& it : vmap) { + if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "LayerTypeHE")) { + for (const auto& i : it.second) + layerType.emplace_back(std::round(i)); + } + } + } + } + - loadSpecParsHexagon8(php, waferIndex, waferProperties); + loadSpecParsHexagon8(php, layerType, waferIndex, waferProperties); } } void HGCalGeomParameters::loadSpecParsHexagon8(HGCalParameters& php) { #ifdef EDM_ML_DEBUG + for (unsigned int k = 0; k < php.waferThickness_.size(); ++k) + edm::LogVerbatim("HGCalGeom") << "HGCalGeomParameters: wafer[" << k << "] Thickness " << php.waferThickness_[k]; for (unsigned int k = 0; k < php.cellThickness_.size(); ++k) edm::LogVerbatim("HGCalGeom") << "HGCalGeomParameters: cell[" << k << "] Thickness " << php.cellThickness_[k]; edm::LogVerbatim("HGCalGeom") << "HGCalGeomParameters: Polynomial " @@ -1419,9 +1460,18 @@ void HGCalGeomParameters::loadSpecParsHexagon8(HGCalParameters& php) { } void HGCalGeomParameters::loadSpecParsHexagon8(HGCalParameters& php, + const std::vector& layerType, const std::vector& waferIndex, const std::vector& waferProperties) { // Store parameters from Philip's file + int types[5] = {HGCalTypes::WaferCenter, HGCalTypes::WaferCenter, HGCalTypes::CornerCenterYm, HGCalTypes::CornerCenterYp, 6}; + for (unsigned int k = 0; k < layerType.size(); ++k) { + php.layerType_.emplace_back(types[layerType[k]]); +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HGCalGeom") << "Layer[" << k << "] Type " << layerType[k] + << ":" << php.layerType_[k]; +#endif + } for (unsigned int k = 0; k < waferIndex.size(); ++k) { int partial = HGCalProperty::waferPartial(waferProperties[k]); int orient = HGCalWaferMask::getRotation(php.waferZSide_, partial, HGCalProperty::waferOrient(waferProperties[k])); diff --git a/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc b/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc index 6fcd0bad59173..dcfc91b32469a 100644 --- a/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc +++ b/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc @@ -88,6 +88,7 @@ bool HGCalParametersFromDD::build(const DDCompactView* cpv, php.levelZSide_ = 3; // Default level for ZSide php.detectorType_ = 0; // These two parameters are php.firstMixedLayer_ = -1; // defined for post TDR geometry + php.layerRotation_ = 0; // default layer rotation angle std::unique_ptr geom = std::make_unique(); if ((php.mode_ == HGCalGeometryMode::Hexagon) || (php.mode_ == HGCalGeometryMode::HexagonFull)) { attribute = "OnlyForHGCalNumbering"; @@ -119,11 +120,13 @@ bool HGCalParametersFromDD::build(const DDCompactView* cpv, php.minTileSize_ = 0; php.waferMaskMode_ = static_cast(getDDDValue("WaferMaskMode", sv)); php.waferZSide_ = static_cast(getDDDValue("WaferZside", sv)); + if (php.mode_ == HGCalGeometryMode::Hexagon8Module) + php.layerRotation_ = getDDDValue("LayerRotation", sv); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "Top levels " << php.levelT_[0] << ":" << php.levelT_[1] << " ZSide Level " << php.levelZSide_ << " first layers " << php.firstLayer_ << ":" << php.firstMixedLayer_ << " Det Type " << php.detectorType_ << " Wafer Mask Mode " - << php.waferMaskMode_ << " Zside " << php.waferZSide_; + << php.waferMaskMode_ << " Zside " << php.waferZSide_ << " Layer Rotation " << convertRadToDeg(php.layerRotation_); #endif attribute = "OnlyForHGCalNumbering"; value = namet; @@ -283,6 +286,7 @@ bool HGCalParametersFromDD::build(const cms::DDCompactView* cpv, php.levelZSide_ = 3; // Default level for ZSide php.detectorType_ = 0; // These two parameters are php.firstMixedLayer_ = -1; // defined for post TDR geometry + php.layerRotation_ = 0; // default layer rotation angle std::unique_ptr geom = std::make_unique(); if ((php.mode_ == HGCalGeometryMode::Hexagon) || (php.mode_ == HGCalGeometryMode::HexagonFull)) { tempS = fv.get >(namet, "WaferMode"); @@ -312,11 +316,15 @@ bool HGCalParametersFromDD::build(const cms::DDCompactView* cpv, php.waferMaskMode_ = static_cast(tempD[0]); tempD = fv.get >(name, "WaferZside"); php.waferZSide_ = static_cast(tempD[0]); + if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { + tempD = fv.get >(name, "LayerRotation"); + php.layerRotation_ = tempD[0]; + } #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "Top levels " << php.levelT_[0] << ":" << php.levelT_[1] << " ZSide Level " << php.levelZSide_ << " first layers " << php.firstLayer_ << ":" << php.firstMixedLayer_ << " Det Type " << php.detectorType_ << " Wafer Mask Mode " - << php.waferMaskMode_ << " ZSide " << php.waferZSide_; + << php.waferMaskMode_ << " ZSide " << php.waferZSide_ << " Layer Rotation " << convertRadToDeg(php.layerRotation_); #endif tempS = fv.get >(namet, "WaferMode"); diff --git a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc index 9b4f420bc62a4..8d16350d2f548 100644 --- a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc +++ b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc @@ -399,7 +399,7 @@ int HGCalWaferMask::getRotation(int zside, int type, int rotn) { rotn = HGCalTypes::WaferCorner0; int newrotn(rotn); if ((zside < 0) && (type != HGCalTypes::WaferFull)) { - if (type == HGCalTypes::WaferFive) { //WaferFive + if ((type == HGCalTypes::WaferFive) || (type == HGCalTypes::WaferFive2)) { //WaferFive/WaferFive2 static constexpr int rot1[HGCalTypes::WaferCornerMax] = {HGCalTypes::WaferCorner4, HGCalTypes::WaferCorner3, HGCalTypes::WaferCorner2, @@ -416,7 +416,7 @@ int HGCalWaferMask::getRotation(int zside, int type, int rotn) { HGCalTypes::WaferCorner4, HGCalTypes::WaferCorner3}; newrotn = rot2[rotn]; - } else { //WaferHalf/WaferChopTwo/WaferChopTwoM + } else { //WaferHalf/WaferChopTwo/WaferChopTwoM/WaferHalf2 static constexpr int rot3[HGCalTypes::WaferCornerMax] = {HGCalTypes::WaferCorner3, HGCalTypes::WaferCorner2, HGCalTypes::WaferCorner1, From 7bd783dff3d119fb4fc39ce6478aafb07cb4297a Mon Sep 17 00:00:00 2001 From: Sunanda Date: Tue, 22 Jun 2021 00:26:57 +0200 Subject: [PATCH 2/4] Code check --- .../src/HGCalGeomParameters.cc | 41 +++++++++---------- .../src/HGCalParametersFromDD.cc | 12 +++--- 2 files changed, 27 insertions(+), 26 deletions(-) diff --git a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc index e92d379c25b09..65b91a926a81f 100644 --- a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc +++ b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc @@ -1253,7 +1253,7 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const DDFilteredView& fv, HGCalPa php.waferThickness_ = getDDDArray("WaferThickness", sv, 3); rescale(php.waferThickness_, HGCalParameters::k_ScaleFromDDD); } else { - for (unsigned int k= 0; k < php.cellThickness_.size(); ++k) + for (unsigned int k = 0; k < php.cellThickness_.size(); ++k) php.waferThickness_.emplace_back(php.waferThick_); } @@ -1302,9 +1302,9 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const DDFilteredView& fv, HGCalPa } if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { if (php.waferMaskMode_ == siliconFileEE) { - layerType = dbl_to_int(fv.vector("LayerTypeEE")); + layerType = dbl_to_int(fv.vector("LayerTypeEE")); } else if (php.waferMaskMode_ == siliconFileHE) { - layerType = dbl_to_int(fv.vector("LayerTypeHE")); + layerType = dbl_to_int(fv.vector("LayerTypeHE")); } } @@ -1319,10 +1319,10 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const cms::DDFilteredView& fv, php.cellThickness_ = fv.get >(sdTag1, "CellThickness"); rescale(php.cellThickness_, HGCalParameters::k_ScaleFromDD4Hep); if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { - php.waferThickness_ = fv.get >(sdTag1, "WaferThickness"); + php.waferThickness_ = fv.get >(sdTag1, "WaferThickness"); rescale(php.waferThickness_, HGCalParameters::k_ScaleFromDD4Hep); } else { - for (unsigned int k= 0; k < php.cellThickness_.size(); ++k) + for (unsigned int k = 0; k < php.cellThickness_.size(); ++k) php.waferThickness_.emplace_back(php.waferThick_); } @@ -1402,23 +1402,22 @@ void HGCalGeomParameters::loadSpecParsHexagon8(const cms::DDFilteredView& fv, } if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { if (php.waferMaskMode_ == siliconFileEE) { - for (auto const& it : vmap) { - if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "LayerTypeEE")) { - for (const auto& i : it.second) - layerType.emplace_back(std::round(i)); - } - } + for (auto const& it : vmap) { + if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "LayerTypeEE")) { + for (const auto& i : it.second) + layerType.emplace_back(std::round(i)); + } + } } else if (php.waferMaskMode_ == siliconFileHE) { - for (auto const& it : vmap) { - if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "LayerTypeHE")) { - for (const auto& i : it.second) - layerType.emplace_back(std::round(i)); - } - } + for (auto const& it : vmap) { + if (dd4hep::dd::compareEqual(dd4hep::dd::noNamespace(it.first), "LayerTypeHE")) { + for (const auto& i : it.second) + layerType.emplace_back(std::round(i)); + } + } } } - loadSpecParsHexagon8(php, layerType, waferIndex, waferProperties); } } @@ -1464,12 +1463,12 @@ void HGCalGeomParameters::loadSpecParsHexagon8(HGCalParameters& php, const std::vector& waferIndex, const std::vector& waferProperties) { // Store parameters from Philip's file - int types[5] = {HGCalTypes::WaferCenter, HGCalTypes::WaferCenter, HGCalTypes::CornerCenterYm, HGCalTypes::CornerCenterYp, 6}; + int types[5] = { + HGCalTypes::WaferCenter, HGCalTypes::WaferCenter, HGCalTypes::CornerCenterYm, HGCalTypes::CornerCenterYp, 6}; for (unsigned int k = 0; k < layerType.size(); ++k) { php.layerType_.emplace_back(types[layerType[k]]); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << "Layer[" << k << "] Type " << layerType[k] - << ":" << php.layerType_[k]; + edm::LogVerbatim("HGCalGeom") << "Layer[" << k << "] Type " << layerType[k] << ":" << php.layerType_[k]; #endif } for (unsigned int k = 0; k < waferIndex.size(); ++k) { diff --git a/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc b/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc index dcfc91b32469a..d04ced90c931a 100644 --- a/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc +++ b/Geometry/HGCalCommonData/src/HGCalParametersFromDD.cc @@ -121,12 +121,13 @@ bool HGCalParametersFromDD::build(const DDCompactView* cpv, php.waferMaskMode_ = static_cast(getDDDValue("WaferMaskMode", sv)); php.waferZSide_ = static_cast(getDDDValue("WaferZside", sv)); if (php.mode_ == HGCalGeometryMode::Hexagon8Module) - php.layerRotation_ = getDDDValue("LayerRotation", sv); + php.layerRotation_ = getDDDValue("LayerRotation", sv); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "Top levels " << php.levelT_[0] << ":" << php.levelT_[1] << " ZSide Level " << php.levelZSide_ << " first layers " << php.firstLayer_ << ":" << php.firstMixedLayer_ << " Det Type " << php.detectorType_ << " Wafer Mask Mode " - << php.waferMaskMode_ << " Zside " << php.waferZSide_ << " Layer Rotation " << convertRadToDeg(php.layerRotation_); + << php.waferMaskMode_ << " Zside " << php.waferZSide_ << " Layer Rotation " + << convertRadToDeg(php.layerRotation_); #endif attribute = "OnlyForHGCalNumbering"; value = namet; @@ -317,14 +318,15 @@ bool HGCalParametersFromDD::build(const cms::DDCompactView* cpv, tempD = fv.get >(name, "WaferZside"); php.waferZSide_ = static_cast(tempD[0]); if (php.mode_ == HGCalGeometryMode::Hexagon8Module) { - tempD = fv.get >(name, "LayerRotation"); - php.layerRotation_ = tempD[0]; + tempD = fv.get >(name, "LayerRotation"); + php.layerRotation_ = tempD[0]; } #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "Top levels " << php.levelT_[0] << ":" << php.levelT_[1] << " ZSide Level " << php.levelZSide_ << " first layers " << php.firstLayer_ << ":" << php.firstMixedLayer_ << " Det Type " << php.detectorType_ << " Wafer Mask Mode " - << php.waferMaskMode_ << " ZSide " << php.waferZSide_ << " Layer Rotation " << convertRadToDeg(php.layerRotation_); + << php.waferMaskMode_ << " ZSide " << php.waferZSide_ << " Layer Rotation " + << convertRadToDeg(php.layerRotation_); #endif tempS = fv.get >(namet, "WaferMode"); From ae3cb99d23f85fbadb4076e4c578ade295c9d24f Mon Sep 17 00:00:00 2001 From: Sunanda Date: Tue, 22 Jun 2021 14:42:36 +0200 Subject: [PATCH 3/4] Small update --- Geometry/HGCalCommonData/interface/HGCalTypes.h | 4 +++- Geometry/HGCalCommonData/src/HGCalGeomParameters.cc | 2 +- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Geometry/HGCalCommonData/interface/HGCalTypes.h b/Geometry/HGCalCommonData/interface/HGCalTypes.h index 04de7a377dd00..fd1fb33d4c775 100644 --- a/Geometry/HGCalCommonData/interface/HGCalTypes.h +++ b/Geometry/HGCalCommonData/interface/HGCalTypes.h @@ -41,7 +41,9 @@ class HGCalTypes { CornerCenterYp = 1, CornerCenterYm = 2, CornerCenterXp = 3, - CornerCenterXm = 4 + CornerCenterXm = 4, + WaferCenterB = 5, + WaferCenterR = 6 }; enum WaferType { WaferFineThin = 0, WaferCoarseThin = 1, WaferCoarseThick = 2, WaferFineThick = 3 }; diff --git a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc index 65b91a926a81f..875cae3033ad5 100644 --- a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc +++ b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc @@ -1464,7 +1464,7 @@ void HGCalGeomParameters::loadSpecParsHexagon8(HGCalParameters& php, const std::vector& waferProperties) { // Store parameters from Philip's file int types[5] = { - HGCalTypes::WaferCenter, HGCalTypes::WaferCenter, HGCalTypes::CornerCenterYm, HGCalTypes::CornerCenterYp, 6}; + HGCalTypes::WaferCenter, HGCalTypes::WaferCenterB, HGCalTypes::CornerCenterYm, HGCalTypes::CornerCenterYp, HGCalTypes::WaferCenterR}; for (unsigned int k = 0; k < layerType.size(); ++k) { php.layerType_.emplace_back(types[layerType[k]]); #ifdef EDM_ML_DEBUG From b74e8b6c41fbcec8bec34faa83a639400632838f Mon Sep 17 00:00:00 2001 From: Sunanda Date: Tue, 22 Jun 2021 15:21:09 +0200 Subject: [PATCH 4/4] Code check --- Geometry/HGCalCommonData/src/HGCalGeomParameters.cc | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc index 875cae3033ad5..33ceff2a472c3 100644 --- a/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc +++ b/Geometry/HGCalCommonData/src/HGCalGeomParameters.cc @@ -1463,8 +1463,11 @@ void HGCalGeomParameters::loadSpecParsHexagon8(HGCalParameters& php, const std::vector& waferIndex, const std::vector& waferProperties) { // Store parameters from Philip's file - int types[5] = { - HGCalTypes::WaferCenter, HGCalTypes::WaferCenterB, HGCalTypes::CornerCenterYm, HGCalTypes::CornerCenterYp, HGCalTypes::WaferCenterR}; + int types[5] = {HGCalTypes::WaferCenter, + HGCalTypes::WaferCenterB, + HGCalTypes::CornerCenterYm, + HGCalTypes::CornerCenterYp, + HGCalTypes::WaferCenterR}; for (unsigned int k = 0; k < layerType.size(); ++k) { php.layerType_.emplace_back(types[layerType[k]]); #ifdef EDM_ML_DEBUG