File indexing completed on 2024-11-25 02:29:04
0001 import FWCore.ParameterSet.Config as cms
0002 import FWCore.ParameterSet.VarParsing as VarParsing
0003
0004
0005
0006
0007 options = VarParsing.VarParsing()
0008 options.register('input',
0009 default = "ideal",
0010 mytype = VarParsing.VarParsing.varType.string,
0011 info = "input format")
0012 options.register('inputFile',
0013 default = None,
0014 mytype = VarParsing.VarParsing.varType.string,
0015 info = "input file name")
0016 options.register('output',
0017 default = "none",
0018 mytype = VarParsing.VarParsing.varType.string,
0019 info = "output format")
0020 options.register('outputFile',
0021 default = None,
0022 mytype = VarParsing.VarParsing.varType.string,
0023 info = "output file name")
0024 options.parseArguments()
0025
0026
0027
0028 process = cms.Process("CONVERT")
0029 process.load("Configuration.StandardSequences.MagneticField_cff")
0030 process.load("Geometry.MuonCommonData.muonIdealGeometryXML_cfi")
0031 process.load('Configuration.Geometry.GeometryExtended2021_cff')
0032 process.load("Geometry.MuonNumbering.muonNumberingInitialization_cfi")
0033 process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0034 process.load("Alignment.MuonAlignment.muonGeometryDBConverter_cfi")
0035
0036
0037
0038 from Configuration.AlCa.GlobalTag import GlobalTag
0039 process.GlobalTag = GlobalTag(process.GlobalTag, "auto:phase1_2022_design")
0040 process.muonGeometryDBConverter.input = options.input
0041 process.muonGeometryDBConverter.output = options.output
0042
0043
0044 import Geometry.DTGeometryBuilder.dtGeometryDB_cfi
0045 import Geometry.CSCGeometryBuilder.cscGeometryDB_cfi
0046 import Geometry.GEMGeometryBuilder.gemGeometryDB_cfi
0047 process.DTGeometryIdeal = Geometry.DTGeometryBuilder.dtGeometryDB_cfi.DTGeometryESModule.clone()
0048 process.DTGeometryIdeal.appendToDataLabel = 'idealGeometry'
0049 process.DTGeometryIdeal.applyAlignment = cms.bool(False)
0050 process.CSCGeometryIdeal = Geometry.CSCGeometryBuilder.cscGeometryDB_cfi.CSCGeometryESModule.clone()
0051 process.CSCGeometryIdeal.appendToDataLabel = 'idealGeometry'
0052 process.CSCGeometryIdeal.applyAlignment = cms.bool(False)
0053 process.GEMGeometryIdeal = Geometry.GEMGeometryBuilder.gemGeometryDB_cfi.GEMGeometryESModule.clone()
0054 process.GEMGeometryIdeal.appendToDataLabel = 'idealGeometry'
0055 process.GEMGeometryIdeal.applyAlignment = cms.bool(False)
0056
0057 process.DTGeometryIdealForInputXML = Geometry.DTGeometryBuilder.dtGeometryDB_cfi.DTGeometryESModule.clone()
0058 process.DTGeometryIdealForInputXML.appendToDataLabel = 'idealForInputXML'
0059 process.DTGeometryIdealForInputXML.applyAlignment = cms.bool(False)
0060 process.CSCGeometryIdealForInputXML = Geometry.CSCGeometryBuilder.cscGeometryDB_cfi.CSCGeometryESModule.clone()
0061 process.CSCGeometryIdealForInputXML.appendToDataLabel = 'idealForInputXML'
0062 process.CSCGeometryIdealForInputXML.applyAlignment = cms.bool(False)
0063 process.GEMGeometryIdealForInputXML = Geometry.GEMGeometryBuilder.gemGeometryDB_cfi.GEMGeometryESModule.clone()
0064 process.GEMGeometryIdealForInputXML.appendToDataLabel = 'idealForInputXML'
0065 process.GEMGeometryIdealForInputXML.applyAlignment = cms.bool(False)
0066
0067
0068 if options.input == "db":
0069 process.GlobalTag.toGet.extend(
0070 [cms.PSet(connect = cms.string("sqlite_file:"+options.inputFile),
0071 record = cms.string("DTAlignmentRcd"),
0072 tag = cms.string("DTAlignmentRcd")),
0073 cms.PSet(connect = cms.string("sqlite_file:"+options.inputFile),
0074 record = cms.string("DTAlignmentErrorExtendedRcd"),
0075 tag = cms.string("DTAlignmentErrorExtendedRcd")),
0076 cms.PSet(connect = cms.string("sqlite_file:"+options.inputFile),
0077 record = cms.string("CSCAlignmentRcd"),
0078 tag = cms.string("CSCAlignmentRcd")),
0079 cms.PSet(connect = cms.string("sqlite_file:"+options.inputFile),
0080 record = cms.string("CSCAlignmentErrorExtendedRcd"),
0081 tag = cms.string("CSCAlignmentErrorExtendedRcd")),
0082 cms.PSet(connect = cms.string("sqlite_file:"+options.inputFile),
0083 record = cms.string("GEMAlignmentRcd"),
0084 tag = cms.string("GEMAlignmentRcd")),
0085 cms.PSet(connect = cms.string("sqlite_file:"+options.inputFile),
0086 record = cms.string("GEMAlignmentErrorExtendedRcd"),
0087 tag = cms.string("GEMAlignmentErrorExtendedRcd"))
0088 ])
0089 elif options.input == "xml":
0090 process.muonGeometryDBConverter.fileName = options.inputFile
0091
0092 if options.output == "db":
0093 from CondCore.DBCommon.CondDBSetup_cfi import CondDBSetup
0094 process.PoolDBOutputService = cms.Service("PoolDBOutputService",
0095 CondDBSetup,
0096 toPut = cms.VPSet(cms.PSet(
0097 record = cms.string('DTAlignmentRcd'),
0098 tag = cms.string('DTAlignmentRcd')
0099 ),
0100 cms.PSet(
0101 record = cms.string('DTAlignmentErrorExtendedRcd'),
0102 tag = cms.string('DTAlignmentErrorExtendedRcd')
0103 ),
0104 cms.PSet(
0105 record = cms.string('CSCAlignmentRcd'),
0106 tag = cms.string('CSCAlignmentRcd')
0107 ),
0108 cms.PSet(
0109 record = cms.string('CSCAlignmentErrorExtendedRcd'),
0110 tag = cms.string('CSCAlignmentErrorExtendedRcd')
0111 ),
0112 cms.PSet(
0113 record = cms.string('GEMAlignmentRcd'),
0114 tag = cms.string('GEMAlignmentRcd')
0115 ),
0116 cms.PSet(
0117 record = cms.string('GEMAlignmentErrorExtendedRcd'),
0118 tag = cms.string('GEMAlignmentErrorExtendedRcd')
0119 )),
0120
0121 connect = cms.string('sqlite_file:'+options.outputFile)
0122 )
0123 elif options.output == "xml":
0124 process.muonGeometryDBConverter.outputXML.fileName = options.outputFile
0125 process.muonGeometryDBConverter.outputXML.suppressDTSuperLayers = True
0126 process.muonGeometryDBConverter.outputXML.suppressDTLayers = True
0127 process.muonGeometryDBConverter.outputXML.suppressCSCLayers = True
0128
0129
0130
0131
0132 usedGlobalTag = process.GlobalTag.globaltag.value()
0133 print("Using Global Tag:", usedGlobalTag)
0134
0135 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1))
0136 process.source = cms.Source("EmptySource")
0137 process.p = cms.Path(process.muonGeometryDBConverter)