From d9d3968d35936f4ede6e4752d0b88c4d8b8cf89e Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 16 Feb 2023 02:48:20 +0100 Subject: [PATCH 1/5] Backport #40644 to complete v17 definition of HGCal with different lateral sizes of the components inside a silicon module --- .../HGCalCommonData/data/hgcal/v17/hgcal.xml | 5 +- .../data/hgcalcell/v17/hgcal.xml | 5 +- .../data/hgcalcell/v17/hgcalcell.xml | 25 ++- .../data/hgcalwafer/v17/hgcal.xml | 5 +- .../data/hgcalwafer/v17/hgcalwafer.xml | 193 ++++++++++------ .../data/hgcalwafer/v17f/hgcal.xml | 5 +- .../data/hgcalwafer/v17f/hgcalpos.xml | 84 ++++++- .../data/hgcalwafer/v17f/hgcalwafer.xml | 119 +++++++++- .../data/hgcalwafer/v17n/hgcalwafer.xml | 193 ++++++++++------ .../data/hgcalwafer/v17p/hgcal.xml | 5 +- .../data/hgcalwafer/v17p/hgcalwafer.xml | 97 +++++--- .../HGCalCommonData/plugins/DDHGCalCell.cc | 4 +- .../plugins/DDHGCalWaferFullRotated.cc | 20 +- .../plugins/DDHGCalWaferPartialRotated.cc | 25 ++- .../plugins/dd4hep/DDHGCalCell.cc | 5 +- .../plugins/dd4hep/DDHGCalWaferFullRotated.cc | 20 +- .../dd4hep/DDHGCalWaferPartialRotated.cc | 24 +- Geometry/HGCalCommonData/src/HGCalCell.cc | 3 + .../HGCalCommonData/src/HGCalWaferMask.cc | 207 +++++++++++++----- Geometry/HGCalCommonData/test/cms.xml | 4 +- .../test/python/g4OverlapCheck_cfg.py | 10 +- 21 files changed, 739 insertions(+), 319 deletions(-) diff --git a/Geometry/HGCalCommonData/data/hgcal/v17/hgcal.xml b/Geometry/HGCalCommonData/data/hgcal/v17/hgcal.xml index 3e583afbb9a70..262b9e402a721 100644 --- a/Geometry/HGCalCommonData/data/hgcal/v17/hgcal.xml +++ b/Geometry/HGCalCommonData/data/hgcal/v17/hgcal.xml @@ -2,12 +2,13 @@ - + - + + diff --git a/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcal.xml b/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcal.xml index 721ae9b7fcbe9..2545b825b3470 100644 --- a/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcal.xml +++ b/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcal.xml @@ -2,8 +2,9 @@ - - + + + diff --git a/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml b/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml index ceec4966f4389..955d948f7f700 100644 --- a/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml +++ b/Geometry/HGCalCommonData/data/hgcalcell/v17/hgcalcell.xml @@ -4,6 +4,7 @@ + @@ -18,7 +19,7 @@ - + @@ -61,7 +62,7 @@ - + @@ -104,7 +105,7 @@ - + @@ -147,7 +148,7 @@ - + @@ -190,7 +191,7 @@ - + @@ -233,7 +234,7 @@ - + @@ -276,7 +277,7 @@ - + @@ -319,7 +320,7 @@ - + @@ -362,7 +363,7 @@ - + @@ -405,7 +406,7 @@ - + @@ -448,7 +449,7 @@ - + @@ -491,7 +492,7 @@ - + diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcal.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcal.xml index ddffe0a4790fe..e391611be48d7 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcal.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcal.xml @@ -2,12 +2,13 @@ - + - + + diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml index 094c34be50d28..06589cb7d49b2 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17/hgcalwafer.xml @@ -10,6 +10,7 @@ + @@ -33,9 +34,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -44,6 +44,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -82,9 +85,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -93,6 +95,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -131,9 +136,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -142,6 +146,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -180,9 +187,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -191,6 +197,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -229,9 +238,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -240,6 +248,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -278,9 +289,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -289,6 +299,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -327,9 +340,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -338,6 +350,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -376,9 +391,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -387,6 +401,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -425,9 +442,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -436,6 +452,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -474,9 +493,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -485,6 +503,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -523,9 +544,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -534,6 +554,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -572,9 +595,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -583,6 +605,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -623,9 +648,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -634,6 +658,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -659,9 +686,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -670,6 +696,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -695,9 +724,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -706,6 +734,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -731,9 +762,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -742,6 +772,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -767,9 +800,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -778,6 +810,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -803,9 +838,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -814,6 +848,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -839,9 +876,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -850,6 +886,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -875,9 +914,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -886,6 +924,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -911,9 +952,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -922,6 +962,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -947,9 +990,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -958,6 +1000,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -983,9 +1028,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -994,6 +1038,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -1019,9 +1066,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -1030,6 +1076,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcal.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcal.xml index ddffe0a4790fe..e391611be48d7 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcal.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcal.xml @@ -2,12 +2,13 @@ - + - + + diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalpos.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalpos.xml index d6754874bceb9..22685f09deea0 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalpos.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalpos.xml @@ -5,62 +5,122 @@ - + - + - + - + - + - + - + - + - + - + - + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml index 5ce9a2ca8962f..82717f00a1474 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17f/hgcalwafer.xml @@ -10,6 +10,7 @@ + @@ -33,9 +34,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -44,6 +44,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -82,9 +85,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -93,6 +95,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -116,5 +121,107 @@ hgcalcell:HGCalEECellExten24Fine, hgcalcell:HGCalEECellExten25Fine, hgcalcell:HGCalEECellExten26Fine + + + + + + + + + + 0, 1, 2, 3, 4, 5 + + 0, 0, 0, 0, 0, 0 + + 06, 07, 08, 09, 10, 11 + + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEBasePlate + + materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, + hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Kapton, + materials:Silicon, hgcalMaterial:HGC_G10-FR4 + + 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, + [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm + + 0, 0, 0, 0, 0, 0, 1, 0 + + 0, 1, 2, 3, 4, 6, 4, 5, 4, 7 + + + + 0, 1, 13, 19 + + hgcalcell:HGCalHECellFull0Coarse1, hgcalcell:HGCalHECellCorner01Coarse1, + hgcalcell:HGCalHECellCorner02Coarse1,hgcalcell:HGCalHECellCorner03Coarse1, + hgcalcell:HGCalHECellCorner04Coarse1,hgcalcell:HGCalHECellCorner05Coarse1, + hgcalcell:HGCalHECellCorner06Coarse1,hgcalcell:HGCalHECellCorner07Coarse1, + hgcalcell:HGCalHECellCorner08Coarse1,hgcalcell:HGCalHECellCorner09Coarse1, + hgcalcell:HGCalHECellCorner10Coarse1,hgcalcell:HGCalHECellCorner11Coarse1, + hgcalcell:HGCalHECellCorner12Coarse1,hgcalcell:HGCalHECellTrunc01Coarse1, + hgcalcell:HGCalHECellTrunc02Coarse1, hgcalcell:HGCalHECellTrunc03Coarse1, + hgcalcell:HGCalHECellTrunc04Coarse1, hgcalcell:HGCalHECellTrunc05Coarse1, + hgcalcell:HGCalHECellTrunc06Coarse1, hgcalcell:HGCalHECellExten01Coarse1, + hgcalcell:HGCalHECellExten02Coarse1, hgcalcell:HGCalHECellExten03Coarse1, + hgcalcell:HGCalHECellExten04Coarse1, hgcalcell:HGCalHECellExten05Coarse1, + hgcalcell:HGCalHECellExten06Coarse1 + + + + + + + + + + + 0, 1, 2, 3, 4, 5 + + 1, 1, 1, 1, 1, 1 + + 00, 01, 02, 03, 04, 05 + + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEBasePlate + + materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, + hgcalMaterial:HGC_G10-FR4, materials:Epoxy, materials:Kapton, + materials:Silicon, hgcalMaterial:HGC_G10-FR4 + + 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, + [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm + + 0, 0, 0, 0, 0, 0, 1, 0 + + 7, 4, 5, 4, 6, 4, 3, 2, 1, 0 + + + + 0, 1, 13, 19 + + hgcalcell:HGCalHECellFull1Coarse1, hgcalcell:HGCalHECellCorner21Coarse1, + hgcalcell:HGCalHECellCorner22Coarse1,hgcalcell:HGCalHECellCorner23Coarse1, + hgcalcell:HGCalHECellCorner24Coarse1,hgcalcell:HGCalHECellCorner25Coarse1, + hgcalcell:HGCalHECellCorner26Coarse1,hgcalcell:HGCalHECellCorner27Coarse1, + hgcalcell:HGCalHECellCorner28Coarse1,hgcalcell:HGCalHECellCorner29Coarse1, + hgcalcell:HGCalHECellCorner30Coarse1,hgcalcell:HGCalHECellCorner31Coarse1, + hgcalcell:HGCalHECellCorner32Coarse1,hgcalcell:HGCalHECellTrunc21Coarse1, + hgcalcell:HGCalHECellTrunc22Coarse1, hgcalcell:HGCalHECellTrunc23Coarse1, + hgcalcell:HGCalHECellTrunc24Coarse1, hgcalcell:HGCalHECellTrunc25Coarse1, + hgcalcell:HGCalHECellTrunc26Coarse1, hgcalcell:HGCalHECellExten21Coarse1, + hgcalcell:HGCalHECellExten22Coarse1, hgcalcell:HGCalHECellExten23Coarse1, + hgcalcell:HGCalHECellExten24Coarse1, hgcalcell:HGCalHECellExten25Coarse1, + hgcalcell:HGCalHECellExten06Coarse1 + diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17n/hgcalwafer.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17n/hgcalwafer.xml index d0f6fd0195007..ccd366dbdce45 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17n/hgcalwafer.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17n/hgcalwafer.xml @@ -10,6 +10,7 @@ + @@ -33,9 +34,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -44,6 +44,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -65,9 +68,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -76,6 +78,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -97,9 +102,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -108,6 +112,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -129,9 +136,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -140,6 +146,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -161,9 +170,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -172,6 +180,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -193,9 +204,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -204,6 +214,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -225,9 +238,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -236,6 +248,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -257,9 +272,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -268,6 +282,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -289,9 +306,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -300,6 +316,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -321,9 +340,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -332,6 +350,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -353,9 +374,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -364,6 +384,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -385,9 +408,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -396,6 +418,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -419,9 +444,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -430,6 +454,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -455,9 +482,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -466,6 +492,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -491,9 +520,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -502,6 +530,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -527,9 +558,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -538,6 +568,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -563,9 +596,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -574,6 +606,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -599,9 +634,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -610,6 +644,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -635,9 +672,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -646,6 +682,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -671,9 +710,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -682,6 +720,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -707,9 +748,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -718,6 +758,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -743,9 +786,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -754,6 +796,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -779,9 +824,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -790,6 +834,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -815,9 +862,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -826,6 +872,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcal.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcal.xml index ddffe0a4790fe..e391611be48d7 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcal.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcal.xml @@ -2,12 +2,13 @@ - + - + + diff --git a/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml b/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml index 6793dd42dff9f..8892ea997f5f7 100644 --- a/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml +++ b/Geometry/HGCalCommonData/data/hgcalwafer/v17p/hgcalwafer.xml @@ -10,6 +10,7 @@ + @@ -35,9 +36,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -46,6 +46,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -71,9 +74,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -82,6 +84,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -107,9 +112,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -118,6 +122,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -143,9 +150,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -154,6 +160,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -179,9 +188,8 @@ 00, 01, 02, 03, 04, 05 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -190,6 +198,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -215,9 +226,8 @@ 06, 07, 08, 09, 10, 11 - HGCalEEAirGap, HGCalEEMotherBoard, - HGCalEEConnector, HGCalEEPCB, HGCalEEEpoxy, - HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, + HGCalEEAirGap, HGCalEEPCB, HGCalEEConnector, HGCalEEMotherBoard, + HGCalEEEpoxy, HGCalEEEpoxyT, HGCalEEKapton, HGCalEESensitive, HGCalEEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_EEConnector, @@ -226,6 +236,9 @@ 0.225*mm, 1.60*mm, 3.73*mm, 1.60*mm, 0.075*mm, 0.065*mm, 0.265*mm, [WaferThickness], 1.40*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], + [SensorSizeOffset], 0.30*mm, [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 0, 1, 0 @@ -251,9 +264,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -262,6 +274,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -287,9 +302,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -298,6 +312,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -323,9 +340,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -334,6 +350,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -359,9 +378,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -370,6 +388,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -395,9 +416,8 @@ 00, 01, 02, 03, 04, 05 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -406,6 +426,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 @@ -431,9 +454,8 @@ 06, 07, 08, 09, 10, 11 - HGCalHEAirGap, HGCalHEMotherBoard, - HGCalHEConnector, HGCalHEPCB, HGCalHEEpoxy, - HGCalHEKapton, HGCalHESiliconSensitive, + HGCalHEAirGap, HGCalHEPCB, HGCalHEConnector, HGCalHEMotherBoard, + HGCalHEEpoxy, HGCalHEKapton, HGCalHESiliconSensitive, HGCalHEBasePlate materials:Air, hgcalMaterial:HGC_G10-FR4, hgcalMaterial:HGC_HEConnector, @@ -442,6 +464,9 @@ 0.40*mm, 1.60*mm, 3.475*mm, 1.60*mm, 0.075*mm, 0.10*mm, [WaferThickness], 1.0*mm + + 0.00*mm, 0.00*mm, 0.70*mm, 0.70*mm, [SensorSizeOffset], 0.30*mm, + [SensorSizeOffset], 0.50*mm 0, 0, 0, 0, 0, 0, 1, 0 diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc b/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc index acc719092abba..7aa62869d95db 100644 --- a/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc +++ b/Geometry/HGCalCommonData/plugins/DDHGCalCell.cc @@ -75,7 +75,7 @@ void DDHGCalCell::initialize(const DDNumericArguments& nArgs, edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Wafer r " << waferSize_ << " T " << waferT_ << " Cell T " << cellT_ << " Cells/Wafer " << nCells_ << " Material " << material_ << "Sensitive Position " << posSens_ << " NameSpace " << nameSpace_ << ": Full Cell: " << fullCN_ << ":" - << fullSensN_; + << fullSensN_ << " Separation " << waferSeparation_ << ":" << addWaferSeparation_; for (unsigned int k = 0; k < truncCN_.size(); ++k) edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Truncated Cell[" << k << "] " << truncCN_[k] << ":" << truncSensN_[k]; @@ -96,7 +96,7 @@ void DDHGCalCell::execute(DDCompactView& cpv) { static const double sqrt3 = std::sqrt(3.0); double R = - (addWaferSeparation_ == 0) ? waferSize_ / (3.0 * nCells_) : (waferSize_ + waferSeparation_) / (3.0 * nCells_); + (addWaferSeparation_ <= 1) ? waferSize_ / (3.0 * nCells_) : (waferSize_ + waferSeparation_) / (3.0 * nCells_); double r = 0.5 * R * sqrt3; double dx1 = R; double dx2 = 0.5 * dx1; diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc b/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc index 45a48a59c405a..08b100a550515 100644 --- a/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc +++ b/Geometry/HGCalCommonData/plugins/DDHGCalWaferFullRotated.cc @@ -47,6 +47,7 @@ class DDHGCalWaferFullRotated : public DDAlgorithm { std::vector materials_; // Materials of the layers std::vector tag_; // Tag of placement index std::vector layerThick_; // Thickness of layers + std::vector layerSizeOff_; // Size offset for each layer std::vector layerType_; // Layer types std::vector copyNumber_; // Initial copy numbers std::vector layers_; // Number of layers in a section @@ -87,13 +88,15 @@ void DDHGCalWaferFullRotated::initialize(const DDNumericArguments& nArgs, layerNames_ = vsArgs["LayerNames"]; materials_ = vsArgs["LayerMaterials"]; layerThick_ = vArgs["LayerThickness"]; + layerSizeOff_ = vArgs["LayerSizeOffset"]; layerType_ = dbl_to_int(vArgs["LayerTypes"]); copyNumber_.resize(materials_.size(), 1); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferFullRotated: " << layerNames_.size() << " types of volumes"; for (unsigned int i = 0; i < layerNames_.size(); ++i) edm::LogVerbatim("HGCalGeom") << "Volume [" << i << "] " << layerNames_[i] << " of thickness " << layerThick_[i] - << " filled with " << materials_[i] << " type " << layerType_[i]; + << " size offset " << layerSizeOff_[i] << " filled with " << materials_[i] << " type " + << layerType_[i]; #endif layers_ = dbl_to_int(vArgs["Layers"]); #ifdef EDM_ML_DEBUG @@ -133,10 +136,8 @@ void DDHGCalWaferFullRotated::execute(DDCompactView& cpv) { static const double sqrt3 = std::sqrt(3.0); double rM = 0.5 * waferSize_; double RM2 = rM / sqrt3; - double r2 = 0.5 * waferSize_; - double R2 = r2 / sqrt3; const int nFine(nCells_), nCoarse(nCells_); - HGCalCell wafer((waferSize_ + waferSepar_), nFine, nCoarse); + HGCalCell wafer(waferSize_, nFine, nCoarse); for (unsigned int k = 0; k < tag_.size(); ++k) { // First the mother std::vector xM = {rM, 0, -rM, -rM, 0, rM}; @@ -159,8 +160,6 @@ void DDHGCalWaferFullRotated::execute(DDCompactView& cpv) { #endif // Then the layers - std::vector xL = {r2, 0, -r2, -r2, 0, r2}; - std::vector yL = {R2, 2 * R2, R2, -R2, -2 * R2, -R2}; std::vector glogs(materials_.size()); for (unsigned int ii = 0; ii < copyNumber_.size(); ii++) { copyNumber_[ii] = 1; @@ -168,6 +167,10 @@ void DDHGCalWaferFullRotated::execute(DDCompactView& cpv) { double zi(-0.5 * thick_), thickTot(0.0); for (unsigned int l = 0; l < layers_.size(); l++) { unsigned int i = layers_[l]; + double r2 = 0.5 * (waferSize_ - layerSizeOff_[i]); + double R2 = r2 / sqrt3; + std::vector xL = {r2, 0, -r2, -r2, 0, r2}; + std::vector yL = {R2, 2 * R2, R2, -R2, -2 * R2, -R2}; if (copyNumber_[i] == 1) { if (layerType_[i] > 0) { zw[0] = -0.5 * waferThick_; @@ -177,11 +180,14 @@ void DDHGCalWaferFullRotated::execute(DDCompactView& cpv) { zw[1] = 0.5 * layerThick_[i]; } std::string layerName = layerNames_[i] + tag_[k] + waferTag_; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferFullRotated: Layer " << l << ": " << i << ": " << layerName << " " + << layerSizeOff_[i] << " r " << r2 << ":" << R2; +#endif solid = DDSolidFactory::extrudedpolygon(layerName, xL, yL, zw, zx, zy, scale); DDName matN(DDSplit(materials_[i]).first, DDSplit(materials_[i]).second); DDMaterial matter(matN); glogs[i] = DDLogicalPart(solid.ddname(), matter, solid); - #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferFullRotated: " << solid.name() << " extruded polygon made of " << matN << " z|x|y|s (0) " << zw[0] << ":" << zx[0] << ":" << zy[0] << ":" diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc b/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc index c74c4debf7a0d..a7c4f86952bfb 100644 --- a/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc +++ b/Geometry/HGCalCommonData/plugins/DDHGCalWaferPartialRotated.cc @@ -46,6 +46,7 @@ class DDHGCalWaferPartialRotated : public DDAlgorithm { std::vector layerNames_; // Names of the layers std::vector materials_; // Materials of the layers std::vector layerThick_; // Thickness of layers + std::vector layerSizeOff_; // Size offset of layers std::vector layerType_; // Layer types std::vector layers_; // Number of layers in a section std::string senseName_; // Name of the sensitive layer @@ -86,12 +87,14 @@ void DDHGCalWaferPartialRotated::initialize(const DDNumericArguments& nArgs, layerNames_ = vsArgs["LayerNames"]; materials_ = vsArgs["LayerMaterials"]; layerThick_ = vArgs["LayerThickness"]; + layerSizeOff_ = vArgs["LayerSizeOffset"]; layerType_ = dbl_to_int(vArgs["LayerTypes"]); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated: " << layerNames_.size() << " types of volumes"; for (unsigned int i = 0; i < layerNames_.size(); ++i) edm::LogVerbatim("HGCalGeom") << "Volume [" << i << "] " << layerNames_[i] << " of thickness " << layerThick_[i] - << " filled with " << materials_[i] << " type " << layerType_[i]; + << " size offset " << layerSizeOff_[i] << " filled with " << materials_[i] << " type " + << layerType_[i]; #endif layers_ = dbl_to_int(vArgs["Layers"]); #ifdef EDM_ML_DEBUG @@ -116,9 +119,6 @@ void DDHGCalWaferPartialRotated::execute(DDCompactView& cpv) { #endif static constexpr double tol = 0.00001; - static const double sqrt3 = std::sqrt(3.0); - double r = 0.5 * waferSize_; - double R = 2.0 * r / sqrt3; std::string parentName = parent().name().name(); // Loop over all types @@ -127,7 +127,7 @@ void DDHGCalWaferPartialRotated::execute(DDCompactView& cpv) { // First the mother std::string mother = parentName + placementIndexTags_[m] + waferTag_ + tags_[k]; std::vector > wxy = - HGCalWaferMask::waferXY(partialTypes_[k], placementIndex_[m], r, R, 0.0, 0.0); + HGCalWaferMask::waferXY(partialTypes_[k], placementIndex_[m], waferSize_, 0.0, 0.0, 0.0); std::vector xM, yM; for (unsigned int i = 0; i < (wxy.size() - 1); ++i) { xM.emplace_back(wxy[i].first); @@ -150,20 +150,21 @@ void DDHGCalWaferPartialRotated::execute(DDCompactView& cpv) { #endif // Then the layers - wxy = HGCalWaferMask::waferXY(partialTypes_[k], placementIndex_[m], r, R, 0.0, 0.0); - std::vector xL, yL; - for (unsigned int i = 0; i < (wxy.size() - 1); ++i) { - xL.emplace_back(wxy[i].first); - yL.emplace_back(wxy[i].second); - } std::vector glogs(materials_.size()); std::vector copyNumber(materials_.size(), 1); double zi(-0.5 * thick_), thickTot(0.0); for (unsigned int l = 0; l < layers_.size(); l++) { unsigned int i = layers_[l]; + wxy = HGCalWaferMask::waferXY(partialTypes_[k], placementIndex_[m], waferSize_, layerSizeOff_[i], 0.0, 0.0); + std::vector xL, yL; + for (unsigned int i0 = 0; i0 < (wxy.size() - 1); ++i0) { + xL.emplace_back(wxy[i0].first); + yL.emplace_back(wxy[i0].second); + } #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated:Layer " << l << ":" << i << " T " << layerThick_[i] - << " Copy " << copyNumber[i]; + << " Size offset " << layerSizeOff_[i] << " Copy " << copyNumber[i] + << " Partial type " << partialTypes_[k]; #endif DDRotation rot; if (copyNumber[i] == 1) { diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc index d49f6ae760160..1c0d70789ff43 100644 --- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc +++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalCell.cc @@ -55,7 +55,8 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Wafer r " << cms::convert2mm(waferSize) << " T " << cms::convert2mm(waferT) << " Cell T " << cms::convert2mm(cellT) << " Cells/Wafer " << nCells << " Material " << material << "Sensitive Position " << posSens - << " NameSpace " << ns.name() << " Full Cell: " << fullCN << ":" << fullSensN; + << " NameSpace " << ns.name() << " Full Cell: " << fullCN << ":" << fullSensN + << " Separation " << waferSeparation << ":" << addWaferSeparation; for (unsigned int k = 0; k < truncCN.size(); ++k) edm::LogVerbatim("HGCalGeom") << "DDHGCalCell: Truncated Cell[" << k << "] " << truncCN[k] << ":" << truncSensN[k]; for (unsigned int k = 0; k < extenCN.size(); ++k) @@ -74,7 +75,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext static const double waf2cell = 3.0; static const double cornerfac = 2.5; double R = - (addWaferSeparation == 0) ? waferSize / (waf2cell * nCells) : (waferSize + waferSeparation) / (waf2cell * nCells); + (addWaferSeparation <= 1) ? waferSize / (waf2cell * nCells) : (waferSize + waferSeparation) / (waf2cell * nCells); double r = 0.5 * R * sqrt3; double dx1 = R; double dx2 = 0.5 * dx1; diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc index e9da35a5144b1..fbf04e32b3ba4 100644 --- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc +++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferFullRotated.cc @@ -26,10 +26,10 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext const auto& material = args.value("ModuleMaterial"); const auto& thick = args.value("ModuleThickness"); const auto& waferSize = args.value("WaferSize"); - const auto& waferSepar = args.value("SensorSeparation"); const auto& waferThick = args.value("WaferThickness"); const auto& waferTag = args.value("WaferTag"); #ifdef EDM_ML_DEBUG + const auto& waferSepar = args.value("SensorSeparation"); edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferFullRotated: Module " << args.parentName() << " made of " << material << " T " << thick << " Wafer 2r " << waferSize << " Half Separation " << waferSepar << " T " << waferThick; @@ -40,6 +40,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext const auto& layerNames = args.value >("LayerNames"); const auto& materials = args.value >("LayerMaterials"); const auto& layerThick = args.value >("LayerThickness"); + const auto& layerSizeOff = args.value >("LayerSizeOffset"); const auto& layerType = args.value >("LayerTypes"); std::vector copyNumber; copyNumber.resize(materials.size(), 1); @@ -47,7 +48,8 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferFullRotated: " << layerNames.size() << " types of volumes"; for (unsigned int i = 0; i < layerNames.size(); ++i) edm::LogVerbatim("HGCalGeom") << "Volume [" << i << "] " << layerNames[i] << " of thickness " << layerThick[i] - << " filled with " << materials[i] << " type " << layerType[i]; + << " size offset " << layerSizeOff[i] << " filled with " << materials[i] << " type " + << layerType[i]; #endif const auto& layers = args.value >("Layers"); #ifdef EDM_ML_DEBUG @@ -83,10 +85,8 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext static const double sqrt3 = std::sqrt(3.0); double rM = 0.5 * waferSize; double RM2 = rM / sqrt3; - double r2 = 0.5 * waferSize; - double R2 = r2 / sqrt3; const int nFine(nCells), nCoarse(nCells); - HGCalCell wafer((waferSize + waferSepar), nFine, nCoarse); + HGCalCell wafer(waferSize, nFine, nCoarse); for (unsigned int k = 0; k < tag.size(); ++k) { // First the mother std::vector xM = {rM, 0, -rM, -rM, 0, rM}; @@ -109,8 +109,6 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext #endif // Then the layers - std::vector xL = {r2, 0, -r2, -r2, 0, r2}; - std::vector yL = {R2, 2 * R2, R2, -R2, -2 * R2, -R2}; std::vector glogs(materials.size()); for (unsigned int ii = 0; ii < copyNumber.size(); ii++) { copyNumber[ii] = 1; @@ -118,6 +116,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]; + double r2 = 0.5 * (waferSize - layerSizeOff[i]); + double R2 = r2 / sqrt3; + std::vector xL = {r2, 0, -r2, -r2, 0, r2}; + std::vector yL = {R2, 2 * R2, R2, -R2, -2 * R2, -R2}; if (copyNumber[i] == 1) { if (layerType[i] > 0) { zw[0] = -0.5 * waferThick; @@ -127,6 +129,10 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext zw[1] = 0.5 * layerThick[i]; } std::string layerName = layerNames[i] + tag[k] + waferTag; +#ifdef EDM_ML_DEBUG + edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferFullRotated: Layer " << l << ": " << i << ":" << layerName << " " + << layerSizeOff[i] << " r " << r2 << ":" << R2; +#endif solid = dd4hep::ExtrudedPolygon(xL, yL, zw, zx, zy, scale); ns.addSolidNS(ns.prepend(layerName), solid); matter = ns.material(materials[i]); diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc index 657d3991cdc47..ea85c77e1d299 100644 --- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc +++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc @@ -51,12 +51,14 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext const auto& layerNames = args.value>("LayerNames"); const auto& materials = args.value>("LayerMaterials"); const auto& layerThick = args.value>("LayerThickness"); + const auto& layerSizeOff = args.value>("LayerSizeOffset"); const auto& layerType = args.value>("LayerTypes"); #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated: " << layerNames.size() << " types of volumes"; for (unsigned int i = 0; i < layerNames.size(); ++i) edm::LogVerbatim("HGCalGeom") << "Volume [" << i << "] " << layerNames[i] << " of thickness " - << cms::convert2mm(layerThick[i]) << " filled with " << materials[i] << " type " + << cms::convert2mm(layerThick[i]) << " size offset " + << cms::convert2mm(layerSizeOff[i]) << " filled with " << materials[i] << " type " << layerType[i]; #endif const auto& layers = args.value>("Layers"); @@ -78,9 +80,6 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext 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; - double R = 2.0 * r / sqrt3; // Loop over all types for (unsigned int k = 0; k < tags.size(); ++k) { @@ -88,7 +87,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext // First the mother std::string mother = parentName + placementIndexTags[m] + waferTag + tags[k]; std::vector> wxy = - HGCalWaferMask::waferXY(partialTypes[k], placementIndex[m], r, R, 0.0, 0.0); + HGCalWaferMask::waferXY(partialTypes[k], placementIndex[m], waferSize, 0.0, 0.0, 0.0); std::vector xM, yM; for (unsigned int i = 0; i < (wxy.size() - 1); ++i) { xM.emplace_back(wxy[i].first); @@ -115,20 +114,21 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext // Then the layers dd4hep::Rotation3D rotation; - wxy = HGCalWaferMask::waferXY(partialTypes[k], placementIndex[m], r, R, 0.0, 0.0); - std::vector xL, yL; - for (unsigned int i = 0; i < (wxy.size() - 1); ++i) { - xL.emplace_back(wxy[i].first); - yL.emplace_back(wxy[i].second); - } std::vector glogs(materials.size()); std::vector copyNumber(materials.size(), 1); double zi(-0.5 * thick), thickTot(0.0); for (unsigned int l = 0; l < layers.size(); l++) { unsigned int i = layers[l]; + wxy = HGCalWaferMask::waferXY(partialTypes[k], placementIndex[m], waferSize, layerSizeOff[i], 0.0, 0.0); + std::vector xL, yL; + for (unsigned int i0 = 0; i0 < (wxy.size() - 1); ++i0) { + xL.emplace_back(wxy[i0].first); + yL.emplace_back(wxy[i0].second); + } #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated:Layer " << l << ":" << i << " T " << layerThick[i] - << " Copy " << copyNumber[i]; + << " Size offset " << layerSizeOff[i] << " Copy " << copyNumber[i] + << " Partial type " << partialTypes_[k]; #endif if (copyNumber[i] == 1) { if (layerType[i] > 0) { diff --git a/Geometry/HGCalCommonData/src/HGCalCell.cc b/Geometry/HGCalCommonData/src/HGCalCell.cc index 75996e784d7cf..0967e7bd9e60e 100644 --- a/Geometry/HGCalCommonData/src/HGCalCell.cc +++ b/Geometry/HGCalCommonData/src/HGCalCell.cc @@ -1,3 +1,4 @@ +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "Geometry/HGCalCommonData/interface/HGCalCell.h" #include @@ -8,6 +9,8 @@ HGCalCell::HGCalCell(double waferSize, int32_t nFine, int32_t nCoarse) { cellX_[k] = waferSize / (3 * ncell_[k]); cellY_[k] = sqrt3By2_ * cellX_[k]; } + edm::LogVerbatim("HGCalGeom") << "HGCalCell initialized with waferSize " << waferSize << " number of cells " << nFine + << ":" << nCoarse; } std::pair HGCalCell::cellUV2XY1(int32_t u, int32_t v, int32_t placementIndex, int32_t type) { diff --git a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc index 45eaf6f05e676..2f6e722dfce7f 100644 --- a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc +++ b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc @@ -1249,7 +1249,7 @@ std::vector > HGCalWaferMask::waferXY( } std::vector > HGCalWaferMask::waferXY( - int part, int place, double delX, double delY, double xpos, double ypos) { + int part, int place, double waferSize, double offset, double xpos, double ypos) { std::vector > xy; // Good for V17 version and uses partial wafer type & placement index #ifdef EDM_ML_DEBUG @@ -1278,22 +1278,107 @@ std::vector > HGCalWaferMask::waferXY( Depending on the wafer type and placement index, the corners are chosen in the variable *np* */ - double dx[24] = {HGCalTypes::c00 * delX, HGCalTypes::c10 * delX, HGCalTypes::c10 * delX, HGCalTypes::c00 * delX, + double Sin_60 = std::sqrt(3.0) / 2.0; + double Cos_60 = 0.5; + double Tan_60 = Sin_60 / Cos_60; + double delX = 0.5 * waferSize; + double delY = delX / Sin_60; + double dx[36] = {HGCalTypes::c00 * delX, HGCalTypes::c10 * delX, HGCalTypes::c10 * delX, HGCalTypes::c00 * delX, -HGCalTypes::c10 * delX, -HGCalTypes::c10 * delX, HGCalTypes::c50 * delX, HGCalTypes::c10 * delX, HGCalTypes::c50 * delX, -HGCalTypes::c50 * delX, -HGCalTypes::c10 * delX, -HGCalTypes::c50 * delX, HGCalTypes::c22 * delX, HGCalTypes::c10 * delX, HGCalTypes::c77 * delX, -HGCalTypes::c22 * delX, -HGCalTypes::c10 * delX, -HGCalTypes::c77 * delX, HGCalTypes::c22 * delX, -HGCalTypes::c77 * delX, + -HGCalTypes::c10 * delX, -HGCalTypes::c22 * delX, HGCalTypes::c77 * delX, HGCalTypes::c10 * delX, + HGCalTypes::c22 * delX, HGCalTypes::c10 * delX, HGCalTypes::c77 * delX, -HGCalTypes::c22 * delX, + -HGCalTypes::c10 * delX, -HGCalTypes::c77 * delX, HGCalTypes::c22 * delX, -HGCalTypes::c77 * delX, -HGCalTypes::c10 * delX, -HGCalTypes::c22 * delX, HGCalTypes::c77 * delX, HGCalTypes::c10 * delX}; - double dy[24] = {-HGCalTypes::c10 * delY, -HGCalTypes::c50 * delY, HGCalTypes::c50 * delY, HGCalTypes::c10 * delY, + double dy[36] = {-HGCalTypes::c10 * delY, -HGCalTypes::c50 * delY, HGCalTypes::c50 * delY, HGCalTypes::c10 * delY, HGCalTypes::c50 * delY, -HGCalTypes::c50 * delY, -HGCalTypes::c75 * delY, HGCalTypes::c00 * delY, HGCalTypes::c75 * delY, HGCalTypes::c75 * delY, HGCalTypes::c00 * delY, -HGCalTypes::c75 * delY, -HGCalTypes::c88 * delY, -HGCalTypes::c27 * delY, HGCalTypes::c61 * delY, HGCalTypes::c88 * delY, HGCalTypes::c27 * delY, -HGCalTypes::c61 * delY, HGCalTypes::c88 * delY, HGCalTypes::c61 * delY, + -HGCalTypes::c27 * delY, -HGCalTypes::c88 * delY, -HGCalTypes::c61 * delY, HGCalTypes::c27 * delY, + -HGCalTypes::c88 * delY, -HGCalTypes::c27 * delY, HGCalTypes::c61 * delY, HGCalTypes::c88 * delY, + HGCalTypes::c27 * delY, -HGCalTypes::c61 * delY, HGCalTypes::c88 * delY, HGCalTypes::c61 * delY, -HGCalTypes::c27 * delY, -HGCalTypes::c88 * delY, -HGCalTypes::c61 * delY, HGCalTypes::c27 * delY}; + + double offsetx[36] = {0.0, + -offset, + -offset, + 0.0, + offset, + offset, + -offset * Cos_60, + -offset, + -offset * Cos_60, + offset * Cos_60, + offset, + offset * Cos_60, + -offset * Cos_60, + -offset, + -offset * Cos_60, + offset * Cos_60, + offset, + offset * Cos_60, + -offset * Cos_60, + offset * Cos_60, + offset, + offset * Cos_60, + -offset * Cos_60, + -offset, + 0.0, + -offset, + -offset, + 0.0, + offset, + offset, + 0.0, + offset, + offset, + 0.0, + -offset, + -offset}; + double offsety[36] = {offset / Sin_60, + offset / Tan_60, + -offset / Tan_60, + -offset / Sin_60, + -offset / Tan_60, + offset / Tan_60, + offset * Sin_60, + 0.0, + -offset * Sin_60, + -offset * Sin_60, + 0.0, + offset * Sin_60, + offset * Sin_60, + 0.0, + -offset * Sin_60, + -offset * Sin_60, + 0.0, + offset * Sin_60, + -offset * Sin_60, + -offset * Sin_60, + 0.0, + offset * Sin_60, + offset * Sin_60, + 0.0, + offset / Sin_60, + offset / Tan_60, + -offset / Tan_60, + -offset / Sin_60, + -offset / Tan_60, + offset / Tan_60, + -offset / Sin_60, + -offset / Tan_60, + offset / Tan_60, + offset / Sin_60, + offset / Tan_60, + -offset / Tan_60}; + if (part == HGCalTypes::WaferFull) { int np[7] = {0, 1, 2, 3, 4, 5, 0}; for (int k = 0; k < 7; ++k) - xy.push_back(std::make_pair((xpos + dx[np[k]]), (ypos + dy[np[k]]))); + xy.push_back(std::make_pair((xpos + dx[np[k]] + offsetx[np[k]]), (ypos + dy[np[k]] + offsety[np[k]]))); } else if (part == HGCalTypes::WaferLDTop) { int np[12][5] = {{0, 1, 4, 5, 0}, {1, 2, 5, 0, 1}, @@ -1308,9 +1393,11 @@ std::vector > HGCalWaferMask::waferXY( {2, 3, 4, 1, 2}, {1, 2, 3, 0, 1}}; for (int k = 0; k < 5; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferLDBottom) { @@ -1327,9 +1414,11 @@ std::vector > HGCalWaferMask::waferXY( {1, 4, 5, 0, 1}, {0, 3, 4, 5, 0}}; for (int k = 0; k < 5; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferLDLeft) { @@ -1346,9 +1435,11 @@ std::vector > HGCalWaferMask::waferXY( {2, 8, 11, 0, 1, 2}, {1, 7, 10, 5, 0, 1}}; for (int k = 0; k < 6; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferLDRight) { @@ -1365,9 +1456,11 @@ std::vector > HGCalWaferMask::waferXY( {3, 4, 5, 11, 8, 3}, {2, 3, 4, 10, 7, 2}}; for (int k = 0; k < 6; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferLDFive) { @@ -1384,9 +1477,11 @@ std::vector > HGCalWaferMask::waferXY( {2, 3, 5, 0, 1, 2}, {1, 2, 4, 5, 0, 1}}; for (int k = 0; k < 6; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferLDThree) { @@ -1403,47 +1498,53 @@ std::vector > HGCalWaferMask::waferXY( {3, 4, 5, 3}, {2, 3, 4, 2}}; for (int k = 0; k < 4; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferHDTop) { - int np[12][5] = {{0, 22, 16, 5, 0}, - {1, 23, 17, 0, 1}, - {2, 18, 12, 1, 2}, - {3, 19, 13, 2, 3}, - {4, 20, 14, 3, 4}, - {5, 21, 15, 4, 5}, - {0, 1, 23, 17, 0}, - {5, 0, 22, 16, 5}, - {4, 5, 21, 15, 4}, - {3, 4, 20, 14, 3}, - {2, 3, 19, 13, 2}, - {1, 2, 18, 12, 1}}; + int np[12][5] = {{0, 34, 28, 5, 0}, + {1, 35, 29, 0, 1}, + {2, 30, 24, 1, 2}, + {3, 31, 25, 2, 3}, + {4, 32, 26, 3, 4}, + {5, 33, 27, 4, 5}, + {0, 1, 35, 29, 0}, + {5, 0, 34, 28, 5}, + {4, 5, 33, 27, 4}, + {3, 4, 32, 26, 3}, + {2, 3, 31, 25, 2}, + {1, 2, 30, 24, 1}}; for (int k = 0; k < 5; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferHDBottom) { - int np[12][7] = {{1, 2, 3, 4, 16, 22, 1}, - {2, 3, 4, 5, 17, 23, 2}, - {3, 4, 5, 0, 12, 18, 3}, - {4, 5, 0, 1, 13, 19, 4}, - {5, 0, 1, 2, 14, 20, 5}, - {0, 1, 2, 3, 15, 21, 0}, - {5, 17, 23, 2, 3, 4, 5}, - {4, 16, 22, 1, 2, 3, 4}, - {3, 15, 21, 0, 1, 2, 3}, - {2, 14, 20, 5, 0, 1, 2}, - {1, 13, 19, 4, 5, 0, 1}, - {0, 12, 18, 3, 4, 5, 0}}; + int np[12][7] = {{1, 2, 3, 4, 28, 34, 1}, + {2, 3, 4, 5, 29, 35, 2}, + {3, 4, 5, 0, 24, 30, 3}, + {4, 5, 0, 1, 25, 31, 4}, + {5, 0, 1, 2, 26, 32, 5}, + {0, 1, 2, 3, 27, 33, 0}, + {5, 29, 35, 2, 3, 4, 5}, + {4, 28, 34, 1, 2, 3, 4}, + {3, 27, 33, 0, 1, 2, 3}, + {2, 26, 32, 5, 0, 1, 2}, + {1, 25, 31, 4, 5, 0, 1}, + {0, 24, 30, 3, 4, 5, 0}}; for (int k = 0; k < 7; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferHDLeft) { @@ -1460,9 +1561,11 @@ std::vector > HGCalWaferMask::waferXY( {2, 14, 21, 0, 1, 2}, {1, 13, 20, 5, 0, 1}}; for (int k = 0; k < 6; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferHDRight) { @@ -1479,9 +1582,11 @@ std::vector > HGCalWaferMask::waferXY( {3, 4, 5, 17, 18, 3}, {2, 3, 4, 16, 23, 2}}; for (int k = 0; k < 6; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } else if (part == HGCalTypes::WaferHDFive) { @@ -1498,9 +1603,11 @@ std::vector > HGCalWaferMask::waferXY( {2, 18, 17, 0, 1, 2}, {1, 23, 16, 5, 0, 1}}; for (int k = 0; k < 6; ++k) { - xy.push_back(std::make_pair((xpos + dx[np[place][k]]), (ypos + dy[np[place][k]]))); + xy.push_back(std::make_pair((xpos + dx[np[place][k]] + offsetx[np[place][k]]), + (ypos + dy[np[place][k]] + offsety[np[place][k]]))); #ifdef EDM_ML_DEBUG - edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] << ":" << dy[np[place][k]]; + edm::LogVerbatim("HGCalGeom") << k << ":" << np[place][k] << ":" << dx[np[place][k]] + offsetx[np[place][k]] + << ":" << dy[np[place][k]] + offsety[np[place][k]]; #endif } } diff --git a/Geometry/HGCalCommonData/test/cms.xml b/Geometry/HGCalCommonData/test/cms.xml index 16cc2d0cd146a..b2139b8e8e18f 100644 --- a/Geometry/HGCalCommonData/test/cms.xml +++ b/Geometry/HGCalCommonData/test/cms.xml @@ -2,8 +2,8 @@ - - + + diff --git a/Geometry/HGCalCommonData/test/python/g4OverlapCheck_cfg.py b/Geometry/HGCalCommonData/test/python/g4OverlapCheck_cfg.py index 80b1058a6ea01..bcf77e57e995b 100644 --- a/Geometry/HGCalCommonData/test/python/g4OverlapCheck_cfg.py +++ b/Geometry/HGCalCommonData/test/python/g4OverlapCheck_cfg.py @@ -2,7 +2,7 @@ # Way to use this: # cmsRun g4OverlapCheck_cfg.py type=V17 tol=0.01 # -# Options for type V16, V17, Wafer, WaferFR +# Options for type V16, V17, Wafer, WaferFR, WaferPR # tol 1.0, 0.1, 0.01, 0.0 # ############################################################################### @@ -17,7 +17,7 @@ "V17", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, - "type of operations: V16, V17, Wafer, WaferFR") + "type of operations: V16, V17, Wafer, WaferFR, WaferPR") options.register('tol', 0.01, VarParsing.VarParsing.multiplicity.singleton, @@ -43,9 +43,9 @@ process.load('FWCore.MessageService.MessageLogger_cfi') process.load(geomFile) -if hasattr(process,'MessageLogger'): - process.MessageLogger.SimG4CoreGeometry=dict() - process.MessageLogger.HGCalGeom=dict() +#if hasattr(process,'MessageLogger'): +# process.MessageLogger.SimG4CoreGeometry=dict() +# process.MessageLogger.HGCalGeom=dict() from SimG4Core.PrintGeomInfo.g4TestGeometry_cfi import * process = checkOverlap(process) From cba25280cb43d56cbf6a11fcb8065b3f420ecedf Mon Sep 17 00:00:00 2001 From: Sunanda Date: Thu, 16 Feb 2023 10:12:31 +0100 Subject: [PATCH 2/5] Remove static error --- .../plugins/dd4hep/DDHGCalWaferPartialRotated.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc index ea85c77e1d299..e689239227a9b 100644 --- a/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc +++ b/Geometry/HGCalCommonData/plugins/dd4hep/DDHGCalWaferPartialRotated.cc @@ -128,7 +128,7 @@ static long algorithm(dd4hep::Detector& /* description */, cms::DDParsingContext #ifdef EDM_ML_DEBUG edm::LogVerbatim("HGCalGeom") << "DDHGCalWaferPartialRotated:Layer " << l << ":" << i << " T " << layerThick[i] << " Size offset " << layerSizeOff[i] << " Copy " << copyNumber[i] - << " Partial type " << partialTypes_[k]; + << " Partial type " << partialTypes[k]; #endif if (copyNumber[i] == 1) { if (layerType[i] > 0) { From 3cabae091c1fc6a7eedbff8fd77521baba4c882c Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 17 Feb 2023 10:49:16 +0100 Subject: [PATCH 3/5] Take Andrea's comments --- Geometry/HGCalCommonData/src/HGCalWaferMask.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc index 2f6e722dfce7f..53ac806ac9db8 100644 --- a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc +++ b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc @@ -1277,10 +1277,11 @@ std::vector > HGCalWaferMask::waferXY( Depending on the wafer type and placement index, the corners are chosen in the variable *np* + The points 24-35 are the same as points 12-23 with different offset */ - double Sin_60 = std::sqrt(3.0) / 2.0; - double Cos_60 = 0.5; - double Tan_60 = Sin_60 / Cos_60; + static constexpr double Sin_60 = std::sqrt(3.0) / 2.0; + static constexpr double Cos_60 = 0.5; + static constexpr double Tan_60 = Sin_60 / Cos_60; double delX = 0.5 * waferSize; double delY = delX / Sin_60; double dx[36] = {HGCalTypes::c00 * delX, HGCalTypes::c10 * delX, HGCalTypes::c10 * delX, HGCalTypes::c00 * delX, From 1441b6acc872a7962727abb746042b003b7c55da Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 17 Feb 2023 11:09:40 +0100 Subject: [PATCH 4/5] Take Andrea's comments --- Geometry/HGCalCommonData/src/HGCalWaferMask.cc | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc index 53ac806ac9db8..c564d978c05ca 100644 --- a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc +++ b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc @@ -1279,9 +1279,9 @@ std::vector > HGCalWaferMask::waferXY( are chosen in the variable *np* The points 24-35 are the same as points 12-23 with different offset */ - static constexpr double Sin_60 = std::sqrt(3.0) / 2.0; - static constexpr double Cos_60 = 0.5; - static constexpr double Tan_60 = Sin_60 / Cos_60; + const double Sin_60 = std::sqrt(3.0) / 2.0; + const double Cos_60 = 0.5; + const double Tan_60 = Sin_60 / Cos_60; double delX = 0.5 * waferSize; double delY = delX / Sin_60; double dx[36] = {HGCalTypes::c00 * delX, HGCalTypes::c10 * delX, HGCalTypes::c10 * delX, HGCalTypes::c00 * delX, From 492fd685883d3310c5e04eccb494633c17607a18 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 17 Feb 2023 12:54:05 +0100 Subject: [PATCH 5/5] Take comments from Andrea --- .../interface/HGCalWaferMask.h | 6 ++ .../HGCalCommonData/src/HGCalWaferMask.cc | 89 +++++++++---------- 2 files changed, 49 insertions(+), 46 deletions(-) diff --git a/Geometry/HGCalCommonData/interface/HGCalWaferMask.h b/Geometry/HGCalCommonData/interface/HGCalWaferMask.h index 539f4993dc27d..fd1eff813a484 100644 --- a/Geometry/HGCalCommonData/interface/HGCalWaferMask.h +++ b/Geometry/HGCalCommonData/interface/HGCalWaferMask.h @@ -54,6 +54,12 @@ class HGCalWaferMask { // (Good for V17 geometry) static std::vector > waferXY( int part, int placement, double delX, double delY, double xpos, double ypos); + +private: + static constexpr double sqrt3_ = 1.732050807568877; // std::sqrt(3.0) in double precision + static constexpr double sin_60_ = 0.5 * sqrt3_; + static constexpr double cos_60_ = 0.5; + static constexpr double tan_60_ = sqrt3_; }; #endif diff --git a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc index c564d978c05ca..3cfa3e540c3a1 100644 --- a/Geometry/HGCalCommonData/src/HGCalWaferMask.cc +++ b/Geometry/HGCalCommonData/src/HGCalWaferMask.cc @@ -1279,11 +1279,8 @@ std::vector > HGCalWaferMask::waferXY( are chosen in the variable *np* The points 24-35 are the same as points 12-23 with different offset */ - const double Sin_60 = std::sqrt(3.0) / 2.0; - const double Cos_60 = 0.5; - const double Tan_60 = Sin_60 / Cos_60; double delX = 0.5 * waferSize; - double delY = delX / Sin_60; + double delY = delX / sin_60_; double dx[36] = {HGCalTypes::c00 * delX, HGCalTypes::c10 * delX, HGCalTypes::c10 * delX, HGCalTypes::c00 * delX, -HGCalTypes::c10 * delX, -HGCalTypes::c10 * delX, HGCalTypes::c50 * delX, HGCalTypes::c10 * delX, HGCalTypes::c50 * delX, -HGCalTypes::c50 * delX, -HGCalTypes::c10 * delX, -HGCalTypes::c50 * delX, @@ -1309,23 +1306,23 @@ std::vector > HGCalWaferMask::waferXY( 0.0, offset, offset, - -offset * Cos_60, + -offset * cos_60_, -offset, - -offset * Cos_60, - offset * Cos_60, + -offset * cos_60_, + offset * cos_60_, offset, - offset * Cos_60, - -offset * Cos_60, + offset * cos_60_, + -offset * cos_60_, -offset, - -offset * Cos_60, - offset * Cos_60, + -offset * cos_60_, + offset * cos_60_, offset, - offset * Cos_60, - -offset * Cos_60, - offset * Cos_60, + offset * cos_60_, + -offset * cos_60_, + offset * cos_60_, offset, - offset * Cos_60, - -offset * Cos_60, + offset * cos_60_, + -offset * cos_60_, -offset, 0.0, -offset, @@ -1339,42 +1336,42 @@ std::vector > HGCalWaferMask::waferXY( 0.0, -offset, -offset}; - double offsety[36] = {offset / Sin_60, - offset / Tan_60, - -offset / Tan_60, - -offset / Sin_60, - -offset / Tan_60, - offset / Tan_60, - offset * Sin_60, + double offsety[36] = {offset / sin_60_, + offset / tan_60_, + -offset / tan_60_, + -offset / sin_60_, + -offset / tan_60_, + offset / tan_60_, + offset * sin_60_, 0.0, - -offset * Sin_60, - -offset * Sin_60, + -offset * sin_60_, + -offset * sin_60_, 0.0, - offset * Sin_60, - offset * Sin_60, + offset * sin_60_, + offset * sin_60_, 0.0, - -offset * Sin_60, - -offset * Sin_60, + -offset * sin_60_, + -offset * sin_60_, 0.0, - offset * Sin_60, - -offset * Sin_60, - -offset * Sin_60, + offset * sin_60_, + -offset * sin_60_, + -offset * sin_60_, 0.0, - offset * Sin_60, - offset * Sin_60, + offset * sin_60_, + offset * sin_60_, 0.0, - offset / Sin_60, - offset / Tan_60, - -offset / Tan_60, - -offset / Sin_60, - -offset / Tan_60, - offset / Tan_60, - -offset / Sin_60, - -offset / Tan_60, - offset / Tan_60, - offset / Sin_60, - offset / Tan_60, - -offset / Tan_60}; + offset / sin_60_, + offset / tan_60_, + -offset / tan_60_, + -offset / sin_60_, + -offset / tan_60_, + offset / tan_60_, + -offset / sin_60_, + -offset / tan_60_, + offset / tan_60_, + offset / sin_60_, + offset / tan_60_, + -offset / tan_60_}; if (part == HGCalTypes::WaferFull) { int np[7] = {0, 1, 2, 3, 4, 5, 0};