Skip to content

Commit ab58733

Browse files
authored
Merge pull request #46306 from Dr15Jones/better2024GeomDBWriting
Improved scripts used to write 2024 Geom DB payloads
2 parents 1444863 + fa5f126 commit ab58733

File tree

4 files changed

+82
-54
lines changed

4 files changed

+82
-54
lines changed

CondTools/Geometry/test/writehelpers/createExtended2024DD4hepPayloads.sh

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#!/bin/sh
2-
2+
function die { echo $1: status $2 ; exit $2; }
33

44
if [ $# -ne 1 ]
55
then
@@ -10,20 +10,20 @@ mytag=$1
1010
echo ${mytag}
1111

1212
# Set the tag in all the scripts and the metadata text files
13-
sed -i {s/TagXX/${mytag}/g} *.py
13+
#sed -i {s/TagXX/${mytag}/g} *.py
1414
compgen -G "*.txt" > /dev/null && sed -i {s/TagXX/${mytag}/g} *.txt
1515
sed -i {s/TagXX/${mytag}/g} splitExtended2024Database.sh
1616

1717
# First read in the little XML files and create the
1818
# big XML file for the Extended2024DD4hep scenario.
19-
cmsRun geometryExtended2024DD4hep_xmlwriter.py
19+
cmsRun geometryExtended2024DD4hep_xmlwriter.py || die 'failed geometryExtended2024DD4hep_xmlwriter.py' $?
2020

2121
# Now convert the content of the large XML file into
2222
# a "blob" and write it to the database.
2323
# Also reads in the little XML files again and fills
2424
# the DDCompactView. From the DDCompactView the
2525
# reco parts of the database are also filled.
26-
cmsRun geometryExtended2024DD4hep_writer.py
26+
cmsRun geometryExtended2024DD4hep_writer.py --tag=${mytag} || die 'failed geometryExtended2024DD4hep_writer.py' $?
2727

2828
# Now put the other scenarios into the database.
2929
# Input the many XML files referenced by the cff file and
@@ -32,25 +32,25 @@ cmsRun geometryExtended2024DD4hep_writer.py
3232
# serve to give the correct sequence of input and output
3333
# files
3434

35-
sed -i '{s/ExtendedGeometry2024/ExtendedGeometry2024ZeroMaterial/g}' geometryExtended2024DD4hep_xmlwriter.py
36-
sed -i '{s/\/ge/\/gez/g}' geometryExtended2024DD4hep_xmlwriter.py
37-
cmsRun geometryExtended2024DD4hep_xmlwriter.py
35+
#sed -i '{s/ExtendedGeometry2024/ExtendedGeometry2024ZeroMaterial/g}' geometryExtended2024DD4hep_xmlwriter.py
36+
#sed -i '{s/\/ge/\/gez/g}' geometryExtended2024DD4hep_xmlwriter.py
37+
cmsRun geometryExtended2024DD4hep_xmlwriter.py --geom=ExtendedGeometry2024ZeroMaterial --out=gez || die 'failed geometryExtended2024DD4hep_xmlwriter.py ExtendedGeometry2024ZeroMaterial' $?
3838

39-
sed -i '{s/ExtendedGeometry2024ZeroMaterial/ExtendedGeometry2024FlatMinus05Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
40-
sed -i '{s/\/gez/\/geFM05/g}' geometryExtended2024DD4hep_xmlwriter.py
41-
cmsRun geometryExtended2024DD4hep_xmlwriter.py
39+
#sed -i '{s/ExtendedGeometry2024ZeroMaterial/ExtendedGeometry2024FlatMinus05Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
40+
#sed -i '{s/\/gez/\/geFM05/g}' geometryExtended2024DD4hep_xmlwriter.py
41+
cmsRun geometryExtended2024DD4hep_xmlwriter.py --geom=ExtendedGeometry2024FlatMinus05Percent --out=geFM05 || die 'failed geometryExtended2024DD4hep_xmlwriter.py ExtendedGeometry2024FlatMinus05Percent' $?
4242

43-
sed -i '{s/ExtendedGeometry2024FlatMinus05Percent/ExtendedGeometry2024FlatMinus10Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
44-
sed -i '{s/\/geFM05/\/geFM10/g}' geometryExtended2024DD4hep_xmlwriter.py
45-
cmsRun geometryExtended2024DD4hep_xmlwriter.py
43+
#sed -i '{s/ExtendedGeometry2024FlatMinus05Percent/ExtendedGeometry2024FlatMinus10Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
44+
#sed -i '{s/\/geFM05/\/geFM10/g}' geometryExtended2024DD4hep_xmlwriter.py
45+
cmsRun geometryExtended2024DD4hep_xmlwriter.py --geom=ExtendedGeometry2024FlatMinus10Percent --out=geFM10 || die 'failed geometryExtended2024DD4hep_xmlwriter.py' $?
4646

47-
sed -i '{s/ExtendedGeometry2024FlatMinus10Percent/ExtendedGeometry2024FlatPlus05Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
48-
sed -i '{s/\/geFM10/\/geFP05/g}' geometryExtended2024DD4hep_xmlwriter.py
49-
cmsRun geometryExtended2024DD4hep_xmlwriter.py
47+
#sed -i '{s/ExtendedGeometry2024FlatMinus10Percent/ExtendedGeometry2024FlatPlus05Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
48+
#sed -i '{s/\/geFM10/\/geFP05/g}' geometryExtended2024DD4hep_xmlwriter.py
49+
cmsRun geometryExtended2024DD4hep_xmlwriter.py --geom=ExtendedGeometry2024FlatPlus05Percent --out=geFP05 || die 'failed geometryExtended2024DD4hep_xmlwriter.py ExtendedGeometry2024FlatPlus05Percent' $?
5050

51-
sed -i '{s/ExtendedGeometry2024FlatPlus05Percent/ExtendedGeometry2024FlatPlus10Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
52-
sed -i '{s/\/geFP05/\/geFP10/g}' geometryExtended2024DD4hep_xmlwriter.py
53-
cmsRun geometryExtended2024DD4hep_xmlwriter.py
51+
#sed -i '{s/ExtendedGeometry2024FlatPlus05Percent/ExtendedGeometry2024FlatPlus10Percent/g}' geometryExtended2024DD4hep_xmlwriter.py
52+
#sed -i '{s/\/geFP05/\/geFP10/g}' geometryExtended2024DD4hep_xmlwriter.py
53+
cmsRun geometryExtended2024DD4hep_xmlwriter.py --geom=ExtendedGeometry2024FlatPlus05Percent --out=geFP10 || die 'failed geometryExtended2024DD4hep_xmlwriter.py' $?
5454

5555
# Read the one big XML file and output a record to the
5656
# database with the an identifying tag
@@ -61,25 +61,25 @@ cmsRun geometryExtended2024DD4hep_xmlwriter.py
6161
# Input file Output tag
6262
# gezSingleBigFile.xml XMLFILE_Geometry_${mytag}_Extended2024ZeroMaterial_mc
6363

64-
sed -i '{s/Extended/Extended2024ZeroMaterial/g}' xmlgeometrywriter.py
65-
sed -i '{s/\/ge/\/gez/g}' xmlgeometrywriter.py
66-
cmsRun xmlgeometrywriter.py
64+
#sed -i '{s/Extended/Extended2024ZeroMaterial/g}' xmlgeometrywriter.py
65+
#sed -i '{s/\/ge/\/gez/g}' xmlgeometrywriter.py
66+
cmsRun xmlgeometrywriter.py --tag=${mytag} --out=Extended2024ZeroMaterial --inPre=gez|| die 'failed xmlgeometrywriter.py Extended2024ZeroMaterial' $?
6767

68-
sed -i '{s/Extended2024ZeroMaterial/Extended2024FlatMinus05Percent/g}' xmlgeometrywriter.py
69-
sed -i '{s/\/gez/\/geFM05/g}' xmlgeometrywriter.py
70-
cmsRun xmlgeometrywriter.py
68+
#sed -i '{s/Extended2024ZeroMaterial/Extended2024FlatMinus05Percent/g}' xmlgeometrywriter.py
69+
#sed -i '{s/\/gez/\/geFM05/g}' xmlgeometrywriter.py
70+
cmsRun xmlgeometrywriter.py --tag=${mytag} --out=Extended2024FlatMinus05Percent --inPre=geFM05 || die 'failed xmlgeometrywriter.py Extended2024FlatMinus05Percent' $?
7171

72-
sed -i '{s/Extended2024FlatMinus05Percent/Extended2024FlatMinus10Percent/g}' xmlgeometrywriter.py
73-
sed -i '{s/\/geFM05/\/geFM10/g}' xmlgeometrywriter.py
74-
cmsRun xmlgeometrywriter.py
72+
#sed -i '{s/Extended2024FlatMinus05Percent/Extended2024FlatMinus10Percent/g}' xmlgeometrywriter.py
73+
#sed -i '{s/\/geFM05/\/geFM10/g}' xmlgeometrywriter.py
74+
cmsRun xmlgeometrywriter.py --tag=${mytag} --out=Extended2024FlatMinus10Percent --inPre=geFM10 || die 'failed xmlgeometrywriter.py Extended2024FlatMinus10Percent' $?
7575

76-
sed -i '{s/Extended2024FlatMinus10Percent/Extended2024FlatPlus05Percent/g}' xmlgeometrywriter.py
77-
sed -i '{s/\/geFM10/\/geFP05/g}' xmlgeometrywriter.py
78-
cmsRun xmlgeometrywriter.py
76+
#sed -i '{s/Extended2024FlatMinus10Percent/Extended2024FlatPlus05Percent/g}' xmlgeometrywriter.py
77+
#sed -i '{s/\/geFM10/\/geFP05/g}' xmlgeometrywriter.py
78+
cmsRun xmlgeometrywriter.py --tag=${mytag} --out=Extended2024FlatPlus05Percent --inPre=geFP05 || die 'failed xmlgeometrywriter.py Extended2024FlatPlus05Percent' $?
7979

80-
sed -i '{s/Extended2024FlatPlus05Percent/Extended2024FlatPlus10Percent/g}' xmlgeometrywriter.py
81-
sed -i '{s/\/geFP05/\/geFP10/g}' xmlgeometrywriter.py
82-
cmsRun xmlgeometrywriter.py
80+
#sed -i '{s/Extended2024FlatPlus05Percent/Extended2024FlatPlus10Percent/g}' xmlgeometrywriter.py
81+
#sed -i '{s/\/geFP05/\/geFP10/g}' xmlgeometrywriter.py
82+
cmsRun xmlgeometrywriter.py --tag=${mytag} --out=Extended2024FlatPlus10Percent --inPre=geFP10 || die 'failed xmlgeometrywriter.py Extended2024FlatPlus10Percent' $?
8383

8484
# All the database objects were written into one database
8585
# (myfile.db) in the steps above. Extract the different

CondTools/Geometry/test/writehelpers/geometryExtended2024DD4hep_writer.py

Lines changed: 26 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,12 @@
1+
import FWCore.ParameterSet.Config as cms
2+
import argparse
3+
import sys
4+
5+
parser = argparse.ArgumentParser(prog=sys.argv[0], description='Generate XML geometry.')
6+
parser.add_argument("--tag", help="global tag to use", type=str)
7+
args = parser.parse_args()
8+
9+
110
import FWCore.ParameterSet.Config as cms
211
from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep
312

@@ -11,6 +20,7 @@
1120
process.load('Geometry.CaloEventSetup.CaloGeometryDBWriter_cfi')
1221
process.load('CondTools.Geometry.HcalParametersWriter_cff')
1322
process.load("Geometry.MuonNumbering.muonGeometryConstants_cff")
23+
process.load("Geometry.ForwardGeometry.ZdcGeometry_cfi")
1424

1525
process.CaloGeometryBuilder = cms.ESProducer("CaloGeometryBuilder",
1626
SelectedCalos = cms.vstring(
@@ -54,22 +64,22 @@
5464
process.CondDB.connect = cms.string('sqlite_file:myfile.db')
5565
process.PoolDBOutputService = cms.Service("PoolDBOutputService",
5666
process.CondDB,
57-
toPut = cms.VPSet(cms.PSet(record = cms.string('GeometryFileRcd'),tag = cms.string('XMLFILE_Geometry_TagXX_Extended2024_mc')),
58-
cms.PSet(record = cms.string('IdealGeometryRecord'),tag = cms.string('TKRECO_Geometry_TagXX')),
59-
cms.PSet(record = cms.string('PTrackerParametersRcd'),tag = cms.string('TKParameters_Geometry_TagXX')),
60-
cms.PSet(record = cms.string('PEcalBarrelRcd'), tag = cms.string('EBRECO_Geometry_TagXX')),
61-
cms.PSet(record = cms.string('PEcalEndcapRcd'), tag = cms.string('EERECO_Geometry_TagXX')),
62-
cms.PSet(record = cms.string('PEcalPreshowerRcd'),tag = cms.string('EPRECO_Geometry_TagXX')),
63-
cms.PSet(record = cms.string('PHcalRcd'), tag = cms.string('HCALRECO_Geometry_TagXX')),
64-
cms.PSet(record = cms.string('HcalParametersRcd'), tag = cms.string('HCALParameters_Geometry_TagXX')),
65-
cms.PSet(record = cms.string('PCaloTowerRcd'), tag = cms.string('CTRECO_Geometry_TagXX')),
66-
cms.PSet(record = cms.string('PZdcRcd'), tag = cms.string('ZDCRECO_Geometry_TagXX')),
67-
cms.PSet(record = cms.string('PCastorRcd'), tag = cms.string('CASTORRECO_Geometry_TagXX')),
68-
cms.PSet(record = cms.string('CSCRecoGeometryRcd'),tag = cms.string('CSCRECO_Geometry_TagXX')),
69-
cms.PSet(record = cms.string('CSCRecoDigiParametersRcd'),tag = cms.string('CSCRECODIGI_Geometry_TagXX')),
70-
cms.PSet(record = cms.string('DTRecoGeometryRcd'),tag = cms.string('DTRECO_Geometry_TagXX')),
71-
cms.PSet(record = cms.string('RPCRecoGeometryRcd'),tag = cms.string('RPCRECO_Geometry_TagXX')),
72-
cms.PSet(record = cms.string('GEMRecoGeometryRcd'),tag = cms.string('GEMRECO_Geometry_TagXX'))
67+
toPut = cms.VPSet(cms.PSet(record = cms.string('GeometryFileRcd'),tag = cms.string('XMLFILE_Geometry_'+args.tag+'_Extended2024_mc')),
68+
cms.PSet(record = cms.string('IdealGeometryRecord'),tag = cms.string('TKRECO_Geometry_'+args.tag)),
69+
cms.PSet(record = cms.string('PTrackerParametersRcd'),tag = cms.string('TKParameters_Geometry_'+args.tag)),
70+
cms.PSet(record = cms.string('PEcalBarrelRcd'), tag = cms.string('EBRECO_Geometry_'+args.tag)),
71+
cms.PSet(record = cms.string('PEcalEndcapRcd'), tag = cms.string('EERECO_Geometry_'+args.tag)),
72+
cms.PSet(record = cms.string('PEcalPreshowerRcd'),tag = cms.string('EPRECO_Geometry_'+args.tag)),
73+
cms.PSet(record = cms.string('PHcalRcd'), tag = cms.string('HCALRECO_Geometry_'+args.tag)),
74+
cms.PSet(record = cms.string('HcalParametersRcd'), tag = cms.string('HCALParameters_Geometry_'+args.tag)),
75+
cms.PSet(record = cms.string('PCaloTowerRcd'), tag = cms.string('CTRECO_Geometry_'+args.tag)),
76+
cms.PSet(record = cms.string('PZdcRcd'), tag = cms.string('ZDCRECO_Geometry_'+args.tag)),
77+
cms.PSet(record = cms.string('PCastorRcd'), tag = cms.string('CASTORRECO_Geometry_'+args.tag)),
78+
cms.PSet(record = cms.string('CSCRecoGeometryRcd'),tag = cms.string('CSCRECO_Geometry_'+args.tag)),
79+
cms.PSet(record = cms.string('CSCRecoDigiParametersRcd'),tag = cms.string('CSCRECODIGI_Geometry_'+args.tag)),
80+
cms.PSet(record = cms.string('DTRecoGeometryRcd'),tag = cms.string('DTRECO_Geometry_'+args.tag)),
81+
cms.PSet(record = cms.string('RPCRecoGeometryRcd'),tag = cms.string('RPCRECO_Geometry_'+args.tag)),
82+
cms.PSet(record = cms.string('GEMRecoGeometryRcd'),tag = cms.string('GEMRECO_Geometry_'+args.tag))
7383
)
7484
)
7585

CondTools/Geometry/test/writehelpers/geometryExtended2024DD4hep_xmlwriter.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,14 @@
11
import FWCore.ParameterSet.Config as cms
22

3+
import argparse
4+
import sys
5+
6+
parser = argparse.ArgumentParser(prog=sys.argv[0], description='Generate XML geometry.')
7+
parser.add_argument("--geom", help="Name of parameter", type=str, default='ExtendedGeometry2024')
8+
parser.add_argument("--out", help="Prefix for output file", type=str, default='ge')
9+
10+
args = parser.parse_args()
11+
312
process = cms.Process("GeometryXMLWriter")
413

514
process.source = cms.Source("EmptyIOVSource",
@@ -10,7 +19,7 @@
1019
)
1120

1221
process.DDDetectorESProducer = cms.ESSource("DDDetectorESProducer",
13-
confGeomXMLFiles = cms.FileInPath('Geometry/CMSCommonData/data/dd4hep/cmsExtendedGeometry2024.xml'),
22+
confGeomXMLFiles = cms.FileInPath('Geometry/CMSCommonData/data/dd4hep/cms'+args.geom+'.xml'),
1423
appendToDataLabel = cms.string('make-payload')
1524
)
1625

@@ -19,7 +28,7 @@
1928
)
2029

2130
process.BigXMLWriter = cms.EDAnalyzer("OutputDD4hepToDDL",
22-
fileName = cms.untracked.string("./geSingleBigFile.xml")
31+
fileName = cms.untracked.string("./"+args.out+"SingleBigFile.xml")
2332
)
2433

2534

CondTools/Geometry/test/writehelpers/xmlgeometrywriter.py

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,13 @@
11
import FWCore.ParameterSet.Config as cms
2+
import argparse
3+
import sys
4+
5+
parser = argparse.ArgumentParser(prog=sys.argv[0], description='Generate XML geometry.')
6+
parser.add_argument("--tag", help="global tag to use", type=str)
7+
parser.add_argument("--out", help="part of out file name", type=str, default='Extended')
8+
parser.add_argument("--inPre", help="Prefix for input geometry file", type=str, default='ge')
9+
10+
args = parser.parse_args()
211

312
process = cms.Process("XMLGeometryWriter")
413

@@ -12,15 +21,15 @@
1221
)
1322

1423
process.XMLGeometryWriter = cms.EDAnalyzer("XMLGeometryBuilder",
15-
XMLFileName = cms.untracked.string("./geSingleBigFile.xml"),
24+
XMLFileName = cms.untracked.string("./"+args.inPre+"SingleBigFile.xml"),
1625
ZIP = cms.untracked.bool(True)
1726
)
1827

1928
process.CondDB.timetype = cms.untracked.string('runnumber')
2029
process.CondDB.connect = cms.string('sqlite_file:myfile.db')
2130
process.PoolDBOutputService = cms.Service("PoolDBOutputService",
2231
process.CondDB,
23-
toPut = cms.VPSet(cms.PSet(record = cms.string('GeometryFileRcd'),tag = cms.string('XMLFILE_Geometry_TagXX_Extended_mc')))
32+
toPut = cms.VPSet(cms.PSet(record = cms.string('GeometryFileRcd'),tag = cms.string('XMLFILE_Geometry_'+args.tag+'_'+args.out+'_mc')))
2433
)
2534

2635
process.maxEvents = cms.untracked.PSet(

0 commit comments

Comments
 (0)