Back to home page

Project CMSSW displayed by LXR

 
 

    


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 # command line options
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 # setting up the process
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 # parameters to configure:
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)