From 7b7e4b5cf4216293df7c9d4180b5f2eb36cf8c2e Mon Sep 17 00:00:00 2001 From: Adriano Di Florio Date: Tue, 13 Aug 2024 17:11:29 +0200 Subject: [PATCH 1/9] Use BS from GT for 2022 and 2023 HI wfs --- Configuration/PyReleaseValidation/python/relval_steps.py | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/Configuration/PyReleaseValidation/python/relval_steps.py b/Configuration/PyReleaseValidation/python/relval_steps.py index 5bde3ca7398ef..059bb2f2900cd 100644 --- a/Configuration/PyReleaseValidation/python/relval_steps.py +++ b/Configuration/PyReleaseValidation/python/relval_steps.py @@ -36,11 +36,11 @@ step1Up2018HiProdDefaults = merge ([{'--eventcontent':'RAWSIM'},step1Up2018HiDefaults]) # step1 gensim: for 2022 HI prod step1Up2022HiProdDefaults = merge ([{'--conditions':'auto:phase1_2022_realistic_hi','--era':'Run3_pp_on_PbPb','--beamspot':'Realistic2022PbPbCollision','--eventcontent':'RAWSIM','--geometry':'DB:Extended'},step1Up2018HiDefaults]) -step1Up2023HiProdDefaults = merge ([{'--conditions':'auto:phase1_2023_realistic_hi','--era':'Run3_pp_on_PbPb_2023','--beamspot':'Realistic2023PbPbCollision','--eventcontent':'RAWSIM','--geometry':'DB:Extended'},step1Up2018HiDefaults]) +step1Up2023HiProdDefaults = merge ([{'--conditions':'auto:phase1_2023_realistic_hi','--era':'Run3_pp_on_PbPb_2023','--beamspot':'DBrealistic','--eventcontent':'RAWSIM','--geometry':'DB:Extended'},step1Up2018HiDefaults]) # step1 gensim: for 2024 -step1Up2024Defaults = merge ([{'--conditions':'auto:phase1_2024_realistic','--era':'Run3','--beamspot':'Realistic25ns13p6TeVEarly2023Collision'},step1Up2018Defaults]) +step1Up2024Defaults = merge ([{'--conditions':'auto:phase1_2024_realistic','--era':'Run3','--beamspot':'DBrealistic'},step1Up2018Defaults]) # step1 gensim: for 2024 HI prod -step1Up2024HiProdDefaults = merge ([{'--conditions':'auto:phase1_2024_realistic_hi','--era':'Run3_pp_on_PbPb_2024','--beamspot':'Realistic2023PbPbCollision'},step1Up2023HiProdDefaults]) +step1Up2024HiProdDefaults = merge ([{'--conditions':'auto:phase1_2024_realistic_hi','--era':'Run3_pp_on_PbPb_2024','--beamspot':'DBrealistic'},step1Up2023HiProdDefaults]) steps = Steps() From 0593dc22857b8cebce08f77a5f51917383b0591b Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 16 Aug 2024 15:26:52 +0200 Subject: [PATCH 2/9] Update the new geometry file for 2024 GE21 --- Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml b/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml index 1d44f94bd9130..e2b2602905444 100644 --- a/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml +++ b/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml @@ -2383,7 +2383,7 @@ - + From 9095d100b6e252604a958d8f52ed7b345ca10471 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 16 Aug 2024 16:12:21 +0200 Subject: [PATCH 3/9] Use invert = 0 for GE21 on either side of IP --- Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml b/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml index e2b2602905444..15674a53ae12b 100644 --- a/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml +++ b/Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml @@ -2369,7 +2369,7 @@ - + From 54ca2719db3d4f6b4cea62f9bd4c72619d032d1a Mon Sep 17 00:00:00 2001 From: Christopher Jones Date: Fri, 16 Aug 2024 09:25:27 -0500 Subject: [PATCH 4/9] Avoid copying array in TracksterLinkingbySkeletons Now pass the array by const&. --- RecoHGCal/TICL/plugins/TracksterLinkingbySkeletons.cc | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/RecoHGCal/TICL/plugins/TracksterLinkingbySkeletons.cc b/RecoHGCal/TICL/plugins/TracksterLinkingbySkeletons.cc index 8f4df46948af9..1823fd63bbc37 100644 --- a/RecoHGCal/TICL/plugins/TracksterLinkingbySkeletons.cc +++ b/RecoHGCal/TICL/plugins/TracksterLinkingbySkeletons.cc @@ -11,7 +11,7 @@ #include "TICLGraph.h" namespace { - bool isRoundTrackster(std::array skeleton) { return (skeleton[0].Z() == skeleton[2].Z()); } + bool isRoundTrackster(std::array const &skeleton) { return (skeleton[0].Z() == skeleton[2].Z()); } bool isGoodTrackster(const ticl::Trackster &trackster, const std::array &skeleton, From 18c29a685c49c3c68495e95643c4f5df782064f1 Mon Sep 17 00:00:00 2001 From: AdrianoDee Date: Fri, 16 Aug 2024 13:24:26 +0200 Subject: [PATCH 5/9] Have upgrade matrix failing for duplicate suffixes --- .../PyReleaseValidation/python/MatrixUtil.py | 6 +++++- .../python/upgradeWorkflowComponents.py | 15 ++++++++++----- 2 files changed, 15 insertions(+), 6 deletions(-) diff --git a/Configuration/PyReleaseValidation/python/MatrixUtil.py b/Configuration/PyReleaseValidation/python/MatrixUtil.py index 1988efd672466..6e8e4834c8902 100644 --- a/Configuration/PyReleaseValidation/python/MatrixUtil.py +++ b/Configuration/PyReleaseValidation/python/MatrixUtil.py @@ -266,4 +266,8 @@ def genvalid(fragment,d,suffix='all',fi='',dataSet=''): c['cfg']=fragment return c - +def check_dups(input): + seen = set() + dups = set(x for x in input if x in seen or seen.add(x)) + + return dups diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index 85c512b721783..564a5d60c3a5a 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -1,6 +1,6 @@ from copy import copy, deepcopy from collections import OrderedDict -from .MatrixUtil import merge, Kby, Mby +from .MatrixUtil import merge, Kby, Mby, check_dups import re U2000by1={'--relval': '2000,1'} @@ -2819,13 +2819,18 @@ def condition(self, fragment, stepList, key, hasHarvest): offset = 0.9001, ) -# check for duplicate offsets -offsets = [specialWF.offset for specialType,specialWF in upgradeWFs.items()] -seen = set() -dups = set(x for x in offsets if x in seen or seen.add(x)) +# check for duplicates in offsets or suffixes +offsets = [specialWF.offset for specialType,specialWF in upgradeWFs.items()] +suffixes = [specialWF.suffix for specialType,specialWF in upgradeWFs.items()] + +dups = check_dups(offsets) if len(dups)>0: raise ValueError("Duplicate special workflow offsets not allowed: "+','.join([str(x) for x in dups])) +dups = check_dups(suffixes) +if len(dups)>0: + raise ValueError("Duplicate special workflow suffixes not allowed: "+','.join([str(x) for x in dups])) + upgradeProperties = {} upgradeProperties[2017] = { From 0828b8535ea8e9702847ae50111b010a2d0214f5 Mon Sep 17 00:00:00 2001 From: Leonardo Cristella Date: Fri, 8 Mar 2024 17:55:15 +0100 Subject: [PATCH 6/9] Add alpake-friendly ParabolicParametrizedMagneticField --- .../ParabolicParametrizedMagneticField.h | 47 +++++++ .../ParametrizedEngine/test/BuildFile.xml | 9 ++ ...tParabolicParametrizedMagneticField.dev.cc | 131 ++++++++++++++++++ 3 files changed, 187 insertions(+) create mode 100644 MagneticField/ParametrizedEngine/interface/ParabolicParametrizedMagneticField.h create mode 100644 MagneticField/ParametrizedEngine/test/BuildFile.xml create mode 100644 MagneticField/ParametrizedEngine/test/alpaka/testParabolicParametrizedMagneticField.dev.cc diff --git a/MagneticField/ParametrizedEngine/interface/ParabolicParametrizedMagneticField.h b/MagneticField/ParametrizedEngine/interface/ParabolicParametrizedMagneticField.h new file mode 100644 index 0000000000000..1107e6ee4cd85 --- /dev/null +++ b/MagneticField/ParametrizedEngine/interface/ParabolicParametrizedMagneticField.h @@ -0,0 +1,47 @@ +/** + Description: Utility function to calculate the Magnetic Field on the GPU. The Vec3 argument of the functions must support access to its components via (), note that e.g. Eigen::Matrix provides such an interface. +*/ + +#ifndef MagneticField_ParametrizedEngine_interface_ParabolicParametrizedMagneticField_h +#define MagneticField_ParametrizedEngine_interface_ParabolicParametrizedMagneticField_h + +namespace magneticFieldParabolicPortable { + + struct Parameters { + // These parameters are the best fit of 3.8T to the OAEParametrizedMagneticField parametrization. + // See MagneticField/ParametrizedEngine/src/ParabolicParametrizedMagneticField.cc + static constexpr float c1 = 3.8114; + static constexpr float b0 = -3.94991e-06; + static constexpr float b1 = 7.53701e-06; + static constexpr float a = 2.43878e-11; + static constexpr float max_radius2 = 13225.f; // tracker radius + static constexpr float max_z = 280.f; // tracker z + }; + + template + constexpr float Kr(Vec3 const& vec) { + return Parameters::a * (vec(0) * vec(0) + vec(1) * vec(1)) + 1.f; + } + + template + constexpr float B0Z(Vec3 const& vec) { + return Parameters::b0 * vec(2) * vec(2) + Parameters::b1 * vec(2) + Parameters::c1; + } + + template + constexpr bool isValid(Vec3 const& vec) { + return ((vec(0) * vec(0) + vec(1) * vec(1)) < Parameters::max_radius2 && fabs(vec(2)) < Parameters::max_z); + } + + template + constexpr float magneticFieldAtPoint(Vec3 const& vec) { + if (isValid(vec)) { + return B0Z(vec) * Kr(vec); + } else { + return 0; + } + } + +} // namespace magneticFieldParabolicPortable + +#endif diff --git a/MagneticField/ParametrizedEngine/test/BuildFile.xml b/MagneticField/ParametrizedEngine/test/BuildFile.xml new file mode 100644 index 0000000000000..a857ea5ca4d74 --- /dev/null +++ b/MagneticField/ParametrizedEngine/test/BuildFile.xml @@ -0,0 +1,9 @@ + + + + + + + + + diff --git a/MagneticField/ParametrizedEngine/test/alpaka/testParabolicParametrizedMagneticField.dev.cc b/MagneticField/ParametrizedEngine/test/alpaka/testParabolicParametrizedMagneticField.dev.cc new file mode 100644 index 0000000000000..6cc3e3e8329b4 --- /dev/null +++ b/MagneticField/ParametrizedEngine/test/alpaka/testParabolicParametrizedMagneticField.dev.cc @@ -0,0 +1,131 @@ +#include +#include +#include +#include + +#include "DataFormats/GeometryVector/interface/GlobalPoint.h" +#include "DataFormats/GeometryVector/interface/GlobalVector.h" +#include "FWCore/Utilities/interface/FileInPath.h" +#include "FWCore/Utilities/interface/Exception.h" +#include "FWCore/Utilities/interface/stringize.h" +#include "HeterogeneousCore/AlpakaInterface/interface/config.h" +#include "HeterogeneousCore/AlpakaInterface/interface/memory.h" +#include "HeterogeneousCore/AlpakaInterface/interface/workdivision.h" +#include "MagneticField/ParametrizedEngine/interface/ParabolicParametrizedMagneticField.h" + +using namespace edm; +using namespace std; +using namespace ALPAKA_ACCELERATOR_NAMESPACE; +using namespace magneticFieldParabolicPortable; +using Vector3f = Eigen::Matrix; + +struct MagneticFieldKernel { + template + ALPAKA_FN_ACC void operator()(TAcc const& acc, T const* __restrict__ in, T* __restrict__ out, size_t size) const { + for (auto index : cms::alpakatools::uniform_elements(acc, size)) { + out[index](0) = 0; + out[index](1) = 0; + out[index](2) = magneticFieldAtPoint(in[index]); + } + } +}; + +int main() { + // get the list of devices on the current platform + auto const& devices = cms::alpakatools::devices(); + if (devices.empty()) { + std::cerr << "No devices available for the " EDM_STRINGIZE(ALPAKA_ACCELERATOR_NAMESPACE) " backend, " + "the test will be skipped.\n"; + exit(EXIT_FAILURE); + } + + ifstream file; + edm::FileInPath mydata("MagneticField/Engine/data/Regression/referenceField_160812_RII_3_8T.bin"); + file.open(mydata.fullPath().c_str(), ios::binary); + + int count = 0; + float px, py, pz; + float bx, by, bz; + vector points; + vector referenceB_vec; + + int numberOfPoints = 100; + points.reserve(numberOfPoints); + referenceB_vec.reserve(numberOfPoints); + do { + if (!(file.read((char*)&px, sizeof(float)) && file.read((char*)&py, sizeof(float)) && + file.read((char*)&pz, sizeof(float)) && file.read((char*)&bx, sizeof(float)) && + file.read((char*)&by, sizeof(float)) && file.read((char*)&bz, sizeof(float)))) + break; + + const auto point = Vector3f(px, py, pz); + if (!isValid(point)) + continue; + + points.push_back(Vector3f(px, py, pz)); + referenceB_vec.push_back(GlobalVector(bx, by, bz)); + count++; + } while (count < numberOfPoints); + + const size_t size = points.size(); + // allocate the input and output host buffer in pinned memory accessible by the Platform devices + auto points_host = cms::alpakatools::make_host_buffer(size); + auto field_host = cms::alpakatools::make_host_buffer(size); + // fill the input buffers, and the output buffer with zeros + for (size_t i = 0; i < size; ++i) { + points_host[i] = points[i]; + field_host[i] = Vector3f::Zero(); + } + + float resolution = 0.2; + float maxdelta = 0.; + int fail = 0; + + // run the test on each device + for (auto const& device : devices) { + auto queue = Queue(device); + // allocate input and output buffers on the device + auto points_dev = cms::alpakatools::make_device_buffer(queue, size); + auto field_dev = cms::alpakatools::make_device_buffer(queue, size); + + // copy the input data to the device; the size is known from the buffer objects + alpaka::memcpy(queue, points_dev, points_host); + // fill the output buffer with zeros; the size is known from the buffer objects + alpaka::memset(queue, field_dev, 0.); + + auto workDiv = cms::alpakatools::make_workdiv(1, size); + alpaka::exec(queue, workDiv, MagneticFieldKernel{}, points_dev.data(), field_dev.data(), size); + + // copy the results from the device to the host + alpaka::memcpy(queue, field_host, field_dev); + + // wait for the kernel and the potential copy to complete + alpaka::wait(queue); + + // check the results + for (uint i = 0; i < points.size(); i++) { + const auto& point = points[i]; + const auto& referenceB = referenceB_vec[i]; + GlobalVector parametricB(field_host[i](0), field_host[i](1), field_host[i](2)); + float delta = (referenceB - parametricB).mag(); + if (delta > resolution) { + ++fail; + if (delta > maxdelta) + maxdelta = delta; + if (fail < 10) { + const GlobalPoint gp(point(0), point(1), point(2)); + cout << " Discrepancy at point # " << i + 1 << ": " << gp << ", R " << gp.perp() << ", Phi " << gp.phi() + << ", delta: " << referenceB - parametricB << " " << delta << endl; + cout << " Reference: " << referenceB << ", Approximation: " << parametricB << endl; + } else if (fail == 10) { + cout << "..." << endl; + } + } + } + + if (fail != 0) { + cout << "MF regression found: " << fail << " failures; max delta = " << maxdelta << endl; + exit(EXIT_FAILURE); + } + } +} From 60d43382af396e388e3b6566c41b161050005a71 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 16 Aug 2024 18:39:25 +0200 Subject: [PATCH 7/9] Correct the conversion code for fine scintillator tiles in assignment of cassette number --- .../HGCalCommonData/interface/HGCalProperty.h | 1 + Geometry/HGCalCommonData/test/HGCalConvert.cpp | 16 ++++++++-------- 2 files changed, 9 insertions(+), 8 deletions(-) diff --git a/Geometry/HGCalCommonData/interface/HGCalProperty.h b/Geometry/HGCalCommonData/interface/HGCalProperty.h index 5f2b6daf38c40..513da54dc258a 100644 --- a/Geometry/HGCalCommonData/interface/HGCalProperty.h +++ b/Geometry/HGCalCommonData/interface/HGCalProperty.h @@ -48,6 +48,7 @@ namespace HGCalProperty { constexpr int32_t kHGCalTilePhis = 288; constexpr int32_t kHGCalFineTilePhis = 432; constexpr int32_t kHGCalTilePhisWord = 24; + constexpr int32_t kHGCalFineTilePhisWord = 36; constexpr int32_t kHGCalTilePhisBy2 = kHGCalTilePhis / 2; constexpr int32_t kHGCalTilePhisBy3 = kHGCalTilePhis / 3; constexpr int32_t kHGCalFineTilePhisBy2 = kHGCalFineTilePhis / 2; diff --git a/Geometry/HGCalCommonData/test/HGCalConvert.cpp b/Geometry/HGCalCommonData/test/HGCalConvert.cpp index 7990982b3edf0..e3de55cd794a2 100644 --- a/Geometry/HGCalCommonData/test/HGCalConvert.cpp +++ b/Geometry/HGCalCommonData/test/HGCalConvert.cpp @@ -1151,7 +1151,7 @@ void ConvertScintillator::makeTitle(const char* outfile, int lmax, bool debug) { const int zside = 1; - const int phiCassette = 24; + const int phiCassette = HGCalProperty::kHGCalTilePhisWord; std::vector zones; for (int layer = lmin; layer <= lmax; ++layer) { tileZone tile0; @@ -1727,8 +1727,7 @@ void ConvertScintillatorV1::convert(const char* infile, const char* outfile1, co } fout << "\n \n"; // Now write the remaining parts - makeTitle( - fout, "Tile6", module6, ringR6, lmin6, lmax6, HGCalProperty::kHGCalFineTilePhis, 1, (((debug / 10) % 10) > 0)); + makeTitle(fout, "Tile6", module6, ringR6, lmin6, lmax6, HGCalProperty::kHGCalFineTilePhis, 1, (((debug / 10) % 10) > 0)); makeTitle(fout, "Tile", module, ringR, lmin, lmax, HGCalProperty::kHGCalTilePhis, 0, (((debug / 10) % 10) > 0)); fout.close(); } @@ -1744,10 +1743,11 @@ void ConvertScintillatorV1::makeTitle(std::ofstream& fout, int mode, bool debug) { const int zside = 1; + int tilePhisWord = (mode > 0) ? HGCalProperty::kHGCalFineTilePhisWord : HGCalProperty::kHGCalTilePhisWord; std::vector zones; if ((debug % 10) > 0) std::cout << "makeTile called with Layer:" << lmin << ":" << lmax << " nphi " << nphis << " mode " << mode - << " nmodules " << module.size() << std::endl; + << " nmodules " << module.size() << " tilePhisWord " << tilePhisWord << std::endl; for (int layer = lmin; layer <= lmax; ++layer) { tileZone tile0; int kk, irmin, irmax; @@ -1783,19 +1783,19 @@ void ConvertScintillatorV1::makeTitle(std::ofstream& fout, tile0.cassette = (cassette_ == 0) ? 0 : 1; } else if ((tile0.rmin != irmin) || (tile0.rmax != irmax)) { if (cassette_ != 0) { - if (tile0.cassette * HGCalProperty::kHGCalTilePhisWord < tile0.phimax) { + if (tile0.cassette * tilePhisWord < tile0.phimax) { do { int phimax = tile0.phimax; - tile0.phimax = tile0.cassette * HGCalProperty::kHGCalTilePhisWord; + tile0.phimax = tile0.cassette * tilePhisWord; zones.push_back(tile0); tile0.phimin = tile0.phimax + 1; tile0.phimax = phimax; ++tile0.cassette; - } while (tile0.cassette * HGCalProperty::kHGCalTilePhisWord < tile0.phimax); + } while (tile0.cassette * tilePhisWord < tile0.phimax); } } zones.push_back(tile0); - int cassette = (cassette_ == 0) ? 0 : (1 + ((phi - 1) / HGCalProperty::kHGCalTilePhisWord)); + int cassette = (cassette_ == 0) ? 0 : (1 + ((phi - 1) / tilePhisWord)); tile0.layer = layer; tile0.rmin = irmin; tile0.rmax = irmax; From 16b974f6f99f0872cb0f14b36047262332f7e1f1 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 16 Aug 2024 18:45:14 +0200 Subject: [PATCH 8/9] Code check --- Geometry/HGCalCommonData/test/HGCalConvert.cpp | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/Geometry/HGCalCommonData/test/HGCalConvert.cpp b/Geometry/HGCalCommonData/test/HGCalConvert.cpp index e3de55cd794a2..f30c898207cec 100644 --- a/Geometry/HGCalCommonData/test/HGCalConvert.cpp +++ b/Geometry/HGCalCommonData/test/HGCalConvert.cpp @@ -1727,7 +1727,8 @@ void ConvertScintillatorV1::convert(const char* infile, const char* outfile1, co } fout << "\n \n"; // Now write the remaining parts - makeTitle(fout, "Tile6", module6, ringR6, lmin6, lmax6, HGCalProperty::kHGCalFineTilePhis, 1, (((debug / 10) % 10) > 0)); + makeTitle( + fout, "Tile6", module6, ringR6, lmin6, lmax6, HGCalProperty::kHGCalFineTilePhis, 1, (((debug / 10) % 10) > 0)); makeTitle(fout, "Tile", module, ringR, lmin, lmax, HGCalProperty::kHGCalTilePhis, 0, (((debug / 10) % 10) > 0)); fout.close(); } From 3afe89a3f6fd7d843513bc72c45a1a0cfb658be0 Mon Sep 17 00:00:00 2001 From: Sunanda Date: Fri, 16 Aug 2024 19:01:32 +0200 Subject: [PATCH 9/9] Modify the 2024 scenarios for the corrected positions of the GE21 detectors --- .../Geometry/python/dict2021Geometry.py | 59 ++++++++++++++++--- .../data/dd4hep/cmsExtendedGeometry2024.xml | 2 +- ...ExtendedGeometry2024FlatMinus05Percent.xml | 2 +- ...ExtendedGeometry2024FlatMinus10Percent.xml | 2 +- ...sExtendedGeometry2024FlatPlus05Percent.xml | 2 +- ...sExtendedGeometry2024FlatPlus10Percent.xml | 2 +- .../cmsExtendedGeometry2024ZeroMaterial.xml | 2 +- ...edGeometry2024FlatMinus05PercentXML_cfi.py | 2 +- ...edGeometry2024FlatMinus10PercentXML_cfi.py | 2 +- ...dedGeometry2024FlatPlus05PercentXML_cfi.py | 2 +- ...dedGeometry2024FlatPlus10PercentXML_cfi.py | 2 +- .../python/cmsExtendedGeometry2024XML_cfi.py | 2 +- ...ExtendedGeometry2024ZeroMaterialXML_cfi.py | 2 +- 13 files changed, 64 insertions(+), 19 deletions(-) diff --git a/Configuration/Geometry/python/dict2021Geometry.py b/Configuration/Geometry/python/dict2021Geometry.py index b56111ffdea4d..c33590550d7ac 100644 --- a/Configuration/Geometry/python/dict2021Geometry.py +++ b/Configuration/Geometry/python/dict2021Geometry.py @@ -1394,7 +1394,7 @@ muonDict = { "abbrev" : "M", "name" : "muon", - "default" : 1, + "default" : 4, "M1" : { 1 : [ 'Geometry/MuonCommonData/data/mbCommon/2021/v2/mbCommon.xml', @@ -1530,6 +1530,51 @@ ], "era" : "run3_GEM", }, + "M4" : { + 1 : [ + 'Geometry/MuonCommonData/data/mbCommon/2021/v2/mbCommon.xml', + 'Geometry/MuonCommonData/data/mb1/2021/v1/mb1.xml', + 'Geometry/MuonCommonData/data/mb2/2021/v1/mb2.xml', + 'Geometry/MuonCommonData/data/mb3/2021/v1/mb3.xml', + 'Geometry/MuonCommonData/data/mb4/2015/v2/mb4.xml', + 'Geometry/MuonCommonData/data/mb4Shield/2021/v1/mb4Shield.xml', + 'Geometry/MuonCommonData/data/muonYoke/2021/v5/muonYoke.xml', + 'Geometry/MuonCommonData/data/mf/2021/v3/mf.xml', + 'Geometry/MuonCommonData/data/rpcf/2024/v1/rpcf.xml', + 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', + 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', + 'Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml', + 'Geometry/MuonCommonData/data/csc/2021/v3/csc.xml', + 'Geometry/MuonCommonData/data/mfshield/2017/v2/mfshield.xml', + ], + 2 : [ + 'Geometry/MuonCommonData/data/muonNumbering/2024/v1/muonNumbering.xml', + ], + 3 : [ + 'Geometry/MuonSimData/data/muonSens/2021/v4/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter/2021/v1/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/2021/v1/RPCSpecs.xml', + 'Geometry/GEMGeometryBuilder/data/GEMSpecsFilter/2021/v2/GEMSpecsFilter.xml', + 'Geometry/GEMGeometryBuilder/data/GEMSpecs/2021/v2/GEMSpecs.xml', + ], + 4 : [ + 'Geometry/MuonSimData/data/muonProdCuts/2021/v3/muonProdCuts.xml', + ], + "sim" : [ + 'from Geometry.MuonNumbering.muonGeometryConstants_cff import *', + 'from Geometry.MuonNumbering.muonOffsetESProducer_cff import *', + ], + "reco" : [ + 'from Geometry.MuonNumbering.muonNumberingInitialization_cfi import *', + 'from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import *', + 'from Geometry.GEMGeometryBuilder.gemGeometry_cff import *', + 'from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import *', + 'from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import *', + ], + "era" : "run3_GEM", + }, } forwardDict = { @@ -1756,12 +1801,12 @@ ("O5","T6","C1","M2","F2","P7") : "2023FlatMinus10Percent", ("O5","T7","C1","M2","F2","P7") : "2023FlatPlus05Percent", ("O5","T8","C1","M2","F2","P7") : "2023FlatPlus10Percent", - ("O6","T3","C1","M3","F3","P7") : "2024", - ("O4","T4","C1","M3","F2","P7") : "2024ZeroMaterial", - ("O5","T5","C1","M3","F2","P7") : "2024FlatMinus05Percent", - ("O5","T6","C1","M3","F2","P7") : "2024FlatMinus10Percent", - ("O5","T7","C1","M3","F2","P7") : "2024FlatPlus05Percent", - ("O5","T8","C1","M3","F2","P7") : "2024FlatPlus10Percent", + ("O6","T3","C1","M4","F3","P7") : "2024", + ("O4","T4","C1","M4","F2","P7") : "2024ZeroMaterial", + ("O5","T5","C1","M4","F2","P7") : "2024FlatMinus05Percent", + ("O5","T6","C1","M4","F2","P7") : "2024FlatMinus10Percent", + ("O5","T7","C1","M4","F2","P7") : "2024FlatPlus05Percent", + ("O5","T8","C1","M4","F2","P7") : "2024FlatPlus10Percent", } deprecatedSubdets = set([ "T1", "T2", "O1", "O2", "O3", "P1", "P2", "P3", diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024.xml index cc7f72ccbd82c..c295ee780fb8e 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024.xml @@ -246,7 +246,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus05Percent.xml index b3e0cf8d73b4c..1b33189dd8342 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus05Percent.xml @@ -246,7 +246,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus10Percent.xml index 0b549faeffdb5..7ab66eca76578 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatMinus10Percent.xml @@ -246,7 +246,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus05Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus05Percent.xml index 7e89e7f76962a..28ba4782ff227 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus05Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus05Percent.xml @@ -246,7 +246,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus10Percent.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus10Percent.xml index ccafa1101aca3..6da00e25ac24e 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus10Percent.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024FlatPlus10Percent.xml @@ -246,7 +246,7 @@ - + diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024ZeroMaterial.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024ZeroMaterial.xml index 57341e9c01b50..f2deefc466045 100644 --- a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024ZeroMaterial.xml +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024ZeroMaterial.xml @@ -246,7 +246,7 @@ - + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus05PercentXML_cfi.py index 2084a4dd0c285..5dfe3fecfd6f4 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus05PercentXML_cfi.py @@ -247,7 +247,7 @@ 'Geometry/MuonCommonData/data/rpcf/2024/v1/rpcf.xml', 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', - 'Geometry/MuonCommonData/data/gem21/2024/v1/gem21.xml', + 'Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml', 'Geometry/MuonCommonData/data/csc/2021/v3/csc.xml', 'Geometry/MuonCommonData/data/mfshield/2017/v2/mfshield.xml', )+ diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus10PercentXML_cfi.py index af4d28d14d58c..26ce0655d3520 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatMinus10PercentXML_cfi.py @@ -247,7 +247,7 @@ 'Geometry/MuonCommonData/data/rpcf/2024/v1/rpcf.xml', 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', - 'Geometry/MuonCommonData/data/gem21/2024/v1/gem21.xml', + 'Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml', 'Geometry/MuonCommonData/data/csc/2021/v3/csc.xml', 'Geometry/MuonCommonData/data/mfshield/2017/v2/mfshield.xml', )+ diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus05PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus05PercentXML_cfi.py index 28de997c5b4d6..b98ebeddf7f8b 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus05PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus05PercentXML_cfi.py @@ -247,7 +247,7 @@ 'Geometry/MuonCommonData/data/rpcf/2024/v1/rpcf.xml', 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', - 'Geometry/MuonCommonData/data/gem21/2024/v1/gem21.xml', + 'Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml', 'Geometry/MuonCommonData/data/csc/2021/v3/csc.xml', 'Geometry/MuonCommonData/data/mfshield/2017/v2/mfshield.xml', )+ diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus10PercentXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus10PercentXML_cfi.py index 8cb363c160f16..2a9bbb5bd4a4f 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus10PercentXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024FlatPlus10PercentXML_cfi.py @@ -247,7 +247,7 @@ 'Geometry/MuonCommonData/data/rpcf/2024/v1/rpcf.xml', 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', - 'Geometry/MuonCommonData/data/gem21/2024/v1/gem21.xml', + 'Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml', 'Geometry/MuonCommonData/data/csc/2021/v3/csc.xml', 'Geometry/MuonCommonData/data/mfshield/2017/v2/mfshield.xml', )+ diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024XML_cfi.py index b86ee3dcacb22..5f4809e555d64 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024XML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024XML_cfi.py @@ -247,7 +247,7 @@ 'Geometry/MuonCommonData/data/rpcf/2024/v1/rpcf.xml', 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', - 'Geometry/MuonCommonData/data/gem21/2024/v1/gem21.xml', + 'Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml', 'Geometry/MuonCommonData/data/csc/2021/v3/csc.xml', 'Geometry/MuonCommonData/data/mfshield/2017/v2/mfshield.xml', )+ diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024ZeroMaterialXML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024ZeroMaterialXML_cfi.py index 8e6d1fea562ef..52e4bebac55da 100644 --- a/Geometry/CMSCommonData/python/cmsExtendedGeometry2024ZeroMaterialXML_cfi.py +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2024ZeroMaterialXML_cfi.py @@ -247,7 +247,7 @@ 'Geometry/MuonCommonData/data/rpcf/2024/v1/rpcf.xml', 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', - 'Geometry/MuonCommonData/data/gem21/2024/v1/gem21.xml', + 'Geometry/MuonCommonData/data/gem21/2024/v2/gem21.xml', 'Geometry/MuonCommonData/data/csc/2021/v3/csc.xml', 'Geometry/MuonCommonData/data/mfshield/2017/v2/mfshield.xml', )+