From a30eb63b2cee2d212a6b59aad1fef4580a78b26c Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 15 Oct 2020 22:01:41 +0200 Subject: [PATCH 1/2] Correct numbering schemes to work for dd4hep --- .../src/EcalBarrelNumberingScheme.cc | 63 +++++++++++++------ .../src/EcalEndcapNumberingScheme.cc | 29 +++++---- .../src/EcalPreshowerNumberingScheme.cc | 16 ++--- 3 files changed, 63 insertions(+), 45 deletions(-) diff --git a/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc b/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc index 0f112aac1ae23..7120bd6cb3404 100644 --- a/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc +++ b/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc @@ -5,10 +5,10 @@ #include "Geometry/EcalCommonData/interface/EcalBarrelNumberingScheme.h" #include "DataFormats/EcalDetId/interface/EBDetId.h" -#include +//#define EDM_ML_DEBUG EcalBarrelNumberingScheme::EcalBarrelNumberingScheme() : EcalNumberingScheme() { - edm::LogInfo("EcalGeom") << "Creating EcalBarrelNumberingScheme"; + edm::LogVerbatim("EcalGeom") << "Creating EcalBarrelNumberingScheme"; } EcalBarrelNumberingScheme::~EcalBarrelNumberingScheme() { @@ -18,34 +18,51 @@ EcalBarrelNumberingScheme::~EcalBarrelNumberingScheme() { uint32_t EcalBarrelNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) const { const uint32_t nLevels(baseNumber.getLevels()); +#ifdef EDM_ML_DEBUG edm::LogVerbatim("EcalGeom") << "ECalBarrelNumberingScheme geometry levels = " << nLevels; - +#endif if (12 > nLevels) { edm::LogWarning("EcalGeom") << "ECalBarrelNumberingScheme::getUnitID(): " << "Not enough levels found in EcalBaseNumber ( " << nLevels << ") Returning 0"; return 0; } - const std::string& cryName(baseNumber.getLevelName(0)); // name of crystal volume + const std::string& cryName(baseNumber.getLevelName(0).substr(0,7)); // name of crystal volume const int cryType(::atoi(cryName.c_str() + 5)); - const int off(12 < nLevels ? 3 : 0); + const int off(13 < nLevels ? 3 : 0); const uint32_t wallCopy(baseNumber.getCopyNumber(3 + off)); const uint32_t hawCopy(baseNumber.getCopyNumber(4 + off)); const uint32_t fawCopy(baseNumber.getCopyNumber(5 + off)); const uint32_t supmCopy(baseNumber.getCopyNumber(6 + off)); - /* - edm::LogVerbatim("EcalGeom") << baseNumber.getLevelName(0) << ", " - << baseNumber.getLevelName(1) << ", " - << baseNumber.getLevelName(2) << ", " - << baseNumber.getLevelName(3) << ", " - << baseNumber.getLevelName(4) << ", " - << baseNumber.getLevelName(5) << ", " - << baseNumber.getLevelName(6) << ", " - << baseNumber.getLevelName(7) ; - */ +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("EcalGeom") << nLevels << ", " << off << ", " + << cryType << ", " + << baseNumber.getLevelName(0) << ":" + << baseNumber.getCopyNumber(0) << ", " + << baseNumber.getLevelName(1) << ":" + << baseNumber.getCopyNumber(1) << ", " + << baseNumber.getLevelName(2) << ":" + << baseNumber.getCopyNumber(2) << ", " + << baseNumber.getLevelName(3) << ":" + << baseNumber.getCopyNumber(3) << ", " + << baseNumber.getLevelName(4) << ":" + << baseNumber.getCopyNumber(4) << ", " + << baseNumber.getLevelName(5) << ":" + << baseNumber.getCopyNumber(5) << ", " + << baseNumber.getLevelName(6) << ":" + << baseNumber.getCopyNumber(6) << ", " + << baseNumber.getLevelName(7) << ":" + << baseNumber.getCopyNumber(7) << ", " + << baseNumber.getLevelName(8) << ":" + << baseNumber.getCopyNumber(8) << ", " + << baseNumber.getLevelName(9) << ":" + << baseNumber.getCopyNumber(9) << ", " + << baseNumber.getLevelName(10) << ":" + << baseNumber.getCopyNumber(10); +#endif // error checking if (1 > cryType || 17 < cryType) { @@ -103,11 +120,17 @@ uint32_t EcalBarrelNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) } ++count; */ +#ifdef EDM_ML_DEBUG edm::LogVerbatim("EcalGeom") << "EcalBarrelNumberingScheme: " - << "supmCopy = " << supmCopy << ", fawCopy = " << fawCopy << ", hawCopy = " << hawCopy - << ", wallCopy = " << wallCopy << ", cryType = " << cryType - << "\n zsign = " << zsign << ", eta = " << eta << ", phi = " << phi - << ", packed index = 0x" << std::hex << intindex << std::dec; - + << "supmCopy = " << supmCopy + << ", fawCopy = " << fawCopy + << ", hawCopy = " << hawCopy + << ", wallCopy = " << wallCopy + << ", cryType = " << cryType + << "\n zsign = " << zsign + << ", eta = " << eta + << ", phi = " << phi + << ", packed index = 0x" << std::hex << intindex << std::dec ; +#endif return intindex; } diff --git a/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc b/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc index 5fbb2ffbca1fe..89a3a0163a8ae 100644 --- a/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc +++ b/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc @@ -5,8 +5,7 @@ #include "Geometry/EcalCommonData/interface/EcalEndcapNumberingScheme.h" #include "DataFormats/EcalDetId/interface/EEDetId.h" -#include -#include +//#define EDM_ML_DEBUG EcalEndcapNumberingScheme::EcalEndcapNumberingScheme() : EcalNumberingScheme() { edm::LogVerbatim("EcalGeom") << "Creating EcalEndcapNumberingScheme"; @@ -18,8 +17,9 @@ EcalEndcapNumberingScheme::~EcalEndcapNumberingScheme() { uint32_t EcalEndcapNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) const { const uint32_t nLevels(baseNumber.getLevels()); +#ifdef EDM_ML_DEBUG edm::LogVerbatim("EcalGeom") << "ECalEndcapNumberingScheme geometry levels = " << nLevels; - +#endif if (7 > nLevels) { edm::LogWarning("EcalGeom") << "ECalEndcapNumberingScheme::getUnitID(): " << "Not enough levels found in EcalBaseNumber ( " << nLevels << ") Returning 0"; @@ -50,10 +50,12 @@ uint32_t EcalEndcapNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) uint32_t intindex = EEDetId(module_number, crystal_number, zside, EEDetId::SCCRYSTALMODE).rawId(); - edm::LogVerbatim("EcalGeom") << "EcalEndcapNumberingScheme: zside = " << zside - << " super crystal = " << module_number << " crystal = " << crystal_number - << " packed index = 0x" << std::hex << intindex << std::dec; - +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("EcalGeom") << "EcalEndcapNumberingScheme: zside = " << zside + << " super crystal = " << module_number << " crystal = " + << crystal_number << " packed index = 0x" << std::hex + << intindex << std::dec; +#endif return intindex; } else { // algorithmic geometry @@ -118,14 +120,11 @@ uint32_t EcalEndcapNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) return 0; } - //************************************************************************************* - /* - edm::LogWarning("EdalGeom") << "ECalEndcapNumberingScheme::getUnitID(): " - < -using namespace std; +//#define EDM_ML_DEBUG EcalPreshowerNumberingScheme::EcalPreshowerNumberingScheme() : EcalNumberingScheme() { // For SFLX2a, we use copy# 1-3 @@ -414,15 +413,12 @@ uint32_t EcalPreshowerNumberingScheme::getUnitID(const EcalBaseNumber& baseNumbe intIndex = ESDetId(strip, x, y, layer, zside).rawId(); - edm::LogVerbatim("EcalGeom") << "EcalPreshowerNumberingScheme : zside " << zside << " Ladd " << ladd - << " ladd_copy: " << ladd_copy << " box " << box << " x " << x << " y " << y - << " layer " << layer << " strip " << strip << " UnitID 0x" << std::hex << intIndex - << std::dec; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("EcalGeom") << "EcalPreshowerNumberingScheme : zside " << zside << " Ladd " << ladd << " ladd_copy: " << ladd_copy << " box " << box << " x " << x << " y " << y << " layer " << layer << " strip " << strip << " UnitID 0x" << std::hex << intIndex << std::dec; - for (int ich = 0; ich < level; ich++) { - edm::LogVerbatim("EcalGeom") << "Name = " << baseNumber.getLevelName(ich) - << " copy = " << baseNumber.getCopyNumber(ich); - } + for (int ich = 0; ich < level; ich++) + edm::LogVerbatim("EcalGeom") << "Name = " << baseNumber.getLevelName(ich) << " copy = " << baseNumber.getCopyNumber(ich); +#endif } return intIndex; From 8cf0dde4d723000666d0d6aa14e2a43000c5233a Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 15 Oct 2020 22:11:33 +0200 Subject: [PATCH 2/2] Code check --- .../src/EcalBarrelNumberingScheme.cc | 51 +++++++------------ .../src/EcalEndcapNumberingScheme.cc | 13 +++-- .../src/EcalPreshowerNumberingScheme.cc | 8 ++- 3 files changed, 29 insertions(+), 43 deletions(-) diff --git a/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc b/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc index 7120bd6cb3404..1ad4b4d32e394 100644 --- a/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc +++ b/Geometry/EcalCommonData/src/EcalBarrelNumberingScheme.cc @@ -27,7 +27,7 @@ uint32_t EcalBarrelNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) return 0; } - const std::string& cryName(baseNumber.getLevelName(0).substr(0,7)); // name of crystal volume + const std::string& cryName(baseNumber.getLevelName(0).substr(0, 7)); // name of crystal volume const int cryType(::atoi(cryName.c_str() + 5)); @@ -38,30 +38,18 @@ uint32_t EcalBarrelNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) const uint32_t fawCopy(baseNumber.getCopyNumber(5 + off)); const uint32_t supmCopy(baseNumber.getCopyNumber(6 + off)); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("EcalGeom") << nLevels << ", " << off << ", " - << cryType << ", " - << baseNumber.getLevelName(0) << ":" - << baseNumber.getCopyNumber(0) << ", " - << baseNumber.getLevelName(1) << ":" - << baseNumber.getCopyNumber(1) << ", " - << baseNumber.getLevelName(2) << ":" - << baseNumber.getCopyNumber(2) << ", " - << baseNumber.getLevelName(3) << ":" - << baseNumber.getCopyNumber(3) << ", " - << baseNumber.getLevelName(4) << ":" - << baseNumber.getCopyNumber(4) << ", " - << baseNumber.getLevelName(5) << ":" - << baseNumber.getCopyNumber(5) << ", " - << baseNumber.getLevelName(6) << ":" - << baseNumber.getCopyNumber(6) << ", " - << baseNumber.getLevelName(7) << ":" - << baseNumber.getCopyNumber(7) << ", " - << baseNumber.getLevelName(8) << ":" - << baseNumber.getCopyNumber(8) << ", " - << baseNumber.getLevelName(9) << ":" - << baseNumber.getCopyNumber(9) << ", " - << baseNumber.getLevelName(10) << ":" - << baseNumber.getCopyNumber(10); + edm::LogVerbatim("EcalGeom") << nLevels << ", " << off << ", " << cryType << ", " << baseNumber.getLevelName(0) << ":" + << baseNumber.getCopyNumber(0) << ", " << baseNumber.getLevelName(1) << ":" + << baseNumber.getCopyNumber(1) << ", " << baseNumber.getLevelName(2) << ":" + << baseNumber.getCopyNumber(2) << ", " << baseNumber.getLevelName(3) << ":" + << baseNumber.getCopyNumber(3) << ", " << baseNumber.getLevelName(4) << ":" + << baseNumber.getCopyNumber(4) << ", " << baseNumber.getLevelName(5) << ":" + << baseNumber.getCopyNumber(5) << ", " << baseNumber.getLevelName(6) << ":" + << baseNumber.getCopyNumber(6) << ", " << baseNumber.getLevelName(7) << ":" + << baseNumber.getCopyNumber(7) << ", " << baseNumber.getLevelName(8) << ":" + << baseNumber.getCopyNumber(8) << ", " << baseNumber.getLevelName(9) << ":" + << baseNumber.getCopyNumber(9) << ", " << baseNumber.getLevelName(10) << ":" + << baseNumber.getCopyNumber(10); #endif // error checking @@ -122,15 +110,10 @@ uint32_t EcalBarrelNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) */ #ifdef EDM_ML_DEBUG edm::LogVerbatim("EcalGeom") << "EcalBarrelNumberingScheme: " - << "supmCopy = " << supmCopy - << ", fawCopy = " << fawCopy - << ", hawCopy = " << hawCopy - << ", wallCopy = " << wallCopy - << ", cryType = " << cryType - << "\n zsign = " << zsign - << ", eta = " << eta - << ", phi = " << phi - << ", packed index = 0x" << std::hex << intindex << std::dec ; + << "supmCopy = " << supmCopy << ", fawCopy = " << fawCopy << ", hawCopy = " << hawCopy + << ", wallCopy = " << wallCopy << ", cryType = " << cryType + << "\n zsign = " << zsign << ", eta = " << eta << ", phi = " << phi + << ", packed index = 0x" << std::hex << intindex << std::dec; #endif return intindex; } diff --git a/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc b/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc index 89a3a0163a8ae..e5ad868226cb0 100644 --- a/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc +++ b/Geometry/EcalCommonData/src/EcalEndcapNumberingScheme.cc @@ -51,10 +51,9 @@ uint32_t EcalEndcapNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) uint32_t intindex = EEDetId(module_number, crystal_number, zside, EEDetId::SCCRYSTALMODE).rawId(); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("EcalGeom") << "EcalEndcapNumberingScheme: zside = " << zside - << " super crystal = " << module_number << " crystal = " - << crystal_number << " packed index = 0x" << std::hex - << intindex << std::dec; + edm::LogVerbatim("EcalGeom") << "EcalEndcapNumberingScheme: zside = " << zside + << " super crystal = " << module_number << " crystal = " << crystal_number + << " packed index = 0x" << std::hex << intindex << std::dec; #endif return intindex; } else { @@ -121,9 +120,9 @@ uint32_t EcalEndcapNumberingScheme::getUnitID(const EcalBaseNumber& baseNumber) } #ifdef EDM_ML_DEBUG - edm::LogVerbatim("EdalGeom") << "ECalEndcapNumberingScheme::getUnitID(): " << std::dec << ix << ", " << iy << ", " << iq << ", " << id << ", " << iz << ", " << std::hex << idet << std::dec; - edm::LogVerbatim("EdalGeom") << "ECalEndcapNumberingScheme::EEDetId: " - << EEDetId(idet) ; + edm::LogVerbatim("EdalGeom") << "ECalEndcapNumberingScheme::getUnitID(): " << std::dec << ix << ", " << iy << ", " + << iq << ", " << id << ", " << iz << ", " << std::hex << idet << std::dec; + edm::LogVerbatim("EdalGeom") << "ECalEndcapNumberingScheme::EEDetId: " << EEDetId(idet); #endif return idet; } diff --git a/Geometry/EcalCommonData/src/EcalPreshowerNumberingScheme.cc b/Geometry/EcalCommonData/src/EcalPreshowerNumberingScheme.cc index 1a510711a8a54..16fd5d6f8fd35 100644 --- a/Geometry/EcalCommonData/src/EcalPreshowerNumberingScheme.cc +++ b/Geometry/EcalCommonData/src/EcalPreshowerNumberingScheme.cc @@ -414,10 +414,14 @@ uint32_t EcalPreshowerNumberingScheme::getUnitID(const EcalBaseNumber& baseNumbe intIndex = ESDetId(strip, x, y, layer, zside).rawId(); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("EcalGeom") << "EcalPreshowerNumberingScheme : zside " << zside << " Ladd " << ladd << " ladd_copy: " << ladd_copy << " box " << box << " x " << x << " y " << y << " layer " << layer << " strip " << strip << " UnitID 0x" << std::hex << intIndex << std::dec; + edm::LogVerbatim("EcalGeom") << "EcalPreshowerNumberingScheme : zside " << zside << " Ladd " << ladd + << " ladd_copy: " << ladd_copy << " box " << box << " x " << x << " y " << y + << " layer " << layer << " strip " << strip << " UnitID 0x" << std::hex << intIndex + << std::dec; for (int ich = 0; ich < level; ich++) - edm::LogVerbatim("EcalGeom") << "Name = " << baseNumber.getLevelName(ich) << " copy = " << baseNumber.getCopyNumber(ich); + edm::LogVerbatim("EcalGeom") << "Name = " << baseNumber.getLevelName(ich) + << " copy = " << baseNumber.getCopyNumber(ich); #endif }