Skip to content

Commit

Permalink
Merge pull request #24854 from fabiocos/fc-MTDbarz
Browse files Browse the repository at this point in the history
MTD, add new geometry scenario (D33 and D34) for bars along z coordinate
  • Loading branch information
cmsbuild committed Nov 10, 2018
2 parents 4d51e59 + 5a3d286 commit 331d645
Show file tree
Hide file tree
Showing 20 changed files with 17,843 additions and 6 deletions.
4 changes: 4 additions & 0 deletions Configuration/Geometry/README.md
Expand Up @@ -26,6 +26,8 @@ Fast Timing system:
* I2: Fast Timing detector (LYSO barrel, silicon endcap), only sensitive layers
* I3: Fast Timing detector (LYSO barrel, silicon endcap), full description with passive materials, LYSO tiles
* I4: Fast Timing detector (LYSO barrel, silicon endcap), full description with passive materials, LYSO bars
* I5: Fast Timing detector (LYSO barrel, silicon endcap), full description with passive materials, LYSO bars along z flat
* I6: Fast Timing detector (LYSO barrel, silicon endcap), full description with passive materials, LYSO bars along z flat no hole between modules

The script also handles the common and forward elements of the geometry:
* O2: detailed cavern description
Expand All @@ -47,5 +49,7 @@ Several detector combinations have been generated:
* D30 = T6+C5+M2+I1+O2+F2
* D31 = T6+C6+M2+I1+O2+F3
* D32 = T6+C7+M2+I1+O2+F2
* D33 = T6+C3+M2+I5+O2+F2
* D34 = T6+C3+M2+I6+O2+F2

Currently, D17 is considered to be the baseline for the Phase 2 Muon and Barrel TDRs.
59 changes: 59 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2023D33Reco_cff.py
@@ -0,0 +1,59 @@
import FWCore.ParameterSet.Config as cms

# This config was generated automatically using generate2023Geometry.py
# If you notice a mistake, please update the generating script, not just this config

from Configuration.Geometry.GeometryExtended2023D33_cff import *

# tracker
from Geometry.CommonDetUnit.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.HGCalV6Topology_cfi import *
from Geometry.HGCalGeometry.HGCalV6GeometryESProducer_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"
)
)
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/GeometryExtended2023D33_cff.py
@@ -0,0 +1,13 @@
import FWCore.ParameterSet.Config as cms

# This config was generated automatically using generate2023Geometry.py
# If you notice a mistake, please update the generating script, not just this config

from Geometry.CMSCommonData.cmsExtendedGeometry2023D33XML_cfi import *
from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import *
from SLHCUpgradeSimulations.Geometry.fakeConditions_phase2TkT6_cff import *
from Geometry.HcalCommonData.hcalParameters_cfi import *
from Geometry.HcalCommonData.hcalDDDSimConstants_cfi import *
from Geometry.HGCalCommonData.hgcalV6ParametersInitialization_cfi import *
from Geometry.HGCalCommonData.hgcalV6NumberingInitialization_cfi import *
from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *
59 changes: 59 additions & 0 deletions Configuration/Geometry/python/GeometryExtended2023D34Reco_cff.py
@@ -0,0 +1,59 @@
import FWCore.ParameterSet.Config as cms

# This config was generated automatically using generate2023Geometry.py
# If you notice a mistake, please update the generating script, not just this config

from Configuration.Geometry.GeometryExtended2023D34_cff import *

# tracker
from Geometry.CommonDetUnit.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.HGCalV6Topology_cfi import *
from Geometry.HGCalGeometry.HGCalV6GeometryESProducer_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"
)
)
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/GeometryExtended2023D34_cff.py
@@ -0,0 +1,13 @@
import FWCore.ParameterSet.Config as cms

# This config was generated automatically using generate2023Geometry.py
# If you notice a mistake, please update the generating script, not just this config

from Geometry.CMSCommonData.cmsExtendedGeometry2023D34XML_cfi import *
from Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi import *
from SLHCUpgradeSimulations.Geometry.fakeConditions_phase2TkT6_cff import *
from Geometry.HcalCommonData.hcalParameters_cfi import *
from Geometry.HcalCommonData.hcalDDDSimConstants_cfi import *
from Geometry.HGCalCommonData.hgcalV6ParametersInitialization_cfi import *
from Geometry.HGCalCommonData.hgcalV6NumberingInitialization_cfi import *
from Geometry.MTDNumberingBuilder.mtdNumberingGeometry_cfi import *
56 changes: 55 additions & 1 deletion Configuration/Geometry/python/dict2023Geometry.py
Expand Up @@ -856,7 +856,59 @@
'mtdGeometry.applyAlignment = cms.bool(False)'
],
"era" : "phase2_timing, phase2_timing_layer_new",
}
},
"I5" : {
1 : [
'Geometry/MTDCommonData/data/btl.xml',
'Geometry/MTDCommonData/data/etl.xml',
'Geometry/MTDCommonData/data/CrystalBarZflat/mtd.xml',
],
3 : [
'Geometry/MTDSimData/data/CrystalBarZflat/mtdsens.xml'
],
4 : [
'Geometry/MTDSimData/data/CrystalBarZflat/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_new",
},
"I6" : {
1 : [
'Geometry/MTDCommonData/data/btl.xml',
'Geometry/MTDCommonData/data/etl.xml',
'Geometry/MTDCommonData/data/CrystalBarZflatNOhole/mtd.xml',
],
3 : [
'Geometry/MTDSimData/data/CrystalBarZflat/mtdsens.xml'
],
4 : [
'Geometry/MTDSimData/data/CrystalBarZflat/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_new",
},
}

allDicts = [ commonDict, trackerDict, caloDict, muonDict, forwardDict, timingDict ]
Expand All @@ -876,6 +928,8 @@
("O2","T6","C5","M2","F2","I1") : "D30",
("O2","T6","C6","M2","F3","I1") : "D31",
("O2","T6","C7","M2","F2","I1") : "D32",
("O2","T6","C3","M2","F2","I5") : "D33",
("O2","T6","C3","M2","F2","I6") : "D34",
}

deprecatedDets = set([ "D1", "D2", "D3", "D5", "D6" , "D7", "D4", "D8" , "D9", "D12", "D13", "D15", "D10", "D11", "D14", "D16", "D18","D20" ])
Expand Down
2 changes: 2 additions & 0 deletions Configuration/PyReleaseValidation/python/relval_steps.py
Expand Up @@ -2773,6 +2773,8 @@ def gen2018HiMix(fragment,howMuch):
defaultDataSets['2023D29']=''
defaultDataSets['2023D30']=''
defaultDataSets['2023D31']=''
defaultDataSets['2023D33']=''
defaultDataSets['2023D34']=''

keys=defaultDataSets.keys()
for key in keys:
Expand Down
2 changes: 1 addition & 1 deletion Configuration/PyReleaseValidation/python/relval_upgrade.py
Expand Up @@ -15,7 +15,7 @@ def makeStepNameSim(key,frag,step,suffix):
def makeStepName(key,frag,step,suffix):
return step+suffix+'_'+key

neutronKeys = ['2023D17','2023D19','2023D21','2023D22','2023D23','2023D24','2023D25','2023D26','2023D27','2023D28','2023D29','2023D30','2023D31']
neutronKeys = ['2023D17','2023D19','2023D21','2023D22','2023D23','2023D24','2023D25','2023D26','2023D27','2023D28','2023D29','2023D30','2023D31','2023D33','2023D34']
neutronFrags = ['ZMM_14','MinBias_14TeV']

#just define all of them
Expand Down
Expand Up @@ -46,6 +46,10 @@
'2023D30PU',
'2023D31',
'2023D31PU',
'2023D33',
'2023D33PU',
'2023D34',
'2023D34PU',
]

# pre-generation of WF numbers
Expand Down Expand Up @@ -352,6 +356,20 @@
'Era' : 'Phase2C6',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
'2023D33' : {
'Geom' : 'Extended2023D33',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'Era' : 'Phase2_timing_layer_new',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
'2023D34' : {
'Geom' : 'Extended2023D34',
'HLTmenu': '@fake2',
'GT' : 'auto:phase2_realistic',
'Era' : 'Phase2_timing_layer_new',
'ScenToRun' : ['GenSimHLBeamSpotFull','DigiFullTrigger','RecoFullGlobal', 'HARVESTFullGlobal'],
},
}


Expand Down Expand Up @@ -383,6 +401,10 @@
upgradeProperties[2023]['2023D30PU']['ScenToRun'] = ['GenSimHLBeamSpotFull','DigiFullTriggerPU','RecoFullGlobalPU', 'HARVESTFullGlobalPU']
upgradeProperties[2023]['2023D31PU'] = deepcopy(upgradeProperties[2023]['2023D31'])
upgradeProperties[2023]['2023D31PU']['ScenToRun'] = ['GenSimHLBeamSpotFull','DigiFullTriggerPU','RecoFullGlobalPU', 'HARVESTFullGlobalPU']
upgradeProperties[2023]['2023D33PU'] = deepcopy(upgradeProperties[2023]['2023D33'])
upgradeProperties[2023]['2023D33PU']['ScenToRun'] = ['GenSimHLBeamSpotFull','DigiFullTriggerPU','RecoFullGlobalPU', 'HARVESTFullGlobalPU']
upgradeProperties[2023]['2023D34PU'] = deepcopy(upgradeProperties[2023]['2023D34'])
upgradeProperties[2023]['2023D34PU']['ScenToRun'] = ['GenSimHLBeamSpotFull','DigiFullTriggerPU','RecoFullGlobalPU', 'HARVESTFullGlobalPU']


from Configuration.PyReleaseValidation.relval_steps import Kby
Expand Down
2 changes: 2 additions & 0 deletions Configuration/StandardSequences/python/GeometryConf.py
Expand Up @@ -42,4 +42,6 @@
'Extended2023D30' : 'Extended2023D30,Extended2023D30Reco',
'Extended2023D31' : 'Extended2023D31,Extended2023D31Reco',
'Extended2023D32' : 'Extended2023D32,Extended2023D32Reco',
'Extended2023D33' : 'Extended2023D33,Extended2023D33Reco',
'Extended2023D34' : 'Extended2023D34,Extended2023D34Reco',
}
14 changes: 12 additions & 2 deletions DataFormats/ForwardDetId/interface/BTLDetId.h
Expand Up @@ -3,6 +3,7 @@

#include "DataFormats/ForwardDetId/interface/MTDDetId.h"
#include <ostream>
#include <array>

/**
@class BTLDetId
Expand All @@ -27,12 +28,17 @@ class BTLDetId : public MTDDetId {

/// range constants, need two sets for the time being (one for tiles and one for bars)
static constexpr int kModulesPerROD = 54;
static constexpr int kTypeBoundaries[4] = { 0, 18, 36, 54 };
static constexpr int kModulesPerRODBarZflat = 42;
static constexpr std::array<int,4> kTypeBoundariesReference{ { 0, 18, 36, 54 } };
static constexpr std::array<int,4> kTypeBoundariesBarZflat{ { 0, 14, 28, 42 } };
static constexpr int kCrystalsInPhiTile = 16; // per module and ROD
static constexpr int kCrystalsInEtaTile = 4; // per module
static constexpr int kCrystalsInPhiBar = 4; // per module and ROD
static constexpr int kCrystalsInEtaBar = 16; // per module
static constexpr int kCrystalsInPhiBarZ = 64; // per module and ROD
static constexpr int kCrystalsInEtaBarZ = 1; // per module
static constexpr int kCrystalsPerROD = kModulesPerROD*kCrystalsInPhiTile*kCrystalsInEtaTile; // 64 crystals per module x 54 modules per rod, independent on geometry scenario Tile or Bar
static constexpr int kCrystalsPerRODBarZflat = kModulesPerRODBarZflat*kCrystalsInPhiBarZ*kCrystalsInEtaBarZ; // 64 crystals per module x 42 modules per rod, independent on geometry scenario Tile or Bar
static constexpr int MIN_ROD = 1;
static constexpr int MAX_ROD = 72;
static constexpr int HALF_ROD = 36;
Expand All @@ -42,11 +48,15 @@ class BTLDetId : public MTDDetId {
static constexpr int MAX_IPHI_TILE = kCrystalsInPhiTile*HALF_ROD;
static constexpr int MAX_IETA_BAR = kCrystalsInEtaBar*kModulesPerROD;
static constexpr int MAX_IPHI_BAR = kCrystalsInPhiBar*HALF_ROD;
static constexpr int MAX_IETA_BARZ = kCrystalsInEtaBarZ*kModulesPerROD;
static constexpr int MAX_IPHI_BARZ = kCrystalsInPhiBarZ*HALF_ROD;
static constexpr int MAX_IETA_BARZFLAT = kCrystalsInEtaBarZ*kModulesPerRODBarZflat;
static constexpr int MAX_IPHI_BARZFLAT = kCrystalsInPhiBarZ*HALF_ROD;
static constexpr int MIN_HASH = 0; // always 0 ...
static constexpr int MAX_HASH = 2*MAX_IPHI_TILE*MAX_IETA_TILE-1; // the total amount is invariant per tile or bar)
static constexpr int kSizeForDenseIndexing = MAX_HASH + 1 ;

enum class CrysLayout { tile = 1 , bar = 2 } ;
enum class CrysLayout { tile = 1 , bar = 2 , barzflat = 3} ;

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

Expand Down

0 comments on commit 331d645

Please sign in to comment.