Skip to content

Commit

Permalink
Merge pull request #28788 from fabiocos/fc-etl-tdr
Browse files Browse the repository at this point in the history
MTD geometry: TDR ETL design (scenario D53)
  • Loading branch information
cmsbuild committed Jan 30, 2020
2 parents dc86c99 + c3dae8c commit ecb4dfb
Show file tree
Hide file tree
Showing 19 changed files with 3,464 additions and 11 deletions.
2 changes: 2 additions & 0 deletions Configuration/Geometry/README.md
Expand Up @@ -29,6 +29,7 @@ Fast Timing system:
* I9: Same as I7 but with ETL in the position defined in O3
* I10: Same as I9 w/ material adjustments
* I11: Same as I10, xml reorganized, comparison base for new ETL and DD4hep migration
* I12: Starting from I11, new ETL layout from MTD TDR

The script also handles the common and forward elements of the geometry:
* O2: detailed cavern description
Expand All @@ -50,5 +51,6 @@ Several detector combinations have been generated:
* D50 = T15+C9+M4+I11+O4+F2
* D51 = T17+C9+M4+I10+O4+F2
* D52 = T18+C9+M4+I10+O4+F2
* D53 = T15+C9+M4+I12+O4+F2

D35 is the MTD TDR baseline, D41 is the L1T TDR baseline, and D49 is the HLT TDR baseline.
60 changes: 60 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2026D53Reco_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.GeometryExtended2026D53_cff import *

# tracker
from Geometry.CommonTopologies.globalTrackingGeometry_cfi import *
from RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi import *
from Geometry.TrackerGeometryBuilder.trackerParameters_cfi import *
from Geometry.TrackerNumberingBuilder.trackerTopology_cfi import *
from Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff import *
trackerGeometry.applyAlignment = cms.bool(False)

# calo
from Geometry.CaloEventSetup.HGCalV9Topology_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_cfi import *
from Geometry.GEMGeometryBuilder.me0Geometry_cfi import *
from Geometry.CSCGeometryBuilder.idealForDigiCscGeometry_cff import *
from Geometry.DTGeometryBuilder.idealForDigiDtGeometry_cff import *

# forward
from Geometry.ForwardGeometry.ForwardGeometry_cfi import *

# timing
from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import *
from Geometry.MTDGeometryBuilder.mtdParameters_cfi import *
from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *
from Geometry.MTDNumberingBuilder.mtdTopology_cfi import *
from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import *
from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import *
mtdGeometry.applyAlignment = cms.bool(False)

13 changes: 13 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2026D53_cff.py
@@ -0,0 +1,13 @@
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.cmsExtendedGeometry2026D53XML_cfi import *
from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import *
from SLHCUpgradeSimulations.Geometry.fakeConditions_phase2TkT14_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.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *
29 changes: 29 additions & 0 deletions Configuration/Geometry/python/dict2026Geometry.py
Expand Up @@ -1072,6 +1072,34 @@
],
"era" : "phase2_timing, phase2_timing_layer",
},
"I12" : {
1 : [
'Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml',
'Geometry/MTDCommonData/data/btl/v1/btl.xml',
'Geometry/MTDCommonData/data/btl/v1/btlStructureTopology.xml',
'Geometry/MTDCommonData/data/etl/v4/etl.xml',
'Geometry/MTDCommonData/data/mtdParameters/v1/mtdParameters.xml',
],
3 : [
'Geometry/MTDSimData/data/v2/mtdsens.xml'
],
4 : [
'Geometry/MTDSimData/data/v2/mtdProdCuts.xml'
],
"sim" : [
'from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *',
],
"reco" :[
'from RecoMTD.DetLayers.mtdDetLayerGeometry_cfi import *',
'from Geometry.MTDGeometryBuilder.mtdParameters_cfi import *',
'from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *',
'from Geometry.MTDNumberingBuilder.mtdTopology_cfi import *',
'from Geometry.MTDGeometryBuilder.mtdGeometry_cfi import *',
'from Geometry.MTDGeometryBuilder.idealForDigiMTDGeometry_cff import *',
'mtdGeometry.applyAlignment = cms.bool(False)'
],
"era" : "phase2_timing, phase2_timing_layer",
},
}

allDicts = [ commonDict, trackerDict, caloDict, muonDict, forwardDict, timingDict ]
Expand All @@ -1089,6 +1117,7 @@
("O4","T15","C9","M4","F2","I11") : "D50",
("O4","T17","C9","M4","F2","I10") : "D51",
("O4","T18","C9","M4","F2","I10") : "D52",
("O4","T15","C9","M4","F2","I12") : "D53",
}

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" ])
Expand Down
1 change: 1 addition & 0 deletions Configuration/StandardSequences/python/GeometryConf.py
Expand Up @@ -40,4 +40,5 @@
'Extended2026D50' : 'Extended2026D50,Extended2026D50Reco',
'Extended2026D51' : 'Extended2026D51,Extended2026D51Reco',
'Extended2026D52' : 'Extended2026D52,Extended2026D52Reco',
'Extended2026D53' : 'Extended2026D53,Extended2026D53Reco',
}
33 changes: 31 additions & 2 deletions DataFormats/ForwardDetId/interface/ETLDetId.h
Expand Up @@ -15,10 +15,23 @@
class ETLDetId : public MTDDetId {
public:
static const uint32_t kETLmoduleOffset = 7;
static const uint32_t kETLmoduleMask = 0xFF;
static const uint32_t kETLmoduleMask = 0x1FF;
static const uint32_t kETLmodTypeOffset = 5;
static const uint32_t kETLmodTypeMask = 0x3;

static constexpr int kETLv1maxRing = 11;
static constexpr int kETLv1maxModule = 176;

/// constants for the TDR ETL model
static const uint32_t kETLnDiscOffset = 3;
static const uint32_t kETLnDiscMask = 0x1;
static const uint32_t kETLdiscSideOffset = 2;
static const uint32_t kETLdiscSideMask = 0x1;
static const uint32_t kETLquarterMask = 0x3;

static constexpr int kETLv2maxRing = 16;
static constexpr int kETLv2maxModule = 292;

// ---------- Constructors, enumerated types ----------

/** Construct a null id */
Expand All @@ -45,10 +58,26 @@ class ETLDetId : public MTDDetId {
/** Returns ETL module number. */
inline int module() const { return (id_ >> kETLmoduleOffset) & kETLmoduleMask; }

/** Returns ETL crystal type number. */
/** Returns ETL module type number. */
inline int modType() const { return (id_ >> kETLmodTypeOffset) & kETLmodTypeMask; }

ETLDetId geographicalId() const;

// --------- Methods for the TDR ETL model only -----------
// meaningless for TP model

// starting from 1
inline int quarter() const { return ((((id_ >> kRodRingOffset) & kRodRingMask) - 1) & kETLquarterMask) + 1; }

// 0 = front, 1 = back
inline int discSide() const {
return ((((id_ >> kRodRingOffset) & kRodRingMask) - 1) >> kETLdiscSideOffset) & kETLdiscSideMask;
}

// starting from 1
inline int nDisc() const {
return (((((id_ >> kRodRingOffset) & kRodRingMask) - 1) >> kETLnDiscOffset) & kETLnDiscMask) + 1;
}
};

std::ostream& operator<<(std::ostream&, const ETLDetId&);
Expand Down
3 changes: 2 additions & 1 deletion DataFormats/ForwardDetId/src/ETLDetId.cc
Expand Up @@ -10,7 +10,8 @@ std::ostream& operator<<(std::ostream& os, const ETLDetId& id) {
os << (MTDDetId&)id;
os << " ETL " << std::endl
<< " Side : " << id.mtdSide() << std::endl
<< " Ring : " << id.mtdRR() << std::endl
<< " Ring : " << id.mtdRR() << " "
<< " Disc/Side/Quarter = " << id.nDisc() << " " << id.discSide() << " " << id.quarter() << std::endl
<< " Module : " << id.module() << std::endl
<< " Module type : " << id.modType() << std::endl;
return os;
Expand Down
129 changes: 129 additions & 0 deletions Geometry/CMSCommonData/python/cmsExtendedGeometry2026D53XML_cfi.py
@@ -0,0 +1,129 @@
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.xml',
'Geometry/CMSCommonData/data/rotations.xml',
'Geometry/CMSCommonData/data/extend/v2/cmsextent.xml',
'Geometry/CMSCommonData/data/cmsMother.xml',
'Geometry/CMSCommonData/data/eta3/etaMax.xml',
'Geometry/CMSCommonData/data/cmsTracker.xml',
'Geometry/CMSCommonData/data/cmsCalo.xml',
'Geometry/CMSCommonData/data/cmsMuon.xml',
'Geometry/CMSCommonData/data/mgnt.xml',
'Geometry/CMSCommonData/data/beampipe/2026/v1/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/cavernData/2021/v1/cavernData.xml',
'Geometry/CMSCommonData/data/cavernFloor/2017/v1/cavernFloor.xml',
'Geometry/CMSCommonData/data/cms/2026/v3/cms.xml',
'Geometry/CMSCommonData/data/caloBase/2026/v2/caloBase.xml',
'Geometry/CMSCommonData/data/muonBase/2026/v3/muonBase.xml',
'Geometry/TrackerCommonData/data/PhaseII/trackerParameters.xml',
'Geometry/TrackerCommonData/data/pixfwdCommon.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/pixfwd.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/pixbar.xml',
'Geometry/TrackerCommonData/data/trackermaterial.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/otst.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/tracker.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613_MB_2019_04/pixel.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerbar.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerfwd.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker404/trackerStructureTopology.xml',
'Geometry/TrackerCommonData/data/PhaseII/TiltedTracker613/pixelStructureTopology.xml',
'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/trackersens.xml',
'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/pixelsens.xml',
'Geometry/TrackerRecoData/data/PhaseII/TiltedTracker613_MB_2019_04/trackerRecoMaterial.xml',
'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/trackerProdCuts.xml',
'Geometry/TrackerSimData/data/PhaseII/TiltedTracker404/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/v1/ectkcablemat.xml',
'Geometry/EcalCommonData/data/ebalgo.xml',
'Geometry/EcalCommonData/data/ebcon.xml',
'Geometry/EcalCommonData/data/ebrot.xml',
'Geometry/HcalCommonData/data/hcalrotations.xml',
'Geometry/HcalCommonData/data/hcal/v2/hcalalgo.xml',
'Geometry/HcalCommonData/data/hcalbarrelalgo.xml',
'Geometry/HcalCommonData/data/hcalcablealgo/v2/hcalcablealgo.xml',
'Geometry/HcalCommonData/data/hcalouteralgo.xml',
'Geometry/HcalCommonData/data/hcalforwardalgo.xml',
'Geometry/HcalCommonData/data/hcalSimNumbering/NoHE/hcalSimNumbering.xml',
'Geometry/HcalCommonData/data/hcalRecNumbering/NoHE/hcalRecNumbering.xml',
'Geometry/HcalCommonData/data/average/hcalforwardmaterial.xml',
'Geometry/HGCalCommonData/data/hgcalMaterial/v1/hgcalMaterial.xml',
'Geometry/HGCalCommonData/data/hgcal/v11/hgcal.xml',
'Geometry/HGCalCommonData/data/hgcalEE/v10/hgcalEE.xml',
'Geometry/HGCalCommonData/data/hgcalHEsil/v11/hgcalHEsil.xml',
'Geometry/HGCalCommonData/data/hgcalHEmix/v11/hgcalHEmix.xml',
'Geometry/HGCalCommonData/data/hgcalwafer/v9/hgcalwafer.xml',
'Geometry/HGCalCommonData/data/hgcalcell/v9/hgcalcell.xml',
'Geometry/HGCalCommonData/data/hgcalCons/v11/hgcalCons.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/2021/v2/muonYoke.xml',
'Geometry/MuonCommonData/data/csc/2021/v1/csc.xml',
'Geometry/MuonCommonData/data/mfshield/2017/v1/mfshield.xml',
'Geometry/MuonCommonData/data/mf/2026/v2/mf.xml',
'Geometry/MuonCommonData/data/rpcf/2026/v2/rpcf.xml',
'Geometry/MuonCommonData/data/gemf/TDR_BaseLine/gemf.xml',
'Geometry/MuonCommonData/data/gem11/TDR_BaseLine/gem11.xml',
'Geometry/MuonCommonData/data/gem21/TDR_Dev/gem21.xml',
'Geometry/MuonCommonData/data/mfshield/2026/v1/mfshield.xml',
'Geometry/MuonCommonData/data/me0/TDR_Dev/v2/me0.xml',
'Geometry/ForwardCommonData/data/forwardshield/2017/v1/forwardshield.xml',
'Geometry/ForwardCommonData/data/brmrotations.xml',
'Geometry/ForwardCommonData/data/PostLS2/brm.xml',
'Geometry/ForwardCommonData/data/zdcmaterials.xml',
'Geometry/ForwardCommonData/data/lumimaterials.xml',
'Geometry/ForwardCommonData/data/zdcrotations.xml',
'Geometry/ForwardCommonData/data/lumirotations.xml',
'Geometry/ForwardCommonData/data/zdc.xml',
'Geometry/ForwardCommonData/data/zdclumi.xml',
'Geometry/ForwardCommonData/data/cmszdc.xml',
'Geometry/MTDCommonData/data/mtdMaterial/v2/mtdMaterial.xml',
'Geometry/MTDCommonData/data/btl/v1/btl.xml',
'Geometry/MTDCommonData/data/btl/v1/btlStructureTopology.xml',
'Geometry/MTDCommonData/data/etl/v4/etl.xml',
'Geometry/MTDCommonData/data/mtdParameters/v1/mtdParameters.xml',
)+
cms.vstring(
'Geometry/MuonCommonData/data/muonNumbering/TDR_DeV/muonNumbering.xml',
'Geometry/EcalSimData/data/PhaseII/ecalsens.xml',
'Geometry/HcalCommonData/data/hcalsens/NoHE/hcalsenspmf.xml',
'Geometry/HcalSimData/data/hf.xml',
'Geometry/HcalSimData/data/hfpmt.xml',
'Geometry/HcalSimData/data/hffibrebundle.xml',
'Geometry/HcalSimData/data/CaloUtil.xml',
'Geometry/HGCalSimData/data/hgcsensv9.xml',
'Geometry/MuonSimData/data/PhaseII/ME0EtaPart/muonSens.xml',
'Geometry/DTGeometryBuilder/data/dtSpecsFilter.xml',
'Geometry/CSCGeometryBuilder/data/cscSpecsFilter.xml',
'Geometry/CSCGeometryBuilder/data/cscSpecs.xml',
'Geometry/RPCGeometryBuilder/data/2026/v1/RPCSpecs.xml',
'Geometry/GEMGeometryBuilder/data/v7/GEMSpecsFilter.xml',
'Geometry/GEMGeometryBuilder/data/v7/GEMSpecs.xml',
'Geometry/ForwardCommonData/data/brmsens.xml',
'Geometry/ForwardSimData/data/zdcsens.xml',
'Geometry/MTDSimData/data/v2/mtdsens.xml',
'Geometry/HcalSimData/data/HcalProdCuts.xml',
'Geometry/EcalSimData/data/EcalProdCuts.xml',
'Geometry/HGCalSimData/data/hgcProdCutsv9.xml',
'Geometry/MuonSimData/data/PhaseII/muonProdCuts.xml',
'Geometry/ForwardSimData/data/zdcProdCuts.xml',
'Geometry/ForwardSimData/data/ForwardShieldProdCuts.xml',
'Geometry/MTDSimData/data/v2/mtdProdCuts.xml',
'Geometry/CMSCommonData/data/FieldParameters.xml',
),
rootNodeName = cms.string('cms:OCMS')
)

0 comments on commit ecb4dfb

Please sign in to comment.