File indexing completed on 2023-10-25 09:46:35
0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003 import sys, os
0004 import FWCore.ParameterSet.VarParsing as VarParsing
0005 from FWCore.Utilities.Enumerate import Enumerate
0006 from Configuration.Geometry.dict2026Geometry import detectorVersionDict
0007
0008 varType = Enumerate ("Run1 2015 2015dev 2017 2017Muon 2021 2026")
0009 defaultVersion=str();
0010
0011 def help():
0012 print("Usage: cmsRun dumpSimGeometry_cfg.py tag=TAG version=VERSION ")
0013 print(" tag=tagname")
0014 print(" identify geometry scenario ")
0015 print(" ", varType.keys())
0016 print("")
0017 print(" version=versionNumber")
0018 print(" scenario version from 2026 dictionary")
0019 print("")
0020 print(" out=outputFileName")
0021 print(" default is cmsSimGeom<tag><version>.root")
0022 print()
0023 os._exit(1);
0024
0025 def versionCheck(ver):
0026 if ver == "":
0027 print("Please, specify 2026 scenario version\n")
0028 print(sorted([x[1] for x in detectorVersionDict.items()]))
0029 print("")
0030 help()
0031
0032 def simGeoLoad(score):
0033 print("Loading configuration for scenario", options.tag , options.version ,"...\n")
0034 if score == "Run1":
0035 process.load("Geometry.CMSCommonData.cmsIdealGeometryXML_cfi")
0036
0037 elif score == "2015":
0038 process.load("Geometry.CMSCommonData.cmsExtendedGeometry2015XML_cfi")
0039
0040 elif score == "2015dev":
0041 process.load("Geometry.CMSCommonData.cmsExtendedGeometry2015devXML_cfi")
0042
0043 elif score == "2017":
0044 process.load("Geometry.CMSCommonData.cmsExtendedGeometry2017XML_cfi")
0045
0046 elif score == "2017Muon":
0047 process.load("Geometry.CMSCommonData.cmsExtendedGeometry2017MuonXML_cfi")
0048
0049 elif score == "2021":
0050 process.load("Geometry.CMSCommonData.cmsExtendedGeometry2021XML_cfi")
0051
0052 elif score == "2026":
0053 versionCheck(options.version)
0054 process.load("Geometry.CMSCommonData.cmsExtendedGeometry2026" + options.version + "XML_cfi")
0055
0056 else:
0057 help()
0058
0059 options = VarParsing.VarParsing ()
0060
0061 defaultTag=str(2017);
0062 defaultLevel=14;
0063 defaultOutputFileName="cmsSimGeom-"+ defaultTag +".root"
0064
0065 options.register ('tag',
0066 defaultTag,
0067 VarParsing.VarParsing.multiplicity.singleton,
0068 VarParsing.VarParsing.varType.string,
0069 "info about geometry scenario")
0070 options.register ('version',
0071 defaultVersion,
0072 VarParsing.VarParsing.multiplicity.singleton,
0073 VarParsing.VarParsing.varType.string,
0074 "info about 2026 geometry scenario version")
0075 options.register ('out',
0076 defaultOutputFileName,
0077 VarParsing.VarParsing.multiplicity.singleton,
0078 VarParsing.VarParsing.varType.string,
0079 "Output file name")
0080
0081
0082 options.parseArguments()
0083
0084
0085 if (options.out == defaultOutputFileName ):
0086 options.out = "cmsSimGeom-" + str(options.tag) + str(options.version) + ".root"
0087
0088 process = cms.Process("SIMDUMP")
0089 simGeoLoad(options.tag)
0090
0091 process.source = cms.Source("EmptySource")
0092
0093 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1))
0094
0095 process.add_(cms.ESProducer("TGeoMgrFromDdd",
0096 verbose = cms.untracked.bool(False),
0097 level = cms.untracked.int32(defaultLevel)
0098 ))
0099
0100 process.dump = cms.EDAnalyzer("DumpSimGeometry",
0101 tag = cms.untracked.string(options.tag),
0102 outputFileName = cms.untracked.string(options.out))
0103
0104 process.p = cms.Path(process.dump)