diff --git a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc index 3329bf0472341..c134984abf9f4 100644 --- a/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc +++ b/Alignment/CommonAlignmentMonitor/plugins/AlignmentMonitorAsAnalyzer.cc @@ -44,6 +44,7 @@ #include "Geometry/CommonTopologies/interface/GeometryAligner.h" #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "Geometry/Records/interface/MuonGeometryRecord.h" #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentRcd.h" #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentErrorExtendedRcd.h" @@ -88,6 +89,7 @@ class AlignmentMonitorAsAnalyzer : public edm::one::EDAnalyzer<> { const edm::ESGetToken esTokenTTopo_; const edm::ESGetToken esTokenGeomDet_; const edm::ESGetToken esTokenPTP_; + const edm::ESGetToken esTokenPtitp_; const edm::ESGetToken esTokenDT_; const edm::ESGetToken esTokenCSC_; const edm::ESGetToken esTokenGEM_; @@ -121,6 +123,7 @@ AlignmentMonitorAsAnalyzer::AlignmentMonitorAsAnalyzer(const edm::ParameterSet& esTokenTTopo_(esConsumes()), esTokenGeomDet_(esConsumes()), esTokenPTP_(esConsumes()), + esTokenPtitp_(esConsumes()), esTokenDT_(esConsumes(edm::ESInputTag("", "idealForAlignmentMonitorAsAnalyzer"))), esTokenCSC_(esConsumes(edm::ESInputTag("", "idealForAlignmentMonitorAsAnalyzer"))), esTokenGEM_(esConsumes(edm::ESInputTag("", "idealForAlignmentMonitorAsAnalyzer"))), @@ -157,8 +160,9 @@ void AlignmentMonitorAsAnalyzer::analyze(const edm::Event& iEvent, const edm::Ev const GeometricDet* geom = &iSetup.getData(esTokenGeomDet_); const PTrackerParameters& ptp = iSetup.getData(esTokenPTP_); + const PTrackerAdditionalParametersPerDet* ptitp = &iSetup.getData(esTokenPtitp_); TrackerGeomBuilderFromGeometricDet trackerBuilder; - std::shared_ptr theTracker(trackerBuilder.build(geom, ptp, tTopo)); + std::shared_ptr theTracker(trackerBuilder.build(geom, ptitp, ptp, tTopo)); edm::ESHandle theMuonDT = iSetup.getHandle(esTokenDT_); edm::ESHandle theMuonCSC = iSetup.getHandle(esTokenCSC_); diff --git a/Alignment/CommonAlignmentProducer/interface/AlignmentProducerBase.h b/Alignment/CommonAlignmentProducer/interface/AlignmentProducerBase.h index 4caf4d27dbd6d..c3f8ec1660df5 100644 --- a/Alignment/CommonAlignmentProducer/interface/AlignmentProducerBase.h +++ b/Alignment/CommonAlignmentProducer/interface/AlignmentProducerBase.h @@ -44,6 +44,7 @@ #include "CondFormats/AlignmentRecord/interface/TrackerSurveyRcd.h" #include "CondFormats/AlignmentRecord/interface/TrackerSurveyErrorExtendedRcd.h" #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" #include "CondFormats/Common/interface/Time.h" #include "FWCore/Framework/interface/ESHandle.h" @@ -59,6 +60,7 @@ #include "Geometry/Records/interface/IdealGeometryRecord.h" #include "Geometry/Records/interface/MuonGeometryRecord.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "TrackingTools/PatternTools/interface/TrajTrackAssociation.h" @@ -254,6 +256,7 @@ class AlignmentProducerBase { const edm::ESGetToken ttopoToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken dtGeomToken_; const edm::ESGetToken cscGeomToken_; const edm::ESGetToken gemGeomToken_; diff --git a/Alignment/CommonAlignmentProducer/src/AlignmentProducerBase.cc b/Alignment/CommonAlignmentProducer/src/AlignmentProducerBase.cc index 1e42ce6e8fa8a..6ad94af7fe247 100644 --- a/Alignment/CommonAlignmentProducer/src/AlignmentProducerBase.cc +++ b/Alignment/CommonAlignmentProducer/src/AlignmentProducerBase.cc @@ -51,6 +51,7 @@ AlignmentProducerBase::AlignmentProducerBase(const edm::ParameterSet& config, ed ttopoToken_(iC.esConsumes()), geomDetToken_(iC.esConsumes()), ptpToken_(iC.esConsumes()), + ptitpToken_(iC.esConsumes()), dtGeomToken_(iC.esConsumes(edm::ESInputTag("", "idealForAlignmentProducerBase"))), cscGeomToken_(iC.esConsumes(edm::ESInputTag("", "idealForAlignmentProducerBase"))), gemGeomToken_(iC.esConsumes(edm::ESInputTag("", "idealForAlignmentProducerBase"))), @@ -431,8 +432,9 @@ void AlignmentProducerBase::createGeometries(const edm::EventSetup& iSetup, cons if (doTracker_) { const GeometricDet* geometricDet = &iSetup.getData(geomDetToken_); const PTrackerParameters* ptp = &iSetup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &iSetup.getData(ptitpToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; - trackerGeometry_ = std::shared_ptr(trackerBuilder.build(geometricDet, *ptp, tTopo)); + trackerGeometry_ = std::shared_ptr(trackerBuilder.build(geometricDet, ptitp, *ptp, tTopo)); } if (doMuon_) { diff --git a/Alignment/LaserAlignment/plugins/LaserAlignment.cc b/Alignment/LaserAlignment/plugins/LaserAlignment.cc index 25440bb839e49..3dbb91c404054 100644 --- a/Alignment/LaserAlignment/plugins/LaserAlignment.cc +++ b/Alignment/LaserAlignment/plugins/LaserAlignment.cc @@ -23,6 +23,7 @@ LaserAlignment::LaserAlignment(edm::ParameterSet const& theConf) geomToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), gprToken_(esConsumes()), stripPedestalsToken_(esConsumes()), theEvents(0), @@ -300,9 +301,10 @@ void LaserAlignment::produce(edm::Event& theEvent, edm::EventSetup const& theSet // the AlignableTracker object is initialized with the ideal geometry const GeometricDet* theGeometricDet = &theSetup.getData(geomDetToken_); const PTrackerParameters* ptp = &theSetup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &theSetup.getData(ptitpToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; - TrackerGeometry* theRefTracker = trackerBuilder.build(&*theGeometricDet, *ptp, tTopo); + TrackerGeometry* theRefTracker = trackerBuilder.build(&*theGeometricDet, &*ptitp, *ptp, tTopo); theAlignableTracker = new AlignableTracker(&(*theRefTracker), tTopo); } else { diff --git a/Alignment/LaserAlignment/plugins/LaserAlignment.h b/Alignment/LaserAlignment/plugins/LaserAlignment.h index 6449f68d11c4e..8622cf61aaaf3 100644 --- a/Alignment/LaserAlignment/plugins/LaserAlignment.h +++ b/Alignment/LaserAlignment/plugins/LaserAlignment.h @@ -132,6 +132,7 @@ class LaserAlignment : public edm::one::EDProducer { const edm::ESGetToken geomToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken gprToken_; const edm::ESGetToken stripPedestalsToken_; diff --git a/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.cc b/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.cc index abc6cbadcb3d0..5d1740324b5f9 100644 --- a/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.cc +++ b/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.cc @@ -29,6 +29,7 @@ MillePedeDQMModule ::MillePedeDQMModule(const edm::ParameterSet& config) : tTopoToken_(esConsumes()), gDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), aliThrToken_(esConsumes()), geomToken_(esConsumes()), outputFolder_(config.getParameter("outputFolder")), @@ -177,6 +178,7 @@ void MillePedeDQMModule ::beginRun(const edm::Run&, const edm::EventSetup& setup const TrackerTopology* const tTopo = &setup.getData(tTopoToken_); const GeometricDet* geometricDet = &setup.getData(gDetToken_); const PTrackerParameters* ptp = &setup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &setup.getData(ptitpToken_); const TrackerGeometry* geom = &setup.getData(geomToken_); pixelTopologyMap_ = std::make_shared(geom, tTopo); @@ -190,7 +192,7 @@ void MillePedeDQMModule ::beginRun(const edm::Run&, const edm::EventSetup& setup TrackerGeomBuilderFromGeometricDet builder; - const auto trackerGeometry = builder.build(geometricDet, *ptp, tTopo); + const auto trackerGeometry = builder.build(geometricDet, ptitp, *ptp, tTopo); tracker_ = std::make_unique(trackerGeometry, tTopo); const std::string labelerPlugin{"PedeLabeler"}; diff --git a/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.h b/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.h index a35380f63a8a2..402898db1d50d 100644 --- a/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.h +++ b/Alignment/MillePedeAlignmentAlgorithm/plugins/MillePedeDQMModule.h @@ -41,6 +41,7 @@ /*** Records for ESWatcher ***/ #include "Geometry/Records/interface/IdealGeometryRecord.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" @@ -97,6 +98,7 @@ class MillePedeDQMModule : public DQMEDHarvester { const edm::ESGetToken tTopoToken_; const edm::ESGetToken gDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken aliThrToken_; const edm::ESGetToken geomToken_; diff --git a/Alignment/OfflineValidation/plugins/OverlapValidation.cc b/Alignment/OfflineValidation/plugins/OverlapValidation.cc index ad25197c9e550..7a928ec1ebb82 100644 --- a/Alignment/OfflineValidation/plugins/OverlapValidation.cc +++ b/Alignment/OfflineValidation/plugins/OverlapValidation.cc @@ -54,7 +54,6 @@ #include "Geometry/CommonDetUnit/interface/PixelGeomDetType.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "MagneticField/Engine/interface/MagneticField.h" #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" diff --git a/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.cc b/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.cc index c2f75225f6ff7..c47c9fe820f8a 100644 --- a/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.cc +++ b/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.cc @@ -59,6 +59,7 @@ TrackerGeometryCompare::TrackerGeometryCompare(const edm::ParameterSet& cfg) topoToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), pixQualityToken_(esConsumes()), stripQualityToken_(esConsumes()), referenceTracker(nullptr), @@ -392,10 +393,11 @@ void TrackerGeometryCompare::createROOTGeometry(const edm::EventSetup& iSetup) { const GeometricDet* theGeometricDet = &iSetup.getData(geomDetToken_); const PTrackerParameters* ptp = &iSetup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &iSetup.getData(ptitpToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; //reference tracker - TrackerGeometry* theRefTracker = trackerBuilder.build(theGeometricDet, *ptp, tTopo); + TrackerGeometry* theRefTracker = trackerBuilder.build(theGeometricDet, ptitp, *ptp, tTopo); if (inputFilename1_ != "IDEAL") { GeometryAligner aligner1; aligner1.applyAlignments( @@ -444,7 +446,7 @@ void TrackerGeometryCompare::createROOTGeometry(const edm::EventSetup& iSetup) { } //currernt tracker - TrackerGeometry* theCurTracker = trackerBuilder.build(&*theGeometricDet, *ptp, tTopo); + TrackerGeometry* theCurTracker = trackerBuilder.build(&*theGeometricDet, ptitp, *ptp, tTopo); if (inputFilename2_ != "IDEAL") { GeometryAligner aligner2; aligner2.applyAlignments( diff --git a/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.h b/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.h index aa8934de7db75..c706eb85e8791 100644 --- a/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.h +++ b/Alignment/OfflineValidation/plugins/TrackerGeometryCompare.h @@ -91,6 +91,7 @@ class TrackerGeometryCompare : public edm::one::EDAnalyzer<> { const edm::ESGetToken topoToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken pixQualityToken_; const edm::ESGetToken stripQualityToken_; diff --git a/Alignment/OfflineValidation/plugins/TrackerGeometryIntoNtuples.cc b/Alignment/OfflineValidation/plugins/TrackerGeometryIntoNtuples.cc index 5cee54473625e..5e66e54b9ddeb 100644 --- a/Alignment/OfflineValidation/plugins/TrackerGeometryIntoNtuples.cc +++ b/Alignment/OfflineValidation/plugins/TrackerGeometryIntoNtuples.cc @@ -47,7 +47,9 @@ #include "CondFormats/AlignmentRecord/interface/TrackerSurfaceDeformationRcd.h" #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h" @@ -87,6 +89,7 @@ class TrackerGeometryIntoNtuples : public edm::one::EDAnalyzer<> { const edm::ESGetToken topoToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken aliToken_; const edm::ESGetToken aliErrorToken_; const edm::ESGetToken surfDefToken_; @@ -134,6 +137,7 @@ TrackerGeometryIntoNtuples::TrackerGeometryIntoNtuples(const edm::ParameterSet& : topoToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), aliToken_(esConsumes()), aliErrorToken_(esConsumes()), surfDefToken_(esConsumes()), @@ -195,10 +199,11 @@ void TrackerGeometryIntoNtuples::analyze(const edm::Event& iEvent, const edm::Ev //accessing the initial geometry const GeometricDet* theGeometricDet = &iSetup.getData(geomDetToken_); const PTrackerParameters* ptp = &iSetup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &iSetup.getData(ptitpToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; //currernt tracker - TrackerGeometry* theCurTracker = trackerBuilder.build(theGeometricDet, *ptp, tTopo); + TrackerGeometry* theCurTracker = trackerBuilder.build(theGeometricDet, ptitp, *ptp, tTopo); //build the tracker const Alignments* alignments = &iSetup.getData(aliToken_); diff --git a/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.cc b/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.cc index 118f385299ed5..c46ff1a6fc27f 100644 --- a/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.cc +++ b/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.cc @@ -19,6 +19,7 @@ CreateSurveyRcds::CreateSurveyRcds(const edm::ParameterSet& cfg) : tTopoToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), aliToken_(esConsumes()), aliErrToken_(esConsumes()) { m_inputGeom = cfg.getUntrackedParameter("inputGeom"); @@ -32,7 +33,8 @@ void CreateSurveyRcds::analyze(const edm::Event& event, const edm::EventSetup& s const TrackerTopology* const tTopo = &setup.getData(tTopoToken_); const GeometricDet* geom = &setup.getData(geomDetToken_); const PTrackerParameters& ptp = setup.getData(ptpToken_); - TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptp, tTopo); + const PTrackerAdditionalParametersPerDet* ptitp = &setup.getData(ptitpToken_); + TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptitp, ptp, tTopo); //take geometry from DB or randomly generate geometry if (m_inputGeom == "sqlite") { diff --git a/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.h b/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.h index 0aeebe27e3733..dcbe70b4d3d5e 100644 --- a/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.h +++ b/Alignment/SurveyAnalysis/plugins/CreateSurveyRcds.h @@ -20,6 +20,9 @@ #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" + #include "Alignment/CommonAlignment/interface/SurveyDet.h" #include "Alignment/TrackerAlignment/interface/AlignableTracker.h" @@ -53,6 +56,7 @@ class CreateSurveyRcds : public SurveyInputBase { const edm::ESGetToken tTopoToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken aliToken_; const edm::ESGetToken aliErrToken_; diff --git a/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.cc b/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.cc index 87b2ad3ceacfa..e2cedc6c098aa 100644 --- a/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.cc +++ b/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.cc @@ -24,6 +24,7 @@ SurveyInputTrackerFromDB::SurveyInputTrackerFromDB(const edm::ParameterSet& cfg) : tTopoToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), textFileName(cfg.getParameter("textFileName")) {} void SurveyInputTrackerFromDB::analyze(const edm::Event&, const edm::EventSetup& setup) { @@ -40,7 +41,8 @@ void SurveyInputTrackerFromDB::analyze(const edm::Event&, const edm::EventSetup& const GeometricDet* geom = &setup.getData(geomDetToken_); const PTrackerParameters& ptp = setup.getData(ptpToken_); - TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptp, tTopo); + const PTrackerAdditionalParametersPerDet* ptitp = &setup.getData(ptitpToken_); + TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptitp, ptp, tTopo); addComponent(new AlignableTracker(tracker, tTopo)); addSurveyInfo(detector()); diff --git a/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.h b/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.h index 4abce6d12599b..6fb8dd062c8f9 100644 --- a/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.h +++ b/Alignment/SurveyAnalysis/plugins/SurveyInputTrackerFromDB.h @@ -30,6 +30,7 @@ class SurveyInputTrackerFromDB : public SurveyInputBase { const edm::ESGetToken tTopoToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; std::string textFileName; diff --git a/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.cc b/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.cc index eca8adc7550ef..54426f512a519 100644 --- a/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.cc +++ b/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.cc @@ -21,6 +21,7 @@ SurveyMisalignmentInput::SurveyMisalignmentInput(const edm::ParameterSet& cfg) : tTopoToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), aliToken_(esConsumes()), textFileName(cfg.getParameter("textFileName")) {} @@ -30,7 +31,8 @@ void SurveyMisalignmentInput::analyze(const edm::Event&, const edm::EventSetup& const TrackerTopology* const tTopo = &setup.getData(tTopoToken_); const GeometricDet* geom = &setup.getData(geomDetToken_); const PTrackerParameters& ptp = setup.getData(ptpToken_); - TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptp, tTopo); + const PTrackerAdditionalParametersPerDet* ptitp = &setup.getData(ptitpToken_); + TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptitp, ptp, tTopo); addComponent(new AlignableTracker(tracker, tTopo)); diff --git a/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.h b/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.h index 566fe3a49b60f..1385a61a883c4 100644 --- a/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.h +++ b/Alignment/SurveyAnalysis/plugins/SurveyMisalignmentInput.h @@ -29,6 +29,7 @@ class SurveyMisalignmentInput : public SurveyInputBase { const edm::ESGetToken tTopoToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken aliToken_; SurveyInputTextReader::MapType uIdMap; diff --git a/Alignment/TrackerAlignment/plugins/CreateTrackerAlignmentRcds.cc b/Alignment/TrackerAlignment/plugins/CreateTrackerAlignmentRcds.cc index 03410e104cb73..62375d44c1ac2 100644 --- a/Alignment/TrackerAlignment/plugins/CreateTrackerAlignmentRcds.cc +++ b/Alignment/TrackerAlignment/plugins/CreateTrackerAlignmentRcds.cc @@ -51,6 +51,7 @@ #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentErrorExtendedRcd.h" #include "CondFormats/AlignmentRecord/interface/TrackerSurfaceDeformationRcd.h" #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" @@ -59,6 +60,7 @@ #include "Geometry/Records/interface/IdealGeometryRecord.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "CLHEP/Vector/RotationInterfaces.h" @@ -88,6 +90,7 @@ class CreateIdealTkAlRecords : public edm::one::EDAnalyzer<> { const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken topoToken_; const edm::ESGetToken aliToken_; const edm::ESGetToken aliErrorToken_; @@ -109,6 +112,7 @@ class CreateIdealTkAlRecords : public edm::one::EDAnalyzer<> { CreateIdealTkAlRecords::CreateIdealTkAlRecords(const edm::ParameterSet& iConfig) : geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), topoToken_(esConsumes()), aliToken_(esConsumes()), aliErrorToken_(esConsumes()), @@ -251,11 +255,12 @@ void CreateIdealTkAlRecords::clearAlignmentInfos() { std::unique_ptr CreateIdealTkAlRecords::retrieveGeometry(const edm::EventSetup& iSetup) { const GeometricDet* geometricDet = &iSetup.getData(geomDetToken_); const PTrackerParameters& ptp = iSetup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &iSetup.getData(ptitpToken_); const TrackerTopology* tTopo = &iSetup.getData(topoToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; - return std::unique_ptr{trackerBuilder.build(geometricDet, ptp, tTopo)}; + return std::unique_ptr{trackerBuilder.build(geometricDet, ptitp, ptp, tTopo)}; } void CreateIdealTkAlRecords::addAlignmentInfo(const GeomDet& det) { diff --git a/Alignment/TrackerAlignment/plugins/MCMisalignmentScaler.cc b/Alignment/TrackerAlignment/plugins/MCMisalignmentScaler.cc index a259a2e59ff82..d5565b8366cd2 100644 --- a/Alignment/TrackerAlignment/plugins/MCMisalignmentScaler.cc +++ b/Alignment/TrackerAlignment/plugins/MCMisalignmentScaler.cc @@ -42,6 +42,7 @@ #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentRcd.h" #include "CondFormats/DataRecord/interface/SiPixelQualityRcd.h" #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" #include "CondFormats/SiPixelObjects/interface/SiPixelQuality.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" @@ -52,6 +53,7 @@ #include "Geometry/Records/interface/IdealGeometryRecord.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" // // class declaration @@ -69,6 +71,7 @@ class MCMisalignmentScaler : public edm::one::EDAnalyzer<> { const edm::ESGetToken stripQualityToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken topoToken_; const edm::ESGetToken aliToken_; using ScalerMap = std::unordered_map >; @@ -91,6 +94,7 @@ MCMisalignmentScaler::MCMisalignmentScaler(const edm::ParameterSet& iConfig) stripQualityToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), topoToken_(esConsumes()), aliToken_(esConsumes()), scalers_{decodeSubDetectors(iConfig.getParameter("scalers"))}, @@ -114,10 +118,11 @@ void MCMisalignmentScaler::analyze(const edm::Event&, const edm::EventSetup& iSe // get the tracker geometry const GeometricDet* geometricDet = &iSetup.getData(geomDetToken_); const PTrackerParameters& ptp = iSetup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &iSetup.getData(ptitpToken_); const TrackerTopology* topology = &iSetup.getData(topoToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; - auto tracker = std::unique_ptr{trackerBuilder.build(geometricDet, ptp, topology)}; + auto tracker = std::unique_ptr{trackerBuilder.build(geometricDet, ptitp, ptp, topology)}; auto dets = tracker->dets(); std::sort(dets.begin(), dets.end(), [](const auto& a, const auto& b) { diff --git a/Alignment/TrackerAlignment/plugins/MisalignedTrackerESProducer.cc b/Alignment/TrackerAlignment/plugins/MisalignedTrackerESProducer.cc index ee3c1089387c9..2831c514fc19f 100644 --- a/Alignment/TrackerAlignment/plugins/MisalignedTrackerESProducer.cc +++ b/Alignment/TrackerAlignment/plugins/MisalignedTrackerESProducer.cc @@ -48,6 +48,7 @@ class MisalignedTrackerESProducer : public edm::ESProducer { private: edm::ESGetToken geomDetToken_; edm::ESGetToken ptpToken_; + edm::ESGetToken ptitpToken_; edm::ESGetToken topoToken_; const bool theSaveToDB; /// whether or not writing to DB @@ -71,6 +72,7 @@ MisalignedTrackerESProducer::MisalignedTrackerESProducer(const edm::ParameterSet auto cc = setWhatProduced(this); geomDetToken_ = cc.consumes(); ptpToken_ = cc.consumes(); + ptitpToken_ = cc.consumes(); topoToken_ = cc.consumes(); } @@ -87,9 +89,10 @@ std::unique_ptr MisalignedTrackerESProducer::produce(const Trac // Create the tracker geometry from ideal geometry const GeometricDet* gD = &iRecord.get(geomDetToken_); const PTrackerParameters& ptp = iRecord.get(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &iRecord.get(ptitpToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; - std::unique_ptr theTracker(trackerBuilder.build(gD, ptp, tTopo)); + std::unique_ptr theTracker(trackerBuilder.build(gD, ptitp, ptp, tTopo)); // Create the alignable hierarchy auto theAlignableTracker = std::make_unique(&(*theTracker), tTopo); diff --git a/Alignment/TrackerAlignment/plugins/TrackerSystematicMisalignments.cc b/Alignment/TrackerAlignment/plugins/TrackerSystematicMisalignments.cc index c8a0e7b6425a4..e3fb15766730f 100644 --- a/Alignment/TrackerAlignment/plugins/TrackerSystematicMisalignments.cc +++ b/Alignment/TrackerAlignment/plugins/TrackerSystematicMisalignments.cc @@ -60,6 +60,7 @@ class TrackerSystematicMisalignments : public edm::one::EDAnalyzer<> { const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken topoToken_; const edm::ESGetToken aliToken_; const edm::ESGetToken aliErrorToken_; @@ -99,6 +100,7 @@ class TrackerSystematicMisalignments : public edm::one::EDAnalyzer<> { TrackerSystematicMisalignments::TrackerSystematicMisalignments(const edm::ParameterSet& cfg) : geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptitpToken_(esConsumes()), topoToken_(esConsumes()), aliToken_(esConsumes()), aliErrorToken_(esConsumes()), @@ -171,9 +173,10 @@ void TrackerSystematicMisalignments::analyze(const edm::Event& event, const edm: //Retrieve tracker topology from geometry const GeometricDet* geom = &setup.getData(geomDetToken_); const PTrackerParameters& ptp = setup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &setup.getData(ptitpToken_); const TrackerTopology* tTopo = &setup.getData(topoToken_); - TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptp, tTopo); + TrackerGeometry* tracker = TrackerGeomBuilderFromGeometricDet().build(geom, ptitp, ptp, tTopo); //take geometry from DB or randomly generate geometry if (m_fromDBGeom) { diff --git a/Alignment/TrackerAlignment/plugins/TrackerTreeGenerator.cc b/Alignment/TrackerAlignment/plugins/TrackerTreeGenerator.cc index b95820102cf7f..c8ccbe4113513 100644 --- a/Alignment/TrackerAlignment/plugins/TrackerTreeGenerator.cc +++ b/Alignment/TrackerAlignment/plugins/TrackerTreeGenerator.cc @@ -48,6 +48,7 @@ #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "Geometry/CommonDetUnit/interface/TrackingGeometry.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" @@ -74,6 +75,7 @@ class TrackerTreeGenerator : public edm::one::EDAnalyzer geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptitpToken_; const edm::ESGetToken topoToken_; const bool createEntryForDoubleSidedModule_; @@ -95,6 +97,7 @@ class TrackerTreeGenerator : public edm::one::EDAnalyzer("createEntryForDoubleSidedModule")), config_(config) { @@ -110,10 +113,11 @@ void TrackerTreeGenerator::analyze(const edm::Event& iEvent, const edm::EventSet // now try to take directly the ideal geometry independent of used geometry in Global Tag const GeometricDet* geometricDet = &iSetup.getData(geomDetToken_); const PTrackerParameters& ptp = iSetup.getData(ptpToken_); + const PTrackerAdditionalParametersPerDet* ptitp = &iSetup.getData(ptitpToken_); const TrackerTopology* tTopo = &iSetup.getData(topoToken_); TrackerGeomBuilderFromGeometricDet trackerBuilder; - const TrackerGeometry* tkGeom = trackerBuilder.build(geometricDet, ptp, tTopo); + const TrackerGeometry* tkGeom = trackerBuilder.build(geometricDet, ptitp, ptp, tTopo); AlignableTracker alignableTracker{tkGeom, tTopo}; const auto& ns = alignableTracker.trackerNameSpace(); diff --git a/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.cc b/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.cc index a041d661579f0..d8077454e3e78 100644 --- a/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.cc +++ b/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.cc @@ -6,6 +6,7 @@ // for creation of TrackerGeometry #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "Geometry/Records/interface/IdealGeometryRecord.h" #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h" @@ -28,6 +29,7 @@ TrackerGeometryAnalyzer ::TrackerGeometryAnalyzer(const edm::ParameterSet& confi : tTopoToken_(esConsumes()), geomDetToken_(esConsumes()), ptpToken_(esConsumes()), + ptapToken_(esConsumes()), analyzeAlignables_(config.getParameter("analyzeAlignables")), printTrackerStructure_(config.getParameter("printTrackerStructure")), maxPrintDepth_(config.getParameter("maxPrintDepth")), @@ -71,9 +73,11 @@ void TrackerGeometryAnalyzer ::setTrackerTopology(const edm::EventSetup& setup) void TrackerGeometryAnalyzer ::setTrackerGeometry(const edm::EventSetup& setup) { edm::ESHandle geometricDet = setup.getHandle(geomDetToken_); edm::ESHandle trackerParams = setup.getHandle(ptpToken_); + edm::ESHandle trackerGeometricDetExtra = setup.getHandle(ptapToken_); TrackerGeomBuilderFromGeometricDet trackerGeometryBuilder; - trackerGeometry = trackerGeometryBuilder.build(&(*geometricDet), *trackerParams, trackerTopology); + trackerGeometry = + trackerGeometryBuilder.build(&(*geometricDet), &(*trackerGeometricDetExtra), *trackerParams, trackerTopology); alignableObjectId_ = AlignableObjectId{trackerGeometry, nullptr, nullptr, nullptr}; } diff --git a/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.h b/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.h index ea7b57e5cc2e1..07f3e67c0c5bb 100644 --- a/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.h +++ b/Alignment/TrackerAlignment/test/TrackerGeometryAnalyzer.h @@ -19,6 +19,7 @@ #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" #include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h" @@ -73,6 +74,7 @@ class TrackerGeometryAnalyzer : public edm::one::EDAnalyzer const edm::ESGetToken tTopoToken_; const edm::ESGetToken geomDetToken_; const edm::ESGetToken ptpToken_; + const edm::ESGetToken ptapToken_; // config-file parameters const bool analyzeAlignables_; diff --git a/CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h b/CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h index e07c84c4334e1..3966b7f40c04d 100644 --- a/CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h +++ b/CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h @@ -15,14 +15,27 @@ class PTrackerAdditionalParametersPerDet { }; ~PTrackerAdditionalParametersPerDet(){}; - enum IntParamIndex { GEOGRAPHICAL_ID = 0, ISIZE = 1 }; - enum BoolParamIndex { BSIZE = 1 }; - enum FloatParamIndex { FSIZE = 0 }; + enum IntParamIndex { GEOGRAPHICAL_ID = 0, BIGPIXELS_X = 1, BIGPIXELS_Y = 2, ISIZE = 3 }; + enum BoolParamIndex { BSIZE = 0 }; + enum FloatParamIndex { BIGPIXELS_PITCH_X = 0, BIGPIXELS_PITCH_Y = 1, FSIZE = 2 }; int getGeographicalId(int theIndex) const; + int bigPixelsX(int theIndex) const; + int bigPixelsY(int theIndex) const; + float bigPixelsPitchX(int theIndex) const; + float bigPixelsPitchY(int theIndex) const; + std::vector getAllGeographicalIds() const; + std::vector allBigPixelsXs() const; + std::vector allBigPixelsYs() const; + std::vector allBigPixelsPitchXs() const; + std::vector allBigPixelsPitchYs() const; void setGeographicalId(int geographicalId); + void setBigPixelsX(int bigPixelsX); + void setBigPixelsY(int bigPixelsY); + void setBigPixelsPitchX(float bigPixelsPitchX); + void setBigPixelsPitchY(float bigPixelsPitchY); std::vector> intParams_; std::vector> boolParams_; diff --git a/CondFormats/GeometryObjects/src/PTrackerAdditionalParametersPerDet.cc b/CondFormats/GeometryObjects/src/PTrackerAdditionalParametersPerDet.cc index aadfda5b777af..0f01693adba9a 100644 --- a/CondFormats/GeometryObjects/src/PTrackerAdditionalParametersPerDet.cc +++ b/CondFormats/GeometryObjects/src/PTrackerAdditionalParametersPerDet.cc @@ -26,7 +26,6 @@ namespace { } } // namespace - int PTrackerAdditionalParametersPerDet::getGeographicalId(int theIndex) const { return getThisParam(intParams_, GEOGRAPHICAL_ID, theIndex); } @@ -38,5 +37,55 @@ std::vector PTrackerAdditionalParametersPerDet::getAllGeographicalIds() con void PTrackerAdditionalParametersPerDet::setGeographicalId(int geographicalId) { setThisParam(intParams_, GEOGRAPHICAL_ID, geographicalId); } +// +int PTrackerAdditionalParametersPerDet::bigPixelsX(int theIndex) const { + return getThisParam(intParams_, BIGPIXELS_X, theIndex); +} + +std::vector PTrackerAdditionalParametersPerDet::allBigPixelsXs() const { + return getAllParams(intParams_, BIGPIXELS_X); +} + +void PTrackerAdditionalParametersPerDet::setBigPixelsX(int bigpixelsX) { + setThisParam(intParams_, BIGPIXELS_X, bigpixelsX); +} +// +int PTrackerAdditionalParametersPerDet::bigPixelsY(int theIndex) const { + return getThisParam(intParams_, BIGPIXELS_Y, theIndex); +} + +std::vector PTrackerAdditionalParametersPerDet::allBigPixelsYs() const { + return getAllParams(intParams_, BIGPIXELS_Y); +} + +void PTrackerAdditionalParametersPerDet::setBigPixelsY(int bigpixelsY) { + setThisParam(intParams_, BIGPIXELS_Y, bigpixelsY); +} +// +float PTrackerAdditionalParametersPerDet::bigPixelsPitchX(int theIndex) const { + return getThisParam(floatParams_, BIGPIXELS_PITCH_X, theIndex); +} + +std::vector PTrackerAdditionalParametersPerDet::allBigPixelsPitchXs() const { + return getAllParams(floatParams_, BIGPIXELS_PITCH_X); +} + +void PTrackerAdditionalParametersPerDet::setBigPixelsPitchX(float bigpixelspitchX) { + setThisParam(floatParams_, BIGPIXELS_PITCH_X, bigpixelspitchX); +} +// +float PTrackerAdditionalParametersPerDet::bigPixelsPitchY(int theIndex) const { + return getThisParam(floatParams_, BIGPIXELS_PITCH_Y, theIndex); +} + +std::vector PTrackerAdditionalParametersPerDet::allBigPixelsPitchYs() const { + return getAllParams(floatParams_, BIGPIXELS_PITCH_Y); +} + +void PTrackerAdditionalParametersPerDet::setBigPixelsPitchY(float bigpixelspitchY) { + setThisParam(floatParams_, BIGPIXELS_PITCH_Y, bigpixelspitchY); +} + +// //This doesn't work properly because intParams_ and boolParams_ are vectors of vecotrs - the outer vector should be the number of parameters and the inner vector the number of geometricDets. diff --git a/CondFormats/SiPixelTransient/interface/SiPixelUtils.h b/CondFormats/SiPixelTransient/interface/SiPixelUtils.h index 0aa16a3869ea7..4c50e85b4d719 100644 --- a/CondFormats/SiPixelTransient/interface/SiPixelUtils.h +++ b/CondFormats/SiPixelTransient/interface/SiPixelUtils.h @@ -11,8 +11,8 @@ namespace siPixelUtils { float theThickness, //detector thickness float cot_angle, //!< cot of alpha_ or beta_ float pitch, //!< thePitchX or thePitchY - bool first_is_big, //!< true if the first is big - bool last_is_big, //!< true if the last is big + float pitchfraction_first, //!< true if the first is big + float pitchfraction_last, //!< true if the last is big float eff_charge_cut_low, //!< Use edge if > W_eff (in pix) &&& float eff_charge_cut_high, //!< Use edge if < W_eff (in pix) &&& float size_cut //!< Use edge when size == cuts diff --git a/CondFormats/SiPixelTransient/src/SiPixelUtils.cc b/CondFormats/SiPixelTransient/src/SiPixelUtils.cc index f9c9a57f8f6cf..9678753e4d0b7 100644 --- a/CondFormats/SiPixelTransient/src/SiPixelUtils.cc +++ b/CondFormats/SiPixelTransient/src/SiPixelUtils.cc @@ -22,11 +22,11 @@ namespace siPixelUtils { float theThickness, //detector thickness float cot_angle, //!< cot of alpha_ or beta_ float pitch, //!< thePitchX or thePitchY - bool first_is_big, //!< true if the first is big - bool last_is_big, //!< true if the last is big - float eff_charge_cut_low, //!< Use edge if > w_eff &&& - float eff_charge_cut_high, //!< Use edge if < w_eff &&& - float size_cut //!< Use edge when size == cuts + float pitchfraction_first, + float pitchfraction_last, + float eff_charge_cut_low, //!< Use edge if > w_eff &&& + float eff_charge_cut_high, //!< Use edge if < w_eff &&& + float size_cut //!< Use edge when size == cuts ) { float geom_center = 0.5f * (upper_edge_first_pix + lower_edge_last_pix); @@ -46,11 +46,7 @@ namespace siPixelUtils { - lorentz_shift; // (in cm) &&& check fpix! //--- Total length of the two edge pixels (first+last) - float sum_of_edge = 2.0f; - if (first_is_big) - sum_of_edge += 1.0f; - if (last_is_big) - sum_of_edge += 1.0f; + float sum_of_edge = pitchfraction_first + pitchfraction_last; //--- The `effective' charge width -- particle's path in first and last pixels only float w_eff = std::abs(w_pred) - w_inner; diff --git a/CondTools/Geometry/plugins/PTrackerAdditionalParametersPerDetDBBuilder.cc b/CondTools/Geometry/plugins/PTrackerAdditionalParametersPerDetDBBuilder.cc new file mode 100644 index 0000000000000..238387f482685 --- /dev/null +++ b/CondTools/Geometry/plugins/PTrackerAdditionalParametersPerDetDBBuilder.cc @@ -0,0 +1,56 @@ +#include "FWCore/Framework/interface/one/EDAnalyzer.h" +#include "FWCore/Framework/interface/ESTransientHandle.h" +#include "FWCore/Framework/interface/MakerMacros.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" +#include "FWCore/ServiceRegistry/interface/Service.h" +#include "CondCore/DBOutputService/interface/PoolDBOutputService.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" + +class PTrackerAdditionalParametersPerDetDBBuilder : public edm::one::EDAnalyzer { +public: + PTrackerAdditionalParametersPerDetDBBuilder(const edm::ParameterSet&); + + void beginRun(edm::Run const& iEvent, edm::EventSetup const&) override; + void analyze(edm::Event const& iEvent, edm::EventSetup const&) override {} + void endRun(edm::Run const& iEvent, edm::EventSetup const&) override {} + +private: + const edm::ESGetToken geomDetToken_; +}; + +PTrackerAdditionalParametersPerDetDBBuilder::PTrackerAdditionalParametersPerDetDBBuilder( + const edm::ParameterSet& iConfig) + : geomDetToken_(esConsumes()) {} + +void PTrackerAdditionalParametersPerDetDBBuilder::beginRun(const edm::Run&, edm::EventSetup const& es) { + PTrackerAdditionalParametersPerDet ptitp; + edm::Service mydbservice; + if (!mydbservice.isAvailable()) { + edm::LogError("PTrackerAdditionalParametersPerDetDBBuilder") << "PoolDBOutputService unavailable"; + return; + } + + const GeometricDet* gd = &es.getData(geomDetToken_); + + std::vector comp; + gd->deepComponents(comp); + + for (auto& i : comp) { + ptitp.setGeographicalId(i->geographicalId()); + ptitp.setBigPixelsX(i->bigPixelsx()); + ptitp.setBigPixelsY(i->bigPixelsy()); + ptitp.setBigPixelsPitchX(i->bigPixelsPitchx()); + ptitp.setBigPixelsPitchY(i->bigPixelsPitchy()); + } + + if (mydbservice->isNewTagRequest("PTrackerAdditionalParametersPerDetRcd")) { + mydbservice->createOneIOV(ptitp, mydbservice->beginOfTime(), "PTrackerAdditionalParametersPerDetRcd"); + } else { + edm::LogError("PTrackerAdditionalParametersPerDetDBBuilder") + << "PTrackerAdditionalParametersPerDet and PTrackerAdditionalParametersPerDetRcd Tag already present"; + } +} + +DEFINE_FWK_MODULE(PTrackerAdditionalParametersPerDetDBBuilder); diff --git a/Configuration/Geometry/README.md b/Configuration/Geometry/README.md index 9521899ab0b8d..3a33b9b593c66 100644 --- a/Configuration/Geometry/README.md +++ b/Configuration/Geometry/README.md @@ -85,6 +85,10 @@ Tracker: * T33: Phase2 tilted tracker. Identical to T32 apart from a more realistic description of the 3D sensors in TBPX layer1. * T34: Same as T32 with the exception of modified Tracker volume so that it touches CALO on the outer side and BeamPipe on the inner side * T35: Same as T33 with the exception of modified Tracker volume so that it touches CALO on the outer side and BeamPipe on the inner side +* T36: OT (v8.0.6): increased (smallDelta +300 micron) inter-ladder radial spacing TB2S. IT (v7.4.1): TBPX as in T35 with 0.4 mm gap between Z+ and Z- +* T37: OT (v8.0.6): increased (smallDelta +300 micron) inter-ladder radial spacing TB2S. IT (v7.4.2): TBPX as in T35 with 0.7+0.4+0.7 mm gap between Z+ and Z- +* T38: OT (v8.0.6): increased (smallDelta +300 micron) inter-ladder radial spacing TB2S. IT (v7.4.4): TBPX as in T35 with 1.3+0.4+1.3 mm gap between Z+ and Z- +* T39: Same as T35 but introducing BigPixels in InnerTracker (1x2 planar and 2x2 planar modules) Calorimeters: * C9: HGCal (v11 post TDR HGCal Geometry w/ corner centering for HE part) + Phase2 HCAL and EB + Tracker cables (used in 2026D49) @@ -164,3 +168,5 @@ Several detector combinations have been generated: * D111 = T36+C24+M11+I17+O9+F8 * D112 = T37+C24+M11+I17+O9+F8 * D113 = T38+C24+M11+I17+O9+F8 +* D114 = T39+C19+M11+I17+O9+F8 + diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2017Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2017Reco_cff.py index c62052f19ec73..39c0d9ceae60d 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2017Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2017Reco_cff.py @@ -4,6 +4,7 @@ from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2018Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2018Reco_cff.py index ef504b16af656..022d54b8556bc 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2018Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2018Reco_cff.py @@ -4,6 +4,7 @@ from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus05PercentReco_cff.py index ffc819a6ce3da..3cc9ae3004e21 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus10PercentReco_cff.py index 8b185d343b39b..53fdfe55fdf7f 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatMinus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus05PercentReco_cff.py index ea7c7e80a1ecf..898420b813bc8 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus10PercentReco_cff.py index 9850b83058148..ac606c5857577 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2021FlatPlus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2021Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2021Reco_cff.py index 279642b473bae..bb0eed90f8e97 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2021Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2021Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2021ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2021ZeroMaterialReco_cff.py index 8d223d6f65189..2b687c4b806f1 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2021ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2021ZeroMaterialReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus05PercentReco_cff.py index 79d2ebe74afad..e787c6240a938 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus10PercentReco_cff.py index 12b5418ff4552..41e4a10f3c253 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatMinus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus05PercentReco_cff.py index 14b2624744bdb..c45437fe8d538 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus10PercentReco_cff.py index 253cdee74db99..6fb4dd7c4b014 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2023FlatPlus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2023Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2023Reco_cff.py index c1a383e934136..c6a55e498eb2d 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2023Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2023Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2023ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2023ZeroMaterialReco_cff.py index 04ece77ee0989..830bec2e788d5 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2023ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2023ZeroMaterialReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus05PercentReco_cff.py index bd4e03a139779..54764550594ca 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus10PercentReco_cff.py index 96615f4988406..48db2746a8d7d 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatMinus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus05PercentReco_cff.py index 4ea68a5d642f2..644966d65cfbf 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus10PercentReco_cff.py index cb2296be87608..fbd53296d75b5 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2024FlatPlus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2024Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2024Reco_cff.py index bfeb4f4d4ac15..153ed59caf792 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2024Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2024Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2024ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2024ZeroMaterialReco_cff.py index c54c5678a1ec9..c9d164632b795 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2024ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2024ZeroMaterialReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D100Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D100Reco_cff.py index 0cfb78fe7cf77..4242b8b9cfe07 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D100Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D100Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D101Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D101Reco_cff.py index 26cf6705791f7..a6386d7d64394 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D101Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D101Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D102Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D102Reco_cff.py index 349eb3e08089f..75eeef05b39e5 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D102Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D102Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D103Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D103Reco_cff.py index a27d7451e6f0d..ad3ace932168b 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D103Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D103Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D104Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D104Reco_cff.py index 26e7fa1ae997d..f121208ca4c7d 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D104Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D104Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D105Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D105Reco_cff.py index b8378ca30614b..a88460198c5e9 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D105Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D105Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D106Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D106Reco_cff.py index 7cd751a1d0f71..4ee9c26644d4b 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D106Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D106Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D107Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D107Reco_cff.py index 9b4f501814b0a..8264b81610aed 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D107Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D107Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D108Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D108Reco_cff.py index 925a43d98484a..b8ada9d263bfe 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D108Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D108Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D109Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D109Reco_cff.py index 555f8f2c38fe7..cd71616f80067 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D109Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D109Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D110Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D110Reco_cff.py index fc029ac3d3fa6..d25f31b7f2dc6 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D110Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D110Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D111Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D111Reco_cff.py index 4a70fe8dca518..0f39b095b2a5a 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D111Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D111Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D112Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D112Reco_cff.py index a633f7a85a2e9..cffbce755d683 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D112Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D112Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D113Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D113Reco_cff.py index dee9984e84054..566958b5a83af 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D113Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D113Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D114Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D114Reco_cff.py new file mode 100644 index 0000000000000..2c6c6a499ab17 --- /dev/null +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D114Reco_cff.py @@ -0,0 +1,60 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Configuration.Geometry.GeometryDD4hepExtended2026D114_cff import * + +# tracker +from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * +from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * +from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * +trackerGeometry.applyAlignment = True + +# calo +from Geometry.CaloEventSetup.HGCalTopology_cfi import * +from Geometry.HGCalGeometry.HGCalGeometryESProducer_cfi import * +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometryBuilder_cfi import * +CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder", + SelectedCalos = cms.vstring("HCAL", + "ZDC", + "EcalBarrel", + "TOWER", + "HGCalEESensitive", + "HGCalHESiliconSensitive", + "HGCalHEScintillatorSensitive" + ) +) +from Geometry.EcalAlgo.EcalBarrelGeometry_cfi import * +from Geometry.HcalEventSetup.HcalGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerTopology_cfi import * +from Geometry.HcalCommonData.hcalDDDRecConstants_cfi import * +from Geometry.HcalEventSetup.hcalTopologyIdeal_cfi import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + +# muon +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 * + +# forward +from Geometry.ForwardGeometry.ZdcGeometry_cfi import * + +# timing +from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import * +from Geometry.MTDGeometryBuilder.mtdParameters_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * +from Geometry.MTDNumberingBuilder.mtdTopology_cfi import * +from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import * +from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import * +mtdGeometry.applyAlignment = False + diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D114_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D114_cff.py new file mode 100644 index 0000000000000..a45bb985a72e5 --- /dev/null +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D114_cff.py @@ -0,0 +1,17 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Configuration.Geometry.GeometryDD4hep_cff import * +DDDetectorESProducer.confGeomXMLFiles = cms.FileInPath("Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D114.xml") + +from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff import * +from SLHCUpgradeSimulations.Geometry.fakePhase2OuterTrackerConditions_cff import * +from Geometry.EcalCommonData.ecalSimulationParameters_cff import * +from Geometry.HcalCommonData.hcalDDDSimConstants_cff import * +from Geometry.HGCalCommonData.hgcalParametersInitialization_cfi import * +from Geometry.HGCalCommonData.hgcalNumberingInitialization_cfi import * +from Geometry.MuonNumbering.muonGeometryConstants_cff import * +from Geometry.MuonNumbering.muonOffsetESProducer_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D86Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D86Reco_cff.py index 3059ebb6657bb..b8a8e9e3e0f62 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D86Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D86Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py index c60afdf36eb3d..0c41b9dd08d77 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D88Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D91Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D91Reco_cff.py index fa2c90a73b242..f055159035310 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D91Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D91Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D92Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D92Reco_cff.py index bf6caa873c423..52a1585c94946 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D92Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D92Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D93Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D93Reco_cff.py index a5d4c48bfa920..29a3792173fb9 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D93Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D93Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D94Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D94Reco_cff.py index cc4607e55b67c..6f32998764d59 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D94Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D94Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D95Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D95Reco_cff.py index 1994dea5c0666..ffbd37300d2ef 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D95Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D95Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D96Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D96Reco_cff.py index 18e54d9163f2c..7044c6cfcc25d 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D96Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D96Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D97Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D97Reco_cff.py index 41133d0811c03..1edd1599de2af 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D97Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D97Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D98Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D98Reco_cff.py index 306b4427eabb7..2a2a1a1c1fada 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D98Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D98Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryDD4hepExtended2026D99Reco_cff.py b/Configuration/Geometry/python/GeometryDD4hepExtended2026D99Reco_cff.py index b40b91e3a646d..a94cab656d651 100644 --- a/Configuration/Geometry/python/GeometryDD4hepExtended2026D99Reco_cff.py +++ b/Configuration/Geometry/python/GeometryDD4hepExtended2026D99Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2017DDDReco_cff.py b/Configuration/Geometry/python/GeometryExtended2017DDDReco_cff.py index 08ebc74515a81..c15157642f0b2 100644 --- a/Configuration/Geometry/python/GeometryExtended2017DDDReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017DDDReco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Plan0Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Plan0Reco_cff.py index 4aa830931fc6f..8c40f1dfd9c02 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Plan0Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Plan0Reco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus05PercentReco_cff.py index 26822276c2505..c438936acee56 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus05PercentReco_cff.py @@ -9,6 +9,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus10PercentReco_cff.py index 1843399b3279b..ceb33fcdcf4ac 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatMinus10PercentReco_cff.py @@ -9,6 +9,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus05PercentReco_cff.py index 4b88ecd1cd364..e1bf2f1041eec 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus05PercentReco_cff.py @@ -9,6 +9,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus10PercentReco_cff.py index 73d37e33728dd..d7d985407b6a7 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Plan1FlatPlus10PercentReco_cff.py @@ -9,6 +9,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Plan1Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Plan1Reco_cff.py index 1230045ea7d6e..057b0382ee8c6 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Plan1Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Plan1Reco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Plan1ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Plan1ZeroMaterialReco_cff.py index 6bf538b23155a..b4caab42cdee3 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Plan1ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Plan1ZeroMaterialReco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2017Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2017Reco_cff.py index 81b00b6b765f2..471116dc918d5 100644 --- a/Configuration/Geometry/python/GeometryExtended2017Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2017Reco_cff.py @@ -9,6 +9,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018DDDReco_cff.py b/Configuration/Geometry/python/GeometryExtended2018DDDReco_cff.py index ddb2adb5af5a1..4565dfff3ada3 100644 --- a/Configuration/Geometry/python/GeometryExtended2018DDDReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018DDDReco_cff.py @@ -11,6 +11,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2018FlatMinus05PercentReco_cff.py index acd5b40ee93a2..649f873830d59 100644 --- a/Configuration/Geometry/python/GeometryExtended2018FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018FlatMinus05PercentReco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2018FlatMinus10PercentReco_cff.py index b199febc3d8e1..3edc5fd30a3af 100644 --- a/Configuration/Geometry/python/GeometryExtended2018FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018FlatMinus10PercentReco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2018FlatPlus05PercentReco_cff.py index 8b34163ec9edc..99f20fb09662e 100644 --- a/Configuration/Geometry/python/GeometryExtended2018FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018FlatPlus05PercentReco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2018FlatPlus10PercentReco_cff.py index 0551a6f017b7d..992f6549a7fb0 100644 --- a/Configuration/Geometry/python/GeometryExtended2018FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018FlatPlus10PercentReco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018Plan36Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2018Plan36Reco_cff.py index afaa8a42450a4..9987e82e4d75b 100644 --- a/Configuration/Geometry/python/GeometryExtended2018Plan36Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018Plan36Reco_cff.py @@ -11,6 +11,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2018Reco_cff.py index 5b9054885cbdb..fead9ffeabffa 100644 --- a/Configuration/Geometry/python/GeometryExtended2018Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018Reco_cff.py @@ -11,6 +11,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2018ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryExtended2018ZeroMaterialReco_cff.py index c51b9536e0606..ce407b3d0c0ff 100644 --- a/Configuration/Geometry/python/GeometryExtended2018ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2018ZeroMaterialReco_cff.py @@ -11,6 +11,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryExtended2021FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2021FlatMinus05PercentReco_cff.py index 8cfa217ebbc24..c98b17ff1dce4 100644 --- a/Configuration/Geometry/python/GeometryExtended2021FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2021FlatMinus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2021FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2021FlatMinus10PercentReco_cff.py index 1760f0fbe5665..0d20e27f047ab 100644 --- a/Configuration/Geometry/python/GeometryExtended2021FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2021FlatMinus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2021FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2021FlatPlus05PercentReco_cff.py index 70ea11f077a39..ca96a5b16ec9b 100644 --- a/Configuration/Geometry/python/GeometryExtended2021FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2021FlatPlus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2021FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2021FlatPlus10PercentReco_cff.py index d6734a4180280..14a33b3afc6f8 100644 --- a/Configuration/Geometry/python/GeometryExtended2021FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2021FlatPlus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2021Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2021Reco_cff.py index ff8be7f114bb2..f573869340ef1 100644 --- a/Configuration/Geometry/python/GeometryExtended2021Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2021Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2021ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryExtended2021ZeroMaterialReco_cff.py index fd7b1d3a66f26..31be348f0238c 100644 --- a/Configuration/Geometry/python/GeometryExtended2021ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2021ZeroMaterialReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2023FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2023FlatMinus05PercentReco_cff.py index 798dad5a607a1..283c604c27a30 100644 --- a/Configuration/Geometry/python/GeometryExtended2023FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2023FlatMinus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2023FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2023FlatMinus10PercentReco_cff.py index 5b3396e6eef19..55e793ecc6982 100644 --- a/Configuration/Geometry/python/GeometryExtended2023FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2023FlatMinus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2023FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2023FlatPlus05PercentReco_cff.py index b6f1ba3b47b66..aedcdbb6bb6e7 100644 --- a/Configuration/Geometry/python/GeometryExtended2023FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2023FlatPlus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2023FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2023FlatPlus10PercentReco_cff.py index 454ba75e5a7af..ef0a8f48dd663 100644 --- a/Configuration/Geometry/python/GeometryExtended2023FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2023FlatPlus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py index b0d5b066b20ec..5cbb0c59ed92e 100644 --- a/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2023Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2023ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryExtended2023ZeroMaterialReco_cff.py index c25ebe6d850a6..c41c147c59a1f 100644 --- a/Configuration/Geometry/python/GeometryExtended2023ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2023ZeroMaterialReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2024FlatMinus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2024FlatMinus05PercentReco_cff.py index 5f33a3792e882..4f8cb8f4e2676 100644 --- a/Configuration/Geometry/python/GeometryExtended2024FlatMinus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2024FlatMinus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2024FlatMinus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2024FlatMinus10PercentReco_cff.py index c37c790e93e4e..868956931f67f 100644 --- a/Configuration/Geometry/python/GeometryExtended2024FlatMinus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2024FlatMinus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2024FlatPlus05PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2024FlatPlus05PercentReco_cff.py index 5d0222a26f50b..a7b56137a72c5 100644 --- a/Configuration/Geometry/python/GeometryExtended2024FlatPlus05PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2024FlatPlus05PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2024FlatPlus10PercentReco_cff.py b/Configuration/Geometry/python/GeometryExtended2024FlatPlus10PercentReco_cff.py index f40a19f849b30..bb2ea252b58e9 100644 --- a/Configuration/Geometry/python/GeometryExtended2024FlatPlus10PercentReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2024FlatPlus10PercentReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2024Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2024Reco_cff.py index 727c34b4b6c1d..a68716611eaf4 100644 --- a/Configuration/Geometry/python/GeometryExtended2024Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2024Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2024ZeroMaterialReco_cff.py b/Configuration/Geometry/python/GeometryExtended2024ZeroMaterialReco_cff.py index 3a1e89eb8235a..cadf24129fca0 100644 --- a/Configuration/Geometry/python/GeometryExtended2024ZeroMaterialReco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2024ZeroMaterialReco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D100Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D100Reco_cff.py index f2eaf271c0726..0181649198193 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D100Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D100Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D101Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D101Reco_cff.py index 2b5bdd4fd7f80..fd27ef456b9fe 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D101Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D101Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D102Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D102Reco_cff.py index 3a786a13c7c8e..9bfaebd4fcd2a 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D102Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D102Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D103Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D103Reco_cff.py index a4db48e78f1b3..ffe6a3befd70a 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D103Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D103Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D104Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D104Reco_cff.py index 3b6f6ef4f3e81..84a889d36e957 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D104Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D104Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D105Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D105Reco_cff.py index 4b2725ec2be78..4b19889fe4f81 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D105Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D105Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D106Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D106Reco_cff.py index 0f038291451ec..5f5682495a9ff 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D106Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D106Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D107Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D107Reco_cff.py index 5f7bb251564a9..364ddb0134a2a 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D107Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D107Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D108Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D108Reco_cff.py index e64122a492495..8a5d664c71474 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D108Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D108Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D109Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D109Reco_cff.py index 2c9388a8fb7b9..cdf7970be15e6 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D109Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D109Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D110Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D110Reco_cff.py index 1c28f7b5e68bf..58d2bcb09eff9 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D110Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D110Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D111Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D111Reco_cff.py index 181f5681ab2b8..28f1fcaf7acfa 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D111Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D111Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D112Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D112Reco_cff.py index fb3ad8be0fb9b..fdd85814a28d0 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D112Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D112Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D113Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D113Reco_cff.py index c626fb40ee6f3..7c7b2e5ed1e44 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D113Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D113Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D114Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D114Reco_cff.py new file mode 100644 index 0000000000000..4a541c7833940 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2026D114Reco_cff.py @@ -0,0 +1,60 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Configuration.Geometry.GeometryExtended2026D114_cff import * + +# tracker +from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * +from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * +from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * +from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * +from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * +trackerGeometry.applyAlignment = True + +# calo +from Geometry.CaloEventSetup.HGCalTopology_cfi import * +from Geometry.HGCalGeometry.HGCalGeometryESProducer_cfi import * +from Geometry.CaloEventSetup.CaloTopology_cfi import * +from Geometry.CaloEventSetup.CaloGeometryBuilder_cfi import * +CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder", + SelectedCalos = cms.vstring("HCAL", + "ZDC", + "EcalBarrel", + "TOWER", + "HGCalEESensitive", + "HGCalHESiliconSensitive", + "HGCalHEScintillatorSensitive" + ) +) +from Geometry.EcalAlgo.EcalBarrelGeometry_cfi import * +from Geometry.HcalEventSetup.HcalGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerGeometry_cfi import * +from Geometry.HcalEventSetup.CaloTowerTopology_cfi import * +from Geometry.HcalCommonData.hcalDDDRecConstants_cfi import * +from Geometry.HcalEventSetup.hcalTopologyIdeal_cfi import * +from Geometry.CaloEventSetup.EcalTrigTowerConstituents_cfi import * +from Geometry.EcalMapping.EcalMapping_cfi import * +from Geometry.EcalMapping.EcalMappingRecord_cfi import * + +# muon +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 * + +# forward +from Geometry.ForwardGeometry.ZdcGeometry_cfi import * + +# timing +from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import * +from Geometry.MTDGeometryBuilder.mtdParameters_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * +from Geometry.MTDNumberingBuilder.mtdTopology_cfi import * +from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import * +from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import * +mtdGeometry.applyAlignment = False + diff --git a/Configuration/Geometry/python/GeometryExtended2026D114_cff.py b/Configuration/Geometry/python/GeometryExtended2026D114_cff.py new file mode 100644 index 0000000000000..47a93a40c9471 --- /dev/null +++ b/Configuration/Geometry/python/GeometryExtended2026D114_cff.py @@ -0,0 +1,15 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +from Geometry.CMSCommonData.cmsExtendedGeometry2026D114XML_cfi import * +from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff import * +from SLHCUpgradeSimulations.Geometry.fakePhase2OuterTrackerConditions_cff import * +from Geometry.EcalCommonData.ecalSimulationParameters_cff import * +from Geometry.HcalCommonData.hcalDDDSimConstants_cff import * +from Geometry.HGCalCommonData.hgcalParametersInitialization_cfi import * +from Geometry.HGCalCommonData.hgcalNumberingInitialization_cfi import * +from Geometry.MuonNumbering.muonGeometryConstants_cff import * +from Geometry.MuonNumbering.muonOffsetESProducer_cff import * +from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D86Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D86Reco_cff.py index a0ea4fbbe6e2b..b713d55193265 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D86Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D86Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py index e83a7343aaf53..93408b8d39b2f 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D88Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D91Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D91Reco_cff.py index 9fbbad2f716e9..5d0c7e966619d 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D91Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D91Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D92Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D92Reco_cff.py index a20cac81f72c3..97bcb6b24dd3d 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D92Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D92Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D93Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D93Reco_cff.py index 9c4d4871e6c8a..157e84c5887e3 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D93Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D93Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D94Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D94Reco_cff.py index f9dd889bd1c83..5d22d5753daf3 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D94Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D94Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D95Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D95Reco_cff.py index 214fb8191edec..96b87f413d155 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D95Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D95Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D96Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D96Reco_cff.py index 62219e3b5b02a..e642a47c6434f 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D96Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D96Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D97Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D97Reco_cff.py index 0585f67f837e7..c7b2222eb565d 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D97Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D97Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D98Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D98Reco_cff.py index 66a3677c3e207..bdccdab1a30dc 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D98Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D98Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended2026D99Reco_cff.py b/Configuration/Geometry/python/GeometryExtended2026D99Reco_cff.py index b0c0bdd259182..241752d0d3e68 100644 --- a/Configuration/Geometry/python/GeometryExtended2026D99Reco_cff.py +++ b/Configuration/Geometry/python/GeometryExtended2026D99Reco_cff.py @@ -8,6 +8,7 @@ # tracker from Geometry.CommonTopologies.globalTrackingGeometry_cfi import * from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cff import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryExtended_cff.py b/Configuration/Geometry/python/GeometryExtended_cff.py index 8b5d12fdadfb1..77b38da07f654 100644 --- a/Configuration/Geometry/python/GeometryExtended_cff.py +++ b/Configuration/Geometry/python/GeometryExtended_cff.py @@ -9,6 +9,8 @@ # Ideal geometry, needed for simulation from Geometry.CMSCommonData.cmsExtendedGeometryXML_cfi import * from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import * +# TrackerAdditionalParametersPerDet contains only default values, needed for consistency with Phase 2 +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.EcalCommonData.ecalSimulationParameters_cff import * from Geometry.HcalCommonData.hcalDDDSimConstants_cff import * from Geometry.MuonNumbering.muonGeometryConstants_cff import * diff --git a/Configuration/Geometry/python/GeometryIdealAPD1_cff.py b/Configuration/Geometry/python/GeometryIdealAPD1_cff.py index 16b3416ad84af..deaa4202705c4 100644 --- a/Configuration/Geometry/python/GeometryIdealAPD1_cff.py +++ b/Configuration/Geometry/python/GeometryIdealAPD1_cff.py @@ -12,6 +12,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * #Muon from Geometry.MuonNumbering.muonGeometryConstants_cff import * diff --git a/Configuration/Geometry/python/GeometryIdealNoAPD_cff.py b/Configuration/Geometry/python/GeometryIdealNoAPD_cff.py index b2243859583b4..84261d80b01c0 100644 --- a/Configuration/Geometry/python/GeometryIdealNoAPD_cff.py +++ b/Configuration/Geometry/python/GeometryIdealNoAPD_cff.py @@ -12,6 +12,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * #Muon from Geometry.MuonNumbering.muonGeometryConstants_cff import * diff --git a/Configuration/Geometry/python/GeometryNoCastor_cff.py b/Configuration/Geometry/python/GeometryNoCastor_cff.py index 26a0440b454cd..d5ddac7f51a25 100644 --- a/Configuration/Geometry/python/GeometryNoCastor_cff.py +++ b/Configuration/Geometry/python/GeometryNoCastor_cff.py @@ -12,6 +12,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * #Muon from Geometry.MuonNumbering.muonGeometryConstants_cff import * diff --git a/Configuration/Geometry/python/GeometryRecoDB_cff.py b/Configuration/Geometry/python/GeometryRecoDB_cff.py index 818a174abe9ed..a62a12eeb66e8 100644 --- a/Configuration/Geometry/python/GeometryRecoDB_cff.py +++ b/Configuration/Geometry/python/GeometryRecoDB_cff.py @@ -5,6 +5,8 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +# TrackerAdditionalParametersPerDet contains only default values, needed for consistency with Phase 2 +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * #Muon diff --git a/Configuration/Geometry/python/GeometryRecoTracker_cff.py b/Configuration/Geometry/python/GeometryRecoTracker_cff.py index d85de3012c48b..e035a22b4681b 100644 --- a/Configuration/Geometry/python/GeometryRecoTracker_cff.py +++ b/Configuration/Geometry/python/GeometryRecoTracker_cff.py @@ -6,6 +6,8 @@ # Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +# TrackerAdditionalParametersPerDet contains only default values, needed for consistency with Phase 2 +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * # Alignment from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import * diff --git a/Configuration/Geometry/python/GeometryReco_cff.py b/Configuration/Geometry/python/GeometryReco_cff.py index 1a583d69c9ac9..b4d5a14599dfe 100644 --- a/Configuration/Geometry/python/GeometryReco_cff.py +++ b/Configuration/Geometry/python/GeometryReco_cff.py @@ -6,6 +6,8 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +# TrackerAdditionalParametersPerDet contains only default values, needed for consistency with Phase 2 +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerGeometryBuilder.trackerParameters_cfi import * from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import * diff --git a/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py b/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py index c9b3be08bf616..d65fba5f52889 100644 --- a/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py +++ b/Configuration/Geometry/python/GeometrySLHCRecoDB_cff.py @@ -5,6 +5,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * from Geometry.TrackerNumberingBuilder.trackerNumberingGeometryDB_cfi import * trackerGeometryDB.applyAlignment = cms.bool(False) # diff --git a/Configuration/Geometry/python/GeometrySLHCReco_cff.py b/Configuration/Geometry/python/GeometrySLHCReco_cff.py index c772c2d9429fe..66712a79e6f4e 100644 --- a/Configuration/Geometry/python/GeometrySLHCReco_cff.py +++ b/Configuration/Geometry/python/GeometrySLHCReco_cff.py @@ -10,6 +10,7 @@ #Tracker from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import * +from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import * #Muon from RecoMuon.DetLayers.muonDetLayerGeometry_cfi import * diff --git a/Configuration/Geometry/python/dict2021Geometry.py b/Configuration/Geometry/python/dict2021Geometry.py index c5bd42ee5a668..b56111ffdea4d 100644 --- a/Configuration/Geometry/python/dict2021Geometry.py +++ b/Configuration/Geometry/python/dict2021Geometry.py @@ -290,6 +290,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -492,6 +493,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -695,6 +697,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -898,6 +901,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -1101,6 +1105,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -1304,6 +1309,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', diff --git a/Configuration/Geometry/python/dict2026Geometry.py b/Configuration/Geometry/python/dict2026Geometry.py index 8113a381f7112..bc2e46114c291 100644 --- a/Configuration/Geometry/python/dict2026Geometry.py +++ b/Configuration/Geometry/python/dict2026Geometry.py @@ -93,6 +93,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -128,6 +129,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -163,6 +165,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -199,6 +202,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -235,6 +239,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -270,6 +275,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -306,6 +312,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -341,6 +348,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -376,6 +384,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -411,6 +420,7 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -446,6 +456,43 @@ "reco" : [ 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', + 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', + 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', + 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', + 'trackerGeometry.applyAlignment = True', + ], + "era" : "phase2_tracker, phase2_3DPixels, trackingPhase2PU140", + }, + "T39" : { + 1 : [ + 'Geometry/TrackerCommonData/data/PhaseII/trackerParameters.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_OT800_IT615_2022_10/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_03/tracker.xml', + 'Geometry/TrackerCommonData/data/PhaseII/OuterTracker616_2020_04/otst.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/pixel.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerbar.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackerStructureTopology.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2024_02/pixelStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackersens.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/pixelsens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/trackerRecoMaterial.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/pixelProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + ], + "sim" : [ + 'from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff import *', + 'from SLHCUpgradeSimulations.Geometry.fakePhase2OuterTrackerConditions_cff import *', + ], + "reco" : [ + 'from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *', + 'from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *', + 'from Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi import *', 'from Geometry.TrackerGeometryBuilder.trackerParameters_cff import *', 'from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *', 'from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *', @@ -453,9 +500,6 @@ ], "era" : "phase2_tracker, phase2_3DPixels, trackingPhase2PU140", }, - - - } @@ -1344,6 +1388,7 @@ ("O9","T36","C24","M11","F8","I17") : "D111", ("O9","T37","C24","M11","F8","I17") : "D112", ("O9","T38","C24","M11","F8","I17") : "D113", + ("O9","T39","C19","M11","F8","I17") : "D114", } deprecatedDets = set([ "D1", "D2", "D3", "D5", "D6" , "D7", "D4", "D8" , "D9", "D12", "D13", "D15", "D10", "D11", "D14", "D16", "D17", "D18", "D19", "D20", "D21", "D22", "D23", "D24", "D25", "D26", "D27", "D28", "D29", "D30", "D31", "D32", "D33", "D34", "D36", "D37", "D38", "D39", "D40", "D42", "D35", "D41", "D43", "D44", "D45", "D46", "D48", "D47", "D50", "D51", "D52", "D53", "D54", "D55", "D56", "D57", "D58", "D59", "D61", "D62", "D63", "D64", "D65", "D66", "D67", "D69", "D71", "D72", "D73", "D74", "D75", "D78", "D79", "D87", "D89", "D90", "D49", "D60", "D68", "D70", "D76", "D77", "D80", "D81", "D82", "D83", "D84", "D85"]) diff --git a/Configuration/PyReleaseValidation/python/relval_2026.py b/Configuration/PyReleaseValidation/python/relval_2026.py index 122aa0a2b2820..45b7e91deebc3 100644 --- a/Configuration/PyReleaseValidation/python/relval_2026.py +++ b/Configuration/PyReleaseValidation/python/relval_2026.py @@ -45,6 +45,7 @@ numWFIB.extend([30034.0]) #2026D111 numWFIB.extend([30434.0]) #2026D112 numWFIB.extend([30834.0]) #2026D113 +numWFIB.extend([31234.0]) #2026D114 #Additional sample for short matrix and IB #CloseByPGun for HGCAL diff --git a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py index 02c19ea6749dc..9fa1d540f8ed2 100644 --- a/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py +++ b/Configuration/PyReleaseValidation/python/upgradeWorkflowComponents.py @@ -89,6 +89,8 @@ '2026D112PU', '2026D113', '2026D113PU', + '2026D114', + '2026D114PU' ] # pre-generation of WF numbers @@ -3084,6 +3086,13 @@ def condition(self, fragment, stepList, key, hasHarvest): 'Era' : 'Phase2C22I13M9', 'ScenToRun' : ['GenSimHLBeamSpot','DigiTrigger','RecoGlobal', 'HARVESTGlobal', 'ALCAPhase2'], }, + '2026D114' : { + 'Geom' : 'Extended2026D114', + 'HLTmenu': '@relval2026', + 'GT' : 'auto:phase2_realistic_T33', + 'Era' : 'Phase2C17I13M9', + 'ScenToRun' : ['GenSimHLBeamSpot','DigiTrigger','RecoGlobal', 'HARVESTGlobal', 'ALCAPhase2'], + }, } # standard PU sequences diff --git a/Configuration/StandardSequences/python/GeometryConf.py b/Configuration/StandardSequences/python/GeometryConf.py index a88fd322622cc..efa88e12bfab6 100644 --- a/Configuration/StandardSequences/python/GeometryConf.py +++ b/Configuration/StandardSequences/python/GeometryConf.py @@ -124,4 +124,6 @@ 'DD4hepExtended2026D112' : 'DD4hepExtended2026D112,DD4hepExtended2026D112Reco', 'Extended2026D113' : 'Extended2026D113,Extended2026D113Reco', 'DD4hepExtended2026D113' : 'DD4hepExtended2026D113,DD4hepExtended2026D113Reco', - } + 'Extended2026D114' : 'Extended2026D114,Extended2026D114Reco', + 'DD4hepExtended2026D114' : 'DD4hepExtended2026D114,DD4hepExtended2026D114Reco', +} diff --git a/DQM/SiTrackerPhase2/python/Phase2TrackerMonitorDigi_cff.py b/DQM/SiTrackerPhase2/python/Phase2TrackerMonitorDigi_cff.py index b76946872d2fc..5e3e7aab44e8b 100644 --- a/DQM/SiTrackerPhase2/python/Phase2TrackerMonitorDigi_cff.py +++ b/DQM/SiTrackerPhase2/python/Phase2TrackerMonitorDigi_cff.py @@ -27,12 +27,12 @@ switch = False ), PositionOfDigisPH = digiMon.PositionOfDigisPH.clone( - Nxbins = 675, + Nxbins = 1344, xmin = 0.5, - xmax = 1350.5, - Nybins = 225, + xmax = 1344.5, + Nybins = 432, ymin = 0.5, - ymax = 450.5, + ymax = 432.5, switch = True ), XYPositionMapH = digiMon.XYPositionMapH.clone( diff --git a/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D114.xml b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D114.xml new file mode 100644 index 0000000000000..35e012d488d88 --- /dev/null +++ b/Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2026D114.xml @@ -0,0 +1,122 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D114XML_cfi.py b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D114XML_cfi.py new file mode 100644 index 0000000000000..eb0db9b83a91c --- /dev/null +++ b/Geometry/CMSCommonData/python/cmsExtendedGeometry2026D114XML_cfi.py @@ -0,0 +1,126 @@ +import FWCore.ParameterSet.Config as cms + +# This config was generated automatically using generate2026Geometry.py +# If you notice a mistake, please update the generating script, not just this config + +XMLIdealGeometryESSource = cms.ESSource("XMLIdealGeometryESSource", + geomXMLFiles = cms.vstring( + 'Geometry/CMSCommonData/data/materials/2021/v1/materials.xml', + 'Geometry/CMSCommonData/data/rotations.xml', + 'Geometry/CMSCommonData/data/extend/v2/cmsextent.xml', + 'Geometry/CMSCommonData/data/cavernData/2021/v1/cavernData.xml', + 'Geometry/CMSCommonData/data/cms/2026/v5/cms.xml', + 'Geometry/CMSCommonData/data/cmsMother.xml', + 'Geometry/CMSCommonData/data/eta3/etaMax.xml', + 'Geometry/CMSCommonData/data/cmsTracker.xml', + 'Geometry/CMSCommonData/data/caloBase/2026/v7/caloBase.xml', + 'Geometry/CMSCommonData/data/cmsCalo.xml', + 'Geometry/CMSCommonData/data/muonBase/2026/v5/muonBase.xml', + 'Geometry/CMSCommonData/data/cmsMuon.xml', + 'Geometry/CMSCommonData/data/mgnt.xml', + 'Geometry/CMSCommonData/data/beampipe/2026/v3/beampipe.xml', + 'Geometry/CMSCommonData/data/cmsBeam/2026/v1/cmsBeam.xml', + 'Geometry/CMSCommonData/data/muonMB.xml', + 'Geometry/CMSCommonData/data/muonMagnet.xml', + 'Geometry/CMSCommonData/data/cavern/2021/v1/cavern.xml', + 'Geometry/CMSCommonData/data/cavernFloor/2017/v1/cavernFloor.xml', + 'Geometry/TrackerCommonData/data/PhaseII/trackerParameters.xml', + 'Geometry/TrackerCommonData/data/pixfwdCommon.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/pixfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_OT800_IT615_2022_10/pixbar.xml', + 'Geometry/TrackerCommonData/data/trackermaterial.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_03/tracker.xml', + 'Geometry/TrackerCommonData/data/PhaseII/OuterTracker616_2020_04/otst.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/pixel.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerbar.xml', + 'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerfwd.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackerStructureTopology.xml', + 'Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2024_02/pixelStructureTopology.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackersens.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/pixelsens.xml', + 'Geometry/TrackerRecoData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/trackerRecoMaterial.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_2021_02/trackerProdCuts.xml', + 'Geometry/TrackerSimData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2023_05/pixelProdCuts.xml', + 'Geometry/TrackerSimData/data/trackerProdCutsBEAM.xml', + 'Geometry/EcalCommonData/data/eregalgo/2026/v2/eregalgo.xml', + 'Geometry/EcalCommonData/data/ectkcable/2026/v1/ectkcable.xml', + 'Geometry/EcalCommonData/data/ectkcablemat/2026/v2/ectkcablemat.xml', + 'Geometry/EcalCommonData/data/ebalgo.xml', + 'Geometry/EcalCommonData/data/ebcon/2021/v1/ebcon.xml', + 'Geometry/EcalCommonData/data/ebrot.xml', + 'Geometry/HcalCommonData/data/hcalrotations.xml', + 'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml', + 'Geometry/HcalCommonData/data/hcal/v2/hcalalgo.xml', + 'Geometry/HcalCommonData/data/hcalbarrelalgo.xml', + 'Geometry/HcalCommonData/data/hcalcablealgo/v2/hcalcablealgo.xml', + 'Geometry/HcalCommonData/data/hcalouteralgo/v1/hcalouteralgo.xml', + 'Geometry/HcalCommonData/data/hcalforwardalgo.xml', + 'Geometry/HcalCommonData/data/hcalSimNumbering/NoHE/v1/hcalSimNumbering.xml', + 'Geometry/HcalCommonData/data/hcalRecNumbering/NoHE/v2/hcalRecNumbering.xml', + 'Geometry/HGCalCommonData/data/hgcalMaterial/v2/hgcalMaterial.xml', + 'Geometry/HGCalCommonData/data/hgcal/v17/hgcal.xml', + 'Geometry/HGCalCommonData/data/hgcalwafer/v17n/hgcalwafer.xml', + 'Geometry/HGCalCommonData/data/hgcalEE/v17/hgcalEE.xml', + 'Geometry/HGCalCommonData/data/hgcalHEsil/v17/hgcalHEsil.xml', + 'Geometry/HGCalCommonData/data/hgcalHEmix/v17/hgcalHEmix.xml', + 'Geometry/HGCalCommonData/data/hgcalCons/v17n/hgcalCons.xml', + 'Geometry/HGCalCommonData/data/hgcalConsData/v17/hgcalConsData.xml', + 'Geometry/MuonCommonData/data/mbCommon/2021/v1/mbCommon.xml', + 'Geometry/MuonCommonData/data/mb1/2015/v2/mb1.xml', + 'Geometry/MuonCommonData/data/mb2/2015/v2/mb2.xml', + 'Geometry/MuonCommonData/data/mb3/2015/v2/mb3.xml', + 'Geometry/MuonCommonData/data/mb4/2015/v2/mb4.xml', + 'Geometry/MuonCommonData/data/mb4Shield/2021/v1/mb4Shield.xml', + 'Geometry/MuonCommonData/data/muonYoke/2026/v3/muonYoke.xml', + 'Geometry/MuonCommonData/data/mf/2026/v8/mf.xml', + 'Geometry/MuonCommonData/data/csc/2021/v2/csc.xml', + 'Geometry/MuonCommonData/data/rpcf/2026/v3/rpcf.xml', + 'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml', + 'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml', + 'Geometry/MuonCommonData/data/gem21/2026/v1/gem21.xml', + 'Geometry/MuonCommonData/data/mfshield/2026/v6/mfshield.xml', + 'Geometry/MuonCommonData/data/ge0/TDR_Dev/v4/ge0.xml', + 'Geometry/MuonCommonData/data/ge0shield/2026/v1/ge0shield.xml', + 'Geometry/ForwardCommonData/data/forwardshield/2026/v4/forwardshield.xml', + 'Geometry/ForwardCommonData/data/zdcmaterials/2021/v1/zdcmaterials.xml', + 'Geometry/ForwardCommonData/data/lumimaterials.xml', + 'Geometry/ForwardCommonData/data/zdcrotations.xml', + 'Geometry/ForwardCommonData/data/lumirotations.xml', + 'Geometry/ForwardCommonData/data/zdc/2026/v1/zdc.xml', + 'Geometry/ForwardCommonData/data/zdclumi/2021/v2/zdclumi.xml', + 'Geometry/ForwardCommonData/data/cmszdc.xml', + 'Geometry/MTDCommonData/data/mtdMaterial/v3/mtdMaterial.xml', + 'Geometry/MTDCommonData/data/btl/v3/btl.xml', + 'Geometry/MTDCommonData/data/etl/v8/etl.xml', + 'Geometry/MTDCommonData/data/mtdParameters/v5/mtdStructureTopology.xml', + 'Geometry/MTDCommonData/data/mtdParameters/v5/mtdParameters.xml', + )+ + cms.vstring( + 'Geometry/MuonCommonData/data/muonNumbering/TDR_DeV/v5/muonNumbering.xml', + 'Geometry/EcalSimData/data/PhaseII/ecalsens.xml', + 'Geometry/HcalCommonData/data/hcalsens/NoHE/v1/hcalsenspmf.xml', + 'Geometry/HcalSimData/data/hf.xml', + 'Geometry/HcalSimData/data/hfpmt.xml', + 'Geometry/HcalSimData/data/hffibrebundle.xml', + 'Geometry/HcalSimData/data/CaloUtil/2026/v2c/CaloUtil.xml', + 'Geometry/HGCalSimData/data/hgcsensv17n.xml', + 'Geometry/MuonSimData/data/PhaseII/v2/muonSens.xml', + 'Geometry/DTGeometryBuilder/data/dtSpecsFilter/2021/v1/dtSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml', + 'Geometry/CSCGeometryBuilder/data/cscSpecs.xml', + 'Geometry/RPCGeometryBuilder/data/2026/v1/RPCSpecs.xml', + 'Geometry/GEMGeometryBuilder/data/v12/GEMSpecsFilter.xml', + 'Geometry/GEMGeometryBuilder/data/v12/GEMSpecs.xml', + 'Geometry/ForwardSimData/data/zdcsens.xml', + 'Geometry/MTDSimData/data/v5/mtdsens.xml', + 'Geometry/HcalSimData/data/HcalProdCuts/2026/v1/HcalProdCuts.xml', + 'Geometry/EcalSimData/data/EcalProdCuts.xml', + 'Geometry/HGCalSimData/data/hgcProdCutsv15.xml', + 'Geometry/MuonSimData/data/muonProdCuts/2026/v2/muonProdCuts.xml', + 'Geometry/ForwardSimData/data/zdcProdCuts/2021/v2/zdcProdCuts.xml', + 'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml', + 'Geometry/MTDSimData/data/v5/mtdProdCuts.xml', + 'Geometry/CMSCommonData/data/FieldParameters.xml', + ), + rootNodeName = cms.string('cms:OCMS') +) diff --git a/Geometry/CommonTopologies/interface/PixelTopology.h b/Geometry/CommonTopologies/interface/PixelTopology.h index 05da3de01a1f7..280ecbecf0be8 100644 --- a/Geometry/CommonTopologies/interface/PixelTopology.h +++ b/Geometry/CommonTopologies/interface/PixelTopology.h @@ -33,6 +33,8 @@ class PixelTopology : public Topology { virtual int rocsX() const = 0; virtual int rowsperroc() const = 0; virtual int colsperroc() const = 0; + virtual bool bigpixelsX() const = 0; + virtual bool bigpixelsY() const = 0; virtual float localX(float mpX) const = 0; virtual float localY(float mpY) const = 0; @@ -41,6 +43,8 @@ class PixelTopology : public Topology { virtual bool isItBigPixelInX(int ixbin) const = 0; virtual bool isItBigPixelInY(int iybin) const = 0; + virtual float pixelFractionInX(int ixbin) const = 0; + virtual float pixelFractionInY(int iybin) const = 0; virtual bool containsBigPixelInX(int ixmin, int ixmax) const = 0; virtual bool containsBigPixelInY(int iymin, int iymax) const = 0; diff --git a/Geometry/CommonTopologies/interface/ProxyPixelTopology.h b/Geometry/CommonTopologies/interface/ProxyPixelTopology.h index b66aafdb04072..68ce548d16a45 100644 --- a/Geometry/CommonTopologies/interface/ProxyPixelTopology.h +++ b/Geometry/CommonTopologies/interface/ProxyPixelTopology.h @@ -63,6 +63,8 @@ class ProxyPixelTopology final : public PixelTopology { int rocsX() const override { return specificTopology().rocsX(); } int rowsperroc() const override { return specificTopology().rowsperroc(); } int colsperroc() const override { return specificTopology().colsperroc(); } + bool bigpixelsX() const override { return specificTopology().bigpixelsX(); } + bool bigpixelsY() const override { return specificTopology().bigpixelsY(); } float localX(const float mpX) const override; float localX(const float mpX, const Topology::LocalTrackPred &trkPred) const override; float localY(const float mpY) const override; @@ -70,6 +72,8 @@ class ProxyPixelTopology final : public PixelTopology { bool isItBigPixelInX(const int ixbin) const override { return specificTopology().isItBigPixelInX(ixbin); } bool isItBigPixelInY(const int iybin) const override { return specificTopology().isItBigPixelInY(iybin); } + float pixelFractionInX(int ixbin) const override { return specificTopology().pixelFractionInX(ixbin); } + float pixelFractionInY(int iybin) const override { return specificTopology().pixelFractionInY(iybin); } bool containsBigPixelInX(int ixmin, int ixmax) const override { return specificTopology().containsBigPixelInX(ixmin, ixmax); } diff --git a/Geometry/MTDGeometryBuilder/interface/ProxyMTDTopology.h b/Geometry/MTDGeometryBuilder/interface/ProxyMTDTopology.h index cd76825874fd1..6b23a2611539b 100644 --- a/Geometry/MTDGeometryBuilder/interface/ProxyMTDTopology.h +++ b/Geometry/MTDGeometryBuilder/interface/ProxyMTDTopology.h @@ -63,6 +63,8 @@ class ProxyMTDTopology final : public PixelTopology { int rocsX() const override { return specificTopology().rocsX(); } int rowsperroc() const override { return specificTopology().rowsperroc(); } int colsperroc() const override { return specificTopology().colsperroc(); } + bool bigpixelsX() const override { return false; } + bool bigpixelsY() const override { return false; } float localX(const float mpX) const override; float localX(const float mpX, const Topology::LocalTrackPred &trkPred) const override; float localY(const float mpY) const override; @@ -70,6 +72,8 @@ class ProxyMTDTopology final : public PixelTopology { bool isItBigPixelInX(const int ixbin) const override { return specificTopology().isItBigPixelInX(ixbin); } bool isItBigPixelInY(const int iybin) const override { return specificTopology().isItBigPixelInY(iybin); } + float pixelFractionInX(int ixbin) const override { return specificTopology().pixelFractionInX(ixbin); } + float pixelFractionInY(int iybin) const override { return specificTopology().pixelFractionInY(iybin); } bool containsBigPixelInX(int ixmin, int ixmax) const override { return specificTopology().containsBigPixelInX(ixmin, ixmax); } diff --git a/Geometry/MTDGeometryBuilder/interface/RectangularMTDTopology.h b/Geometry/MTDGeometryBuilder/interface/RectangularMTDTopology.h index f830a281bb267..a26491ce3b7a0 100644 --- a/Geometry/MTDGeometryBuilder/interface/RectangularMTDTopology.h +++ b/Geometry/MTDGeometryBuilder/interface/RectangularMTDTopology.h @@ -127,6 +127,8 @@ class RectangularMTDTopology final : public PixelTopology { bool isItBigPixelInY(const int iybin) const override { return false; } + float pixelFractionInX(int ixbin) const override { return 1.0f; } + float pixelFractionInY(int iybin) const override { return 1.0f; } //------------------------------------------------------------- // Return BIG pixel flag in a given pixel range bool containsBigPixelInX(int ixmin, int ixmax) const override { return false; } @@ -163,6 +165,8 @@ class RectangularMTDTopology final : public PixelTopology { int rowsperroc() const override { return m_ROWS_PER_ROC; } // mlw Return number of cols per roc int colsperroc() const override { return m_COLS_PER_ROC; } + bool bigpixelsX() const override { return false; } + bool bigpixelsY() const override { return false; } float xoffset() const { return m_xoffset; } float yoffset() const { return m_yoffset; } float gapxInterpad() const { return m_GAPxInterpad; } // Value returned in cm diff --git a/Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2024_02/pixelStructureTopology.xml b/Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2024_02/pixelStructureTopology.xml new file mode 100644 index 0000000000000..49e5ec6243248 --- /dev/null +++ b/Geometry/TrackerCommonData/data/PhaseII/Tracker_DD4hep_compatible_IT711_2024_02/pixelStructureTopology.xml @@ -0,0 +1,982 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Geometry/TrackerGeometryBuilder/interface/PixelPhase2TopologyBuilder.h b/Geometry/TrackerGeometryBuilder/interface/PixelPhase2TopologyBuilder.h new file mode 100644 index 0000000000000..e3918cff12cdb --- /dev/null +++ b/Geometry/TrackerGeometryBuilder/interface/PixelPhase2TopologyBuilder.h @@ -0,0 +1,27 @@ +#ifndef Geometry_TrackerGeometryBuilder_PixelPhase2TopologyBuilder_H +#define Geometry_TrackerGeometryBuilder_PixelPhase2TopologyBuilder_H + +#include +class PixelTopology; +class Bounds; + +/** + * Called by GeomTopologyBuilder, chooses the right topology for Pixels. + */ + +class PixelPhase2TopologyBuilder { +public: + PixelPhase2TopologyBuilder(); + + PixelTopology* build(const Bounds* bounds, + int ROWS_PER_ROC, // Num of Rows per ROC + int COLS_PER_ROC, // Num of Cols per ROC + int BIG_PIX_PER_ROC_X, // in x direction, rows + int BIG_PIX_PER_ROC_Y, // in y direction, cols + float BIG_PIX_PITCH_X, + float BIG_PIX_PITCH_Y, + int ROCS_X, + int ROCS_Y); +}; + +#endif diff --git a/Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h b/Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h index 0b8b5dcbc191c..dedb8794c036c 100644 --- a/Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h +++ b/Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h @@ -14,7 +14,6 @@ class PixelTopologyBuilder { PixelTopologyBuilder(); PixelTopology* build(const Bounds* bounds, - bool upgradeGeometry, int ROWS_PER_ROC, // Num of Rows per ROC int COLS_PER_ROC, // Num of Cols per ROC int BIG_PIX_PER_ROC_X, // in x direction, rows. BIG_PIX_PER_ROC_X = 0 for SLHC diff --git a/Geometry/TrackerGeometryBuilder/interface/RectangularPixelPhase2Topology.h b/Geometry/TrackerGeometryBuilder/interface/RectangularPixelPhase2Topology.h new file mode 100644 index 0000000000000..9b993b227d5c9 --- /dev/null +++ b/Geometry/TrackerGeometryBuilder/interface/RectangularPixelPhase2Topology.h @@ -0,0 +1,230 @@ +#ifndef Geometry_TrackerGeometryBuilder_RectangularPixelPhase2Topology_H +#define Geometry_TrackerGeometryBuilder_RectangularPixelPhase2Topology_H + +/** + * Topology for rectangular pixel detector with BIG pixels. + */ +// Re-written for phase-2 pixels. +// E. Migliore INFN/Universita Torino 2023/11 +// The bigger pixels are on the ROC boundries. +// G. Giurgiu 11/27/06 --------------------------------------------- +// Check whether the pixel is at the edge of the module by adding the +// following functions (ixbin and iybin are the pixel row and column +// inside the module): +// bool isItEdgePixelInX (int ixbin) +// bool isItEdgePixelInY (int iybin) +// bool isItEdgePixel (int ixbin, int iybin) +// ------------------------------------------------------------------ +// Add the individual measurement to local trasformations classes 01/07 d.k. +// ------------------------------------------------------------------ +// Add big pixel flags for cluster range 15/3/07 V.Chiochia + +#include "Geometry/CommonTopologies/interface/PixelTopology.h" +#include "DataFormats/SiPixelDetId/interface/PixelChannelIdentifier.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" + +class RectangularPixelPhase2Topology final : public PixelTopology { +public: + // Constructor, initilize + RectangularPixelPhase2Topology(int nrows, + int ncols, + float pitchx, + float pitchy, + int ROWS_PER_ROC, // Num of Rows per ROC + int COLS_PER_ROC, // Num of Cols per ROC + int BIG_PIX_PER_ROC_X, // in x direction, rows + int BIG_PIX_PER_ROC_Y, // in y direction, cols + float BIG_PIX_PITCH_X, + float BIG_PIX_PITCH_Y, + int ROCS_X, + int ROCS_Y) + : m_pitchx(pitchx), + m_pitchy(pitchy), + m_nrows(nrows), + m_ncols(ncols), + m_ROWS_PER_ROC(ROWS_PER_ROC), // Num of Rows per ROC + m_COLS_PER_ROC(COLS_PER_ROC), // Num of Cols per ROC + m_BIG_PIX_PER_ROC_X(BIG_PIX_PER_ROC_X), // + m_BIG_PIX_PER_ROC_Y(BIG_PIX_PER_ROC_Y), // + m_BIG_PIX_PITCH_X(BIG_PIX_PITCH_X), + m_BIG_PIX_PITCH_Y(BIG_PIX_PITCH_Y), + m_ROCS_X(ROCS_X), // + m_ROCS_Y(ROCS_Y) // + { + // Calculate the edge of the active sensor with respect to the center, + // that is simply the half-size. + // Take into account large pixels + m_xoffset = -( + (m_nrows / 2 - m_BIG_PIX_PER_ROC_X) * m_pitchx + + m_BIG_PIX_PER_ROC_X * + m_BIG_PIX_PITCH_X); // assuming the big pixel pitch is well computed it gets always in the middle regardless the number of big pixel. Quad is 670*0.025 + 2*0.0875; double is 336* 0.025; 3D is 336*0.025; old geom is 672*faxe x pitch + m_yoffset = -((m_ncols / 2 - m_BIG_PIX_PER_ROC_Y) * m_pitchy + m_BIG_PIX_PER_ROC_Y * m_BIG_PIX_PITCH_Y); + + LogDebug("RectangularPixelPhase2Topology") + << "nrows " << m_nrows << ", ncols " << m_ncols << ", pitchx " << m_pitchx << ", pitchy " << m_pitchy + << ", xoffset " << m_xoffset << ", yoffset " << m_yoffset << ", BIG_PIX_PER_ROC_X " << BIG_PIX_PER_ROC_X + << ", BIG_PIX_PER_ROC_Y " << BIG_PIX_PER_ROC_Y << ", BIG_PIX_PITCH_X " << BIG_PIX_PITCH_X + << ", BIG_PIX_PITCH_Y " << BIG_PIX_PITCH_Y << ", ROWS_PER_ROC " << ROWS_PER_ROC << ", COLS_PER_ROC " + << COLS_PER_ROC << ", ROCS_X " << ROCS_X << ", ROCS_Y " << ROCS_Y << "\nNROWS " << m_ROWS_PER_ROC * m_ROCS_X + << ", NCOL " << m_COLS_PER_ROC * m_ROCS_Y; + } + + // Topology interface, go from Masurement to Local corrdinates + // pixel coordinates (mp) -> cm (LocalPoint) + LocalPoint localPosition(const MeasurementPoint& mp) const override; + + // Transform LocalPoint to Measurement. Call pixel(). + MeasurementPoint measurementPosition(const LocalPoint& lp) const override { + std::pair p = pixel(lp); + return MeasurementPoint(p.first, p.second); + } + + // PixelTopology interface. + // Transform LocalPoint in cm to measurement in pitch units. + std::pair pixel(const LocalPoint& p) const override; + + // Errors + // Error in local (cm) from the masurement errors + LocalError localError(const MeasurementPoint&, const MeasurementError&) const override; + // Errors in pitch units from localpoint error (in cm) + MeasurementError measurementError(const LocalPoint&, const LocalError&) const override; + + //------------------------------------------------------------- + // Transform LocalPoint to channel. Call pixel() + // + int channel(const LocalPoint& lp) const override { + std::pair p = pixel(lp); + return PixelChannelIdentifier::pixelToChannel(int(p.first), int(p.second)); + } + + //------------------------------------------------------------- + // Transform measurement to local coordinates individually in each dimension + // + float localX(const float mpX) const override; + float localY(const float mpY) const override; + + //------------------------------------------------------------- + // Return the BIG pixel information for a given pixel (assuming they are always at the edge between two CROCs) + // + bool isItBigPixelInX(const int ixbin) const override { + bool no_big_pixel = (m_BIG_PIX_PER_ROC_X == 0); + if (!no_big_pixel) + no_big_pixel = abs((ixbin - m_nrows / 2) + 0.5) > m_BIG_PIX_PER_ROC_X; + + return !no_big_pixel; + } + + bool isItBigPixelInY(const int iybin) const override { + bool no_big_pixel = (m_BIG_PIX_PER_ROC_Y == 0); + if (!no_big_pixel) + no_big_pixel = abs((iybin - m_ncols / 2) + 0.5) > m_BIG_PIX_PER_ROC_Y; + + return !no_big_pixel; + } + + float pixelFractionInX(const int ixbin) const override { + bool no_big_pixel = (m_BIG_PIX_PER_ROC_X == 0); + + if (no_big_pixel) { + return 1.0f; + } else { + if (((m_nrows / 2 - m_BIG_PIX_PER_ROC_X) <= ixbin) && + (ixbin < (m_nrows / 2 - m_BIG_PIX_PER_ROC_X + m_BIG_PIX_PER_ROC_X * m_nrows / m_ROWS_PER_ROC))) { + return float(m_BIG_PIX_PITCH_X / m_pitchx); + } else { + return 1.0f; + } + } + } + + float pixelFractionInY(const int iybin) const override { + bool no_big_pixel = (m_BIG_PIX_PER_ROC_Y == 0); + if (no_big_pixel) { + return 1.0f; + } else { + if (((m_ncols / 2 - m_BIG_PIX_PER_ROC_Y) <= iybin) && + (iybin < (m_ncols / 2 - m_BIG_PIX_PER_ROC_Y + m_BIG_PIX_PER_ROC_Y * m_ncols / m_COLS_PER_ROC))) { + return float(m_BIG_PIX_PITCH_Y / m_pitchy); + } else { + return 1.0f; + } + } + } + + //------------------------------------------------------------- + // Return BIG pixel flag in a given pixel range (assuming they are always at the edge between two CROCs) + // + bool containsBigPixelInX(int ixmin, int ixmax) const override { + return containsBigPixel(ixmin, ixmax, m_nrows, m_BIG_PIX_PER_ROC_X); + } + + bool containsBigPixelInY(int iymin, int iymax) const override { + return containsBigPixel(iymin, iymax, m_ncols, m_BIG_PIX_PER_ROC_Y); + } + + bool bigpixelsX() const override { return false; } + bool bigpixelsY() const override { return false; } + + //------------------------------------------------------------- + // Check whether the pixel is at the edge of the module + // + bool isItEdgePixelInX(int ixbin) const override { return ((ixbin == 0) | (ixbin == (m_nrows - 1))); } + bool isItEdgePixelInY(int iybin) const override { return ((iybin == 0) | (iybin == (m_ncols - 1))); } + bool isItEdgePixel(int ixbin, int iybin) const override { + return (isItEdgePixelInX(ixbin) || isItEdgePixelInY(iybin)); + } + + //------------------------------------------------------------------ + // Return pitch + std::pair pitch() const override { return std::pair(float(m_pitchx), float(m_pitchy)); } + // Return number of rows + int nrows() const override { return (m_nrows); } + // Return number of cols + int ncolumns() const override { return (m_ncols); } + // mlw Return number of ROCS Y + int rocsY() const override { return m_ROCS_Y; } + // mlw Return number of ROCS X + int rocsX() const override { return m_ROCS_X; } + // mlw Return number of rows per roc + int rowsperroc() const override { return m_ROWS_PER_ROC; } + // mlw Return number of cols per roc + int colsperroc() const override { return m_COLS_PER_ROC; } + int bigpixperrocX() const { return m_BIG_PIX_PER_ROC_X; } + int bigpixperrocY() const { return m_BIG_PIX_PER_ROC_Y; } + float xoffset() const { return m_xoffset; } + float yoffset() const { return m_yoffset; } + float pitchbigpixelX() const { return m_BIG_PIX_PITCH_X; } + float pitchbigpixelY() const { return m_BIG_PIX_PITCH_Y; } + +private: + float m_pitchx; + float m_pitchy; + float m_xoffset; + float m_yoffset; + int m_nrows; + int m_ncols; + int m_ROWS_PER_ROC; + int m_COLS_PER_ROC; + int m_BIG_PIX_PER_ROC_X; + int m_BIG_PIX_PER_ROC_Y; + float m_BIG_PIX_PITCH_X; + float m_BIG_PIX_PITCH_Y; + int m_ROCS_X; + int m_ROCS_Y; + + bool containsBigPixel(int iMin, int iMax, int nPxTot, int nPxBigPerROC) const { + // nPxTot/2 should lie in the upper half of the dimension + auto firstBigPixel = nPxTot / 2 - nPxBigPerROC; + auto lastBigPixel = nPxTot / 2 - 1 + nPxBigPerROC; + + // the interval contains no big pixel when either of the following is met: + // - there are no big pixels + // - the whole interval lies to the right of the big pixel chunk + // - the whole interval lies to the left of the big pixel chunk + bool noBigPixel = (nPxBigPerROC == 0) || (iMin > lastBigPixel) || (iMax < firstBigPixel); + + return !noBigPixel; + } +}; + +#endif diff --git a/Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h b/Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h index 42a75794942e9..f5230ee7ae8e2 100644 --- a/Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h +++ b/Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h @@ -43,7 +43,6 @@ class RectangularPixelTopology final : public PixelTopology { int ncols, float pitchx, float pitchy, - bool upgradeGeometry, int ROWS_PER_ROC, // Num of Rows per ROC int COLS_PER_ROC, // Num of Cols per ROC int BIG_PIX_PER_ROC_X, // in x direction, rows. BIG_PIX_PER_ROC_X = 0 for SLHC @@ -57,8 +56,8 @@ class RectangularPixelTopology final : public PixelTopology { m_ROWS_PER_ROC(ROWS_PER_ROC), // Num of Rows per ROC m_COLS_PER_ROC(COLS_PER_ROC), // Num of Cols per ROC m_ROCS_X(ROCS_X), // 2 for SLHC - m_ROCS_Y(ROCS_Y), // 8 for SLHC - m_upgradeGeometry(upgradeGeometry) { + m_ROCS_Y(ROCS_Y) // 8 for SLHC + { // Calculate the edge of the active sensor with respect to the center, // that is simply the half-size. // Take into account large pixels @@ -111,32 +110,43 @@ class RectangularPixelTopology final : public PixelTopology { //------------------------------------------------------------- // Return the BIG pixel information for a given pixel // - bool isItBigPixelInX(const int ixbin) const override { - return ((m_upgradeGeometry) ? (false) : ((ixbin == 79) | (ixbin == 80))); - } + bool isItBigPixelInX(const int ixbin) const override { return ((ixbin == 79) | (ixbin == 80)); } bool isItBigPixelInY(const int iybin) const override { - if UNLIKELY (m_upgradeGeometry) - return false; - else { - int iybin0 = iybin % 52; - return ((iybin0 == 0) | (iybin0 == 51)); - // constexpr int bigYIndeces[]{0,51,52,103,104,155,156,207,208,259,260,311,312,363,364,415,416,511}; - // return *std::lower_bound(std::begin(bigYIndeces),std::end(bigYIndeces),iybin) == iybin; + int iybin0 = iybin % 52; + return ((iybin0 == 0) | (iybin0 == 51)); + } + float pixelFractionInX(const int ixbin) const override { + if ((ixbin == 79) | (ixbin == 80)) { + return 2.0f; + } else { + return 1.0f; + } + } + + float pixelFractionInY(const int iybin) const override { + int iybin0 = iybin % 52; + + if ((iybin0 == 0) | (iybin0 == 51)) { + return 2.0f; + } else { + return 1.0f; } } + // constexpr int bigYIndeces[]{0,51,52,103,104,155,156,207,208,259,260,311,312,363,364,415,416,511}; + // return *std::lower_bound(std::begin(bigYIndeces),std::end(bigYIndeces),iybin) == iybin; //------------------------------------------------------------- // Return BIG pixel flag in a given pixel range // - bool containsBigPixelInX(int ixmin, int ixmax) const override { - return m_upgradeGeometry ? false : ((ixmin <= 80) & (ixmax >= 79)); - } + bool containsBigPixelInX(int ixmin, int ixmax) const override { return ((ixmin <= 80) & (ixmax >= 79)); } bool containsBigPixelInY(int iymin, int iymax) const override { - return m_upgradeGeometry ? false - : (isItBigPixelInY(iymin) || isItBigPixelInY(iymax) || (iymin / 52) != (iymax / 52)); + return (isItBigPixelInY(iymin) || isItBigPixelInY(iymax) || (iymin / 52) != (iymax / 52)); } + bool bigpixelsX() const override { return false; } + bool bigpixelsY() const override { return false; } + //------------------------------------------------------------- // Check whether the pixel is at the edge of the module // @@ -175,7 +185,6 @@ class RectangularPixelTopology final : public PixelTopology { int m_COLS_PER_ROC; int m_ROCS_X; int m_ROCS_Y; - bool m_upgradeGeometry; }; #endif diff --git a/Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h b/Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h index cf4f7c5a5b1c1..3a981864c9921 100644 --- a/Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h +++ b/Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h @@ -7,6 +7,7 @@ #include "Geometry/TrackerGeometryBuilder/interface/PlaneBuilderFromGeometricDet.h" #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" #include "Geometry/CommonDetUnit/interface/GeomDetType.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" class TrackerGeometry; class TrackerTopology; @@ -16,15 +17,22 @@ class PTrackerParameters; class TrackerGeomBuilderFromGeometricDet { public: - TrackerGeometry* build(const GeometricDet* gd, const PTrackerParameters& ptp, const TrackerTopology* tTopo); + TrackerGeometry* build(const GeometricDet* gd, + const PTrackerAdditionalParametersPerDet* ptitp, + const PTrackerParameters& ptp, + const TrackerTopology* tTopo); private: void buildPixel(std::vector const&, + const PTrackerAdditionalParametersPerDet* const&, TrackerGeometry*, GeomDetType::SubDetector det, - bool upgradeGeometry, int BIG_PIX_PER_ROC_X, int BIG_PIX_PER_ROC_Y); + void buildPixelPhase2(std::vector const&, + const PTrackerAdditionalParametersPerDet* const&, + TrackerGeometry*, + GeomDetType::SubDetector det); void buildSilicon(std::vector const&, TrackerGeometry*, GeomDetType::SubDetector det, diff --git a/Geometry/TrackerGeometryBuilder/plugins/TrackerAdditionalParametersPerDetESModule.cc b/Geometry/TrackerGeometryBuilder/plugins/TrackerAdditionalParametersPerDetESModule.cc new file mode 100644 index 0000000000000..2845a1513a48e --- /dev/null +++ b/Geometry/TrackerGeometryBuilder/plugins/TrackerAdditionalParametersPerDetESModule.cc @@ -0,0 +1,68 @@ +#include "FWCore/Framework/interface/ESProducer.h" +#include "FWCore/Framework/interface/ModuleFactory.h" +#include "FWCore/Framework/interface/ESHandle.h" +#include "FWCore/Framework/interface/ESTransientHandle.h" +#include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/ParameterSet/interface/ConfigurationDescriptions.h" +#include "FWCore/ParameterSet/interface/ParameterSetDescription.h" +#include "Geometry/Records/interface/IdealGeometryRecord.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" +#include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" + +#include + +namespace edm { + class ConfigurationDescriptions; +} +class PTrackerAdditionalParametersPerDet; +class PTrackerAdditionalParametersPerDetRcd; + +class TrackerAdditionalParametersPerDetESModule : public edm::ESProducer { +public: + TrackerAdditionalParametersPerDetESModule(const edm::ParameterSet&); + + using ReturnType = std::unique_ptr; + + static void fillDescriptions(edm::ConfigurationDescriptions&); + + ReturnType produce(const PTrackerAdditionalParametersPerDetRcd&); + +private: + edm::ESGetToken geometricDetToken_; +}; + +TrackerAdditionalParametersPerDetESModule::TrackerAdditionalParametersPerDetESModule(const edm::ParameterSet& ps) { + auto cc = setWhatProduced(this); + geometricDetToken_ = cc.consumesFrom(edm::ESInputTag()); +} + +void TrackerAdditionalParametersPerDetESModule::fillDescriptions(edm::ConfigurationDescriptions& descriptions) { + edm::ParameterSetDescription desc; + descriptions.add("TrackerAdditionalParametersPerDet", desc); +} + +TrackerAdditionalParametersPerDetESModule::ReturnType TrackerAdditionalParametersPerDetESModule::produce( + const PTrackerAdditionalParametersPerDetRcd& iRecord) { + edm::LogInfo("TrackerAdditionalParametersPerDet") + << "TrackerAdditionalParametersPerDetESModule::produce(const PTrackerAdditionalParametersPerDetRcd& iRecord)"; + + auto ptitp = std::make_unique(); + + edm::ESTransientHandle gd = iRecord.getTransientHandle(geometricDetToken_); + + std::vector comp; + gd->deepComponents(comp); + + for (auto& i : comp) { + ptitp->setGeographicalId(i->geographicalId()); + ptitp->setBigPixelsX(i->bigPixelsx()); + ptitp->setBigPixelsY(i->bigPixelsy()); + ptitp->setBigPixelsPitchX(i->bigPixelsPitchx()); + ptitp->setBigPixelsPitchY(i->bigPixelsPitchy()); + } + + return ptitp; +} + +DEFINE_FWK_EVENTSETUP_MODULE(TrackerAdditionalParametersPerDetESModule); diff --git a/Geometry/TrackerGeometryBuilder/plugins/TrackerDigiGeometryESModule.cc b/Geometry/TrackerGeometryBuilder/plugins/TrackerDigiGeometryESModule.cc index fae0da2827ef8..9d8a3e9c0d5e8 100644 --- a/Geometry/TrackerGeometryBuilder/plugins/TrackerDigiGeometryESModule.cc +++ b/Geometry/TrackerGeometryBuilder/plugins/TrackerDigiGeometryESModule.cc @@ -15,10 +15,12 @@ #include "CondFormats/AlignmentRecord/interface/TrackerAlignmentErrorExtendedRcd.h" #include "CondFormats/AlignmentRecord/interface/TrackerSurfaceDeformationRcd.h" #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" #include "Geometry/CommonTopologies/interface/GeometryAligner.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/Records/interface/IdealGeometryRecord.h" #include "Geometry/Records/interface/PTrackerParametersRcd.h" +#include "Geometry/Records/interface/PTrackerAdditionalParametersPerDetRcd.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeomBuilderFromGeometricDet.h" @@ -44,6 +46,8 @@ class TrackerDigiGeometryESModule : public edm::ESProducer { edm::ESGetToken geometricDetToken_; edm::ESGetToken trackerTopoToken_; edm::ESGetToken trackerParamsToken_; + edm::ESGetToken + trackerGeometricDetExtraToken_; edm::ESGetToken globalAlignmentToken_; edm::ESGetToken trackerAlignmentToken_; @@ -64,6 +68,8 @@ TrackerDigiGeometryESModule::TrackerDigiGeometryESModule(const edm::ParameterSet geometricDetToken_ = cc.consumesFrom(kEmptyTag); trackerTopoToken_ = cc.consumesFrom(kEmptyTag); trackerParamsToken_ = cc.consumesFrom(kEmptyTag); + trackerGeometricDetExtraToken_ = + cc.consumesFrom(kEmptyTag); if (applyAlignment_) { const edm::ESInputTag kAlignTag{"", alignmentsLabel_}; @@ -109,8 +115,10 @@ std::unique_ptr TrackerDigiGeometryESModule::produce(const Trac auto const& ptp = iRecord.get(trackerParamsToken_); + auto const& ptitp = iRecord.get(trackerGeometricDetExtraToken_); + TrackerGeomBuilderFromGeometricDet builder; - std::unique_ptr tracker(builder.build(&gD, ptp, &tTopo)); + std::unique_ptr tracker(builder.build(&gD, &ptitp, ptp, &tTopo)); if (applyAlignment_) { // Since fake is fully working when checking for 'empty', we should get rid of applyAlignment_! diff --git a/Geometry/TrackerGeometryBuilder/src/PixelPhase2TopologyBuilder.cc b/Geometry/TrackerGeometryBuilder/src/PixelPhase2TopologyBuilder.cc new file mode 100644 index 0000000000000..7e3ca8905c720 --- /dev/null +++ b/Geometry/TrackerGeometryBuilder/src/PixelPhase2TopologyBuilder.cc @@ -0,0 +1,47 @@ +// Make the change for "big" pixels. 3/06 d.k. +#include "Geometry/TrackerGeometryBuilder/interface/PixelPhase2TopologyBuilder.h" +#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelPhase2Topology.h" +#include "DataFormats/GeometrySurface/interface/Bounds.h" + +PixelPhase2TopologyBuilder::PixelPhase2TopologyBuilder(void) {} + +PixelTopology* PixelPhase2TopologyBuilder::build(const Bounds* bs, + int pixelROCRows, // Num of Rows per ROC + int pixelROCCols, // Num of Cols per ROC + int BIG_PIX_PER_ROC_X, // in x direction, rows. + int BIG_PIX_PER_ROC_Y, // in y direction, cols. + float BIG_PIX_PITCH_X, + float BIG_PIX_PITCH_Y, + int pixelROCsInX, + int pixelROCsInY) { + float width = bs->width(); // module width = Xsize + float length = bs->length(); // module length = Ysize + + // Number of pixel rows (x) and columns (y) per module + int nrows = pixelROCRows * pixelROCsInX; + int ncols = pixelROCCols * pixelROCsInY; + + // Take into account the large edge pixels + float pitchX = + (width - pixelROCsInX * BIG_PIX_PER_ROC_X * BIG_PIX_PITCH_X) / (nrows - pixelROCsInX * BIG_PIX_PER_ROC_X); + float pitchY = + (length - pixelROCsInY * BIG_PIX_PER_ROC_Y * BIG_PIX_PITCH_Y) / (ncols - pixelROCsInY * BIG_PIX_PER_ROC_Y); + if (BIG_PIX_PER_ROC_X == 0) + BIG_PIX_PITCH_X = + pitchX; // should then be either the exact one for Big Pixels or the expected one in the old geometry + if (BIG_PIX_PER_ROC_Y == 0) + BIG_PIX_PITCH_Y = pitchY; + + return (new RectangularPixelPhase2Topology(nrows, + ncols, + pitchX, + pitchY, + pixelROCRows, // (int)rocRow + pixelROCCols, // (int)rocCol + BIG_PIX_PER_ROC_X, + BIG_PIX_PER_ROC_Y, + BIG_PIX_PITCH_X, + BIG_PIX_PITCH_Y, + pixelROCsInX, + pixelROCsInY)); // (int)rocInX, (int)rocInY +} diff --git a/Geometry/TrackerGeometryBuilder/src/PixelTopologyBuilder.cc b/Geometry/TrackerGeometryBuilder/src/PixelTopologyBuilder.cc index 78ca799c7ef77..89e53a22dd371 100644 --- a/Geometry/TrackerGeometryBuilder/src/PixelTopologyBuilder.cc +++ b/Geometry/TrackerGeometryBuilder/src/PixelTopologyBuilder.cc @@ -7,7 +7,6 @@ PixelTopologyBuilder::PixelTopologyBuilder(void) {} PixelTopology* PixelTopologyBuilder::build( const Bounds* bs, - bool upgradeGeometry, int pixelROCRows, // Num of Rows per ROC int pixelROCCols, // Num of Cols per ROC int BIG_PIX_PER_ROC_X, // in x direction, rows. BIG_PIX_PER_ROC_X = 0 for SLHC @@ -31,7 +30,6 @@ PixelTopology* PixelTopologyBuilder::build( ncols, pitchX, pitchY, - upgradeGeometry, pixelROCRows, // (int)rocRow pixelROCCols, // (int)rocCol BIG_PIX_PER_ROC_X, diff --git a/Geometry/TrackerGeometryBuilder/src/RectangularPixelPhase2Topology.cc b/Geometry/TrackerGeometryBuilder/src/RectangularPixelPhase2Topology.cc new file mode 100644 index 0000000000000..69bf01cc08b05 --- /dev/null +++ b/Geometry/TrackerGeometryBuilder/src/RectangularPixelPhase2Topology.cc @@ -0,0 +1,301 @@ +#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelPhase2Topology.h" + +/** + * Topology for rectangular pixel detector with BIG pixels. + */ +// Modified for the large pixles. +// Danek Kotlinski & Michele Pioppi, 3/06. +// See documentation in the include file. + +//-------------------------------------------------------------------- +// PixelTopology interface. +// Transform LocalPoint in cm to measurement in pitch units. +std::pair RectangularPixelPhase2Topology::pixel(const LocalPoint& p) const { + // check limits + float py = p.y(); + float px = p.x(); + +#ifdef EDM_ML_DEBUG +#define EPSCM 0 +#define EPS 0 + // This will catch points which are outside the active sensor area. + // In the digitizer during the early induce_signal phase non valid + // location are passed here. They are cleaned later. + + std::ostringstream debugstr; + debugstr << "py = " << py << ", m_yoffset = " << m_yoffset << "px = " << px << ", m_xoffset = " << m_xoffset << "\n"; + + if (py < m_yoffset) // m_yoffset is negative + { + debugstr << " wrong lp y " << py << " " << m_yoffset << "\n"; + py = m_yoffset + EPSCM; // make sure it is in, add an EPS in cm + } + if (py > -m_yoffset) { + debugstr << " wrong lp y " << py << " " << -m_yoffset << "\n"; + py = -m_yoffset - EPSCM; + } + if (px < m_xoffset) // m_xoffset is negative + { + debugstr << " wrong lp x " << px << " " << m_xoffset << "\n"; + px = m_xoffset + EPSCM; + } + if (px > -m_xoffset) { + debugstr << " wrong lp x " << px << " " << -m_xoffset << "\n"; + px = -m_xoffset - EPSCM; + } + + if (!debugstr.str().empty()) + LogDebug("RectangularPixelPhase2Topology") << debugstr.str(); +#endif // EDM_ML_DEBUG + + float newybin = py - m_yoffset; // m_pitchy; + int iybin = 0; //int(newybin); + float fractionY = 0; //newybin - iybin; + int iybin0 = 0; + float mpY = 0.; + + if ((newybin >= m_pitchy * (m_ncols / 2 - m_BIG_PIX_PER_ROC_Y)) && + (newybin < (m_pitchy * (m_ncols / 2 - m_BIG_PIX_PER_ROC_Y) + + m_BIG_PIX_PER_ROC_Y * m_BIG_PIX_PITCH_Y * m_ncols / m_COLS_PER_ROC))) { + iybin = m_ncols / 2 - m_BIG_PIX_PER_ROC_Y; + iybin0 = iybin; + fractionY = (newybin - m_pitchy * (m_ncols / 2 - m_BIG_PIX_PER_ROC_Y)) / m_BIG_PIX_PITCH_Y; + } else if ((newybin >= (m_pitchy * (m_ncols / 2 - m_BIG_PIX_PER_ROC_Y) + + m_BIG_PIX_PER_ROC_Y * m_BIG_PIX_PITCH_Y * m_ncols / m_COLS_PER_ROC))) { + iybin = int((newybin - (m_pitchy * (m_ncols / 2 - m_BIG_PIX_PER_ROC_Y) + + m_BIG_PIX_PER_ROC_Y * m_BIG_PIX_PITCH_Y * m_ncols / m_COLS_PER_ROC)) / + m_pitchy) + + m_ncols / 2 - m_BIG_PIX_PER_ROC_Y + m_BIG_PIX_PER_ROC_Y * m_ncols / m_COLS_PER_ROC; + iybin0 = iybin - m_ncols / 2; + fractionY = (newybin - (m_pitchy * (m_ncols / 2 - m_BIG_PIX_PER_ROC_Y) + + m_BIG_PIX_PER_ROC_Y * m_BIG_PIX_PITCH_Y * m_ncols / m_COLS_PER_ROC + + (iybin0 - m_BIG_PIX_PER_ROC_Y) * m_pitchy)) / + m_pitchy; + } else { + iybin = int(newybin / m_pitchy); + iybin0 = iybin; + fractionY = newybin / m_pitchy - iybin; + } + + mpY = fractionY + iybin; +#ifdef EDM_ML_DEBUG + + if (iybin0 > m_COLS_PER_ROC) { + LogDebug("RectangularPixelPhase2Topology") << " very bad, newbiny " << iybin0 << "\n" + << py << " " << m_yoffset << " " << m_pitchy << " " << newybin << " " + << iybin << " " << fractionY << " " << iybin0 << " " << numROC; + } +#endif // EDM_ML_DEBUG + +#ifdef EDM_ML_DEBUG + + if (mpY < 0. || mpY >= 2 * m_COLS_PER_ROC) { + LogDebug("RectangularPixelPhase2Topology") << " bad pix y " << mpY << "\n" + << py << " " << m_yoffset << " " << m_pitchy << " " << newybin << " " + << iybin << " " << fractionY << " " << iybin0 << " " << numROC; + } +#endif // EDM_ML_DEBUG + + // In X + float newxbin = (px - m_xoffset); + int ixbin = 0; + float fractionX = 0; + int ixbin0 = 0; + float mpX = 0.; + + if ((newxbin >= m_pitchx * (m_nrows / 2 - m_BIG_PIX_PER_ROC_X)) && + (newxbin < (m_pitchx * (m_nrows / 2 - m_BIG_PIX_PER_ROC_X) + + m_BIG_PIX_PER_ROC_X * m_BIG_PIX_PITCH_X * m_nrows / m_ROWS_PER_ROC))) { + ixbin = m_nrows / 2 - m_BIG_PIX_PER_ROC_X; + ixbin0 = ixbin; + fractionX = (newxbin - m_pitchx * (m_nrows / 2 - m_BIG_PIX_PER_ROC_X)) / m_BIG_PIX_PITCH_X; + } else if ((newxbin >= (m_pitchx * (m_nrows / 2 - m_BIG_PIX_PER_ROC_X) + + m_BIG_PIX_PER_ROC_X * m_BIG_PIX_PITCH_X * m_nrows / m_ROWS_PER_ROC))) { + ixbin = int((newxbin - (m_pitchx * (m_nrows / 2 - m_BIG_PIX_PER_ROC_X) + + m_BIG_PIX_PER_ROC_X * m_BIG_PIX_PITCH_X * m_nrows / m_ROWS_PER_ROC)) / + m_pitchx) + + m_nrows / 2 - m_BIG_PIX_PER_ROC_X + m_BIG_PIX_PER_ROC_X * m_nrows / m_ROWS_PER_ROC; + ixbin0 = ixbin - m_nrows / 2; + fractionX = (newxbin - (m_pitchx * (m_nrows / 2 - m_BIG_PIX_PER_ROC_X) + + m_BIG_PIX_PER_ROC_X * m_BIG_PIX_PITCH_X * m_nrows / m_ROWS_PER_ROC + + (ixbin0 - m_BIG_PIX_PER_ROC_X) * m_pitchx)) / + m_pitchx; + } else { + ixbin = int(newxbin / m_pitchx); + ixbin0 = ixbin; + fractionX = newxbin / m_pitchx - ixbin; + } + + mpX = fractionX + ixbin; + +#ifdef EDM_ML_DEBUG + + if (ixbin0 > m_ROW_PER_ROC || ixbin0 < 0) // ixbin < 0 outside range + { + LogDebug("RectangularPixelPhase2Topology") + << " very bad, newbinx " << ixbin << "\n" + << px << " " << m_xoffset << " " << m_pitchx << " " << newxbin << " " << ixbin << " " << fractionX; + } +#endif // EDM_ML_DEBUG + +#ifdef EDM_ML_DEBUG + + if (mpX < 0. || mpX >= 2 * m_ROW_PER_ROC) { + LogDebug("RectangularPixelPhase2Topology") + << " bad pix x " << mpX << "\n" + << px << " " << m_xoffset << " " << m_pitchx << " " << newxbin << " " << ixbin << " " << fractionX; + } +#endif // EDM_ML_DEBUG + + return std::pair(mpX, mpY); +} + +//---------------------------------------------------------------------- +// Topology interface, go from Masurement to Local corrdinates +// pixel coordinates (mp) -> cm (LocalPoint) +LocalPoint RectangularPixelPhase2Topology::localPosition(const MeasurementPoint& mp) const { + float mpy = mp.y(); // measurements + float mpx = mp.x(); + +#ifdef EDM_ML_DEBUG +#define EPS 0 + // check limits + std::ostringstream debugstr; + + if (mpy < 0.) { + debugstr << " wrong mp y, fix " << mpy << " " << 0 << "\n"; + mpy = 0.; + } + if (mpy >= m_ncols) { + debugstr << " wrong mp y, fix " << mpy << " " << m_ncols << "\n"; + mpy = float(m_ncols) - EPS; // EPS is a small number + } + if (mpx < 0.) { + debugstr << " wrong mp x, fix " << mpx << " " << 0 << "\n"; + mpx = 0.; + } + if (mpx >= m_nrows) { + debugstr << " wrong mp x, fix " << mpx << " " << m_nrows << "\n"; + mpx = float(m_nrows) - EPS; // EPS is a small number + } + if (!debugstr.str().empty()) + LogDebug("RectangularPixelPhase2Topology") << debugstr.str(); +#endif // EDM_ML_DEBUG + + float lpY = localY(mpy); + float lpX = localX(mpx); + + // Return it as a LocalPoint + return LocalPoint(lpX, lpY); +} + +//-------------------------------------------------------------------- +// +// measurement to local transformation for X coordinate +// X coordinate is in the ROC row number direction +float RectangularPixelPhase2Topology::localX(const float mpx) const { + int binoffx = int(mpx); // truncate to int + float fractionX = mpx - float(binoffx); // find the fraction + float local_pitchx = m_pitchx; // defaultpitch + int ispix_secondhalf_x = 0; + + if (binoffx >= (m_nrows / 2 - 2 + 2 * m_nrows / m_ROWS_PER_ROC)) { // ROC 1 - handles x on edge cluster + binoffx = binoffx - 2 * m_nrows / m_ROWS_PER_ROC; + ispix_secondhalf_x = 1; + } else if (((m_nrows / 2 - 2) <= binoffx) && (binoffx < (m_nrows / 2 - 2 + 2 * m_nrows / m_ROWS_PER_ROC))) { // ROC 1 + binoffx = m_nrows / 2 - 2; + fractionX = mpx - float(m_nrows / 2 - 2); + local_pitchx = m_BIG_PIX_PITCH_X; + } + +#ifdef EDM_ML_DEBUG + if (binoffx > m_ROWS_PER_ROC * m_ROCS_X) // too large + { + LogDebug("RectangularPixelPhase2Topology") + << " very bad, binx " << binoffx << "\n" + << mpx << " " << binoffx << " " << fractionX << " " << local_pitchx << " " << m_xoffset << "\n"; + } +#endif + + // The final position in local coordinates + float lpX = float(binoffx * m_pitchx) + fractionX * local_pitchx + + ispix_secondhalf_x * 2 * m_BIG_PIX_PITCH_X * m_nrows / m_ROWS_PER_ROC + m_xoffset; + +#ifdef EDM_ML_DEBUG + + if (lpX < m_xoffset || lpX > (-m_xoffset)) { + LogDebug("RectangularPixelPhase2Topology") + << " bad lp x " << lpX << "\n" + << mpx << " " << binoffx << " " << fractionX << " " << local_pitchx << " " << m_xoffset; + } +#endif // EDM_ML_DEBUG + + return lpX; +} + +// measurement to local transformation for Y coordinate +// Y is in the ROC column number direction +float RectangularPixelPhase2Topology::localY(const float mpy) const { + int binoffy = int(mpy); // truncate to int + float fractionY = mpy - float(binoffy); // find the fraction + float local_pitchy = m_pitchy; // defaultpitch + int ispix_secondhalf_y = 0; + + if (binoffy >= (m_ncols / 2 - 1 + m_ncols / m_COLS_PER_ROC)) { // ROC 1 - handles x on edge cluster + binoffy = binoffy - m_ncols / m_COLS_PER_ROC; + ispix_secondhalf_y = 1; + } else if (((m_ncols / 2 - 1) <= binoffy) && (binoffy < (m_ncols / 2 - 1 + m_ncols / m_COLS_PER_ROC))) { // ROC 1 + binoffy = m_ncols / 2 - 1; + fractionY = mpy - float(m_ncols / 2 - 1); + local_pitchy = m_BIG_PIX_PITCH_Y; + } + +#ifdef EDM_ML_DEBUG + if (binoffy > m_ROCS_Y * m_COLS_PER_ROC) // too large + { + LogDebug("RectangularPixelPhase2Topology") + << " very bad, biny " << binoffy << "\n" + << mpy << " " << binoffy << " " << fractionY << " " << local_pitchy << " " << m_yoffset; + } +#endif + + // The final position in local coordinates // using an int to switch first or second half of the module. + float lpY = float(binoffy * m_pitchy) + fractionY * local_pitchy + + ispix_secondhalf_y * m_BIG_PIX_PITCH_Y * m_ncols / m_COLS_PER_ROC + m_yoffset; + +#ifdef EDM_ML_DEBUG + + if (lpY < m_yoffset || lpY > (-m_yoffset)) { + LogDebug("RectangularPixelPhase2Topology") + << " bad lp y " << lpY << "\n" + << mpy << " " << binoffy << " " << fractionY << " " << local_pitchy << " " << m_yoffset; + } +#endif // EDM_ML_DEBUG + + return lpY; +} + +/////////////////////////////////////////////////////////////////// +// Get hit errors in LocalPoint coordinates (cm) +LocalError RectangularPixelPhase2Topology::localError(const MeasurementPoint& mp, const MeasurementError& me) const { + float pitchy = m_pitchy; + int binoffy = int(mp.y()); + if (isItBigPixelInY(binoffy)) + pitchy = 2. * m_pitchy; + + float pitchx = m_pitchx; + int binoffx = int(mp.x()); + if (isItBigPixelInX(binoffx)) + pitchx = 2. * m_pitchx; + + return LocalError(me.uu() * float(pitchx * pitchx), 0, me.vv() * float(pitchy * pitchy)); +} + +///////////////////////////////////////////////////////////////////// +// Get errors in pixel pitch units. +MeasurementError RectangularPixelPhase2Topology::measurementError(const LocalPoint& lp, const LocalError& le) const { + float pitchy = m_pitchy; + float pitchx = m_pitchx; + + return MeasurementError(le.xx() / float(pitchx * pitchx), 0, le.yy() / float(pitchy * pitchy)); +} diff --git a/Geometry/TrackerGeometryBuilder/src/RectangularPixelTopology.cc b/Geometry/TrackerGeometryBuilder/src/RectangularPixelTopology.cc index ea90bc45a6f71..b35f793e079a2 100644 --- a/Geometry/TrackerGeometryBuilder/src/RectangularPixelTopology.cc +++ b/Geometry/TrackerGeometryBuilder/src/RectangularPixelTopology.cc @@ -57,43 +57,27 @@ std::pair RectangularPixelTopology::pixel(const LocalPoint& p) con int numROC = 0; float mpY = 0.; - if (m_upgradeGeometry) { - iybin0 = (iybin % m_COLS_PER_ROC); // 0-51 - numROC = iybin / m_COLS_PER_ROC; // 0-7 - mpY = float(numROC * m_COLS_PER_ROC + iybin0) + fractionY; - -#ifdef EDM_ML_DEBUG - - if (iybin0 > m_COLS_PER_ROC) { - LogDebug("RectangularPixelTopology") << " very bad, newbiny " << iybin0 << "\n" - << py << " " << m_yoffset << " " << m_pitchy << " " << newybin << " " - << iybin << " " << fractionY << " " << iybin0 << " " << numROC; - } -#endif // EDM_ML_DEBUG - - } else { - iybin0 = (iybin % 54); // 0-53 - numROC = iybin / 54; // 0-7 - - if (iybin0 == 53) { // inside big pixel - iybin0 = 51; - fractionY = (fractionY + 1.) / 2.; - } else if (iybin0 == 52) { // inside big pixel - iybin0 = 51; - fractionY = fractionY / 2.; - } else if (iybin0 > 1) { // inside normal pixel - iybin0 = iybin0 - 1; - } else if (iybin0 == 1) { // inside big pixel - iybin0 = 0; - fractionY = (fractionY + 1.) / 2.; - } else if (iybin0 == 0) { // inside big pixel - iybin0 = 0; - fractionY = fractionY / 2.; - } - - mpY = float(numROC * 52. + iybin0) + fractionY; + iybin0 = (iybin % 54); // 0-53 + numROC = iybin / 54; // 0-7 + + if (iybin0 == 53) { // inside big pixel + iybin0 = 51; + fractionY = (fractionY + 1.) / 2.; + } else if (iybin0 == 52) { // inside big pixel + iybin0 = 51; + fractionY = fractionY / 2.; + } else if (iybin0 > 1) { // inside normal pixel + iybin0 = iybin0 - 1; + } else if (iybin0 == 1) { // inside big pixel + iybin0 = 0; + fractionY = (fractionY + 1.) / 2.; + } else if (iybin0 == 0) { // inside big pixel + iybin0 = 0; + fractionY = fractionY / 2.; } + mpY = float(numROC * 52. + iybin0) + fractionY; + #ifdef EDM_ML_DEBUG if (mpY < 0. || mpY >= 416.) { @@ -118,22 +102,20 @@ std::pair RectangularPixelTopology::pixel(const LocalPoint& p) con } #endif // EDM_ML_DEBUG - if (!m_upgradeGeometry) { - if (ixbin > 82) { // inside normal pixel, ROC 1 - ixbin = ixbin - 2; - } else if (ixbin == 82) { // inside bin pixel - ixbin = 80; - fractionX = (fractionX + 1.) / 2.; - } else if (ixbin == 81) { // inside big pixel - ixbin = 80; - fractionX = fractionX / 2.; - } else if (ixbin == 80) { // inside bin pixel, ROC 0 - ixbin = 79; - fractionX = (fractionX + 1.) / 2.; - } else if (ixbin == 79) { // inside big pixel - ixbin = 79; - fractionX = fractionX / 2.; - } + if (ixbin > 82) { // inside normal pixel, ROC 1 + ixbin = ixbin - 2; + } else if (ixbin == 82) { // inside bin pixel + ixbin = 80; + fractionX = (fractionX + 1.) / 2.; + } else if (ixbin == 81) { // inside big pixel + ixbin = 80; + fractionX = fractionX / 2.; + } else if (ixbin == 80) { // inside bin pixel, ROC 0 + ixbin = 79; + fractionX = (fractionX + 1.) / 2.; + } else if (ixbin == 79) { // inside big pixel + ixbin = 79; + fractionX = fractionX / 2.; } float mpX = float(ixbin) + fractionX; @@ -198,36 +180,25 @@ float RectangularPixelTopology::localX(const float mpx) const { float fractionX = mpx - float(binoffx); // find the fraction float local_pitchx = m_pitchx; // defaultpitch - if UNLIKELY (m_upgradeGeometry) { -#ifdef EDM_ML_DEBUG - if (binoffx > m_ROWS_PER_ROC * m_ROCS_X) // too large - { - LogDebug("RectangularPixelTopology") - << " very bad, binx " << binoffx << "\n" - << mpx << " " << binoffx << " " << fractionX << " " << local_pitchx << " " << m_xoffset << "\n"; - } -#endif - } else { - if (binoffx > 80) { // ROC 1 - handles x on edge cluster - binoffx = binoffx + 2; - } else if (binoffx == 80) { // ROC 1 - binoffx = binoffx + 1; - local_pitchx *= 2; - } else if (binoffx == 79) { // ROC 0 - binoffx = binoffx + 0; - local_pitchx *= 2; - } - // else if (binoffx>=0) { // ROC 0 - // binoffx=binoffx+0; - // } + if (binoffx > 80) { // ROC 1 - handles x on edge cluster + binoffx = binoffx + 2; + } else if (binoffx == 80) { // ROC 1 + binoffx = binoffx + 1; + local_pitchx *= 2; + } else if (binoffx == 79) { // ROC 0 + binoffx = binoffx + 0; + local_pitchx *= 2; + } + // else if (binoffx>=0) { // ROC 0 + // binoffx=binoffx+0; + // } #ifdef EDM_ML_DEBUG - if (binoffx < 0) // too small - LogDebug("RectangularPixelTopology") - << " very bad, binx " << binoffx << "\n" - << mpx << " " << binoffx << " " << fractionX << " " << local_pitchx << " " << m_xoffset; + if (binoffx < 0) // too small + LogDebug("RectangularPixelTopology") << " very bad, binx " << binoffx << "\n" + << mpx << " " << binoffx << " " << fractionX << " " << local_pitchx << " " + << m_xoffset; #endif - } // The final position in local coordinates float lpX = float(binoffx * m_pitchx) + fractionX * local_pitchx + m_xoffset; @@ -251,22 +222,11 @@ float RectangularPixelTopology::localY(const float mpy) const { float fractionY = mpy - float(binoffy); // find the fraction float local_pitchy = m_pitchy; // defaultpitch - if UNLIKELY (m_upgradeGeometry) { -#ifdef EDM_ML_DEBUG - if (binoffy > m_ROCS_Y * m_COLS_PER_ROC) // too large - { - LogDebug("RectangularPixelTopology") - << " very bad, biny " << binoffy << "\n" - << mpy << " " << binoffy << " " << fractionY << " " << local_pitchy << " " << m_yoffset; - } -#endif - } else { // 415 is last big pixel, 416 and above do not exists! - constexpr int bigYIndeces[]{0, 51, 52, 103, 104, 155, 156, 207, 208, 259, 260, 311, 312, 363, 364, 415, 416, 511}; - auto const j = std::lower_bound(std::begin(bigYIndeces), std::end(bigYIndeces), binoffy); - if (*j == binoffy) - local_pitchy *= 2; - binoffy += (j - bigYIndeces); - } + constexpr int bigYIndeces[]{0, 51, 52, 103, 104, 155, 156, 207, 208, 259, 260, 311, 312, 363, 364, 415, 416, 511}; + auto const j = std::lower_bound(std::begin(bigYIndeces), std::end(bigYIndeces), binoffy); + if (*j == binoffy) + local_pitchy *= 2; + binoffy += (j - bigYIndeces); // The final position in local coordinates float lpY = float(binoffy * m_pitchy) + fractionY * local_pitchy + m_yoffset; @@ -305,18 +265,16 @@ MeasurementError RectangularPixelTopology::measurementError(const LocalPoint& lp float pitchy = m_pitchy; float pitchx = m_pitchx; - if LIKELY (!m_upgradeGeometry) { - int iybin = int((lp.y() - m_yoffset) / m_pitchy); //get bin for equal picth - int iybin0 = iybin % 54; //This is just to avoid many ifs by using the periodicy - //quasi bins 0,1,52,53 fall into larger pixels - if ((iybin0 <= 1) | (iybin0 >= 52)) - pitchy = 2.f * m_pitchy; - - int ixbin = int((lp.x() - m_xoffset) / m_pitchx); //get bin for equal pitch - //quasi bins 79,80,81,82 fall into the 2 larger pixels - if ((ixbin >= 79) & (ixbin <= 82)) - pitchx = 2.f * m_pitchx; - } + int iybin = int((lp.y() - m_yoffset) / m_pitchy); //get bin for equal picth + int iybin0 = iybin % 54; //This is just to avoid many ifs by using the periodicy + //quasi bins 0,1,52,53 fall into larger pixels + if ((iybin0 <= 1) | (iybin0 >= 52)) + pitchy = 2.f * m_pitchy; + + int ixbin = int((lp.x() - m_xoffset) / m_pitchx); //get bin for equal pitch + //quasi bins 79,80,81,82 fall into the 2 larger pixels + if ((ixbin >= 79) & (ixbin <= 82)) + pitchx = 2.f * m_pitchx; return MeasurementError(le.xx() / float(pitchx * pitchx), 0, le.yy() / float(pitchy * pitchy)); } diff --git a/Geometry/TrackerGeometryBuilder/src/TrackerGeomBuilderFromGeometricDet.cc b/Geometry/TrackerGeometryBuilder/src/TrackerGeomBuilderFromGeometricDet.cc index b464a094b4323..58a3527411158 100644 --- a/Geometry/TrackerGeometryBuilder/src/TrackerGeomBuilderFromGeometricDet.cc +++ b/Geometry/TrackerGeometryBuilder/src/TrackerGeomBuilderFromGeometricDet.cc @@ -10,8 +10,10 @@ #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetType.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetUnit.h" #include "Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h" +#include "Geometry/TrackerGeometryBuilder/interface/PixelPhase2TopologyBuilder.h" #include "Geometry/TrackerGeometryBuilder/interface/StripTopologyBuilder.h" #include "CondFormats/GeometryObjects/interface/PTrackerParameters.h" +#include "CondFormats/GeometryObjects/interface/PTrackerAdditionalParametersPerDet.h" #include "DataFormats/DetId/interface/DetId.h" #include "DataFormats/TrackerCommon/interface/TrackerTopology.h" #include "DataFormats/GeometrySurface/interface/MediumProperties.h" @@ -42,6 +44,7 @@ namespace { } // namespace TrackerGeometry* TrackerGeomBuilderFromGeometricDet::build(const GeometricDet* gd, + const PTrackerAdditionalParametersPerDet* ptitpx, const PTrackerParameters& ptp, const TrackerTopology* tTopo) { if (ptp.vpars.size() != 6) { @@ -50,6 +53,8 @@ TrackerGeometry* TrackerGeomBuilderFromGeometricDet::build(const GeometricDet* g << " entrie(s)."; } + // phase-0, phase-1; BIG_PIX_PER_ROC from trackerParameters.xml + // phase-2: BIG_PIX_PER_ROC from pixelStructureTopology.xml (redefined later in buildPixel() ) const int BIG_PIX_PER_ROC_X = ptp.vpars[2]; const int BIG_PIX_PER_ROC_Y = ptp.vpars[3]; @@ -102,25 +107,25 @@ TrackerGeometry* TrackerGeomBuilderFromGeometricDet::build(const GeometricDet* g for (unsigned int i = 0; i < 6; ++i) { if (gdsubdetmap[i] == GeometricDet::PixelBarrel) buildPixel( - dets[i], tracker, GeomDetEnumerators::SubDetector::PixelBarrel, false, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); + dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::PixelBarrel, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); if (gdsubdetmap[i] == GeometricDet::PixelPhase1Barrel) - buildPixel(dets[i], tracker, GeomDetEnumerators::SubDetector::P1PXB, false, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); - // Phase2 case - if (gdsubdetmap[i] == GeometricDet::PixelPhase2Barrel) - buildPixel(dets[i], tracker, GeomDetEnumerators::SubDetector::P2PXB, true, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); - // + buildPixel( + dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::P1PXB, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); if (gdsubdetmap[i] == GeometricDet::PixelEndCap) buildPixel( - dets[i], tracker, GeomDetEnumerators::SubDetector::PixelEndcap, false, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); + dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::PixelEndcap, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); if (gdsubdetmap[i] == GeometricDet::PixelPhase1EndCap) buildPixel( - dets[i], tracker, GeomDetEnumerators::SubDetector::P1PXEC, false, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); + dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::P1PXEC, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); + // Phase2 case + if (gdsubdetmap[i] == GeometricDet::PixelPhase2Barrel) + buildPixelPhase2(dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::P2PXB); if (gdsubdetmap[i] == GeometricDet::PixelPhase2EndCap) - buildPixel(dets[i], tracker, GeomDetEnumerators::SubDetector::P2PXEC, true, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); + buildPixelPhase2(dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::P2PXEC); if (gdsubdetmap[i] == GeometricDet::OTPhase2Barrel) - buildPixel(dets[i], tracker, GeomDetEnumerators::SubDetector::P2OTB, true, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); + buildPixelPhase2(dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::P2OTB); if (gdsubdetmap[i] == GeometricDet::OTPhase2EndCap) - buildPixel(dets[i], tracker, GeomDetEnumerators::SubDetector::P2OTEC, true, BIG_PIX_PER_ROC_X, BIG_PIX_PER_ROC_Y); + buildPixelPhase2(dets[i], ptitpx, tracker, GeomDetEnumerators::SubDetector::P2OTEC); } //now building Strips for (unsigned int i = 0; i < 6; ++i) { @@ -150,19 +155,17 @@ TrackerGeometry* TrackerGeomBuilderFromGeometricDet::build(const GeometricDet* g return tracker; } -void TrackerGeomBuilderFromGeometricDet::buildPixel( - std::vector const& gdv, - TrackerGeometry* tracker, - GeomDetType::SubDetector det, - bool upgradeGeometry, - int BIG_PIX_PER_ROC_X, // in x direction, rows. BIG_PIX_PER_ROC_X = 0 for SLHC - int BIG_PIX_PER_ROC_Y) // in y direction, cols. BIG_PIX_PER_ROC_Y = 0 for SLHC +void TrackerGeomBuilderFromGeometricDet::buildPixel(std::vector const& gdv, + const PTrackerAdditionalParametersPerDet* const& ptitp, + TrackerGeometry* tracker, + GeomDetType::SubDetector det, + int BIG_PIX_PER_ROC_X, // in x direction, rows. + int BIG_PIX_PER_ROC_Y) // in y direction, cols. { LogDebug("BuildingGeomDetUnits") << " Pixel type. Size of vector: " << gdv.size() << " GeomDetType subdetector: " << det << " logical subdetector: " << GeomDetEnumerators::subDetGeom[det] - << " big pix per ROC x: " << BIG_PIX_PER_ROC_X << " y: " << BIG_PIX_PER_ROC_Y - << " is upgrade: " << upgradeGeometry; + << " big pix per ROC x: " << BIG_PIX_PER_ROC_X << " y: " << BIG_PIX_PER_ROC_Y; tracker->setOffsetDU(GeomDetEnumerators::subDetGeom[det]); @@ -171,7 +174,6 @@ void TrackerGeomBuilderFromGeometricDet::buildPixel( if (thePixelDetTypeMap.find(detName) == thePixelDetTypeMap.end()) { std::unique_ptr bounds(i->bounds()); PixelTopology* t = PixelTopologyBuilder().build(bounds.get(), - upgradeGeometry, (int)i->pixROCRows(), (int)i->pixROCCols(), BIG_PIX_PER_ROC_X, @@ -192,6 +194,47 @@ void TrackerGeomBuilderFromGeometricDet::buildPixel( tracker->setEndsetDU(GeomDetEnumerators::subDetGeom[det]); } +void TrackerGeomBuilderFromGeometricDet::buildPixelPhase2(std::vector const& gdv, + const PTrackerAdditionalParametersPerDet* const& ptitp, + TrackerGeometry* tracker, + GeomDetType::SubDetector det) { + LogDebug("BuildingGeomDetUnits") << " Phase2 Pixel type. Size of vector: " << gdv.size() + << " GeomDetType subdetector: " << det + << " logical subdetector: " << GeomDetEnumerators::subDetGeom[det]; + + tracker->setOffsetDU(GeomDetEnumerators::subDetGeom[det]); + + for (auto const& i : gdv) { + std::string const& detName = i->name(); + if (thePixelDetTypeMap.find(detName) == thePixelDetTypeMap.end()) { + std::unique_ptr bounds(i->bounds()); + int BIG_PIX_PER_ROC_X = i->bigPixelsx(); // in x direction, rows + int BIG_PIX_PER_ROC_Y = i->bigPixelsy(); // in y direction, cols + float BIG_PIX_PITCH_X = i->bigPixelsPitchx(); // in x direction, rows + float BIG_PIX_PITCH_Y = i->bigPixelsPitchy(); // in y direction, cols + PixelTopology* t = PixelPhase2TopologyBuilder().build(bounds.get(), + (int)i->pixROCRows(), + (int)i->pixROCCols(), + BIG_PIX_PER_ROC_X, + BIG_PIX_PER_ROC_Y, + BIG_PIX_PITCH_X, + BIG_PIX_PITCH_Y, + (int)i->pixROCx(), + (int)i->pixROCy()); + + thePixelDetTypeMap[detName] = new PixelGeomDetType(t, detName, det); + tracker->addType(thePixelDetTypeMap[detName]); + } + + PlaneBuilderFromGeometricDet::ResultType plane = buildPlaneWithMaterial(i); + GeomDetUnit* temp = new PixelGeomDetUnit(&(*plane), thePixelDetTypeMap[detName], i->geographicalId()); + + tracker->addDetUnit(temp); + tracker->addDetUnitId(i->geographicalId()); + } + tracker->setEndsetDU(GeomDetEnumerators::subDetGeom[det]); +} + void TrackerGeomBuilderFromGeometricDet::buildSilicon(std::vector const& gdv, TrackerGeometry* tracker, GeomDetType::SubDetector det, diff --git a/Geometry/TrackerGeometryBuilder/test/python/testTrackerMap_cfg.py b/Geometry/TrackerGeometryBuilder/test/python/testTrackerMap_cfg.py index 860ee01da7ba4..d4265a9b5d25b 100644 --- a/Geometry/TrackerGeometryBuilder/test/python/testTrackerMap_cfg.py +++ b/Geometry/TrackerGeometryBuilder/test/python/testTrackerMap_cfg.py @@ -8,6 +8,7 @@ process.load("Geometry.TrackerNumberingBuilder.trackerTopology_cfi") process.load("Geometry.TrackerGeometryBuilder.trackerGeometry_cfi") process.load("Geometry.TrackerGeometryBuilder.trackerParameters_cfi") +process.load("Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi") process.load("Geometry.TrackerSimData.trackerSimGeometryXML_cfi") process.load("Alignment.CommonAlignmentProducer.FakeAlignmentSource_cfi") diff --git a/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDD4hep_cfg.py b/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDD4hep_cfg.py index daea66e3e9a05..f6abec4b69f43 100644 --- a/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDD4hep_cfg.py +++ b/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDD4hep_cfg.py @@ -6,7 +6,7 @@ process.load("FWCore.MessageLogger.MessageLogger_cfi") # Choose Tracker Geometry -process.load('Configuration.Geometry.GeometryDD4hepExtended2021Reco_cff') +process.load('Configuration.Geometry.GeometryDD4hepExtended2026D100Reco_cff') process.TrackerGeometricDetESModule = cms.ESProducer( "TrackerGeometricDetESModule", fromDDD = cms.bool( False ), @@ -15,6 +15,8 @@ process.es_prefer_geomdet = cms.ESPrefer("TrackerGeometricDetESModule","") +process.load("Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi") + process.load("Alignment.CommonAlignmentProducer.FakeAlignmentSource_cfi") process.preferFakeAlign = cms.ESPrefer("FakeAlignmentSource") diff --git a/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDDD_cfg.py b/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDDD_cfg.py index 343f1f18b639a..befb3692875ca 100644 --- a/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDDD_cfg.py +++ b/Geometry/TrackerGeometryBuilder/test/python/testTrackerModuleInfoDDD_cfg.py @@ -5,7 +5,7 @@ process.load("FWCore.MessageLogger.MessageLogger_cfi") # Choose Tracker Geometry -process.load('Configuration.Geometry.GeometryExtended_cff') +process.load('Configuration.Geometry.GeometryExtended2026D100_cff') process.load('Geometry.CommonTopologies.globalTrackingGeometry_cfi') process.load('Geometry.TrackerGeometryBuilder.trackerParameters_cfi') process.load('Geometry.TrackerNumberingBuilder.trackerTopology_cfi') @@ -16,6 +16,8 @@ process.es_prefer_geomdet = cms.ESPrefer("TrackerGeometricDetESModule","") +process.load("Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi") + process.load("Alignment.CommonAlignmentProducer.FakeAlignmentSource_cfi") process.preferFakeAlign = cms.ESPrefer("FakeAlignmentSource") diff --git a/Geometry/TrackerNumberingBuilder/interface/GeometricDet.h b/Geometry/TrackerNumberingBuilder/interface/GeometricDet.h index 41b447f06dc4e..ddd5f4ec5d722 100644 --- a/Geometry/TrackerNumberingBuilder/interface/GeometricDet.h +++ b/Geometry/TrackerNumberingBuilder/interface/GeometricDet.h @@ -135,12 +135,16 @@ class GeometricDet { double pixROCCols() const { return pixROCCols_; } double pixROCx() const { return pixROCx_; } double pixROCy() const { return pixROCy_; } + int bigPixelsx() const { return bigPixelsx_; } + int bigPixelsy() const { return bigPixelsy_; } + float bigPixelsPitchx() const { return bigPixelsPitchx_; } + float bigPixelsPitchy() const { return bigPixelsPitchy_; } + bool isFirstSensor() const { return isFirstSensor_; } + bool isSecondSensor() const { return isSecondSensor_; } // Only return meaningful results for Outer Trackers. bool stereo() const { return stereo_; } bool isLowerSensor() const { return isLowerSensor_; } bool isUpperSensor() const { return isUpperSensor_; } - bool isFirstSensor() const { return isFirstSensor_; } - bool isSecondSensor() const { return isSecondSensor_; } double siliconAPVNum() const { return siliconAPVNum_; } // DETECTOR DESCRIPTION ORIGIN INFO @@ -195,11 +199,15 @@ class GeometricDet { double pixROCCols_ = 0.; double pixROCx_ = 0.; double pixROCy_ = 0.; + int bigPixelsx_ = 0; + int bigPixelsy_ = 0; + float bigPixelsPitchx_ = 0.; + float bigPixelsPitchy_ = 0.; + bool isFirstSensor_ = false; + bool isSecondSensor_ = false; bool stereo_ = false; bool isLowerSensor_ = false; bool isUpperSensor_ = false; - bool isFirstSensor_ = false; - bool isSecondSensor_ = false; double siliconAPVNum_ = 0.; bool isFromDD4hep_ = false; diff --git a/Geometry/TrackerNumberingBuilder/src/GeometricDet.cc b/Geometry/TrackerNumberingBuilder/src/GeometricDet.cc index e784dcfe88977..67ec7e2f37593 100644 --- a/Geometry/TrackerNumberingBuilder/src/GeometricDet.cc +++ b/Geometry/TrackerNumberingBuilder/src/GeometricDet.cc @@ -93,11 +93,15 @@ GeometricDet::GeometricDet(DDFilteredView* fv, GeometricEnumType type) pixROCCols_ = getDouble("PixelROCCols", *fv); pixROCx_ = getDouble("PixelROC_X", *fv); pixROCy_ = getDouble("PixelROC_Y", *fv); + bigPixelsx_ = getDouble("BigPixels_X", *fv); + bigPixelsy_ = getDouble("BigPixels_Y", *fv); + bigPixelsPitchx_ = getDouble("BigPixels_Pitch_X", *fv); + bigPixelsPitchy_ = getDouble("BigPixels_Pitch_Y", *fv); + isFirstSensor_ = (getString("TrackerFirstDetectors", *fv) == strue); + isSecondSensor_ = (getString("TrackerSecondDetectors", *fv) == strue); stereo_ = (getString("TrackerStereoDetectors", *fv) == strue); isLowerSensor_ = (getString("TrackerLowerDetectors", *fv) == strue); isUpperSensor_ = (getString("TrackerUpperDetectors", *fv) == strue); - isFirstSensor_ = (getString("TrackerFirstDetectors", *fv) == strue); - isSecondSensor_ = (getString("TrackerSecondDetectors", *fv) == strue); siliconAPVNum_ = getDouble("SiliconAPVNumber", *fv); } } @@ -129,6 +133,14 @@ GeometricDet::GeometricDet(cms::DDFilteredView* fv, GeometricEnumType type) pixROCCols_ = fv->get("PixelROCCols"); pixROCx_ = fv->get("PixelROC_X"); pixROCy_ = fv->get("PixelROC_Y"); + bigPixelsx_ = fv->get("BigPixels_X"); + bigPixelsy_ = fv->get("BigPixels_Y"); + bigPixelsPitchx_ = fv->get("BigPixels_Pitch_X"); + bigPixelsPitchy_ = fv->get("BigPixels_Pitch_Y"); + + // Phase 2 IT 3D sensors only + isFirstSensor_ = (fv->get("TrackerFirstDetectors") == strue); + isSecondSensor_ = (fv->get("TrackerSecondDetectors") == strue); // Phase 1 OT sensors only (NB: hence could add a branch here, but not a critical part on perf) stereo_ = (fv->get("TrackerStereoDetectors") == strue); @@ -137,8 +149,6 @@ GeometricDet::GeometricDet(cms::DDFilteredView* fv, GeometricEnumType type) // Phase 2 OT sensors only (NB: hence could add a branch here, but not a critical part on perf) isLowerSensor_ = (fv->get("TrackerLowerDetectors") == strue); isUpperSensor_ = (fv->get("TrackerUpperDetectors") == strue); - isFirstSensor_ = (fv->get("TrackerFirstDetectors") == strue); - isSecondSensor_ = (fv->get("TrackerSecondDetectors") == strue); // All sensors: IT or OT, Phase 1 or Phase 2 (NB: critical part on perf) fv->findSpecPar("TrackerRadLength", "TrackerXi"); diff --git a/HLTrigger/Configuration/python/customizeHLTforCMSSW.py b/HLTrigger/Configuration/python/customizeHLTforCMSSW.py index 4f116461823d2..b35dfef990fec 100644 --- a/HLTrigger/Configuration/python/customizeHLTforCMSSW.py +++ b/HLTrigger/Configuration/python/customizeHLTforCMSSW.py @@ -261,6 +261,13 @@ def checkHLTfor43774(process): return process +def customizeHLTfor44576(process): + """Ensure TrackerAdditionalParametersPerDetRcd ESProducer is run when needed""" + for esprod in esproducers_by_type(process, 'TrackerGeometricDetESModule'): + process.load("Geometry.TrackerGeometryBuilder.TrackerAdditionalParametersPerDet_cfi") + break + return process + # CMSSW version specific customizations def customizeHLTforCMSSW(process, menuType="GRun"): @@ -270,5 +277,6 @@ def customizeHLTforCMSSW(process, menuType="GRun"): # process = customiseFor12718(process) process = checkHLTfor43774(process) + process = customizeHLTfor44576(process) return process diff --git a/L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker.cc b/L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker.cc index 62c0805157ab5..11483cbeb6256 100644 --- a/L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker.cc +++ b/L1Trigger/L1TTrackMatch/test/L1TrackObjectNtupleMaker.cc @@ -43,7 +43,6 @@ #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/CommonDetUnit/interface/GeomDetType.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" diff --git a/L1Trigger/TrackFindingTracklet/plugins/L1FPGATrackProducer.cc b/L1Trigger/TrackFindingTracklet/plugins/L1FPGATrackProducer.cc index b6381bd4221e9..2272971e53a6b 100644 --- a/L1Trigger/TrackFindingTracklet/plugins/L1FPGATrackProducer.cc +++ b/L1Trigger/TrackFindingTracklet/plugins/L1FPGATrackProducer.cc @@ -71,7 +71,6 @@ #include "Geometry/CommonTopologies/interface/PixelGeomDetType.h" #include "Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/CommonDetUnit/interface/GeomDetType.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" // diff --git a/L1Trigger/TrackFindingTracklet/test/L1TrackNtupleMaker.cc b/L1Trigger/TrackFindingTracklet/test/L1TrackNtupleMaker.cc index 3c1ab1d5a26c6..9225b3015a3e9 100644 --- a/L1Trigger/TrackFindingTracklet/test/L1TrackNtupleMaker.cc +++ b/L1Trigger/TrackFindingTracklet/test/L1TrackNtupleMaker.cc @@ -45,7 +45,6 @@ #include "MagneticField/Records/interface/IdealMagneticFieldRecord.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/CommonDetUnit/interface/GeomDetType.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" diff --git a/L1Trigger/TrackTrigger/interface/StubPtConsistency.h b/L1Trigger/TrackTrigger/interface/StubPtConsistency.h index 537b37fb3278e..c0cf83a44eda6 100644 --- a/L1Trigger/TrackTrigger/interface/StubPtConsistency.h +++ b/L1Trigger/TrackTrigger/interface/StubPtConsistency.h @@ -8,7 +8,6 @@ #include "Geometry/CommonDetUnit/interface/PixelGeomDetType.h" #include "Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/CommonDetUnit/interface/GeomDetType.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" diff --git a/L1Trigger/TrackTrigger/test/AnalyzerPrintGeomInfo.cc b/L1Trigger/TrackTrigger/test/AnalyzerPrintGeomInfo.cc index 6ed038b161b85..817ebde1cb234 100644 --- a/L1Trigger/TrackTrigger/test/AnalyzerPrintGeomInfo.cc +++ b/L1Trigger/TrackTrigger/test/AnalyzerPrintGeomInfo.cc @@ -14,7 +14,6 @@ #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" #include "Geometry/TrackerNumberingBuilder/interface/GeometricDet.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "DataFormats/SiPixelDetId/interface/PXBDetId.h" #include "DataFormats/SiPixelDetId/interface/PXFDetId.h" #include "CommonTools/UtilAlgos/interface/TFileService.h" diff --git a/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc b/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc index 3e1550e0e7f33..5528667b66c75 100644 --- a/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc +++ b/RecoHI/HiTracking/test/HIPixelClusterVtxAnalyzer.cc @@ -1,6 +1,7 @@ #include "FWCore/Framework/interface/one/EDAnalyzer.h" #include "FWCore/Framework/interface/Event.h" #include "FWCore/ParameterSet/interface/ParameterSet.h" +#include "FWCore/MessageLogger/interface/MessageLogger.h" #include "FWCore/ServiceRegistry/interface/Service.h" #include "CommonTools/UtilAlgos/interface/TFileService.h" #include "DataFormats/TrackerRecHit2D/interface/SiPixelRecHitCollection.h" @@ -8,7 +9,6 @@ #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/CommonDetUnit/interface/GeomDet.h" @@ -105,8 +105,7 @@ void HIPixelClusterVtxAnalyzer::analyze(const edm::Event &ev, const edm::EventSe continue; const PixelGeomDetUnit *pgdu = static_cast(tgeo->idToDet(id)); if (1) { - const RectangularPixelTopology *pixTopo = - static_cast(&(pgdu->specificTopology())); + const PixelTopology *pixTopo = static_cast(&(pgdu->specificTopology())); std::vector pixels(hit.cluster()->pixels()); bool pixelOnEdge = false; for (std::vector::const_iterator pixel = pixels.begin(); pixel != pixels.end(); diff --git a/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEBase.h b/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEBase.h index 47995c12f7aaa..958a278382b72 100644 --- a/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEBase.h +++ b/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEBase.h @@ -38,7 +38,6 @@ #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "RecoLocalTracker/ClusterParameterEstimator/interface/PixelClusterParameterEstimator.h" -class RectangularPixelTopology; class MagneticField; class PixelCPEBase : public PixelClusterParameterEstimator { public: @@ -47,7 +46,6 @@ class PixelCPEBase : public PixelClusterParameterEstimator { const PixelGeomDetUnit* theDet; // gavril : replace RectangularPixelTopology with PixelTopology const PixelTopology* theTopol; - const RectangularPixelTopology* theRecTopol; //set default value of enum to avoid USBAN errors GeomDetType::SubDetector thePart = GeomDetEnumerators::invalidDet; diff --git a/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEClusterRepair.h b/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEClusterRepair.h index 1982cff15f81c..0e44e3907b9dd 100644 --- a/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEClusterRepair.h +++ b/RecoLocalTracker/SiPixelRecHits/interface/PixelCPEClusterRepair.h @@ -6,7 +6,6 @@ // Already in the base class //#include "Geometry/CommonDetUnit/interface/GeomDetType.h" //#include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -//#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" //#include "Geometry/CommonDetAlgo/interface/MeasurementPoint.h" //#include "Geometry/CommonDetAlgo/interface/MeasurementError.h" //#include "Geometry/Surface/interface/GloballyPositioned.h" diff --git a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEBase.cc b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEBase.cc index 52a4bfaaad90d..3d2d47d9dd6a8 100644 --- a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEBase.cc +++ b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEBase.cc @@ -6,9 +6,6 @@ // Change to use Generic error & Template calibration from DB - D.Fehling 11/08 #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" -#include "Geometry/CommonTopologies/interface/ProxyPixelTopology.h" - #include "RecoLocalTracker/SiPixelRecHits/interface/PixelCPEBase.h" #define CORRECT_FOR_BIG_PIXELS @@ -176,17 +173,9 @@ void PixelCPEBase::fillDetParams() { auto topol = &(p.theDet->specificTopology()); p.theTopol = topol; - auto const proxyT = dynamic_cast(p.theTopol); - if (proxyT) - p.theRecTopol = dynamic_cast(&(proxyT->specificTopology())); - else - p.theRecTopol = dynamic_cast(p.theTopol); - assert(p.theRecTopol); //--- The geometrical description of one module/plaquette - //p.theNumOfRow = p.theRecTopol->nrows(); // rows in x //Not used, AH. PM: leave commented out. - //p.theNumOfCol = p.theRecTopol->ncolumns(); // cols in y //Not used, AH. PM: leave commented out. - std::pair pitchxy = p.theRecTopol->pitch(); + std::pair pitchxy = p.theTopol->pitch(); p.thePitchX = pitchxy.first; // pitch along x p.thePitchY = pitchxy.second; // pitch along y @@ -220,8 +209,8 @@ void PixelCPEBase::setTheClu(DetParam const& theDetParam, ClusterParam& theClust maxInY = theClusterParam.theCluster->maxPixelCol(); int min_row(0), min_col(0); - int max_row = theDetParam.theRecTopol->nrows() - 1; - int max_col = theDetParam.theRecTopol->ncolumns() - 1; + int max_row = theDetParam.theTopol->nrows() - 1; + int max_col = theDetParam.theTopol->ncolumns() - 1; if (minInX == min_row) theClusterParam.edgeTypeX_ = 1; @@ -246,8 +235,8 @@ void PixelCPEBase::setTheClu(DetParam const& theDetParam, ClusterParam& theClust //if(theClusterParam.theCluster->pixelADC()[i] == 0) { hasBadPixels_ = true; break;} //} - theClusterParam.spansTwoROCs_ = theDetParam.theRecTopol->containsBigPixelInX(minInX, maxInX) || - theDetParam.theRecTopol->containsBigPixelInY(minInY, maxInY); + theClusterParam.spansTwoROCs_ = theDetParam.theTopol->containsBigPixelInX(minInX, maxInX) || + theDetParam.theTopol->containsBigPixelInY(minInY, maxInY); } //----------------------------------------------------------------------------- diff --git a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEClusterRepair.cc b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEClusterRepair.cc index 8a7df758538f5..d2d8502daeea4 100644 --- a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEClusterRepair.cc +++ b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEClusterRepair.cc @@ -236,11 +236,11 @@ LocalPoint PixelCPEClusterRepair::localPosition(DetParam const& theDetParam, Clu bool xdouble[mrow], ydouble[mcol]; // x directions (shorter), rows for (int irow = 0; irow < mrow; ++irow) - xdouble[irow] = theDetParam.theRecTopol->isItBigPixelInX(irow + row_offset); + xdouble[irow] = theDetParam.theTopol->isItBigPixelInX(irow + row_offset); // // y directions (longer), columns for (int icol = 0; icol < mcol; ++icol) - ydouble[icol] = theDetParam.theRecTopol->isItBigPixelInY(icol + col_offset); + ydouble[icol] = theDetParam.theTopol->isItBigPixelInY(icol + col_offset); //--- C-style matrix. We'll need it in either case. float clustMatrix[mrow][mcol]; diff --git a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEFast.cc b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEFast.cc index e2e63b56a35df..8d6d0be7ba0c8 100644 --- a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEFast.cc +++ b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEFast.cc @@ -4,7 +4,6 @@ #include "DataFormats/DetId/interface/DetId.h" #include "FWCore/MessageLogger/interface/MessageLogger.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/CommonTopologies/interface/SimplePixelTopology.h" #include "HeterogeneousCore/CUDAUtilities/interface/cudaCheck.h" #include "MagneticField/Engine/interface/MagneticField.h" diff --git a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGeneric.cc b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGeneric.cc index c425467127c42..d3ddb480b2c69 100644 --- a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGeneric.cc +++ b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGeneric.cc @@ -1,7 +1,6 @@ #include "RecoLocalTracker/SiPixelRecHits/interface/PixelCPEGeneric.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "DataFormats/DetId/interface/DetId.h" // Pixel templates contain the rec hit error parameterizaiton @@ -263,8 +262,8 @@ LocalPoint PixelCPEGeneric::localPosition(DetParam const& theDetParam, ClusterPa theDetParam.theThickness, theClusterParam.cotalpha, theDetParam.thePitchX, - theDetParam.theRecTopol->isItBigPixelInX(theClusterParam.theCluster->minPixelRow()), - theDetParam.theRecTopol->isItBigPixelInX(theClusterParam.theCluster->maxPixelRow()), + theDetParam.theTopol->pixelFractionInX(theClusterParam.theCluster->minPixelRow()), + theDetParam.theTopol->pixelFractionInX(theClusterParam.theCluster->maxPixelRow()), the_eff_charge_cut_lowX, the_eff_charge_cut_highX, the_size_cutX); // cut for eff charge width &&& @@ -287,8 +286,8 @@ LocalPoint PixelCPEGeneric::localPosition(DetParam const& theDetParam, ClusterPa theDetParam.theThickness, theClusterParam.cotbeta, theDetParam.thePitchY, - theDetParam.theRecTopol->isItBigPixelInY(theClusterParam.theCluster->minPixelCol()), - theDetParam.theRecTopol->isItBigPixelInY(theClusterParam.theCluster->maxPixelCol()), + theDetParam.theTopol->pixelFractionInY(theClusterParam.theCluster->minPixelCol()), + theDetParam.theTopol->pixelFractionInY(theClusterParam.theCluster->maxPixelCol()), the_eff_charge_cut_lowY, the_eff_charge_cut_highY, the_size_cutY); // cut for eff charge width &&& @@ -304,7 +303,7 @@ LocalPoint PixelCPEGeneric::localPosition(DetParam const& theDetParam, ClusterPa //cout << "Apply correction correction_dx1 = " << theClusterParam.dx1 << " to xPos = " << xPos; xPos = xPos - (0.5f * theDetParam.lorentzShiftInCmX); // Find if pixel is double (big). - bool bigInX = theDetParam.theRecTopol->isItBigPixelInX(theClusterParam.theCluster->maxPixelRow()); + bool bigInX = theDetParam.theTopol->isItBigPixelInX(theClusterParam.theCluster->maxPixelRow()); if (!bigInX) xPos -= theClusterParam.dx1; else @@ -321,7 +320,7 @@ LocalPoint PixelCPEGeneric::localPosition(DetParam const& theDetParam, ClusterPa yPos = yPos - (0.5f * theDetParam.lorentzShiftInCmY); // Find if pixel is double (big). - bool bigInY = theDetParam.theRecTopol->isItBigPixelInY(theClusterParam.theCluster->maxPixelCol()); + bool bigInY = theDetParam.theTopol->isItBigPixelInY(theClusterParam.theCluster->maxPixelCol()); if (!bigInY) yPos -= theClusterParam.dy1; else @@ -401,12 +400,12 @@ LocalError PixelCPEGeneric::localError(DetParam const& theDetParam, ClusterParam int n_bigy = 0; for (int irow = 0; irow < 7; ++irow) { - if (theDetParam.theRecTopol->isItBigPixelInX(irow + minPixelRow)) + if (theDetParam.theTopol->isItBigPixelInX(irow + minPixelRow)) ++n_bigx; } for (int icol = 0; icol < 21; ++icol) { - if (theDetParam.theRecTopol->isItBigPixelInY(icol + minPixelCol)) + if (theDetParam.theTopol->isItBigPixelInY(icol + minPixelCol)) ++n_bigy; } diff --git a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGenericBase.cc b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGenericBase.cc index 0e9da36558a0d..0e7a802a9a4c1 100644 --- a/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGenericBase.cc +++ b/RecoLocalTracker/SiPixelRecHits/src/PixelCPEGenericBase.cc @@ -1,5 +1,4 @@ #include "RecoLocalTracker/SiPixelRecHits/interface/PixelCPEGenericBase.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" namespace { constexpr float micronsToCm = 1.0e-4; @@ -109,17 +108,17 @@ void PixelCPEGenericBase::initializeLocalErrorVariables( minPixelCol = theClusterParam.theCluster->minPixelCol(); minPixelRow = theClusterParam.theCluster->minPixelRow(); - edgex = (theDetParam.theRecTopol->isItEdgePixelInX(minPixelRow)) || - (theDetParam.theRecTopol->isItEdgePixelInX(maxPixelRow)); - edgey = (theDetParam.theRecTopol->isItEdgePixelInY(minPixelCol)) || - (theDetParam.theRecTopol->isItEdgePixelInY(maxPixelCol)); + edgex = + (theDetParam.theTopol->isItEdgePixelInX(minPixelRow)) || (theDetParam.theTopol->isItEdgePixelInX(maxPixelRow)); + edgey = + (theDetParam.theTopol->isItEdgePixelInY(minPixelCol)) || (theDetParam.theTopol->isItEdgePixelInY(maxPixelCol)); sizex = theClusterParam.theCluster->sizeX(); sizey = theClusterParam.theCluster->sizeY(); // Find if cluster contains double (big) pixels. - bigInX = theDetParam.theRecTopol->containsBigPixelInX(minPixelRow, maxPixelRow); - bigInY = theDetParam.theRecTopol->containsBigPixelInY(minPixelCol, maxPixelCol); + bigInX = theDetParam.theTopol->containsBigPixelInX(minPixelRow, maxPixelRow); + bigInY = theDetParam.theTopol->containsBigPixelInY(minPixelCol, maxPixelCol); }; void PixelCPEGenericBase::setXYErrors(float& xerr, diff --git a/RecoLocalTracker/SiPixelRecHits/src/PixelCPETemplateReco.cc b/RecoLocalTracker/SiPixelRecHits/src/PixelCPETemplateReco.cc index e29aa902ca8f9..46a3d0c32346b 100644 --- a/RecoLocalTracker/SiPixelRecHits/src/PixelCPETemplateReco.cc +++ b/RecoLocalTracker/SiPixelRecHits/src/PixelCPETemplateReco.cc @@ -3,7 +3,6 @@ // Geometry services #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" //#define DEBUG @@ -206,11 +205,11 @@ LocalPoint PixelCPETemplateReco::localPosition(DetParam const& theDetParam, Clus bool xdouble[mrow], ydouble[mcol]; // x directions (shorter), rows for (int irow = 0; irow < mrow; ++irow) - xdouble[irow] = theDetParam.theRecTopol->isItBigPixelInX(irow + row_offset); + xdouble[irow] = theDetParam.theTopol->isItBigPixelInX(irow + row_offset); // y directions (longer), columns for (int icol = 0; icol < mcol; ++icol) - ydouble[icol] = theDetParam.theRecTopol->isItBigPixelInY(icol + col_offset); + ydouble[icol] = theDetParam.theTopol->isItBigPixelInY(icol + col_offset); SiPixelTemplateReco::ClusMatrix clusterPayload{&clustMatrix[0][0], xdouble, ydouble, mrow, mcol}; @@ -441,10 +440,10 @@ LocalError PixelCPETemplateReco::localError(DetParam const& theDetParam, Cluster int minPixelRow = theClusterParam.theCluster->minPixelRow(); //--- Are we near either of the edges? - bool edgex = (theDetParam.theRecTopol->isItEdgePixelInX(minPixelRow) || - theDetParam.theRecTopol->isItEdgePixelInX(maxPixelRow)); - bool edgey = (theDetParam.theRecTopol->isItEdgePixelInY(minPixelCol) || - theDetParam.theRecTopol->isItEdgePixelInY(maxPixelCol)); + bool edgex = + (theDetParam.theTopol->isItEdgePixelInX(minPixelRow) || theDetParam.theTopol->isItEdgePixelInX(maxPixelRow)); + bool edgey = + (theDetParam.theTopol->isItEdgePixelInY(minPixelCol) || theDetParam.theTopol->isItEdgePixelInY(maxPixelCol)); if (theClusterParam.ierr != 0) { // If reconstruction fails the hit position is calculated from cluster center of gravity diff --git a/RecoLocalTracker/SiPixelRecHits/test/ReadPixelRecHit.cc b/RecoLocalTracker/SiPixelRecHits/test/ReadPixelRecHit.cc index ed8676f2af24a..1df054e2fd23c 100644 --- a/RecoLocalTracker/SiPixelRecHits/test/ReadPixelRecHit.cc +++ b/RecoLocalTracker/SiPixelRecHits/test/ReadPixelRecHit.cc @@ -325,9 +325,6 @@ void ReadPixelRecHit::analyze(const edm::Event &e, const edm::EventSetup &es) { //const BoundPlane& plane = theGeomDet->surface(); //for transf. unused //double detThick = theGeomDet->specificSurface().bounds().thickness(); unused - //const RectangularPixelTopology * topol = - //dynamic_cast(&(theGeomDet->specificTopology())); - const PixelTopology *topol = &(theGeomDet->specificTopology()); //int cols = theGeomDet->specificTopology().ncolumns(); UNUSED diff --git a/RecoLocalTracker/SubCollectionProducers/interface/PixelClusterSelectorTopBottom.h b/RecoLocalTracker/SubCollectionProducers/interface/PixelClusterSelectorTopBottom.h index 4b975a51bc45e..23d2cb167376a 100644 --- a/RecoLocalTracker/SubCollectionProducers/interface/PixelClusterSelectorTopBottom.h +++ b/RecoLocalTracker/SubCollectionProducers/interface/PixelClusterSelectorTopBottom.h @@ -19,7 +19,6 @@ #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "DataFormats/DetId/interface/DetId.h" #include "FWCore/Utilities/interface/InputTag.h" diff --git a/RecoLuminosity/LumiProducer/test/analysis/plugins/PCCNTupler.h b/RecoLuminosity/LumiProducer/test/analysis/plugins/PCCNTupler.h index 9f609e51ba3c0..f6086e176243a 100644 --- a/RecoLuminosity/LumiProducer/test/analysis/plugins/PCCNTupler.h +++ b/RecoLuminosity/LumiProducer/test/analysis/plugins/PCCNTupler.h @@ -39,7 +39,6 @@ class TObject; class TTree; class TH1D; class TFile; -class RectangularPixelTopology; class DetId; class PCCNTupler : public edm::one::EDAnalyzer { diff --git a/RecoTracker/PixelLowPtUtilities/src/ClusterShapeHitFilter.cc b/RecoTracker/PixelLowPtUtilities/src/ClusterShapeHitFilter.cc index 852ff217c4b76..1e6c7320fe941 100644 --- a/RecoTracker/PixelLowPtUtilities/src/ClusterShapeHitFilter.cc +++ b/RecoTracker/PixelLowPtUtilities/src/ClusterShapeHitFilter.cc @@ -15,9 +15,6 @@ #include "Geometry/CommonTopologies/interface/StripTopology.h" #include "Geometry/CommonDetUnit/interface/GeomDetType.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" -#include "Geometry/CommonTopologies/interface/RectangularStripTopology.h" - #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "MagneticField/Engine/interface/MagneticField.h" diff --git a/SLHCUpgradeSimulations/Geometry/test/ModuleInfo_Phase2.cc b/SLHCUpgradeSimulations/Geometry/test/ModuleInfo_Phase2.cc index 88dfc8bc2ecbf..6f50156e6fd53 100644 --- a/SLHCUpgradeSimulations/Geometry/test/ModuleInfo_Phase2.cc +++ b/SLHCUpgradeSimulations/Geometry/test/ModuleInfo_Phase2.cc @@ -34,7 +34,6 @@ #include "Geometry/CommonTopologies/interface/StripTopology.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetType.h" #include "Geometry/TrackerGeometryBuilder/interface/StripGeomDetType.h" -//#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/CommonTopologies/interface/PixelTopology.h" #include "Geometry/CommonTopologies/interface/Topology.h" diff --git a/SLHCUpgradeSimulations/Geometry/test/Phase2PixelNtuple.cc b/SLHCUpgradeSimulations/Geometry/test/Phase2PixelNtuple.cc index 4d082fd80956d..fa232cdb47091 100644 --- a/SLHCUpgradeSimulations/Geometry/test/Phase2PixelNtuple.cc +++ b/SLHCUpgradeSimulations/Geometry/test/Phase2PixelNtuple.cc @@ -56,7 +56,6 @@ #include "Geometry/CommonDetUnit/interface/PixelGeomDetUnit.h" #include "Geometry/CommonDetUnit/interface/PixelGeomDetType.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h" // For ROOT diff --git a/SLHCUpgradeSimulations/Geometry/test/StdHitNtuplizer.cc b/SLHCUpgradeSimulations/Geometry/test/StdHitNtuplizer.cc index eabbfcdc5ae90..6385a7a675370 100644 --- a/SLHCUpgradeSimulations/Geometry/test/StdHitNtuplizer.cc +++ b/SLHCUpgradeSimulations/Geometry/test/StdHitNtuplizer.cc @@ -45,7 +45,6 @@ #include "Geometry/Records/interface/TrackerDigiGeometryRecord.h" #include "Geometry/Records/interface/TrackerTopologyRcd.h" #include "Geometry/TrackerGeometryBuilder/interface/PixelTopologyBuilder.h" -#include "Geometry/TrackerGeometryBuilder/interface/RectangularPixelTopology.h" #include "Geometry/TrackerGeometryBuilder/interface/TrackerGeometry.h" #include "MagneticField/Engine/interface/MagneticField.h" #include "SimDataFormats/Track/interface/SimTrack.h"