diff --git a/Geometry/HGCalCommonData/BuildFile.xml b/Geometry/HGCalCommonData/BuildFile.xml new file mode 100644 index 0000000000000..3fcdb8c74741a --- /dev/null +++ b/Geometry/HGCalCommonData/BuildFile.xml @@ -0,0 +1,5 @@ + + + + + diff --git a/Geometry/HGCalCommonData/data/eta4/hgcalEE.xml b/Geometry/HGCalCommonData/data/eta4/hgcalEE.xml new file mode 100644 index 0000000000000..20077bc59839b --- /dev/null +++ b/Geometry/HGCalCommonData/data/eta4/hgcalEE.xml @@ -0,0 +1,4591 @@ + + + + + + + + + + + + + + + + + + + + + + 1, 1 + 2, 4 + 5, 5 + 6, 6 + 7, 16 + 17, 26 + 27, 56 + 57, 66 + 67, 76 + 77, 86 + 87, 96 + 97, 126 + 127, 136 + 137, 146 + 147, 156 + 157, 166 + 167, 196 + 197, 206 + 207, 216 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 3.1715*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.17305*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.17315*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.17325*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1743*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1763*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1781*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.187*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1959*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2048*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2137*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2226*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2315*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2404*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2493*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2582*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1804*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1893*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1982*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2071*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.216*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2249*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2338*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2427*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2516*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2605*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.18195*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.18205*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.18215*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.19085*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.19095*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.19105*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.19975*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.19985*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.19995*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.20865*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.20875*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.20885*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.21755*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.21765*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.21775*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.22645*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.22655*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.22665*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.23535*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.23545*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.23555*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.24425*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.24435*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.24445*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.25315*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.25325*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.25335*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.26205*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.26215*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.26225*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1832*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1921*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.201*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2099*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2188*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2277*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2366*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2455*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2544*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2633*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1852*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.1941*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.203*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2119*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2208*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2297*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2386*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2475*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2564*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2653*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.26795*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.27855*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.28915*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.29975*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.31035*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.32095*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.33155*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.34215*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.35275*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.36335*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2711*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2817*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2923*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3029*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3135*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3241*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3347*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3453*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3559*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3665*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.27265*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.27275*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.27285*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.28325*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.28335*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.28345*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.29385*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.29395*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.29405*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.30445*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.30455*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.30465*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.31505*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.31515*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.31525*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.32565*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.32575*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.32585*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.33625*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.33635*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.33645*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.34685*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.34695*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.34705*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.35745*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.35755*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.35765*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.36805*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.36815*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.36825*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2739*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2845*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2951*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3057*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3163*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3269*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3375*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3481*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3587*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3693*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2759*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2865*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.2971*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3077*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3183*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3289*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3395*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3501*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3607*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3713*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3751*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.388*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4009*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4138*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4267*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4396*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4525*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4654*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4783*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4912*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3794*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3923*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4052*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4181*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.431*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4439*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4568*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4697*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4826*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4955*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.38095*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.38105*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.38115*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.39385*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.39395*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.39405*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.40675*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.40685*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.40695*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.41965*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.41975*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.41985*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.43255*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.43265*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.43275*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.44545*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.44555*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.44565*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.45835*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.45845*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.45855*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.47125*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.47135*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.47145*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.48415*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.48425*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.48435*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.49705*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.49715*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.49725*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3822*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3951*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.408*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4209*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4338*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4467*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4596*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4725*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4854*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4983*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3842*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.3971*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.41*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4229*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4358*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4487*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4616*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4745*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.4874*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.5003*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/eta4/hgcalHEgem.xml b/Geometry/HGCalCommonData/data/eta4/hgcalHEgem.xml new file mode 100644 index 0000000000000..d2b043c9e1b5d --- /dev/null +++ b/Geometry/HGCalCommonData/data/eta4/hgcalHEgem.xml @@ -0,0 +1,1217 @@ + + + + + + + + + + + + + + + + + + + + 1, 8 + 9, 16 + 17, 24 + 25, 32 + 33, 40 + 41, 48 + 49, 56 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 5.21025*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.25375*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.29725*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.34075*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.38425*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.42775*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.47125*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.51475*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.232*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.2755*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.319*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.3625*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.406*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.4495*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.493*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.5365*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.2285*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.272*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.3155*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.359*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.4025*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.446*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.4895*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.533*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.231*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.2745*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.318*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.3615*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.405*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.4485*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.492*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.5355*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.23253*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.27603*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.31953*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.36303*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.40653*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.45003*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.49353*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.53703*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.23306*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.27656*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.32006*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.36356*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.40706*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.45056*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.49406*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.53756*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.23453*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.27803*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.32153*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.36503*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.40853*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.45203*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.49553*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.53903*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/eta4/hgcalHEsci.xml b/Geometry/HGCalCommonData/data/eta4/hgcalHEsci.xml new file mode 100644 index 0000000000000..a3f3f723e24c9 --- /dev/null +++ b/Geometry/HGCalCommonData/data/eta4/hgcalHEsci.xml @@ -0,0 +1,1168 @@ + + + + + + + + + + + + + + + + + 1, 18 + 19, 36 + 37, 54 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 4.42725*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.47075*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.51425*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.55775*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.60125*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.64475*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.68825*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.73175*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.77525*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.81875*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.86225*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.90575*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.94925*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.99275*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.03625*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.07975*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.12325*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.16675*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.449*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.4925*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.536*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.5795*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.623*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.6665*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.71*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.7535*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.797*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.8405*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.884*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.9275*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.971*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.0145*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.058*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.1015*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.145*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.1885*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.449*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.4925*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.536*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.5795*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.623*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.6665*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.71*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.7535*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.797*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.8405*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.884*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.9275*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.971*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.0145*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.058*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.1015*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.145*m + 90*deg,90*deg,180*deg,0*deg,0*deg,-264.962*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 5.1885*m + 90*deg,90*deg,180*deg,0*deg,0*deg,84.9616*deg,0*deg,0*deg,180*deg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/eta4/hgcalHEsil.xml b/Geometry/HGCalCommonData/data/eta4/hgcalHEsil.xml new file mode 100644 index 0000000000000..b2c43cfb4b0d1 --- /dev/null +++ b/Geometry/HGCalCommonData/data/eta4/hgcalHEsil.xml @@ -0,0 +1,1832 @@ + + + + + + + + + + + + + + + + + + + + + + 1, 1 + 2, 7 + 8, 13 + 14, 31 + 32, 37 + 38, 43 + 44, 49 + 50, 55 + 56, 73 + 74, 79 + 80, 85 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 3.5263*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.5773*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6366*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6959*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.7552*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.8145*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.8738*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6048*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6641*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.7234*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.7827*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.842*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9013*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.60635*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.60645*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.60655*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.66565*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.66575*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.66585*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.72495*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.72505*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.72515*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.78425*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.78435*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.78445*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.84355*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.84365*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.84375*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.90285*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.90295*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.90305*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6076*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6669*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.7262*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.7855*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.8448*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9041*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6096*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.6689*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.7282*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.7875*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.8468*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9061*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9331*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9924*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.0517*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.111*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.1703*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.2296*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9606*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.0199*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.0792*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.1385*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.1978*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.2571*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.96215*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.96225*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.96235*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.02145*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.02155*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.02165*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.08075*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.08085*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.08095*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.14005*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.14015*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.14025*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.19935*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.19945*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.19955*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.25865*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.25875*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.25885*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9634*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.0227*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.082*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.1413*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.2006*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.2599*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 3.9654*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.0247*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.084*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.1433*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.2026*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + 0, 0, 4.2619*m + 90*deg,90*deg,180*deg,0*deg,0*deg,90*deg,0*deg,0*deg,180*deg + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/fastTiming.xml b/Geometry/HGCalCommonData/data/fastTiming.xml new file mode 100644 index 0000000000000..ed48dabc6115e --- /dev/null +++ b/Geometry/HGCalCommonData/data/fastTiming.xml @@ -0,0 +1,64 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/fastTimingConst.xml b/Geometry/HGCalCommonData/data/fastTimingConst.xml new file mode 100644 index 0000000000000..f5e13ddf7f60a --- /dev/null +++ b/Geometry/HGCalCommonData/data/fastTimingConst.xml @@ -0,0 +1,261 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/hgcal.xml b/Geometry/HGCalCommonData/data/hgcal.xml new file mode 100644 index 0000000000000..03fbabc82dc56 --- /dev/null +++ b/Geometry/HGCalCommonData/data/hgcal.xml @@ -0,0 +1,81 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v1/hgcal.xml b/Geometry/HGCalCommonData/data/v1/hgcal.xml new file mode 100644 index 0000000000000..c41c7cb14a536 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v1/hgcal.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v1/hgcalCons.xml b/Geometry/HGCalCommonData/data/v1/hgcalCons.xml new file mode 100644 index 0000000000000..09d3de5f4aa45 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v1/hgcalCons.xml @@ -0,0 +1,253 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v1/hgcalEE.xml b/Geometry/HGCalCommonData/data/v1/hgcalEE.xml new file mode 100644 index 0000000000000..0e73fd3cbe354 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v1/hgcalEE.xml @@ -0,0 +1,176 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:Lead, materials:Lead, materials:Lead, materials:Copper, + materials:Silicon, materials:M_NEMA FR4 plate, materials:Air + + EEAbsorber1, EEAbsorber2, EEAbsorber3, EEHeatShield, EESensitive, EEPCB, + EEAirGap + + 1.6*mm, 3.3*mm, 5.6*mm, 3.0*mm, 0.1*mm, 1.0*mm, 1.0*mm + + + 0, 3, 4, 4, 5, 6, 0, 3, 4, 4, 5, 6, 0, 3, 4, 4, 5, 6, + 0, 3, 4, 4, 5, 6, 0, 3, 4, 4, 5, 6, 0, 3, 4, 4, 5, 6, + 0, 3, 4, 4, 5, 6, 0, 3, 4, 4, 5, 6, 0, 3, 4, 4, 5, 6, + 0, 3, 4, 4, 5, 6, 1, 3, 4, 4, 5, 6, 1, 3, 4, 4, 5, 6, + 1, 3, 4, 4, 5, 6, 1, 3, 4, 4, 5, 6, 1, 3, 4, 4, 5, 6, + 1, 3, 4, 4, 5, 6, 1, 3, 4, 4, 5, 6, 1, 3, 4, 4, 5, 6, + 1, 3, 4, 4, 5, 6, 1, 3, 4, 4, 5, 6, 2, 3, 4, 4, 5, 6, + 2, 3, 4, 4, 5, 6, 2, 3, 4, 4, 5, 6, 2, 3, 4, 4, 5, 6, + 2, 3, 4, 4, 5, 6, 2, 3, 4, 4, 5, 6, 2, 3, 4, 4, 5, 6, + 2, 3, 4, 4, 5, 6, 2, 3, 4, 4, 5, 6, 2, 3, 4, 4, 5, 6 + + + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1 + + + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, 6.8*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, 8.5*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, + 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm, 10.7*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v1/hgcalHEgem.xml b/Geometry/HGCalCommonData/data/v1/hgcalHEgem.xml new file mode 100644 index 0000000000000..981880a5b2f7f --- /dev/null +++ b/Geometry/HGCalCommonData/data/v1/hgcalHEgem.xml @@ -0,0 +1,95 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:H_Brass, materials:M_Kapton_Cu, + materials:M_GEM_Gas,materials:M_GEM_Foil,materials:M_GEM_Gas, + materials:M_Rdout_Brd + + HEGemAbsorber, HEGemShield, HEGemKapton, HEGem1Sensitive, HEGemFoil, + HEGem2Sensitive, HEGemReadout + + 0, 1, -1, -1, -1, -1, -1 + + 34.5*mm, 9.0*mm, 2.0*mm, 3.0*mm, 0.06*mm, 1.0*mm, 1.94*mm + + 5193.0*mm, 5227.5*mm, 5227.5*mm, 5229.5*mm, 5232.5*mm, 5232.56*mm, + 5233.56*mm + + 1, 1, 1, 1, 1, 11, 1 + + + 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, + 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, + 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1 + + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v1/hgcalHEsci.xml b/Geometry/HGCalCommonData/data/v1/hgcalHEsci.xml new file mode 100644 index 0000000000000..535e84312c949 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v1/hgcalHEsci.xml @@ -0,0 +1,106 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:H_Brass, materials:Scintillator + + HEScintillatorAbsorber, HEScintillatorShield, + HEScintillatorSensitive + 0, 1, -1 + + 34.5*mm, 9.0*mm, 9.0*mm + + 4236.0*mm, 4270.5*mm, 4270.5*mm + 1, 1, 1 + + + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1 + + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1 + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v1/hgcalHEsil.xml b/Geometry/HGCalCommonData/data/v1/hgcalHEsil.xml new file mode 100644 index 0000000000000..544547cedbd9e --- /dev/null +++ b/Geometry/HGCalCommonData/data/v1/hgcalHEsil.xml @@ -0,0 +1,116 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:Lead, materials:Copper, materials:Silicon, + materials:M_NEMA FR4 plate, materials:Air + + HESiliconAbsorber, HESiliconHeatShield, HESiliconSensitive, HESiliconPCB, + HESiliconAirGap + + 52.0*mm, 3.0*mm, 0.1*mm, 1.0*mm, 1.0*mm + + + 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4, + 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4, + 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4, + 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4, 0, 1, 2, 2, 3, 4 + + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1 + + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, + 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm, 57.2*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v2/hgcal.xml b/Geometry/HGCalCommonData/data/v2/hgcal.xml new file mode 100644 index 0000000000000..cf0f81be14ac5 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v2/hgcal.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v2/hgcalCons.xml b/Geometry/HGCalCommonData/data/v2/hgcalCons.xml new file mode 100644 index 0000000000000..a2bfa9d80445e --- /dev/null +++ b/Geometry/HGCalCommonData/data/v2/hgcalCons.xml @@ -0,0 +1,334 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v2/hgcalEE.xml b/Geometry/HGCalCommonData/data/v2/hgcalEE.xml new file mode 100644 index 0000000000000..198b55d8ffa6b --- /dev/null +++ b/Geometry/HGCalCommonData/data/v2/hgcalEE.xml @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:Lead, materials:Lead, materials:Lead, materials:Copper, + materials:Silicon, materials:M_NEMA FR4 plate, materials:Air + + EEAbsorber1, EEAbsorber2, EEAbsorber3, EEHeatShield, EESensitive, EEPCB, + EEAirGap + + 1.6*mm, 3.3*mm, 5.6*mm, 3.0*mm, 0.1*mm, 2.0*mm, 2.0*mm + + + 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, + 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, + 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, + 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, + 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, + 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, + 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6 + + + 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 + + + 7.3*mm, 7.3*mm, 7.3*mm, 7.3*mm, 7.3*mm, 7.3*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v2/hgcalHEgem.xml b/Geometry/HGCalCommonData/data/v2/hgcalHEgem.xml new file mode 100644 index 0000000000000..ab4afeab7dfd1 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v2/hgcalHEgem.xml @@ -0,0 +1,92 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:H_Brass, materials:M_Kapton_Cu, + materials:M_GEM_Gas,materials:M_GEM_Foil,materials:M_GEM_Gas, + materials:M_Rdout_Brd + + HEGemAbsorber, HEGemShield, HEGemKapton, HEGem1Sensitive, HEGemFoil, + HEGem2Sensitive, HEGemReadout + + 0, 1, -1, -1, -1, -1, -1 + + 34.5*mm, 9.0*mm, 2.0*mm, 3.0*mm, 0.06*mm, 1.0*mm, 1.94*mm + + 5193.0*mm, 5227.5*mm, 5227.5*mm, 5229.5*mm, 5232.5*mm, 5232.56*mm, + 5233.56*mm + + 1, 1, 1, 1, 1, 11, 1 + + + 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, + 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1, + 0, 2, 3, 4, 5, 6, 1, 0, 2, 3, 4, 5, 6, 1 + + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v2/hgcalHEsci.xml b/Geometry/HGCalCommonData/data/v2/hgcalHEsci.xml new file mode 100644 index 0000000000000..d0af8a6c0465c --- /dev/null +++ b/Geometry/HGCalCommonData/data/v2/hgcalHEsci.xml @@ -0,0 +1,102 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:H_Brass, materials:Scintillator + + HEScintillatorAbsorber, HEScintillatorShield, + HEScintillatorSensitive + 0, 1, -1 + + 34.5*mm, 9.0*mm, 9.0*mm + + 4410.0*mm, 4444.5*mm, 4444.5*mm + 1, 1, 1 + + + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1 + + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1 + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v2/hgcalHEsil.xml b/Geometry/HGCalCommonData/data/v2/hgcalHEsil.xml new file mode 100644 index 0000000000000..9ea2f44f0ff8c --- /dev/null +++ b/Geometry/HGCalCommonData/data/v2/hgcalHEsil.xml @@ -0,0 +1,135 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:Lead, materials:Copper, materials:Silicon, + materials:M_NEMA FR4 plate, materials:Air, materials:StainlessSteel + + HESiliconAbsorber, HESiliconHeatShield, HESiliconSensitive, HESiliconPCB, + HESiliconAirGap, HESiliconSupport + + 52.0*mm, 3.0*mm, 0.1*mm, 2.0*mm, 2.0*mm, 50*mm + + 5, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4 + 0, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 + + 50.0*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v3/hgcal.xml b/Geometry/HGCalCommonData/data/v3/hgcal.xml new file mode 100644 index 0000000000000..ac0fd98ec98af --- /dev/null +++ b/Geometry/HGCalCommonData/data/v3/hgcal.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v3/hgcalCons.xml b/Geometry/HGCalCommonData/data/v3/hgcalCons.xml new file mode 100644 index 0000000000000..fded576fb4141 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v3/hgcalCons.xml @@ -0,0 +1,338 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v3/hgcalHEsci.xml b/Geometry/HGCalCommonData/data/v3/hgcalHEsci.xml new file mode 100644 index 0000000000000..0a022d3bda309 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v3/hgcalHEsci.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:H_Brass, materials:Scintillator + + HEScintillatorAbsorber, HEScintillatorShield, + HEScintillatorSensitive + 0, 1, -1 + + 34.5*mm, 9.0*mm, 9.0*mm + + 4366.5*mm, 4401.0*mm, 4401.0*mm + 1, 1, 1 + + + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1 + + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1 + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v4/hgcal.xml b/Geometry/HGCalCommonData/data/v4/hgcal.xml new file mode 100644 index 0000000000000..e785370dfb0cc --- /dev/null +++ b/Geometry/HGCalCommonData/data/v4/hgcal.xml @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v4/hgcalCons.xml b/Geometry/HGCalCommonData/data/v4/hgcalCons.xml new file mode 100644 index 0000000000000..56772f078a144 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v4/hgcalCons.xml @@ -0,0 +1,317 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v4/hgcalEE.xml b/Geometry/HGCalCommonData/data/v4/hgcalEE.xml new file mode 100644 index 0000000000000..3c9cafca08541 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v4/hgcalEE.xml @@ -0,0 +1,212 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:Lead, materials:Lead, materials:Lead, materials:Copper, + materials:Silicon, materials:M_NEMA FR4 plate, materials:Air + + EEAbsorber1, EEAbsorber2, EEAbsorber3, EEHeatShield, EESensitive, EEPCB, + EEAirGap + + 1.6*mm, 3.3*mm, 5.6*mm, 3.0*mm, 0.1*mm, 2.0*mm, 2.0*mm + + + 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, 0, 3, 4, 4, 4, 5, 6, + 0, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, + 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, + 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, + 1, 3, 4, 4, 4, 5, 6, 1, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, + 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, + 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, + 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6, 2, 3, 4, 4, 4, 5, 6 + + + 0, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 + + + 7.3*mm, 7.3*mm, 7.3*mm, 7.3*mm, 7.3*mm, 7.3*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, 8.9*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, 10.6*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, + 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm, 12.9*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v4/hgcalHEsci.xml b/Geometry/HGCalCommonData/data/v4/hgcalHEsci.xml new file mode 100644 index 0000000000000..c6ef2884265a3 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v4/hgcalHEsci.xml @@ -0,0 +1,104 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:H_Brass, materials:Scintillator + + HEScintillatorAbsorber, HEScintillatorShield, + HEScintillatorSensitive + 0, 1, -1 + + 34.5*mm, 9.0*mm, 9.0*mm + + 4366.5*mm, 4401.0*mm, 4401.0*mm + 1, 1, 1 + + + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1 + + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1 + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v4/hgcalHEsil.xml b/Geometry/HGCalCommonData/data/v4/hgcalHEsil.xml new file mode 100644 index 0000000000000..bebae3bdc309c --- /dev/null +++ b/Geometry/HGCalCommonData/data/v4/hgcalHEsil.xml @@ -0,0 +1,129 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:Lead, materials:Copper, materials:Silicon, + materials:M_NEMA FR4 plate, materials:Air, materials:StainlessSteel + + HESiliconAbsorber, HESiliconHeatShield, HESiliconSensitive, HESiliconPCB, + HESiliconAirGap, HESiliconSupport + + 52.0*mm, 3.0*mm, 0.1*mm, 2.0*mm, 2.0*mm, 50*mm + + 5, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, + 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4, 0, 1, 2, 2, 2, 3, 4 + 0, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1 + + 50.0*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, + 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm, 59.3*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v5/fastTimingElement.xml b/Geometry/HGCalCommonData/data/v5/fastTimingElement.xml new file mode 100644 index 0000000000000..05dee630412ba --- /dev/null +++ b/Geometry/HGCalCommonData/data/v5/fastTimingElement.xml @@ -0,0 +1,37 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v5/hgcal.xml b/Geometry/HGCalCommonData/data/v5/hgcal.xml new file mode 100644 index 0000000000000..ce775bf4c3075 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v5/hgcal.xml @@ -0,0 +1,160 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v5/hgcalCons.xml b/Geometry/HGCalCommonData/data/v5/hgcalCons.xml new file mode 100644 index 0000000000000..a8f3f8687d995 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v5/hgcalCons.xml @@ -0,0 +1,319 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v5/hgcalEE.xml b/Geometry/HGCalCommonData/data/v5/hgcalEE.xml new file mode 100644 index 0000000000000..4aaf7815ea4bb --- /dev/null +++ b/Geometry/HGCalCommonData/data/v5/hgcalEE.xml @@ -0,0 +1,223 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:Tungsten, materials:Tungsten, materials:Tungsten, materials:Lead, + materials:Lead, materials:Lead, materials:Copper, materials:Copper, + materials:Silicon, materials:M_NEMA FR4 plate, materials:Air, + materials:Foam, materials:Aluminium, materials:Air + + EEAbsorber1, EEAbsorber2, EEAbsorber3, EEAbsorber4, EEAbsorber5, + EEAbsorber6, EECuFrame, EEHeatShield, EESensitive, EEPCB, + EEAirGap, EEThermalScreen, EEScreenCover, EEThermalGap + + 1.75*mm, 2.8*mm, 4.2*mm, 1.0*mm, 2.1*mm, 4.4*mm, + 0.5*mm, 3.0*mm, 0.1*mm, 1.2*mm, 2.0*mm, 16.0*mm, 2.0*mm, 10.0*mm + + 12, 11, 12, 13, + 6, 10, 9, 8, 8, 8, 7, 3, + 0, 6, 10, 9, 8, 8, 8, 7, 3, 7, 8, 8, 8, 9, 10, 6, + 0, 6, 10, 9, 8, 8, 8, 7, 3, 7, 8, 8, 8, 9, 10, 6, + 0, 6, 10, 9, 8, 8, 8, 7, 3, 7, 8, 8, 8, 9, 10, 6, + 0, 6, 10, 9, 8, 8, 8, 7, 3, 7, 8, 8, 8, 9, 10, 6, + 0, 6, 10, 9, 8, 8, 8, 7, 3, 7, 8, 8, 8, 9, 10, 6, + 1, 6, 10, 9, 8, 8, 8, 7, 4, 7, 8, 8, 8, 9, 10, 6, + 1, 6, 10, 9, 8, 8, 8, 7, 4, 7, 8, 8, 8, 9, 10, 6, + 1, 6, 10, 9, 8, 8, 8, 7, 4, 7, 8, 8, 8, 9, 10, 6, + 1, 6, 10, 9, 8, 8, 8, 7, 4, 7, 8, 8, 8, 9, 10, 6, + 1, 6, 10, 9, 8, 8, 8, 7, 4, 7, 8, 8, 8, 9, 10, 6, + 2, 6, 10, 9, 8, 8, 8, 7, 5, 7, 8, 8, 8, 9, 10, 6, + 2, 6, 10, 9, 8, 8, 8, 7, 5, 7, 8, 8, 8, 9, 10, 6, + 2, 6, 10, 9, 8, 8, 8, 7, 5, 7, 8, 8, 8, 9, 10, 6, + 2, 6, 10, 9, 8, 8, 8, 7, 5, 7, 8, 8, 8, 9, 10, 6, + 2, 6, 10, 9, 8, 8, 8, 7, 3 + + + 0, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1 + + 30*mm, 30*mm, 30*mm, 30*mm, + 8.00*mm, 8.00*mm, 8.00*mm, 8.00*mm, 8.00*mm, 8.00*mm, 8.00*mm, 8.00*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm,16.75*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm,18.90*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm,22.60*mm, + 12.20*mm,12.20*mm,12.20*mm,12.20*mm,12.20*mm,12.20*mm,12.20*mm,12.20*mm, + 12.20*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v5/hgcalHEsci.xml b/Geometry/HGCalCommonData/data/v5/hgcalHEsci.xml new file mode 100644 index 0000000000000..5934aae54fc3f --- /dev/null +++ b/Geometry/HGCalCommonData/data/v5/hgcalHEsci.xml @@ -0,0 +1,110 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:H_Brass, materials:Scintillator + + HEScintillatorAbsorber, HEScintillatorShield, + HEScintillatorSensitive + 0, 1, -1 + + 34.5*mm, 9.0*mm, 9.0*mm + + 4174.85*mm, 4209.35*mm, 4209.35*mm + 1, 1, 1 + + + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, + 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1, 0, 2, 1 + + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, + 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1, 0, 1, 1 + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v5/hgcalHEsil.xml b/Geometry/HGCalCommonData/data/v5/hgcalHEsil.xml new file mode 100644 index 0000000000000..2ce3e676e74af --- /dev/null +++ b/Geometry/HGCalCommonData/data/v5/hgcalHEsil.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:Lead, materials:Copper, materials:Copper, + materials:Silicon, materials:M_NEMA FR4 plate, materials:Air, + materials:StainlessSteel, materials:Foam, materials:Aluminium, materials:Air + + HESiliconAbsorber1, HESiliconAbsorber2, HESiliconShield, HESiliconHeatShield, + HESiliconSensitive, HESiliconPCB, HESiliconAirGap, HESiliconSupport, + HEThermalScreen, HEScreenCover, HEThermalGap + + 40.0*mm, 1.0*mm, 0.5*mm, 3.0*mm, 0.1*mm, 1.2*mm, 2.0*mm, 15*mm, 16.0*mm, 2.0*mm, 10.0*mm + + 7, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, 10, 9, 8, 9 + 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 + + 15.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 30.0*mm, 30.0*mm, 30.0*mm, 30.0*mm + + + + + [hgcal:slope2], [hgcal:slope3], 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal3], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v6/fastTimingElement.xml b/Geometry/HGCalCommonData/data/v6/fastTimingElement.xml new file mode 100644 index 0000000000000..ba57f6662456e --- /dev/null +++ b/Geometry/HGCalCommonData/data/v6/fastTimingElement.xml @@ -0,0 +1,30 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v6/hgcal.xml b/Geometry/HGCalCommonData/data/v6/hgcal.xml new file mode 100644 index 0000000000000..de8e578cd93d2 --- /dev/null +++ b/Geometry/HGCalCommonData/data/v6/hgcal.xml @@ -0,0 +1,161 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v6/hgcalCons.xml b/Geometry/HGCalCommonData/data/v6/hgcalCons.xml new file mode 100644 index 0000000000000..b8e185e9d64be --- /dev/null +++ b/Geometry/HGCalCommonData/data/v6/hgcalCons.xml @@ -0,0 +1,267 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/data/v6/hgcalHEsil.xml b/Geometry/HGCalCommonData/data/v6/hgcalHEsil.xml new file mode 100644 index 0000000000000..7e516d9cdb5fc --- /dev/null +++ b/Geometry/HGCalCommonData/data/v6/hgcalHEsil.xml @@ -0,0 +1,136 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 0, 0, 0 + 0.*deg, 0.*deg, 0.*deg + + + + + materials:H_Brass, materials:Lead, materials:Copper, materials:Copper, + materials:Silicon, materials:M_NEMA FR4 plate, materials:Air, + materials:StainlessSteel, materials:Foam, materials:Aluminium, materials:Air + + HESiliconAbsorber1, HESiliconAbsorber2, HESiliconShield, HESiliconHeatShield, + HESiliconSensitive, HESiliconPCB, HESiliconAirGap, HESiliconSupport, + HEThermalScreen, HEScreenCover, HEThermalGap + + 40.0*mm, 1.0*mm, 0.5*mm, 3.0*mm, 0.1*mm, 1.2*mm, 2.0*mm, 15*mm, 16.0*mm, 2.0*mm, 10.0*mm + + 7, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, + 0, 2, 6, 5, 4, 4, 4, 3, 1, 0, 2, 6, 5, 4, 4, 4, 3, 1, 10, 9, 8, 9 + 0, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, + 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 0, 1, 1, 1 + + 15.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, 48.0*mm, + 30.0*mm, 30.0*mm, 30.0*mm, 30.0*mm + + + + + [hgcal:slope2], 0, 0, 0 + + [hgcal:zHGCal1], [hgcal:zHGCal2], [hgcal:zHGCal3], [hgcal:zHGCal4] + + [hgcal:rMaxHGCal1], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal2], [hgcal:rMaxHGCal4] + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/interface/FastTimeDDDConstants.h b/Geometry/HGCalCommonData/interface/FastTimeDDDConstants.h new file mode 100644 index 0000000000000..e157e9ab49bdc --- /dev/null +++ b/Geometry/HGCalCommonData/interface/FastTimeDDDConstants.h @@ -0,0 +1,51 @@ +#ifndef HGCalCommonData_FastTimeDDDConstants_h +#define HGCalCommonData_FastTimeDDDConstants_h + +/** \class FastTimeDDDConstants + * + * this class reads the constant section of + * the numbering xml-file for fast timer device + * + * $Date: 2014/03/20 00:06:50 $ + * \author Sunanda Banerjee, SINP + * + */ + +#include +#include +#include + +#include "DetectorDescription/Core/interface/DDsvalues.h" + +class DDCompactView; +class DDFilteredView; + +class FastTimeDDDConstants { + +public: + + FastTimeDDDConstants( const DDCompactView& cpv ); + ~FastTimeDDDConstants(); + + int computeCells() const; + int getType() const {return cellType;} + std::pair getXY(int copy) const; + std::pair getXY(double x, double y) const; + int getCells() const {return 4*nCells;} + bool isValidXY(int ix, int iy) const; + bool isValidCell(int copy) const; + int quadrant(int ix, int iy) const; + int quadrant(int copy) const; + +private: + void initialize(const DDCompactView& cpv); + void loadSpecPars(const DDFilteredView& fv); + std::vector getDDDArray(const std::string &, + const DDsvalues_type &) const; + + int nCells, nCols, nRows, cellType; + double rIn, rOut, cellSize; + std::vector firstY, lastY, firstCell, lastCell; +}; + +#endif diff --git a/Geometry/HGCalCommonData/interface/HGCalDDDConstants.h b/Geometry/HGCalCommonData/interface/HGCalDDDConstants.h new file mode 100644 index 0000000000000..f8935e01e574b --- /dev/null +++ b/Geometry/HGCalCommonData/interface/HGCalDDDConstants.h @@ -0,0 +1,94 @@ +#ifndef HGCalCommonData_HGCalDDDConstants_h +#define HGCalCommonData_HGCalDDDConstants_h + +/** \class HGCalDDDConstants + * + * this class reads the constant section of the numbering + * xml-files of the high granulairy calorimeter + * + * $Date: 2014/03/20 00:06:50 $ + * \author Sunanda Banerjee, SINP + * + */ + +#include +#include +#include +#include + +#include "DetectorDescription/Core/interface/DDsvalues.h" + +class DDCompactView; +class DDFilteredView; + +class HGCalDDDConstants { + +public: + + struct hgtrap { + hgtrap(int lay0, float bl0, float tl0, float h0, float dz0, float alpha0): + lay(lay0),bl(bl0),tl(tl0),h(h0),dz(dz0),alpha(alpha0),cellSize(0) {} + int lay; + float bl, tl, h, dz, alpha, cellSize; + }; + struct hgtrform { + hgtrform(int zp0, int lay0, int sec0, int subsec0): zp(zp0), lay(lay0), sec(sec0), subsec(subsec0),used(false) {} + int zp, lay, sec, subsec; + bool used; + CLHEP::Hep3Vector h3v; + CLHEP::HepRotation hr; + }; + + + HGCalDDDConstants(const DDCompactView& cpv, std::string & name); + ~HGCalDDDConstants(); + + std::pair assignCell(float x, float y, int lay, int subSec, + bool reco) const; + std::pair assignCell(float x, float y, float h, float bl, float tl, + float alpha, float cellSize) const; + std::pair findCell(int cell, int lay, int subSec, bool reco) const; + std::pair findCell(int cell, float h, float bl, float tl, + float alpha, float cellSize) const; + bool isValid(int lay, int mod, int cell, bool reco) const; + unsigned int layers(bool reco) const {return (reco ? depthIndex.size() : layerIndex.size());} + std::pair locateCell(int cell, int lay, int subSec, + bool reco) const; + int maxCells(bool reco) const; + int maxCells(int lay, bool reco) const; + int maxCells(float h, float bl, float tl, float alpha, + float cellSize) const; + int maxRows(int lay, bool reco) const; + std::pair newCell(int cell, int layer, int sector, int subsector, + int incrx, int incry, bool half) const; + std::pair newCell(int cell, int layer, int subsector, int incrz, + bool half) const; + int newCell(int kx, int ky, int lay, int subSec) const; + std::vector numberCells(int lay, bool reco) const; + std::vector numberCells(float h, float bl, float tl, float alpha, + float cellSize) const; + int sectors() const {return nSectors;} + std::pair simToReco(int cell, int layer, bool half) const; + + std::vector::const_iterator getFirstModule(bool reco=false) const { return (reco ? moduler_.begin() : modules_.begin()); } + std::vector::const_iterator getLastModule(bool reco=false) const { return (reco ? moduler_.end() : modules_.end()); } + std::vector::const_iterator getFirstTrForm() const { return trform_.begin(); } + std::vector::const_iterator getLastTrForm() const { return trform_.end(); } + +private: + void initialize(const DDCompactView& cpv, std::string name); + void loadGeometry(const DDFilteredView& fv, const std::string& tag); + void loadSpecPars(const DDFilteredView& fv); + std::vector getDDDArray(const std::string &, + const DDsvalues_type &, int &) const; + std::pair getIndex(int lay, bool reco) const; + + int nCells, nSectors, nLayers; + std::vector cellSize_; + std::vector modules_, moduler_; + std::vector trform_; + std::vector layer_, layerIndex; + std::vector layerGroup_, cellFactor_, depth_, depthIndex; +}; + +#endif diff --git a/Geometry/HGCalCommonData/plugins/BuildFile.xml b/Geometry/HGCalCommonData/plugins/BuildFile.xml new file mode 100644 index 0000000000000..0be58bb4faf37 --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/BuildFile.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalEEAlgo.cc b/Geometry/HGCalCommonData/plugins/DDHGCalEEAlgo.cc new file mode 100644 index 0000000000000..4380578fe7c54 --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/DDHGCalEEAlgo.cc @@ -0,0 +1,189 @@ +/////////////////////////////////////////////////////////////////////////////// +// File: DDHGCalEEAlgo.cc +// Description: Geometry factory class for HGCal (EE) +/////////////////////////////////////////////////////////////////////////////// + +#include +#include + +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "DetectorDescription/Base/interface/DDutils.h" +#include "DetectorDescription/Core/interface/DDLogicalPart.h" +#include "DetectorDescription/Core/interface/DDSolid.h" +#include "DetectorDescription/Core/interface/DDMaterial.h" +#include "DetectorDescription/Core/interface/DDCurrentNamespace.h" +#include "DetectorDescription/Core/interface/DDSplit.h" +#include "Geometry/HGCalCommonData/plugins/DDHGCalEEAlgo.h" +#include "CLHEP/Units/GlobalPhysicalConstants.h" +#include "CLHEP/Units/GlobalSystemOfUnits.h" + +DDHGCalEEAlgo::DDHGCalEEAlgo() { + edm::LogInfo("HGCalGeom") << "DDHGCalEEAlgo info: Creating an instance"; +} + +DDHGCalEEAlgo::~DDHGCalEEAlgo() {} + +void DDHGCalEEAlgo::initialize(const DDNumericArguments & nArgs, + const DDVectorArguments & vArgs, + const DDMapArguments & , + const DDStringArguments & sArgs, + const DDStringVectorArguments &vsArgs){ + + materials = vsArgs["MaterialNames"]; + names = vsArgs["VolumeNames"]; + thick = vArgs["Thickness"]; + rotstr = sArgs["Rotation"]; + layerType = dbl_to_int(vArgs["LayerType"]); + heightType = dbl_to_int(vArgs["HeightType"]); + thickBlock = vArgs["LayerThick"]; + zMinBlock = nArgs["zMinBlock"]; + for (unsigned int i=0; i> Constructing DDHGCalEEAlgo..."; + constructLayers (parent(), cpv); + edm::LogInfo("HGCalGeom") << "<<== End of DDHGCalEEAlgo construction ..."; +} + +void DDHGCalEEAlgo::constructLayers(DDLogicalPart module, DDCompactView& cpv) { + + edm::LogInfo("HGCalGeom") << "DDHGCalEEAlgo test: \t\tInside Layers"; + + /////////////////////////////////////////////////////////////// + //Pointers to the Rotation Matrices and to the Materials + DDRotation rot(DDName(DDSplit(rotstr).first, DDSplit(rotstr).second)); + + double zi(zMinBlock), zz(zMinBlock); + for (unsigned int i=0; i +#include +#include +#include "DetectorDescription/Base/interface/DDTypes.h" +#include "DetectorDescription/Algorithm/interface/DDAlgorithm.h" + +class DDHGCalEEAlgo : public DDAlgorithm { + +public: + //Constructor and Destructor + DDHGCalEEAlgo(); //const std::string & name); + virtual ~DDHGCalEEAlgo(); + + struct HGCalEEPar { + double yh1, bl1, tl1, yh2, bl2, tl2, alp, theta, phi, xpos, ypos, zpos; + HGCalEEPar(double yh1v=0, double bl1v=0, double tl1v=0, double yh2v=0, + double bl2v=0, double tl2v=0, double alpv=0, double thv=0, + double fiv=0, double x=0, double y=0, double z=0) : + yh1(yh1v), bl1(bl1v), tl1(tl1v), yh2(yh2v), bl2(bl2v), tl2(tl2v), + alp(alpv), theta(thv), phi(fiv), xpos(x), ypos(y), zpos(z) {} + }; + void initialize(const DDNumericArguments & nArgs, + const DDVectorArguments & vArgs, + const DDMapArguments & mArgs, + const DDStringArguments & sArgs, + const DDStringVectorArguments & vsArgs); + void execute(DDCompactView& cpv); + +protected: + + void constructLayers (DDLogicalPart, DDCompactView& cpv); + HGCalEEPar parameterLayer(double rinF, double routF, double rinB, + double routB, double zi, double zo); + double rMax(double z); + +private: + + std::vector materials; //Materials + std::vector names; //Names + std::string rotstr; //Rotation matrix to place in mother + std::vector layerType; //Type of the layer + std::vector heightType; //Height to be evaluated from itself + std::vector copyNumber; //Copy number offsets for a section + std::vector thick; //Thickness of the material + std::vector thickBlock; //Thickness of a block of materials + double zMinBlock; //Starting z-value of the block + int sectors; //Sectors + double slopeB; //Slope at the lower R + std::vector slopeT; //Slopes at the larger R + std::vector zFront; //Starting Z values for the slopes + std::vector rMaxFront; //Corresponding rMax's + std::string idName; //Name of the "parent" volume. + std::string idNameSpace; //Namespace of this and ALL sub-parts +}; + +#endif diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalHEAlgo.cc b/Geometry/HGCalCommonData/plugins/DDHGCalHEAlgo.cc new file mode 100644 index 0000000000000..946897c4c6443 --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/DDHGCalHEAlgo.cc @@ -0,0 +1,241 @@ +/////////////////////////////////////////////////////////////////////////////// +// File: DDHGCalHEAlgo.cc +// Description: Geometry factory class for HGCal (EE) +/////////////////////////////////////////////////////////////////////////////// + +#include +#include + +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "DetectorDescription/Base/interface/DDutils.h" +#include "DetectorDescription/Core/interface/DDLogicalPart.h" +#include "DetectorDescription/Core/interface/DDSolid.h" +#include "DetectorDescription/Core/interface/DDMaterial.h" +#include "DetectorDescription/Core/interface/DDCurrentNamespace.h" +#include "DetectorDescription/Core/interface/DDSplit.h" +#include "Geometry/HGCalCommonData/plugins/DDHGCalHEAlgo.h" +#include "CLHEP/Units/GlobalPhysicalConstants.h" +#include "CLHEP/Units/GlobalSystemOfUnits.h" + +DDHGCalHEAlgo::DDHGCalHEAlgo() { + edm::LogInfo("HGCalGeom") << "DDHGCalHEAlgo info: Creating an instance"; +} + +DDHGCalHEAlgo::~DDHGCalHEAlgo() {} + +void DDHGCalHEAlgo::initialize(const DDNumericArguments & nArgs, + const DDVectorArguments & vArgs, + const DDMapArguments & , + const DDStringArguments & sArgs, + const DDStringVectorArguments &vsArgs){ + + materials = vsArgs["MaterialNames"]; + names = vsArgs["VolumeNames"]; + thick = vArgs["Thickness"]; + type = dbl_to_int(vArgs["Type"]); + copyNumber = dbl_to_int(vArgs["Offsets"]); + zMinBlock = vArgs["ZMinType"]; + rotstr = sArgs["Rotation"]; + layerType = dbl_to_int(vArgs["LayerType"]); + heightType = dbl_to_int(vArgs["HeightType"]); + thickModule = nArgs["ThickModule"]; + edm::LogInfo("HGCalGeom") << "DDHGCalHEAlgo: " << materials.size() + << " volumes to be put with rotation " << rotstr + << " in " << layerType.size() << " layers and " + << "module thickness " << thickModule; + for (unsigned int i=0; i> Constructing DDHGCalHEAlgo..."; + constructLayers (parent(), cpv); + edm::LogInfo("HGCalGeom") << "<<== End of DDHGCalHEAlgo construction ..."; +} + +void DDHGCalHEAlgo::constructLayers(DDLogicalPart module, DDCompactView& cpv) { + + edm::LogInfo("HGCalGeom") << "DDHGCalHEAlgo test: \t\tInside Layers"; + + /////////////////////////////////////////////////////////////// + //Pointers to the Rotation Matrices and to the Materials + DDRotation rot(DDName(DDSplit(rotstr).first, DDSplit(rotstr).second)); + + double zz(zMinBlock[0]); + for (unsigned int i=0; i2) zlayer = zz + thickModule; + + double zo = zi + thick[ii]; + double rinF = zi * slopeB; + double rinB = zlayer * slopeB; + + double routF = (heightType[i] == 0) ? rMax(zi) : rMax(zz); + if((i % 6)>2) routF = (heightType[i] == 0) ? rMax(zi-thickModule) : rMax(zz-thickModule); + + double routB = rMax(zo); + std::string name = "HGCal"+names[ii]+dbl_to_string(copy); + edm::LogInfo("HGCalGeom") << "DDHGCalEEAlgo test: Layer " << i << ":" + << ii << ":" << ityp << " Front " << zi << ", " + << rinF << ", " << routF << " Back " << zo + << ", " << rinB << ", " << routB; + DDHGCalHEAlgo::HGCalHEPar parm = (ityp == 0) ? + parameterLayer(rinF, routF, rinB, routB, zi, zo) : + parameterLayer(ityp, rinF, routF, rinB, routB, zi, zo); + DDSolid solid = DDSolidFactory::trap(DDName(name, idNameSpace), + 0.5*thick[ii], parm.theta, + parm.phi, parm.yh1, parm.bl1, + parm.tl1, parm.alp, parm.yh2, + parm.bl2, parm.tl2, parm.alp); + + DDName matName(DDSplit(materials[ii]).first, + DDSplit(materials[ii]).second); + DDMaterial matter(matName); + DDLogicalPart glog = DDLogicalPart(solid.ddname(), matter, solid); + edm::LogInfo("HGCalGeom") << "DDHGCalHEAlgo test: " + << solid.name() << " Trap made of " << matName + << " of dimensions " << 0.5*thick[ii] << ", " + << parm.theta/CLHEP::deg << ", " + << parm.phi/CLHEP::deg << ", " << parm.yh1 + << ", " << parm.bl1 << ", " << parm.tl1 + << ", " << parm.alp/CLHEP::deg << ", " + << parm.yh2 << ", " << parm.bl2 << ", " + << parm.tl2 << ", " << parm.alp/CLHEP::deg; + DDTranslation r1(parm.xpos, parm.ypos, parm.zpos); + cpv.position(glog, module, copy, r1, rot); + edm::LogInfo("HGCalGeom") << "DDHGCalHEAlgo test: " << glog.name() + << " number " << copy << " positioned in " + << module.name() << " at " << r1 << " with " + << rot; + } // End of loop on layers +} + + +DDHGCalHEAlgo::HGCalHEPar +DDHGCalHEAlgo::parameterLayer(double rinF, double routF, double rinB, + double routB, double zi, double zo) { + + DDHGCalHEAlgo::HGCalHEPar parm; + //Given rin, rout compute parameters of the trapezoid and + //position of the trapezoid for a standrd layer + double alpha = CLHEP::pi/sectors; + double rout = routF; + edm::LogInfo("HGCalGeom") << "Input: Front " << rinF << " " << routF << " " + << zi << " Back " << rinB << " " << routB << " " + << zo << " Alpha " << alpha/CLHEP::deg << " Rout " + << rout; + + parm.yh2 = parm.yh1 = 0.5 * (rout*cos(alpha) - rinB); + parm.bl2 = parm.bl1 = rinB * tan(alpha); + parm.tl2 = parm.tl1 = rout * sin(alpha); + parm.xpos = 0.5*(rout*cos(alpha)+rinB); + parm.ypos = 0.0; + parm.zpos = 0.5*(zi+zo); + parm.alp = parm.theta = parm.phi = 0; + edm::LogInfo("HGCalGeom") << "Output Dimensions " << parm.yh1 << " " + << parm.bl1 << " " << parm.tl1 << " " << parm.yh2 + << " " << parm.bl2 << " " << parm.tl2 << " " + << parm.alp/CLHEP::deg <<" "< 0) { + parm.ypos = -parm.ypos; + } else { + parm.alp = -parm.alp; + dx = -dx; + } + double r = sqrt (dx*dx + dy*dy); + edm::LogInfo("HGCalGeom") << "dx|dy|r " << dx << ":" << dy << ":" << r; + if (r > 1.0e-8) { + parm.theta = atan (r/(zo-zi)); + parm.phi = atan2 (dy, dx); + } else { + parm.theta = parm.phi = 0; + } + edm::LogInfo("HGCalGeom") << "Output Dimensions " << parm.yh1 << " " + << parm.bl1 << " " << parm.tl1 << " " << parm.yh2 + << " " << parm.bl2 << " " << parm.tl2 << " " + << parm.alp/CLHEP::deg <<" " < +#include +#include +#include "DetectorDescription/Base/interface/DDTypes.h" +#include "DetectorDescription/Algorithm/interface/DDAlgorithm.h" + +class DDHGCalHEAlgo : public DDAlgorithm { + +public: + //Constructor and Destructor + DDHGCalHEAlgo(); //const std::string & name); + virtual ~DDHGCalHEAlgo(); + + struct HGCalHEPar { + double yh1, bl1, tl1, yh2, bl2, tl2, alp, theta, phi, xpos, ypos, zpos; + HGCalHEPar(double yh1v=0, double bl1v=0, double tl1v=0, double yh2v=0, + double bl2v=0, double tl2v=0, double alpv=0, double thv=0, + double fiv=0, double x=0, double y=0, double z=0) : + yh1(yh1v), bl1(bl1v), tl1(tl1v), yh2(yh2v), bl2(bl2v), tl2(tl2v), + alp(alpv), theta(thv), phi(fiv), xpos(x), ypos(y), zpos(z) {} + }; + void initialize(const DDNumericArguments & nArgs, + const DDVectorArguments & vArgs, + const DDMapArguments & mArgs, + const DDStringArguments & sArgs, + const DDStringVectorArguments & vsArgs); + void execute(DDCompactView& cpv); + +protected: + + void constructLayers (DDLogicalPart, DDCompactView& cpv); + HGCalHEPar parameterLayer(double rinF, double routF, double rinB, + double routB, double zi, double zo); + HGCalHEPar parameterLayer(int type, double rinF, double routF, double rinB, + double routB, double zi, double zo); + double rMax(double z); + +private: + + std::vector materials; //Materials + std::vector names; //Names + std::string rotstr; //Rotation matrix to place in mother + std::vector copyNumber; //Copy number offsets for a section + std::vector thick; //Thickness of the materials + std::vector type; //Type of the module + std::vector zMinBlock; //Starting z-value for each type + std::vector layerType; //Type of the layer + std::vector heightType; //Height to be evaluated from itself + double thickModule; //Thickness of a module + int sectors; //Sectors + double slopeB; //Slope at the lower R + std::vector slopeT; //Slopes at the larger R + std::vector zFront; //Starting Z values for the slopes + std::vector rMaxFront; //Corresponding rMax's + + std::string idName; //Name of the "parent" volume. + std::string idNameSpace; //Namespace of this and ALL sub-parts +}; + +#endif diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.cc b/Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.cc new file mode 100644 index 0000000000000..851053cc671ee --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.cc @@ -0,0 +1,146 @@ +#include +#include +#include + +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "DetectorDescription/Base/interface/DDutils.h" +#include "DetectorDescription/Core/interface/DDSolid.h" +#include "DetectorDescription/Core/interface/DDMaterial.h" +#include "DetectorDescription/Core/interface/DDCurrentNamespace.h" +#include "DetectorDescription/Core/interface/DDSplit.h" +#include "DetectorDescription/Core/interface/DDLogicalPart.h" +#include "Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.h" +#include "CLHEP/Units/GlobalPhysicalConstants.h" +#include "CLHEP/Units/GlobalSystemOfUnits.h" + +//#define DebugLog + +DDHGCalNoTaperEndcap::DDHGCalNoTaperEndcap() { + edm::LogInfo("HGCalGeom") << "DDHGCalNoTaperEndcap test: Creating an instance"; +} + +DDHGCalNoTaperEndcap::~DDHGCalNoTaperEndcap() {} + +void DDHGCalNoTaperEndcap::initialize(const DDNumericArguments & nArgs, + const DDVectorArguments & vArgs, + const DDMapArguments & , + const DDStringArguments & sArgs, + const DDStringVectorArguments & ) { + m_tiltAngle = nArgs["tiltAngle"]; + m_invert = int( nArgs["invert"] ); + m_rMin = int( nArgs["rMin"] ); + m_rMax = int( nArgs["rMax"] ); + m_zoffset = nArgs["zoffset"]; + m_xyoffset = nArgs["xyoffset"]; + m_n = int( nArgs["n"] ); + m_startCopyNo = int( nArgs["startCopyNo"] ); + m_incrCopyNo = int( nArgs["incrCopyNo"] ); + m_childName = sArgs["ChildName"]; + m_idNameSpace = DDCurrentNamespace::ns(); + edm::LogInfo("HGCalGeom") << "DDHGCalNoTaperEndcap: NameSpace " << m_idNameSpace + << "\tParent " << parent().name(); +} + +void DDHGCalNoTaperEndcap::execute( DDCompactView& cpv ) { + int lastCopyNo = m_startCopyNo; + lastCopyNo = createQuarter( cpv, 1, 1, lastCopyNo ); + lastCopyNo = createQuarter( cpv, -1, 1, lastCopyNo ); + lastCopyNo = createQuarter( cpv, -1, -1, lastCopyNo ); + lastCopyNo = createQuarter( cpv, 1, -1, lastCopyNo ); +} + +int +DDHGCalNoTaperEndcap::createQuarter( DDCompactView& cpv, int xQuadrant, int yQuadrant, int startCopyNo ) { + int copyNo = startCopyNo; + double tiltAngle = m_tiltAngle; + double xphi = xQuadrant*tiltAngle; + double yphi = yQuadrant*tiltAngle; + double theta = 90.*CLHEP::deg; + double phiX = 0.0; + double phiY = theta; + double phiZ = 3*theta; + double offsetZ = m_zoffset; + double offsetXY = m_xyoffset; + + double offsetX = xQuadrant*0.5*offsetXY; + double offsetY = yQuadrant*0.5*offsetXY; + +#ifdef DebugLog + int rowmax(0), column(0); +#endif + while (abs(offsetX) < m_rMax) { +#ifdef DebugLog + column++; + int row(0); +#endif + while (abs(offsetY) < m_rMax) { +#ifdef DebugLog + row++; +#endif + double limit1 = sqrt((offsetX+0.5*xQuadrant*offsetXY)* + (offsetX+0.5*xQuadrant*offsetXY) + + (offsetY+0.5*yQuadrant*offsetXY)* + (offsetY+0.5*yQuadrant*offsetXY) ); + double limit2 = sqrt((offsetX-0.5*xQuadrant*offsetXY)* + (offsetX-0.5*xQuadrant*offsetXY) + + (offsetY-0.5*yQuadrant*offsetXY)* + (offsetY-0.5*yQuadrant*offsetXY) ); + // Make sure we do not add supermodules in rMin area + if (limit2 > m_rMin && limit1 < m_rMax) { +#ifdef DebugLog + std::cout << m_childName << " copyNo = " << copyNo << " (" << column + << "," << row << "): offsetX,Y = " << offsetX << "," + << offsetY << " limit=" << limit1 << ":" << limit2 + << " rMin, rMax = " << m_rMin << "," << m_rMax << std::endl; +#endif + DDRotation rotation; + std::string rotstr( "NULL" ); + + // Check if we've already created the rotation matrix + rotstr = "R"; + rotstr += dbl_to_string(copyNo); + rotation = DDRotation(DDName(rotstr)); + if (!rotation) { + rotation = DDrot(DDName(rotstr, m_idNameSpace), + new DDRotationMatrix( *DDcreateRotationMatrix( theta, phiX, theta + yphi, phiY, -yphi, phiZ ) + * ( *DDcreateRotationMatrix( theta + xphi, phiX, 90.*CLHEP::deg, 90.*CLHEP::deg, xphi, 0.0 )))); + } + + + DDTranslation tran(offsetX, offsetY, offsetZ); + edm::LogInfo("HGCalGeom") << "Module " << copyNo << ": location = " + << tran << " Rotation " << rotation; + + DDName parentName = parent().name(); + cpv.position(DDName(m_childName), parentName, copyNo, tran, rotation); + + copyNo += m_incrCopyNo; + } else { +#ifdef DebugLog + std::cout << " (" << column << "," << row << "): offsetX,Y = " + << offsetX << "," << offsetY << " is out of limit=" << limit1 + << ":" << limit2 << " rMin, rMax = " << m_rMin << "," + << m_rMax << std::endl; +#endif + } + + yphi += yQuadrant*2.*tiltAngle; + offsetY += yQuadrant*offsetXY; + + } +#ifdef DebugLog + if (row > rowmax) rowmax = row; +#endif + xphi += xQuadrant*2.*tiltAngle; + yphi = yQuadrant*tiltAngle; + offsetY = yQuadrant*0.5*offsetXY; + offsetX += xQuadrant*offsetXY; + + } +#ifdef DebugLog + std::cout << rowmax << " rows and " << column << " columns in quadrant " + << xQuadrant << ":" << yQuadrant << std::endl; +#endif + return copyNo; +} + diff --git a/Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.h b/Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.h new file mode 100644 index 0000000000000..1d86f9aa9d4a5 --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.h @@ -0,0 +1,41 @@ +#ifndef HGCalCommonData_DDHGCalNoTaperEndcap_h +#define HGCalCommonData_DDHGCalNoTaperEndcap_h + +#include +#include +#include "DetectorDescription/Base/interface/DDTypes.h" +#include "DetectorDescription/Algorithm/interface/DDAlgorithm.h" + +class DDHGCalNoTaperEndcap : public DDAlgorithm { + +public: + DDHGCalNoTaperEndcap( void ); + virtual ~DDHGCalNoTaperEndcap( void ); + + void initialize( const DDNumericArguments & nArgs, + const DDVectorArguments & vArgs, + const DDMapArguments & mArgs, + const DDStringArguments & sArgs, + const DDStringVectorArguments & vsArgs ); + + void execute( DDCompactView& cpv ); + +private: + + int createQuarter( DDCompactView& cpv, int xQuadrant, int yQuadrant, int startCopyNo ); + + double m_startAngle; // Start angle + double m_tiltAngle; // Tilt angle + int m_invert; // Inverted or forward + double m_rMin; // Inner radius + double m_rMax; // Outer radius + double m_zoffset; // Offset in z + double m_xyoffset; // Offset in x or y + int m_n; // Mumber of copies + int m_startCopyNo; // Start copy Number + int m_incrCopyNo; // Increment copy Number + std::string m_childName; // Children name + std::string m_idNameSpace; // Namespace of this and ALL sub-parts +}; + +#endif diff --git a/Geometry/HGCalCommonData/plugins/FastTimeNumberingInitialization.cc b/Geometry/HGCalCommonData/plugins/FastTimeNumberingInitialization.cc new file mode 100644 index 0000000000000..655f9a4333dae --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/FastTimeNumberingInitialization.cc @@ -0,0 +1,78 @@ +// -*- C++ -*- +// +// Package: FastTimeNumberingInitialization +// Class: FastTimeNumberingInitialization +// +/**\class FastTimeNumberingInitialization FastTimeNumberingInitialization.h Geometry/HGCalCommonData/interface/FastTimeNumberingInitialization.h + + Description: + + Implementation: + +*/ +// +// Original Author: Sunanda Banerjee +// Created: Tue Mar 21 16:40:29 PDT 2013 +// $Id: FastTimeNumberingInitialization.cc,v 1.0 2014/04/24 12:47:41 sunanda Exp $ +// +// + +// system include files +#include +#include + +// user include files +#include +#include +#include + +#include +#include +#include +#include +#include + +//#define DebugLog + +class FastTimeNumberingInitialization : public edm::ESProducer { + +public: + FastTimeNumberingInitialization(const edm::ParameterSet&); + ~FastTimeNumberingInitialization(); + + typedef std::auto_ptr ReturnType; + + ReturnType produce(const IdealGeometryRecord&); + +private: + FastTimeDDDConstants* fastTimeDDDConst_; +}; + +FastTimeNumberingInitialization::FastTimeNumberingInitialization(const edm::ParameterSet& iConfig) : fastTimeDDDConst_(0) { +#ifdef DebugLog + std::cout <<"constructing FastTimeNumberingInitialization" << std::endl; +#endif + setWhatProduced(this); +} + + +FastTimeNumberingInitialization::~FastTimeNumberingInitialization() {} + + +// ------------ method called to produce the data ------------ +FastTimeNumberingInitialization::ReturnType +FastTimeNumberingInitialization::produce(const IdealGeometryRecord& iRecord) { +#ifdef DebugLog + std::cout << "in FastTimeNumberingInitialization::produce" << std::endl; +#endif + if (fastTimeDDDConst_ == 0) { + edm::ESTransientHandle pDD; + iRecord.get(pDD); + fastTimeDDDConst_ = new FastTimeDDDConstants(*pDD); + } + return std::auto_ptr (fastTimeDDDConst_) ; +} + +//define this as a plug-in +DEFINE_FWK_EVENTSETUP_MODULE(FastTimeNumberingInitialization); + diff --git a/Geometry/HGCalCommonData/plugins/HGCalNumberingInitialization.cc b/Geometry/HGCalCommonData/plugins/HGCalNumberingInitialization.cc new file mode 100644 index 0000000000000..5c08aff74bdce --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/HGCalNumberingInitialization.cc @@ -0,0 +1,81 @@ +// -*- C++ -*- +// +// Package: HGCalNumberingInitialization +// Class: HGCalNumberingInitialization +// +/**\class HGCalNumberingInitialization HGCalNumberingInitialization.h Geometry/HGCalCommonData/interface/HGCalNumberingInitialization.h + + Description: + + Implementation: + +*/ +// +// Original Author: Sunanda Banerjee +// Created: Tue Mar 21 16:40:29 PDT 2013 +// $Id: HGCalNumberingInitialization.cc,v 1.0 2013/12/24 12:47:41 sunanda Exp $ +// +// + + +// system include files +#include +#include + +// user include files +#include +#include +#include + +#include +#include +#include +#include +#include + +//#define DebugLog + +class HGCalNumberingInitialization : public edm::ESProducer { + +public: + HGCalNumberingInitialization(const edm::ParameterSet&); + ~HGCalNumberingInitialization(); + + typedef std::auto_ptr ReturnType; + + ReturnType produce(const IdealGeometryRecord&); + +private: + HGCalDDDConstants* hgcalDDDConst_; + std::string name_; +}; + +HGCalNumberingInitialization::HGCalNumberingInitialization(const edm::ParameterSet& iConfig) : hgcalDDDConst_(0) { + name_ = iConfig.getUntrackedParameter("Name"); +#ifdef DebugLog + std::cout <<"constructing HGCalNumberingInitialization for " << name_ << std::endl; +#endif + setWhatProduced(this, name_); +} + + +HGCalNumberingInitialization::~HGCalNumberingInitialization() {} + + +// ------------ method called to produce the data ------------ +HGCalNumberingInitialization::ReturnType +HGCalNumberingInitialization::produce(const IdealGeometryRecord& iRecord) { +#ifdef DebugLog + std::cout << "in HGCalNumberingInitialization::produce" << std::endl; +#endif + if (hgcalDDDConst_ == 0) { + edm::ESTransientHandle pDD; + iRecord.get(pDD); + hgcalDDDConst_ = new HGCalDDDConstants(*pDD, name_); + } + return std::auto_ptr (hgcalDDDConst_) ; +} + +//define this as a plug-in +DEFINE_FWK_EVENTSETUP_MODULE(HGCalNumberingInitialization); + diff --git a/Geometry/HGCalCommonData/plugins/module.cc b/Geometry/HGCalCommonData/plugins/module.cc new file mode 100644 index 0000000000000..ff2506dd57bc0 --- /dev/null +++ b/Geometry/HGCalCommonData/plugins/module.cc @@ -0,0 +1,8 @@ +#include "Geometry/HGCalCommonData/plugins/DDHGCalEEAlgo.h" +#include "Geometry/HGCalCommonData/plugins/DDHGCalHEAlgo.h" +#include "Geometry/HGCalCommonData/plugins/DDHGCalNoTaperEndcap.h" +#include "DetectorDescription/Algorithm/interface/DDAlgorithmFactory.h" + +DEFINE_EDM_PLUGIN (DDAlgorithmFactory, DDHGCalEEAlgo, "hgcal:DDHGCalEEAlgo"); +DEFINE_EDM_PLUGIN (DDAlgorithmFactory, DDHGCalHEAlgo, "hgcal:DDHGCalHEAlgo"); +DEFINE_EDM_PLUGIN (DDAlgorithmFactory, DDHGCalNoTaperEndcap, "hgcal:DDHGCalNoTaperEndcap"); diff --git a/Geometry/HGCalCommonData/python/ecalhcalPhaseIIGeometryXML_cfi.py b/Geometry/HGCalCommonData/python/ecalhcalPhaseIIGeometryXML_cfi.py new file mode 100644 index 0000000000000..3c807c4278beb --- /dev/null +++ b/Geometry/HGCalCommonData/python/ecalhcalPhaseIIGeometryXML_cfi.py @@ -0,0 +1,60 @@ +import FWCore.ParameterSet.Config as cms + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + "Geometry/HcalCommonData/data/hcalrotations.xml", + 'Geometry/CMSCommonData/data/normal/cmsextent.xml', + 'Geometry/CMSCommonData/data/cms.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/eta3/etaMax.xml', + 'Geometry/CMSCommonData/data/PhaseII/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/EcalCommonData/data/PhaseII/eregalgo.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/EcalCommonData/data/eecon.xml', + 'Geometry/EcalCommonData/data/ectkcable.xml', + 'Geometry/EcalCommonData/data/PhaseII/esalgo.xml', + 'Geometry/EcalCommonData/data/PhaseII/escon.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/PhaseII/HGCal/hcalalgo.xml', + 'Geometry/HcalCommonData/data/PhaseII/HGCal/hcalendcapalgo.xml', + 'Geometry/HcalCommonData/data/hcalcablealgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardfibre.xml', + 'Geometry/HcalCommonData/data/hcalforwardmaterial.xml', + 'Geometry/HGCalCommonData/data/v6/hgcal.xml', + 'Geometry/HGCalCommonData/data/v5/hgcalEE.xml', + 'Geometry/HGCalCommonData/data/v6/hgcalHEsil.xml', + 'Geometry/HGCalCommonData/data/v6/hgcalCons.xml', + 'Geometry/ForwardCommonData/data/v2/forwardshield.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/HcalSimData/data/CaloUtil.xml', + 'Geometry/EcalSimData/data/PhaseII/ecalsens.xml', + 'Geometry/HcalCommonData/data/PhaseII/HGCal/hcalsenspmf.xml', + 'Geometry/HcalCommonData/data/PhaseII/HGCal/hcalSimNumbering.xml', + 'Geometry/HcalCommonData/data/PhaseII/HGCal/hcalRecNumbering.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HGCalSimData/data/hgcsensv6.xml', + 'Geometry/HGCalSimData/data/hgccons.xml', + 'Geometry/HcalSimData/data/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/HGCalSimData/data/hgcProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml'), + rootNodeName = cms.string('cms:OCMS') +) + + diff --git a/Geometry/HGCalCommonData/python/hgcalNumberingInitialization_cfi.py b/Geometry/HGCalCommonData/python/hgcalNumberingInitialization_cfi.py new file mode 100644 index 0000000000000..200ac28750f43 --- /dev/null +++ b/Geometry/HGCalCommonData/python/hgcalNumberingInitialization_cfi.py @@ -0,0 +1,13 @@ +import FWCore.ParameterSet.Config as cms + +hgcalEENumberingInitialize = cms.ESProducer("HGCalNumberingInitialization", + Name = cms.untracked.string("HGCalEESensitive") +) + +hgcalHESiNumberingInitialize = cms.ESProducer("HGCalNumberingInitialization", + Name = cms.untracked.string("HGCalHESiliconSensitive") +) + +hgcalHEScNumberingInitialize = cms.ESProducer("HGCalNumberingInitialization", + Name = cms.untracked.string("HGCalHEScintillatorSensitive") +) diff --git a/Geometry/HGCalCommonData/python/hgcalV6NumberingInitialization_cfi.py b/Geometry/HGCalCommonData/python/hgcalV6NumberingInitialization_cfi.py new file mode 100644 index 0000000000000..b99817c2caf29 --- /dev/null +++ b/Geometry/HGCalCommonData/python/hgcalV6NumberingInitialization_cfi.py @@ -0,0 +1,10 @@ +import FWCore.ParameterSet.Config as cms + +hgcalEENumberingInitialize = cms.ESProducer("HGCalNumberingInitialization", + Name = cms.untracked.string("HGCalEESensitive") +) + +hgcalHESiNumberingInitialize = cms.ESProducer("HGCalNumberingInitialization", + Name = cms.untracked.string("HGCalHESiliconSensitive") +) + diff --git a/Geometry/HGCalCommonData/python/testGeometryExtended_cff.py b/Geometry/HGCalCommonData/python/testGeometryExtended_cff.py new file mode 100644 index 0000000000000..694b3ae36322d --- /dev/null +++ b/Geometry/HGCalCommonData/python/testGeometryExtended_cff.py @@ -0,0 +1,5 @@ +import FWCore.ParameterSet.Config as cms + +from Geometry.HGCalCommonData.testHGCalXML_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import * +from Geometry.HcalCommonData.hcalDDConstants_cff import * diff --git a/Geometry/HGCalCommonData/python/testHGCalXML_cfi.py b/Geometry/HGCalCommonData/python/testHGCalXML_cfi.py new file mode 100644 index 0000000000000..ce32c079e820f --- /dev/null +++ b/Geometry/HGCalCommonData/python/testHGCalXML_cfi.py @@ -0,0 +1,290 @@ +import FWCore.ParameterSet.Config as cms + +## 2015 + new phase 1 pixel detector + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring('Geometry/CMSCommonData/data/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/cmsextent.xml', + 'Geometry/CMSCommonData/data/PhaseI/cms.xml', + 'Geometry/CMSCommonData/data/eta3/etaMax.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/PhaseII/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/PhaseII/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/PhaseI/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern.xml', + 'Geometry/TrackerCommonData/data/PhaseI/trackerParameters.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdMaterials.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdCylinder.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdDisks.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdInnerDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdOuterDisk3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixfwdblade3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarmaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladder.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarladderfull3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer0.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer1.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer2.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbarlayer3.xml', + 'Geometry/TrackerCommonData/data/PhaseI/pixbar.xml', + 'Geometry/TrackerCommonData/data/tibtidcommonmaterial.xml', + 'Geometry/TrackerCommonData/data/tibmaterial.xml', + 'Geometry/TrackerCommonData/data/tibmodpar.xml', + 'Geometry/TrackerCommonData/data/tibmodule0.xml', + 'Geometry/TrackerCommonData/data/tibmodule0a.xml', + 'Geometry/TrackerCommonData/data/tibmodule0b.xml', + 'Geometry/TrackerCommonData/data/tibmodule2.xml', + 'Geometry/TrackerCommonData/data/tibstringpar.xml', + 'Geometry/TrackerCommonData/data/tibstring0ll.xml', + 'Geometry/TrackerCommonData/data/tibstring0lr.xml', + 'Geometry/TrackerCommonData/data/tibstring0ul.xml', + 'Geometry/TrackerCommonData/data/tibstring0ur.xml', + 'Geometry/TrackerCommonData/data/tibstring0.xml', + 'Geometry/TrackerCommonData/data/tibstring1ll.xml', + 'Geometry/TrackerCommonData/data/tibstring1lr.xml', + 'Geometry/TrackerCommonData/data/tibstring1ul.xml', + 'Geometry/TrackerCommonData/data/tibstring1ur.xml', + 'Geometry/TrackerCommonData/data/tibstring1.xml', + 'Geometry/TrackerCommonData/data/tibstring2ll.xml', + 'Geometry/TrackerCommonData/data/tibstring2lr.xml', + 'Geometry/TrackerCommonData/data/tibstring2ul.xml', + 'Geometry/TrackerCommonData/data/tibstring2ur.xml', + 'Geometry/TrackerCommonData/data/tibstring2.xml', + 'Geometry/TrackerCommonData/data/tibstring3ll.xml', + 'Geometry/TrackerCommonData/data/tibstring3lr.xml', + 'Geometry/TrackerCommonData/data/tibstring3ul.xml', + 'Geometry/TrackerCommonData/data/tibstring3ur.xml', + 'Geometry/TrackerCommonData/data/tibstring3.xml', + 'Geometry/TrackerCommonData/data/tiblayerpar.xml', + 'Geometry/TrackerCommonData/data/tiblayer0.xml', + 'Geometry/TrackerCommonData/data/tiblayer1.xml', + 'Geometry/TrackerCommonData/data/tiblayer2.xml', + 'Geometry/TrackerCommonData/data/tiblayer3.xml', + 'Geometry/TrackerCommonData/data/tib.xml', + 'Geometry/TrackerCommonData/data/tidmaterial.xml', + 'Geometry/TrackerCommonData/data/tidmodpar.xml', + 'Geometry/TrackerCommonData/data/tidmodule0.xml', + 'Geometry/TrackerCommonData/data/tidmodule0r.xml', + 'Geometry/TrackerCommonData/data/tidmodule0l.xml', + 'Geometry/TrackerCommonData/data/tidmodule1.xml', + 'Geometry/TrackerCommonData/data/tidmodule1r.xml', + 'Geometry/TrackerCommonData/data/tidmodule1l.xml', + 'Geometry/TrackerCommonData/data/tidmodule2.xml', + 'Geometry/TrackerCommonData/data/tidringpar.xml', + 'Geometry/TrackerCommonData/data/tidring0.xml', + 'Geometry/TrackerCommonData/data/tidring0f.xml', + 'Geometry/TrackerCommonData/data/tidring0b.xml', + 'Geometry/TrackerCommonData/data/tidring1.xml', + 'Geometry/TrackerCommonData/data/tidring1f.xml', + 'Geometry/TrackerCommonData/data/tidring1b.xml', + 'Geometry/TrackerCommonData/data/tidring2.xml', + 'Geometry/TrackerCommonData/data/tid.xml', + 'Geometry/TrackerCommonData/data/tidf.xml', + 'Geometry/TrackerCommonData/data/tidb.xml', + 'Geometry/TrackerCommonData/data/tibtidservices.xml', + 'Geometry/TrackerCommonData/data/tibtidservicesf.xml', + 'Geometry/TrackerCommonData/data/tibtidservicesb.xml', + 'Geometry/TrackerCommonData/data/tobmaterial.xml', + 'Geometry/TrackerCommonData/data/tobmodpar.xml', + 'Geometry/TrackerCommonData/data/tobmodule0.xml', + 'Geometry/TrackerCommonData/data/tobmodule2.xml', + 'Geometry/TrackerCommonData/data/tobmodule4.xml', + 'Geometry/TrackerCommonData/data/tobrodpar.xml', + 'Geometry/TrackerCommonData/data/tobrod0c.xml', + 'Geometry/TrackerCommonData/data/tobrod0l.xml', + 'Geometry/TrackerCommonData/data/tobrod0h.xml', + 'Geometry/TrackerCommonData/data/tobrod0.xml', + 'Geometry/TrackerCommonData/data/tobrod1l.xml', + 'Geometry/TrackerCommonData/data/tobrod1h.xml', + 'Geometry/TrackerCommonData/data/tobrod1.xml', + 'Geometry/TrackerCommonData/data/tobrod2c.xml', + 'Geometry/TrackerCommonData/data/tobrod2l.xml', + 'Geometry/TrackerCommonData/data/tobrod2h.xml', + 'Geometry/TrackerCommonData/data/tobrod2.xml', + 'Geometry/TrackerCommonData/data/tobrod3l.xml', + 'Geometry/TrackerCommonData/data/tobrod3h.xml', + 'Geometry/TrackerCommonData/data/tobrod3.xml', + 'Geometry/TrackerCommonData/data/tobrod4c.xml', + 'Geometry/TrackerCommonData/data/tobrod4l.xml', + 'Geometry/TrackerCommonData/data/tobrod4h.xml', + 'Geometry/TrackerCommonData/data/tobrod4.xml', + 'Geometry/TrackerCommonData/data/tobrod5l.xml', + 'Geometry/TrackerCommonData/data/tobrod5h.xml', + 'Geometry/TrackerCommonData/data/tobrod5.xml', + 'Geometry/TrackerCommonData/data/tob.xml', + 'Geometry/TrackerCommonData/data/tecmaterial.xml', + 'Geometry/TrackerCommonData/data/tecmodpar.xml', + 'Geometry/TrackerCommonData/data/tecmodule0.xml', + 'Geometry/TrackerCommonData/data/tecmodule0r.xml', + 'Geometry/TrackerCommonData/data/tecmodule0s.xml', + 'Geometry/TrackerCommonData/data/tecmodule1.xml', + 'Geometry/TrackerCommonData/data/tecmodule1r.xml', + 'Geometry/TrackerCommonData/data/tecmodule1s.xml', + 'Geometry/TrackerCommonData/data/tecmodule2.xml', + 'Geometry/TrackerCommonData/data/tecmodule3.xml', + 'Geometry/TrackerCommonData/data/tecmodule4.xml', + 'Geometry/TrackerCommonData/data/tecmodule4r.xml', + 'Geometry/TrackerCommonData/data/tecmodule4s.xml', + 'Geometry/TrackerCommonData/data/tecmodule5.xml', + 'Geometry/TrackerCommonData/data/tecmodule6.xml', + 'Geometry/TrackerCommonData/data/tecpetpar.xml', + 'Geometry/TrackerCommonData/data/tecring0.xml', + 'Geometry/TrackerCommonData/data/tecring1.xml', + 'Geometry/TrackerCommonData/data/tecring2.xml', + 'Geometry/TrackerCommonData/data/tecring3.xml', + 'Geometry/TrackerCommonData/data/tecring4.xml', + 'Geometry/TrackerCommonData/data/tecring5.xml', + 'Geometry/TrackerCommonData/data/tecring6.xml', + 'Geometry/TrackerCommonData/data/tecring0f.xml', + 'Geometry/TrackerCommonData/data/tecring1f.xml', + 'Geometry/TrackerCommonData/data/tecring2f.xml', + 'Geometry/TrackerCommonData/data/tecring3f.xml', + 'Geometry/TrackerCommonData/data/tecring4f.xml', + 'Geometry/TrackerCommonData/data/tecring5f.xml', + 'Geometry/TrackerCommonData/data/tecring6f.xml', + 'Geometry/TrackerCommonData/data/tecring0b.xml', + 'Geometry/TrackerCommonData/data/tecring1b.xml', + 'Geometry/TrackerCommonData/data/tecring2b.xml', + 'Geometry/TrackerCommonData/data/tecring3b.xml', + 'Geometry/TrackerCommonData/data/tecring4b.xml', + 'Geometry/TrackerCommonData/data/tecring5b.xml', + 'Geometry/TrackerCommonData/data/tecring6b.xml', + 'Geometry/TrackerCommonData/data/tecpetalf.xml', + 'Geometry/TrackerCommonData/data/tecpetalb.xml', + 'Geometry/TrackerCommonData/data/tecpetal0.xml', + 'Geometry/TrackerCommonData/data/tecpetal0f.xml', + 'Geometry/TrackerCommonData/data/tecpetal0b.xml', + 'Geometry/TrackerCommonData/data/tecpetal3.xml', + 'Geometry/TrackerCommonData/data/tecpetal3f.xml', + 'Geometry/TrackerCommonData/data/tecpetal3b.xml', + 'Geometry/TrackerCommonData/data/tecpetal6f.xml', + 'Geometry/TrackerCommonData/data/tecpetal6b.xml', + 'Geometry/TrackerCommonData/data/tecpetal8f.xml', + 'Geometry/TrackerCommonData/data/tecpetal8b.xml', + 'Geometry/TrackerCommonData/data/tecwheel.xml', + 'Geometry/TrackerCommonData/data/tecwheela.xml', + 'Geometry/TrackerCommonData/data/tecwheelb.xml', + 'Geometry/TrackerCommonData/data/tecwheelc.xml', + 'Geometry/TrackerCommonData/data/tecwheeld.xml', + 'Geometry/TrackerCommonData/data/tecwheel6.xml', + 'Geometry/TrackerCommonData/data/tecservices.xml', + 'Geometry/TrackerCommonData/data/tecbackplate.xml', + 'Geometry/TrackerCommonData/data/tec.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/tracker.xml', + 'Geometry/TrackerCommonData/data/trackerpixbar.xml', + 'Geometry/TrackerCommonData/data/PhaseI/trackerpixfwd.xml', + 'Geometry/TrackerCommonData/data/trackertibtidservices.xml', + 'Geometry/TrackerCommonData/data/trackertib.xml', + 'Geometry/TrackerCommonData/data/trackertid.xml', + 'Geometry/TrackerCommonData/data/trackertob.xml', + 'Geometry/TrackerCommonData/data/trackertec.xml', + 'Geometry/TrackerCommonData/data/trackerbulkhead.xml', + 'Geometry/TrackerCommonData/data/trackerother.xml', + 'Geometry/EcalCommonData/data/ectkcable.xml', + 'Geometry/EcalCommonData/data/PhaseII/eregalgo.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/EcalCommonData/data/eecon.xml', + 'Geometry/EcalCommonData/data/PhaseII/escon.xml', + 'Geometry/EcalCommonData/data/PhaseII/esalgo.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/PhaseII/NoHE/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/PhaseII/NoHE/hcalSimNumbering.xml', + 'Geometry/HcalCommonData/data/PhaseII/NoHE/hcalRecNumbering.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/HGCalCommonData/data/v5/hgcal.xml', + 'Geometry/HGCalCommonData/data/v5/hgcalEE.xml', + 'Geometry/HGCalCommonData/data/v5/hgcalHEsil.xml', + 'Geometry/HGCalCommonData/data/v5/hgcalHEsci.xml', + 'Geometry/HGCalCommonData/data/v5/hgcalCons.xml', + 'Geometry/MuonCommonData/data/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/v1/mb1.xml', + 'Geometry/MuonCommonData/data/v1/mb2.xml', + 'Geometry/MuonCommonData/data/v1/mb3.xml', + 'Geometry/MuonCommonData/data/v1/mb4.xml', + 'Geometry/MuonCommonData/data/design/muonYoke.xml', + 'Geometry/MuonCommonData/data/PhaseII/mf.xml', + 'Geometry/MuonCommonData/data/PhaseII/rpcf.xml', + 'Geometry/MuonCommonData/data/v2/gemf.xml', + 'Geometry/MuonCommonData/data/v4/gem11.xml', + 'Geometry/MuonCommonData/data/v6/gem21.xml', + 'Geometry/MuonCommonData/data/v2/csc.xml', + 'Geometry/MuonCommonData/data/PhaseII/mfshield.xml', + 'Geometry/MuonCommonData/data/PhaseII/me0.xml', + 'Geometry/ForwardCommonData/data/forward.xml', + 'Geometry/ForwardCommonData/data/v2/forwardshield.xml', + 'Geometry/ForwardCommonData/data/brmrotations.xml', + 'Geometry/ForwardCommonData/data/brm.xml', + 'Geometry/ForwardCommonData/data/totemMaterials.xml', + 'Geometry/ForwardCommonData/data/totemRotations.xml', + 'Geometry/ForwardCommonData/data/totemt1.xml', + 'Geometry/ForwardCommonData/data/totemt2.xml', + 'Geometry/ForwardCommonData/data/ionpump.xml', + 'Geometry/ForwardCommonData/data/castor.xml', + 'Geometry/ForwardCommonData/data/zdcmaterials.xml', + 'Geometry/ForwardCommonData/data/lumimaterials.xml', + 'Geometry/ForwardCommonData/data/zdcrotations.xml', + 'Geometry/ForwardCommonData/data/lumirotations.xml', + 'Geometry/ForwardCommonData/data/zdc.xml', + 'Geometry/ForwardCommonData/data/zdclumi.xml', + 'Geometry/ForwardCommonData/data/cmszdc.xml')+cms.vstring( + 'Geometry/MuonCommonData/data/PhaseII/muonNumbering.xml', + 'Geometry/TrackerCommonData/data/PhaseI/trackerStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseI/trackersens.xml', + 'Geometry/TrackerRecoData/data/PhaseI/trackerRecoMaterial.xml', + 'Geometry/EcalSimData/data/PhaseII/ecalsens.xml', + 'Geometry/HcalCommonData/data/PhaseII/NoHE/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil.xml', + 'Geometry/HGCalSimData/data/hgcsens.xml', + 'Geometry/HGCalSimData/data/hgccons.xml', + 'Geometry/HGCalSimData/data/hgcProdCuts.xml', + 'Geometry/MuonSimData/data/PhaseII/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/RPCSpecs.xml', + 'Geometry/GEMGeometryBuilder/data/v5/GEMSpecs.xml', + 'Geometry/ForwardCommonData/data/brmsens.xml', + 'Geometry/ForwardSimData/data/castorsens.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseI/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/MuonSimData/data/PhaseII/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/CastorProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml'), + rootNodeName = cms.string('cms:OCMS') +) + + diff --git a/Geometry/HGCalCommonData/src/FastTimeDDDConstants.cc b/Geometry/HGCalCommonData/src/FastTimeDDDConstants.cc new file mode 100644 index 0000000000000..2f3a5475cf19a --- /dev/null +++ b/Geometry/HGCalCommonData/src/FastTimeDDDConstants.cc @@ -0,0 +1,250 @@ +#include "Geometry/HGCalCommonData/interface/FastTimeDDDConstants.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/Utilities/interface/Exception.h" + +#include "DetectorDescription/Base/interface/DDutils.h" +#include "DetectorDescription/Core/interface/DDValue.h" +#include "DetectorDescription/Core/interface/DDFilter.h" +#include "DetectorDescription/Core/interface/DDSolid.h" +#include "DetectorDescription/Core/interface/DDFilteredView.h" +#include "CLHEP/Units/GlobalPhysicalConstants.h" +#include "CLHEP/Units/GlobalSystemOfUnits.h" + +//#define DebugLog + +FastTimeDDDConstants::FastTimeDDDConstants(const DDCompactView& cpv) { + +#ifdef DebugLog + edm::LogInfo("HGCalGeom") << "FastTimeDDDConstants::FastTimeDDDConstants ( const DDCompactView& cpv ) constructor"; +#endif + initialize(cpv); + +} + +FastTimeDDDConstants::~FastTimeDDDConstants() { +#ifdef DebugLog + std::cout << "FastTimeDDDConstants:destructed!!!" << std::endl; +#endif +} + +int FastTimeDDDConstants::computeCells() const { + + int copy(0); +#ifdef DebugLog + int column(0), rowmax(0); +#endif + double offsetX (0), offsetY(0); + while (offsetX < rOut) { +#ifdef DebugLog + column++; + int row(0); +#endif + while (offsetY rIn && limit1 < rOut) copy++; + offsetY += cellSize; + } +#ifdef DebugLog + if (row > rowmax) rowmax = row; +#endif + offsetY = 0; + offsetX += cellSize; + } +#ifdef DebugLog + std::cout << rowmax << " rows and " << column << " columns with total of " + << copy << " cells in a quadrant " << std::endl; +#endif + return 4*copy; +} + +std::pair FastTimeDDDConstants::getXY(int copy) const { + + int iq = quadrant(copy); + if (iq != 0) { + int ism = copy - (iq-1)*nCells; + int jx(0), jy(0); + for (unsigned int k=0; k= firstCell[k] && ism <= lastCell[k]) { + jx = k + 1; + jy = ism - firstCell[k] + firstY[k]; + break; + } + } + int ix = (iq == 1 || iq == 4) ? (jx + nCols) : (nCols+1-jx); + int iy = (iq == 1 || iq == 2) ? (jy + nRows) : (nRows+1-jy); + return std::pair(ix,iy); + } else { + return std::pair(0,0); + } +} + +std::pair FastTimeDDDConstants::getXY(double x, double y) const { + + int jx = floor(fabs(x)/cellSize); + int jy = floor(fabs(y)/cellSize); + int iq(0); + if (x < 0) { + if (y < 0) iq = 3; + else iq = 2; + } else { + if (y < 0) iq = 4; + else iq = 1; + } + int ix = (iq == 1 || iq == 4) ? (jx + nCols) : (nCols+1-jx); + int iy = (iq == 1 || iq == 2) ? (jy + nRows) : (nRows+1-jy); + if (isValidXY(ix,iy)) { + return std::pair(ix,iy); + } else { + return std::pair(0,0); + } +} + +bool FastTimeDDDConstants::isValidXY(int ix, int iy) const { + int iq = quadrant(ix,iy); + if (iq != 0) { + int kx = (iq == 1 || iq == 4) ? (ix-nCols) : (nCols-1-ix); + int ky = (iq == 1 || iq == 2) ? (iy-nRows) : (nRows-1-iy); + bool ok = (ky+1 >= firstY[kx] && ky+1 <= lastY[kx]); + return ok; + } else { + return false; + } +} + +bool FastTimeDDDConstants::isValidCell(int copy) const { + bool ok = (copy > 0 && copy <= getCells()); + return ok; +} + +int FastTimeDDDConstants::quadrant(int ix, int iy) const { + int iq(0); + if (ix>nCols && ix<=2*nCols) { + if (iy>nRows && iy<=2*nRows) iq = 1; + else if (iy>0 && iy<=nRows) iq = 4; + } else if (ix>0 && ix<=nCols) { + if (iy>nRows && iy<=2*nRows) iq = 2; + else if (iy>0 && iy<=nRows) iq = 3; + } + return iq; +} + +int FastTimeDDDConstants::quadrant(int copy) const { + int iq(0); + if (copy > 4*nCells) { + } else if (copy > 3*nCells) { + iq = 4; + } else if (copy > 2*nCells) { + iq = 3; + } else if (copy > nCells) { + iq = 2; + } else if (copy > 0) { + iq = 1; + } + return iq; +} + +void FastTimeDDDConstants::initialize(const DDCompactView& cpv) { + + std::string attribute = "Volume"; + std::string value = "SFBX"; + DDValue val(attribute, value, 0.0); + + DDSpecificsFilter filter; + filter.setCriteria(val, DDCompOp::equals); + DDFilteredView fv(cpv); + fv.addFilter(filter); + bool ok = fv.firstChild(); + + if (ok) { + loadSpecPars(fv); + } else { + edm::LogError("HGCalGeom") << "FastTimeDDDConstants: cannot get filtered" + << " view for " << attribute + << " not matching " << value; + throw cms::Exception("DDException") << "FastTimeDDDConstants: cannot match " << attribute << " to " << value; + } +} + +void FastTimeDDDConstants::loadSpecPars(const DDFilteredView& fv) { + + DDsvalues_type sv(fv.mergedSpecifics()); + + // First and Last Row number in each column + firstY = dbl_to_int(getDDDArray("firstRow",sv)); + lastY = dbl_to_int(getDDDArray("lastRow", sv)); + if (firstY.size() != lastY.size()) { + edm::LogError("HGCalGeom") << "FastTimeDDDConstants: unequal numbers " + << firstY.size() << ":" << lastY.size() + << " elements for first and last rows"; + throw cms::Exception("DDException") << "FastTimeDDDConstants: wrong array sizes for first/last Row"; + } + + nCells = 0; + nCols = (int)(firstY.size()); + nRows = 0; + for (int k=0; k nRows) nRows = lastY[k]; + } + +#ifdef DebugLog + std::cout << "FastTimeDDDConstants: nCells = " << nCells << ", nRow = " + << 2*nRows << ", nColumns = " << 2*nCols << std::endl; + for (int k=0; k gpar = getDDDArray("geomPars",sv); + if (gpar.size() < 3) { + edm::LogError("HGCalGeom") << "FastTimeDDDConstants: too few " + << gpar.size() << " elements for gpar"; + throw cms::Exception("DDException") << "FastTimeDDDConstants: wrong array sizes for gpar"; + } + rIn = gpar[0]; + rOut = gpar[1]; + cellSize = gpar[2]; +#ifdef DebugLog + std::cout << "FastTimeDDDConstants: cellsize " << cellSize << " in region " + << rIn << ":" << rOut << std::endl; +#endif + + gpar = getDDDArray("geomType",sv); + cellType = int(gpar[0]); +#ifdef DebugLog + std::cout << "FastTimeDDDConstants: cell type " << cellType << std::endl; +#endif +} + +std::vector FastTimeDDDConstants::getDDDArray(const std::string & str, + const DDsvalues_type & sv) const { + +#ifdef DebugLog + std::cout << "FastTimeDDDConstants:getDDDArray called for " << str << std::endl; +#endif + DDValue value(str); + if (DDfetch(&sv,value)) { +#ifdef DebugLog + std::cout << "FastTimeDDDConstants: " << value << std::endl; +#endif + const std::vector & fvec = value.doubles(); + int nval = fvec.size(); + if (nval > 0) return fvec; + } + edm::LogError("HGCalGeom") << "FastTimeDDDConstants: cannot get array " + << str; + throw cms::Exception("DDException") << "FastTimeDDDConstants: cannot get array " << str; +} + +#include "FWCore/Utilities/interface/typelookup.h" + +TYPELOOKUP_DATA_REG(FastTimeDDDConstants); diff --git a/Geometry/HGCalCommonData/src/HGCalDDDConstants.cc b/Geometry/HGCalCommonData/src/HGCalDDDConstants.cc new file mode 100644 index 0000000000000..c7e52cef5ae34 --- /dev/null +++ b/Geometry/HGCalCommonData/src/HGCalDDDConstants.cc @@ -0,0 +1,644 @@ +#include "Geometry/HGCalCommonData/interface/HGCalDDDConstants.h" + +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/Utilities/interface/Exception.h" + +#include "DetectorDescription/Base/interface/DDutils.h" +#include "DetectorDescription/Core/interface/DDValue.h" +#include "DetectorDescription/Core/interface/DDFilter.h" +#include "DetectorDescription/Core/interface/DDSolid.h" +#include "DetectorDescription/Core/interface/DDFilteredView.h" +#include "CLHEP/Units/GlobalPhysicalConstants.h" +#include "CLHEP/Units/GlobalSystemOfUnits.h" + +//#define DebugLog + +const double k_ScaleFromDDD = 0.1; +const double k_horizontalShift = 1.0; + +HGCalDDDConstants::HGCalDDDConstants(const DDCompactView& cpv, + std::string& nam) { + initialize(cpv, nam); +#ifdef DebugLog + std::cout << "HGCalDDDConstants for " << nam << " initialized with " + << layers(false) << ":" << layers(true) << " layers and " + << sectors() << " sectors and maximum of " << maxCells(false) + << ":" << maxCells(true) << " cells" << std::endl; +#endif +} + +HGCalDDDConstants::~HGCalDDDConstants() {} + +std::pair HGCalDDDConstants::assignCell(float x, float y, int lay, + int subSec, bool reco) const { + + std::pair index = getIndex(lay, reco); + int i = index.first; + if (i < 0) return std::pair(-1,-1); + float alpha, h, bl, tl; + + //set default values + std::pair cellAssignment( (x>0)?1:0, -1 ); + if (reco) { + h = moduler_[i].h; + bl = moduler_[i].bl; + tl = moduler_[i].tl; + alpha= moduler_[i].alpha; + if ((subSec>0 && alpha<0) || (subSec<=0 && alpha>0)) alpha = -alpha; + cellAssignment=assignCell(x, y, h, bl, tl, alpha, index.second); + } else { + h = modules_[i].h; + bl = modules_[i].bl; + tl = modules_[i].tl; + alpha= modules_[i].alpha; + cellAssignment=assignCell(x, y, h, bl, tl, alpha, index.second); + } + + return cellAssignment; +} + +std::pair HGCalDDDConstants::assignCell(float x, float y, float h, + float bl,float tl,float alpha, + float cellSize) const { + + float a = (alpha==0) ? (2*h/(tl-bl)) : (h/(tl-bl)); + float b = 2*h*bl/(tl-bl); + + float x0(x); + int phiSector = (x0 > 0) ? 1 : 0; + if (alpha < 0) {x0 -= 0.5*(tl+bl); phiSector = 0;} + else if (alpha > 0) {x0 += 0.5*(tl+bl); phiSector = 1;} + + + //determine the i-y + int ky = floor((y+h)/cellSize); + if( ky*cellSize> y+h) ky--; + if(ky<0) return std::pair(-1,-1); + if( (ky+1)*cellSize < (y+h) ) ky++; + int max_ky_allowed=floor(2*h/cellSize); + if(ky>max_ky_allowed-1) return std::pair(-1,-1); + + //determine the i-x + //notice we substitute y by the top of the candidate cell to reduce the dead zones + int kx = floor(fabs(x0)/cellSize); + if( kx*cellSize > fabs(x0) ) kx--; + if(kx<0) return std::pair(-1,-1); + if( (kx+1)*cellSize < fabs(x0) ) kx++; + int max_kx_allowed=floor( ((ky+1)*cellSize+b+k_horizontalShift*cellSize)/(a*cellSize) ); + if(kx>max_kx_allowed-1) return std::pair(-1,-1); + + //count cells summing in rows until required height + //notice the bottom of the cell must be used + int icell(0); + for (int iky=0; iky(phiSector,icell); +} + +std::pair HGCalDDDConstants::findCell(int cell, int lay, int subSec, + bool reco) const { + + std::pair index = getIndex(lay, reco); + int i = index.first; + if (i < 0) return std::pair(-1,-1); + float alpha, h, bl, tl; + if (reco) { + h = moduler_[i].h; + bl = moduler_[i].bl; + tl = moduler_[i].tl; + alpha= moduler_[i].alpha; + if ((subSec>0 && alpha<0) || (subSec<=0 && alpha>0)) alpha = -alpha; + } else { + h = modules_[i].h; + bl = modules_[i].bl; + tl = modules_[i].tl; + alpha= modules_[i].alpha; + } + return findCell(cell, h, bl, tl, alpha, index.second); +} + +std::pair HGCalDDDConstants::findCell(int cell, float h, float bl, + float tl, float alpha, + float cellSize) const { + + //check if cell number is meaningful + if(cell<0) return std::pair(-1,-1); + + //parameterization of the boundary of the trapezoid + float a = (alpha==0) ? (2*h/(tl-bl)) : (h/(tl-bl)); + float b = 2*h*bl/(tl-bl); + int kx(cell), ky(0); + int kymax( floor((2*h)/cellSize) ); + int testCell(0); + for (int iky=0; iky cell) break; + testCell += cellsInRow; + ky++; + kx -= cellsInRow; + } + + return std::pair(kx,ky); +} + +bool HGCalDDDConstants::isValid(int lay, int mod, int cell, bool reco) const { + + bool ok = ((lay > 0 && lay <= (int)(layers(reco))) && + (mod > 0 && mod <= sectors()) && + (cell >=0 && cell <= maxCells(lay,reco))); + +#ifdef DebugLog + if (!ok) std::cout << "HGCalDDDConstants: Layer " << lay << ":" + << (lay > 0 && (lay <= (int)(layers(reco)))) << " Module " + << mod << ":" << (mod > 0 && mod <= sectors()) << " Cell " + << cell << ":" << (cell >=0 && cell <= maxCells(lay,reco)) + << ":" << maxCells(reco) << std::endl; +#endif + return ok; +} + +std::pair HGCalDDDConstants::locateCell(int cell, int lay, + int subSec, bool reco) const { + + std::pair index = getIndex(lay, reco); + int i = index.first; + if (i < 0) return std::pair(999999.,999999.); + std::pair kxy = findCell(cell, lay, subSec, reco); + float alpha, h, bl, tl; + if (reco) { + h = moduler_[i].h; + bl = moduler_[i].bl; + tl = moduler_[i].tl; + alpha= moduler_[i].alpha; + if ((subSec>0 && alpha<0) || (subSec<=0 && alpha>0)) alpha = -alpha; + } else { + h = modules_[i].h; + bl = modules_[i].bl; + tl = modules_[i].tl; + alpha= modules_[i].alpha; + } + float cellSize = index.second; + float x = (kxy.first+0.5)*cellSize; + if (alpha < 0) x -= 0.5*(tl+bl); + else if (alpha > 0) x -= 0.5*(tl+bl); + if (subSec != 1) x = -x; + float y = ((kxy.second+0.5)*cellSize-h); + return std::pair(x,y); +} + +int HGCalDDDConstants::maxCells(bool reco) const { + + int cells(0); + for (unsigned int i = 0; i index = getIndex(lay, reco); + int i = index.first; + if (i < 0) return 0; + float h, bl, tl, alpha; + if (reco) { + h = moduler_[i].h; + bl = moduler_[i].bl; + tl = moduler_[i].tl; + alpha= moduler_[i].alpha; + } else { + h = modules_[i].h; + bl = modules_[i].bl; + tl = modules_[i].tl; + alpha= modules_[i].alpha; + } + return maxCells(h, bl, tl, alpha, index.second); +} + +int HGCalDDDConstants::maxCells(float h, float bl, float tl, float alpha, + float cellSize) const { + + float a = (alpha==0) ? (2*h/(tl-bl)) : (h/(tl-bl)); + float b = 2*h*bl/(tl-bl); + + int ncells(0); + //always use the top of the cell to maximize space + int kymax = floor((2*h)/cellSize); + for (int iky=0; iky index = getIndex(lay, reco); + int i = index.first; + if (i < 0) return 0; + float h = (reco) ? moduler_[i].h : modules_[i].h; + int kymax = floor((2*h)/index.second); + return kymax; +} + +std::pair HGCalDDDConstants::newCell(int cell, int layer, int sector, + int subsector, int incrx, + int incry, bool half) const { + + int subSec = half ? subsector : 0; + std::pair kxy = findCell(cell, layer, subSec, true); + int kx = kxy.first + incrx; + int ky = kxy.second + incry; + if (ky < 0 || ky > maxRows(layer, true)) { + cell = maxCells(true); + return std::pair(cell,sector*subsector); + } else if (kx < 0) { + kx =-kx; + subsector =-subsector; + } else if (kx > maxCells(layer, true)) { + kx -= maxCells(layer, true); + sector += subsector; + subsector =-subsector; + if (sector < 1) sector = nSectors; + else if (sector > nSectors) sector = 1; + } + cell = newCell(kx, ky, layer, subSec); + return std::pair(cell,sector*subsector); +} + +std::pair HGCalDDDConstants::newCell(int cell, int lay, int subsector, + int incrz, bool half) const { + + int layer = lay + incrz; + if (layer <= 0 || layer > (int)(layers(true))) return std::pair(cell,0); + int subSec = half ? subsector : 0; + std::pair xy = locateCell(cell, lay, subSec, true); + std::pair kcell = assignCell(xy.first, xy.second, layer, subSec, + true); + return std::pair(kcell.second,layer); +} + +int HGCalDDDConstants::newCell(int kx, int ky, int lay, int subSec) const { + + std::pair index = getIndex(lay, true); + int i = index.first; + if (i < 0) return maxCells(true); + float alpha = (subSec == 0) ? modules_[i].alpha : subSec; + float cellSize = index.second; + float a = (alpha==0) ? + (2*moduler_[i].h/(moduler_[i].tl-moduler_[i].bl)) : + (moduler_[i].h/(moduler_[i].tl-moduler_[i].bl)); + float b = 2*moduler_[i].h*moduler_[i].bl/ + (moduler_[i].tl-moduler_[i].bl); + int icell(kx); + for (int iky=0; iky HGCalDDDConstants::numberCells(int lay, bool reco) const { + + std::pair index = getIndex(lay, reco); + int i = index.first; + if (i >= 0) { + float h, bl, tl, alpha; + if (reco) { + h = moduler_[i].h; + bl = moduler_[i].bl; + tl = moduler_[i].tl; + alpha= moduler_[i].alpha; + } else { + h = modules_[i].h; + bl = modules_[i].bl; + tl = modules_[i].tl; + alpha= modules_[i].alpha; + } + return numberCells(h, bl, tl, alpha, index.second); + } else { + std::vector ncell; + return ncell; + } +} + +std::vector HGCalDDDConstants::numberCells(float h, float bl, + float tl, float alpha, + float cellSize) const { + + float a = (alpha==0) ? (2*h/(tl-bl)) : (h/(tl-bl)); + float b = 2*h*bl/(tl-bl); + int kymax = floor((2*h)/cellSize); + std::vector ncell; + for (int iky=0; iky HGCalDDDConstants::simToReco(int cell, int lay, + bool half) const { + + std::pair index = getIndex(lay, false); + int i = index.first; + if (i < 0) return std::pair(-1,-1); + float h = modules_[i].h; + float bl = modules_[i].bl; + float tl = modules_[i].tl; + float cellSize = cellFactor_[i]*index.second; + + std::pair kxy = findCell(cell, h, bl, tl, modules_[i].alpha, index.second); + int depth = layerGroup_[i]; + if(depth<0) return std::pair(-1,-1); + int kx = kxy.first/cellFactor_[i]; + int ky = kxy.second/cellFactor_[i]; + + float a = (half) ? (h/(tl-bl)) : (2*h/(tl-bl)); + float b = 2*h*bl/(tl-bl); + for (int iky=0; iky trforms; + + while (dodet) { + // DDTranslation t = fv.translation(); + const DDSolid & sol = fv.logicalPart().solid(); + std::string name = sol.name(); + int isd = (name.find(sdTag) == std::string::npos) ? -1 : 1; + if (isd > 0) { + std::vector copy = fv.copyNumbers(); + int nsiz = (int)(copy.size()); + int lay = (nsiz > 0) ? copy[nsiz-1] : -1; + int sec = (nsiz > 1) ? copy[nsiz-2] : -1; + int zp = (nsiz > 3) ? copy[nsiz-4] : -1; + if (zp !=1 ) zp = -1; + if (first) {first = false; zpFirst = zp;} + const DDTrap & trp = static_cast(sol); + HGCalDDDConstants::hgtrap mytr(lay,trp.x1(),trp.x2(), + 0.5*(trp.y1()+trp.y2()), + trp.halfZ(),trp.alpha1()); + int subs = (trp.alpha1()>0 ? 1 : 0); + if (std::find(layer_.begin(),layer_.end(),lay) == layer_.end()) { + for (unsigned int k=0; k 0) { + trform_.back().h3v /= nz; + } + } + } + } +#ifdef DebugLog + std::cout << "Obtained " << trform_.size() << " transformation matrices" + << std::endl; + for (unsigned int k=0; k illegal"; + throw cms::Exception("DDException") << "HGCalDDDConstants: cannot get array " << str; + } + } else { + if (nval < 1 && nmin == 0) { + edm::LogError("HGCalGeom") << "HGCalDDDConstants : # of " << str + << " bins " << nval << " < 2 ==> illegal" + << " (nmin=" << nmin << ")"; + throw cms::Exception("DDException") << "HGCalDDDConstants: cannot get array " << str; + } + } + nmin = nval; + return fvec; + } else { + if (nmin >= 0) { + edm::LogError("HGCalGeom") << "HGCalDDDConstants: cannot get array " + << str; + throw cms::Exception("DDException") << "HGCalDDDConstants: cannot get array " << str; + } + std::vector fvec; + nmin = 0; + return fvec; + } +} + +std::pair HGCalDDDConstants::getIndex(int lay, bool reco) const { + + if (lay<1 || lay>(int)(layerIndex.size())) return std::pair(-1,0); + if (reco && lay>(int)(depthIndex.size())) return std::pair(-1,0); + int i = (reco ? depthIndex[lay-1] : layerIndex[lay-1]); + float cell = (reco ? moduler_[i].cellSize : modules_[i].cellSize); + return std::pair(i,cell); +} + +#include "FWCore/Utilities/interface/typelookup.h" + +TYPELOOKUP_DATA_REG(HGCalDDDConstants); diff --git a/Geometry/HGCalCommonData/test/BuildFile.xml b/Geometry/HGCalCommonData/test/BuildFile.xml new file mode 100644 index 0000000000000..d701a2cb03b3e --- /dev/null +++ b/Geometry/HGCalCommonData/test/BuildFile.xml @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/Geometry/HGCalCommonData/test/FastTimeNumberingTester.cc b/Geometry/HGCalCommonData/test/FastTimeNumberingTester.cc new file mode 100644 index 0000000000000..b385cd9a19fa0 --- /dev/null +++ b/Geometry/HGCalCommonData/test/FastTimeNumberingTester.cc @@ -0,0 +1,112 @@ +// -*- C++ -*- +// +// Package: FastTimeNumberingTester +// Class: FastTimeNumberingTester +// +/**\class FastTimeNumberingTester FastTimeNumberingTester.cc test/FastTimeNumberingTester.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Sunanda Banerjee +// Created: Mon 2014/04/24 +// $Id: FastTimeNumberingTester.cc,v 1.0 2014/04/24 14:06:07 sunanda Exp $ +// +// + +//#define DebugLog + +// system include files +#include +#include +#include + +// user include files +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDAnalyzer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/ESTransientHandle.h" +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "DetectorDescription/Core/interface/DDCompactView.h" +#include "DetectorDescription/Core/interface/DDExpandedView.h" +#include "DetectorDescription/Core/interface/DDSpecifics.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/HGCalCommonData/interface/FastTimeDDDConstants.h" +#include "DataFormats/ForwardDetId/interface/FastTimeDetId.h" + +#include "CoralBase/Exception.h" + +// +// class decleration +// + +class FastTimeNumberingTester : public edm::EDAnalyzer { +public: + explicit FastTimeNumberingTester( const edm::ParameterSet& ); + ~FastTimeNumberingTester(); + + + virtual void analyze( const edm::Event&, const edm::EventSetup& ); +private: + // ----------member data --------------------------- +}; + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// + +// +// constructors and destructor +// +FastTimeNumberingTester::FastTimeNumberingTester(const edm::ParameterSet& ) {} + + +FastTimeNumberingTester::~FastTimeNumberingTester() {} + + +// +// member functions +// + +// ------------ method called to produce the data ------------ +void FastTimeNumberingTester::analyze( const edm::Event& iEvent, const edm::EventSetup& iSetup ) { + + edm::ESHandle pFTNDC; + + iSetup.get().get(pFTNDC); + const FastTimeDDDConstants fTnDC(*pFTNDC); + std::cout << "Fast timing device with " << fTnDC.getCells() << ":" + << fTnDC.computeCells() << " cells" << " for detector type " + << fTnDC.getType() << std::endl; + for (unsigned int ix=0; ix<400; ++ix) { + for (unsigned int iy=0; iy<400; ++iy) { + if (fTnDC.isValidXY(ix,iy)) { + FastTimeDetId id1(ix,iy,1), id2(ix,iy,-1); + std::cout << "Valid ID " << id1 << " and " << id2 << std::endl; + } else { +#ifdef DebugLog + std::cout << "ix = " << ix << ", iy = " << iy << " is not valid for " + << "FastTime" << std::endl; +#endif + } + iy += 9; + } + ix += 9; + } +} + + +//define this as a plug-in +DEFINE_FWK_MODULE(FastTimeNumberingTester); diff --git a/Geometry/HGCalCommonData/test/HGCGeometryTester.cc b/Geometry/HGCalCommonData/test/HGCGeometryTester.cc new file mode 100644 index 0000000000000..2aeae9f90837e --- /dev/null +++ b/Geometry/HGCalCommonData/test/HGCGeometryTester.cc @@ -0,0 +1,113 @@ +// -*- C++ -*- +// +// Package: HGCGeometryTester +// Class: HGCGeometryTester +// +/**\class HGCGeometryTester HGCGeometryTester.cc test/HGCGeometryTester.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Sunanda Banerjee +// Created: Mon 2014/02/07 +// $Id: HGCGeometryTester.cc,v 1.0 2014/02/07 14:06:07 sunanda Exp $ +// +// + + +// system include files +#include +#include +#include + +// user include files +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDAnalyzer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/ESTransientHandle.h" +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "DetectorDescription/Core/interface/DDCompactView.h" +#include "DetectorDescription/Core/interface/DDExpandedView.h" +#include "DetectorDescription/Core/interface/DDSpecifics.h" +#include "DetectorDescription/Core/interface/DDSolid.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" + +#include "CoralBase/Exception.h" +// +// class decleration +// + +class HGCGeometryTester : public edm::EDAnalyzer { +public: + explicit HGCGeometryTester( const edm::ParameterSet& ); + ~HGCGeometryTester(); + + + virtual void analyze( const edm::Event&, const edm::EventSetup& ); +private: + // ----------member data --------------------------- +}; + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// +// +// constructors and destructor +// +HGCGeometryTester::HGCGeometryTester(const edm::ParameterSet& ) {} + + +HGCGeometryTester::~HGCGeometryTester() {} + + +// +// member functions +// + +// ------------ method called to produce the data ------------ +void HGCGeometryTester::analyze( const edm::Event& iEvent, + const edm::EventSetup& iSetup ) { + + edm::ESTransientHandle pDD; + iSetup.get().get( pDD ); + + //parse the DD for sensitive volumes + DDExpandedView eview(*pDD); + std::map > svPars; + do { + const DDLogicalPart &logPart=eview.logicalPart(); + std::string name=logPart.name(); + + //only EE sensitive volumes for the moment + if ((name.find("HGCal") != std::string::npos) && + (name.find("Sensitive") != std::string::npos)) { + + size_t pos=name.find("Sensitive")+9; + int layer=atoi(name.substr(pos,name.size()-1).c_str()); + if (svPars.find(name) == svPars.end()) { + //print half height and widths for the trapezoid + std::vector solidPar=eview.logicalPart().solid().parameters(); + svPars[name] = std::pair(solidPar[3], + 0.5*(solidPar[4]+solidPar[5])); + std::cout << name << " Layer " << layer << " " << solidPar[3] + << " " << solidPar[4] << " " << solidPar[5] << std::endl; + } + } + }while(eview.next() ); +} + + +//define this as a plug-in +DEFINE_FWK_MODULE(HGCGeometryTester); diff --git a/Geometry/HGCalCommonData/test/HGCalNumberingTester.cc b/Geometry/HGCalCommonData/test/HGCalNumberingTester.cc new file mode 100644 index 0000000000000..cb0400c4b036d --- /dev/null +++ b/Geometry/HGCalCommonData/test/HGCalNumberingTester.cc @@ -0,0 +1,194 @@ +// -*- C++ -*- +// +// Package: HGCalNumberingTester +// Class: HGCalNumberingTester +// +/**\class HGCalNumberingTester HGCalNumberingTester.cc test/HGCalNumberingTester.cc + + Description: + + Implementation: + +*/ +// +// Original Author: Sunanda Banerjee +// Created: Mon 2014/03/21 +// $Id: HGCalNumberingTester.cc,v 1.0 2014/032/21 14:06:07 sunanda Exp $ +// +// + + +// system include files +#include +#include +#include + +// user include files +#include "FWCore/Framework/interface/Frameworkfwd.h" +#include "FWCore/Framework/interface/EDAnalyzer.h" + +#include "FWCore/Framework/interface/Event.h" +#include "FWCore/Framework/interface/EventSetup.h" +#include "FWCore/Framework/interface/ESTransientHandle.h" +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/MakerMacros.h" + +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "DetectorDescription/Core/interface/DDCompactView.h" +#include "DetectorDescription/Core/interface/DDExpandedView.h" +#include "DetectorDescription/Core/interface/DDSpecifics.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/HGCalCommonData/interface/HGCalDDDConstants.h" + +#include "CoralBase/Exception.h" + +// +// class decleration +// + +class HGCalNumberingTester : public edm::EDAnalyzer { +public: + explicit HGCalNumberingTester( const edm::ParameterSet& ); + ~HGCalNumberingTester(); + + + virtual void analyze( const edm::Event&, const edm::EventSetup& ); +private: + // ----------member data --------------------------- +}; + +// +// constants, enums and typedefs +// + +// +// static data member definitions +// + +// +// constructors and destructor +// +HGCalNumberingTester::HGCalNumberingTester(const edm::ParameterSet& ) {} + + +HGCalNumberingTester::~HGCalNumberingTester() {} + + +// +// member functions +// + +// ------------ method called to produce the data ------------ +void HGCalNumberingTester::analyze( const edm::Event& iEvent, const edm::EventSetup& iSetup ) { + + edm::ESHandle pHGNDC; + + iSetup.get().get("HGCalEESensitive",pHGNDC); + const HGCalDDDConstants hgeedc(*pHGNDC); + std::cout << "EE Layers = " << hgeedc.layers(false) << " Sectors = " + << hgeedc.sectors() << std::endl; + std::pair kxy, lxy; + std::pair xy; + float localx(5.0), localy(5.0); + for (unsigned int i=0; i ncells = hgeedc.numberCells(i+1,false); + std::cout << "Layer " << i+1 << " with " << ncells.size() << " rows\n"; + int ntot(0); + for (unsigned int k=0; k().get("HGCalHESiliconSensitive",pHGNDC); + const HGCalDDDConstants hghesidc(*pHGNDC); + std::cout << "HE Silicon Layers = " << hghesidc.layers(false) + << " Sectors = " << hghesidc.sectors() << std::endl; + for (unsigned int i=0; i ncells = hghesidc.numberCells(i+1,false); + std::cout << "Layer " << i+1 << " with " << ncells.size() << " rows\n"; + int ntot(0); + for (unsigned int k=0; k().get("HGCalHEScintillatorSensitive",pHGNDC); + const HGCalDDDConstants hghescdc(*pHGNDC); + std::cout << "HE Scintillator Layers = " << hghescdc.layers(false) + << " Sectors = " << hghescdc.sectors() << std::endl; + std::vector::const_iterator itr = hghescdc.getFirstModule(false); + int subsec = ((itr->alpha) > 0) ? 1 : 0; + for (unsigned int i=0; i ncells = hghescdc.numberCells(i+1,false); + std::cout << "Layer " << i+1 << " with " << ncells.size() << " rows\n"; + int ntot(0); + for (unsigned int k=0; k + + + 2 + + + 0 + + + 1 + + + 0 + + + 50 + + + 90 + + + 1032 + + + 1033 + + + 1026 + + + 1017 + + + 1025 + + + 1022 + + + 1 + + + 50 + + + 3 + + + 1 + + + + 200 + + + 100 + + + 100 + + + + + 100 + + + 100 + + + 200 + + + + + 255 + + + 220 + + + 220 + + + + + 200 + + + 200 + + + 255 + + + + + + + edm::SortedCollection<CaloTower,edm::StrictWeakOrdering<CaloTower> > + + + towerMaker + + + + + + + + + $.emEt()>0.2 + + + 1008 + + + t + + + 2 + + + ECal + + + 0 + + + + + + + edm::SortedCollection<CaloTower,edm::StrictWeakOrdering<CaloTower> > + + + towerMaker + + + + + + + + + $.hadEt()+$.outerEt()>0.2 + + + 1005 + + + t + + + 2 + + + HCal + + + 0 + + + + + + + std::vector<reco::PFJet> + + + ak5PFJets + + + + + + + + + $.pt()>20 + + + 1000 + + + t + + + 3 + + + Jets + + + 0 + + + + + 0 + + + 0 + + + 2.1 + + + + + + + std::vector<reco::Track> + + + generalTracks + + + + + + + + + $.pt()>1 + + + 1009 + + + t + + + 1 + + + Tracks + + + 0 + + + + + + + std::vector<reco::Muon> + + + muons + + + + + + + + + $.isStandAloneMuon() + + + 1008 + + + t + + + 5 + + + Muons + + + 0 + + + + + + + std::vector<reco::GsfElectron> + + + gsfElectrons + + + + + + + + + $.hadronicOverEm()<0.05 + + + 1007 + + + t + + + 3 + + + Electrons + + + 0 + + + + + + + std::vector<reco::Vertex> + + + offlinePrimaryVertices + + + + + + + + + + + + 1000 + + + t + + + 10 + + + Vertices + + + 0 + + + + + 0 + + + 0 + + + 0 + + + 2 + + + 6 + + + + + + + reco::BeamSpot + + + offlineBeamSpot + + + + + + + + + + + + 1002 + + + t + + + 12 + + + Beam Spot + + + 0 + + + + + + + edm::RangeMap<DTChamberId,edm::OwnVector<DTRecSegment4D,edm::ClonePolicy<DTRecSegment4D> >,edm::ClonePolicy<DTRecSegment4D> > + + + dt4DSegments + + + + + + + + + + + + 1005 + + + t + + + 1 + + + DT-segments + + + 0 + + + + + + + edm::RangeMap<CSCDetId,edm::OwnVector<CSCSegment,edm::ClonePolicy<CSCSegment> >,edm::ClonePolicy<CSCSegment> > + + + cscSegments + + + + + + + + + + + + 1005 + + + t + + + 1 + + + CSC-segments + + + 0 + + + + + + + std::vector<reco::Photon> + + + photons + + + + + + + + + hadronicOverEm < 0.2 + + + 1009 + + + t + + + 1 + + + Photons + + + 0 + + + + + + + std::vector<reco::MET> + + + tcMet + + + + + + + + + et()>20 + + + 1008 + + + t + + + 11 + + + recoMET + + + 0 + + + + + + + std::vector<reco::Conversion> + + + conversions + + + + + + + + + + + + 1016 + + + t + + + 13 + + + Conversions + + + 0 + + + + + + + + + + $Tracks.pt()>1 + + + 1 + + + + + + + + $Jets.pt()>100 + + + 0 + + + + + + + + $Muons@.size()>3 + + + 0 + + + + + + + + HLT_Mu9 + + + 0 + + + + + + HLT + + + + + 1 + + + 0 + + + + + + 8 + + + 22 + + + 1342 + + + 770 + + + 8.26607 + + + 1.02799 + + + 0.972018 + + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + 1 + + + 1 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 138.4 + + + 1 + + + 0.2 + + + 0 + + + 0.015 + + + 0 + + + 1 + + + 1 + + + 0.03 + + + 0.05 + + + 0.95 + + + 0.2 + + + 0.02 + + + 0.98 + + + 1 + + + 50 + + + 3 + + + 1 + + + 1.86325 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 2337.41 + + + 0 + + + 0 + + + 1 + + + + + 1 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 1 + + + 1 + + + 1 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0.03 + + + 0.05 + + + 0.95 + + + 0.2 + + + 0.02 + + + 0.98 + + + 1 + + + 50 + + + 3 + + + 1 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 0 + + + 1055.58 + + + 91.0029 + + + 0 + + + 1 + + + -1 + + + 0 + + + 0 + + + 0 + + + 0 + + + -0 + + + 1 + + + 0 + + + 0 + + + 1 + + + 0 + + + 0 + + + 0 + + + 0 + + + 0 + + + 1 + + + 56.2535 + + + + + -1 + + + 1 + + + 1 + + + 1 + + + 1 + + + 90 + + + 0 + + + 0 + + + 1 + + + 3 + + + hgcal + + + 2 + + + 1 + + + 0 + + + 10 + + + 1 + + + + + + + + + + + 1.02799 + + + 0 + + + + + 1 + + + 0 + + + + + 1 + + + 0 + + + + + + + + + + + id + detid.rawId + 0 + energy + energy + 3 + time + time + 3 + flags + flags + 0 + + + emEt + emEt + 1 + hadEt + hadEt + 1 + et + et + 1 + eta + eta + 3 + phi + phi + 3 + + + number of segments + size + 0 + + + number of segments + size + 0 + + + Pt + pt + 1 + eta + eta + 3 + phi + phi + 3 + ECAL + p4().E() * emEnergyFraction() + 1 + HCAL + p4().E() * energyFractionHadronic() + 1 + emf + emEnergyFraction() + 3 + size_eta + sqrt(etaetaMoment) + 3 + size_phi + sqrt(phiphiMoment) + 3 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + status + status + 0 + pdgId + pdgId + 0 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + E/p + eSuperClusterOverP + 3 + H/E + hadronicOverEm + 3 + fbrem + (trackMomentumAtVtx().R() - trackMomentumOut().R()) / trackMomentumAtVtx().R() + 3 + dei + deltaEtaSuperClusterTrackAtVtx() + 3 + dpi + deltaPhiSuperClusterTrackAtVtx() + 3 + charge + charge + 0 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + + + MET + et + 1 + phi + phi + 3 + sumEt + sumEt + 1 + mEtSig + mEtSig + 3 + + + pT + pt + 1 + global + isGlobalMuon + -2 + tracker + isTrackerMuon + -2 + SA + isStandAloneMuon + -2 + calo + isCaloMuon + -2 + tr pt + track().pt() + 1 + eta + eta + 3 + phi + phi + 3 + matches + numberOfMatches('SegmentArbitration') + 0 + d0 + track().d0() + 3 + d0 / d0Err + track().d0() / track().d0Error() + 3 + charge + charge + 0 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + H/E + hadronicOverEm + 3 + + + pT + pt + 1 + eta + eta + 3 + phi + phi + 3 + d0 + d0 + 5 + d0Err + d0Error + 5 + dz + dz + 5 + dzErr + dzError + 5 + vx + vx + 5 + vy + vy + 5 + vz + vz + 5 + pixel hits + hitPattern().numberOfValidPixelHits() + 0 + strip hits + hitPattern().numberOfValidStripHits() + 0 + chi2 + chi2 + 3 + ndof + ndof + 0 + charge + charge + 0 + + + x + x + 5 + xError + xError + 5 + y + y + 5 + yError + yError + 5 + z + z + 5 + zError + zError + 5 + tracks + tracksSize + 0 + chi2 + chi2 + 3 + ndof + ndof + 3 + + + CaloRecHit + CaloTower + edm::RangeMap<CSCDetId,edm::OwnVector<CSCSegment,edm::ClonePolicy<CSCSegment> >,edm::ClonePolicy<CSCSegment> > + edm::RangeMap<DTChamberId,edm::OwnVector<DTRecSegment4D,edm::ClonePolicy<DTRecSegment4D> >,edm::ClonePolicy<DTRecSegment4D> > + reco::CaloJet + reco::GenParticle + reco::GsfElectron + reco::Jet + reco::MET + reco::Muon + reco::Photon + reco::Track + reco::Vertex + + + + + diff --git a/Geometry/HGCalCommonData/test/testFastTimeNumbering_cfg.py b/Geometry/HGCalCommonData/test/testFastTimeNumbering_cfg.py new file mode 100644 index 0000000000000..b9c13053a152e --- /dev/null +++ b/Geometry/HGCalCommonData/test/testFastTimeNumbering_cfg.py @@ -0,0 +1,49 @@ +import FWCore.ParameterSet.Config as cms + +process = cms.Process("PROD") +process.load("SimGeneral.HepPDTESSource.pdt_cfi") +process.load("Geometry.HGCalCommonData.testFastTimeXML_cfi") +process.load("Geometry.HGCalCommonData.fastTimeNumberingInitialization_cfi") + +process.MessageLogger = cms.Service("MessageLogger", + destinations = cms.untracked.vstring('cout'), + categories = cms.untracked.vstring('HGCalGeom'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('DEBUG'), + default = cms.untracked.PSet( + limit = cms.untracked.int32(0) + ), + HGCalGeom = cms.untracked.PSet( + limit = cms.untracked.int32(0) + ) + ), +) + +process.load("IOMC.RandomEngine.IOMC_cff") +process.RandomNumberGeneratorService.generator.initialSeed = 456789 + +process.source = cms.Source("EmptySource") + +process.generator = cms.EDProducer("FlatRandomEGunProducer", + PGunParameters = cms.PSet( + PartID = cms.vint32(14), + MinEta = cms.double(-3.5), + MaxEta = cms.double(3.5), + MinPhi = cms.double(-3.14159265359), + MaxPhi = cms.double(3.14159265359), + MinE = cms.double(9.99), + MaxE = cms.double(10.01) + ), + AddAntiParticle = cms.bool(False), + Verbosity = cms.untracked.int32(0), + firstRun = cms.untracked.uint32(1) +) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(1) +) + +process.prod = cms.EDAnalyzer("FastTimeNumberingTester") + +process.p1 = cms.Path(process.generator*process.prod) diff --git a/Geometry/HGCalCommonData/test/testHGCGeometry_cfg.py b/Geometry/HGCalCommonData/test/testHGCGeometry_cfg.py new file mode 100644 index 0000000000000..68c347d9da8c3 --- /dev/null +++ b/Geometry/HGCalCommonData/test/testHGCGeometry_cfg.py @@ -0,0 +1,52 @@ +import FWCore.ParameterSet.Config as cms + +process = cms.Process("PROD") +process.load("SimGeneral.HepPDTESSource.pdt_cfi") + +process.load("Geometry.HGCalCommonData.testHGCalXML_cfi") +process.load("Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi") +process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi") +process.load("Geometry.HcalCommonData.hcalSimNumberingInitialization_cfi") + +process.MessageLogger = cms.Service("MessageLogger", + destinations = cms.untracked.vstring('cout'), + categories = cms.untracked.vstring('HGCalGeom'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('DEBUG'), + default = cms.untracked.PSet( + limit = cms.untracked.int32(0) + ), + HGCalGeom = cms.untracked.PSet( + limit = cms.untracked.int32(-1) + ) + ), + ) + +process.load("IOMC.RandomEngine.IOMC_cff") +process.RandomNumberGeneratorService.generator.initialSeed = 456789 + +process.source = cms.Source("EmptySource") + +process.generator = cms.EDProducer("FlatRandomEGunProducer", + PGunParameters = cms.PSet( + PartID = cms.vint32(14), + MinEta = cms.double(-3.5), + MaxEta = cms.double(3.5), + MinPhi = cms.double(-3.14159265359), + MaxPhi = cms.double(3.14159265359), + MinE = cms.double(9.99), + MaxE = cms.double(10.01) + ), + AddAntiParticle = cms.bool(False), + Verbosity = cms.untracked.int32(0), + firstRun = cms.untracked.uint32(1) + ) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(1) + ) + +process.prod = cms.EDAnalyzer("HGCGeometryTester") + +process.p1 = cms.Path(process.generator*process.prod) diff --git a/Geometry/HGCalCommonData/test/testHGCalNumbering_cfg.py b/Geometry/HGCalCommonData/test/testHGCalNumbering_cfg.py new file mode 100644 index 0000000000000..1673924dc5041 --- /dev/null +++ b/Geometry/HGCalCommonData/test/testHGCalNumbering_cfg.py @@ -0,0 +1,49 @@ +import FWCore.ParameterSet.Config as cms + +process = cms.Process("PROD") +process.load("SimGeneral.HepPDTESSource.pdt_cfi") +process.load("Geometry.HGCalCommonData.testHGCalXML_cfi") +process.load("Geometry.HGCalCommonData.hgcalNumberingInitialization_cfi") + +process.MessageLogger = cms.Service("MessageLogger", + destinations = cms.untracked.vstring('cout'), + categories = cms.untracked.vstring('HGCalGeom'), + debugModules = cms.untracked.vstring('*'), + cout = cms.untracked.PSet( + threshold = cms.untracked.string('DEBUG'), + default = cms.untracked.PSet( + limit = cms.untracked.int32(0) + ), + HGCalGeom = cms.untracked.PSet( + limit = cms.untracked.int32(0) + ) + ), +) + +process.load("IOMC.RandomEngine.IOMC_cff") +process.RandomNumberGeneratorService.generator.initialSeed = 456789 + +process.source = cms.Source("EmptySource") + +process.generator = cms.EDProducer("FlatRandomEGunProducer", + PGunParameters = cms.PSet( + PartID = cms.vint32(14), + MinEta = cms.double(-3.5), + MaxEta = cms.double(3.5), + MinPhi = cms.double(-3.14159265359), + MaxPhi = cms.double(3.14159265359), + MinE = cms.double(9.99), + MaxE = cms.double(10.01) + ), + AddAntiParticle = cms.bool(False), + Verbosity = cms.untracked.int32(0), + firstRun = cms.untracked.uint32(1) +) + +process.maxEvents = cms.untracked.PSet( + input = cms.untracked.int32(1) +) + +process.prod = cms.EDAnalyzer("HGCalNumberingTester") + +process.p1 = cms.Path(process.generator*process.prod) diff --git a/Geometry/HGCalSimData/data/fasttimeProdCuts.xml b/Geometry/HGCalSimData/data/fasttimeProdCuts.xml new file mode 100644 index 0000000000000..693abcce86fd3 --- /dev/null +++ b/Geometry/HGCalSimData/data/fasttimeProdCuts.xml @@ -0,0 +1,14 @@ + + + + + + + + + + + + + + diff --git a/Geometry/HGCalSimData/data/fasttimesens.xml b/Geometry/HGCalSimData/data/fasttimesens.xml new file mode 100644 index 0000000000000..8194a650e42b1 --- /dev/null +++ b/Geometry/HGCalSimData/data/fasttimesens.xml @@ -0,0 +1,11 @@ + + + + + + + + + + + diff --git a/Geometry/HGCalSimData/data/hgcProdCuts.xml b/Geometry/HGCalSimData/data/hgcProdCuts.xml new file mode 100644 index 0000000000000..8772bc09b8742 --- /dev/null +++ b/Geometry/HGCalSimData/data/hgcProdCuts.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalSimData/data/hgccons.xml b/Geometry/HGCalSimData/data/hgccons.xml new file mode 100644 index 0000000000000..8758e324969e7 --- /dev/null +++ b/Geometry/HGCalSimData/data/hgccons.xml @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/Geometry/HGCalSimData/data/hgcsens.xml b/Geometry/HGCalSimData/data/hgcsens.xml new file mode 100644 index 0000000000000..5199c9a868896 --- /dev/null +++ b/Geometry/HGCalSimData/data/hgcsens.xml @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/HGCalSimData/data/hgcsensv6.xml b/Geometry/HGCalSimData/data/hgcsensv6.xml new file mode 100644 index 0000000000000..c48e24844914e --- /dev/null +++ b/Geometry/HGCalSimData/data/hgcsensv6.xml @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + +