Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:15:30

0001 from __future__ import print_function
0002 import FWCore.ParameterSet.Config as cms
0003 import sys
0004 import FWCore.ParameterSet.VarParsing as VarParsing
0005 from FWCore.Utilities.Enumerate import Enumerate
0006 
0007 varType = Enumerate ("Run1 Ideal2015 Ideal2015dev 2015 2015dev GEMDev RPC4RE11 2017 2021 2023 2023dev 2023sim 2023Muon MaPSA CRack DB")
0008 
0009 def help():
0010    print("Usage: cmsRun dumpSimGeometry_cfg.py  tag=TAG ")
0011    print("   tag=tagname")
0012    print("       indentify geometry condition database tag")
0013    print("      ", varType.keys())
0014    print("")
0015    print("   out=outputFileName")
0016    print("       default is cmsSimGeom<tag>.root")
0017    print() 
0018    exit(1);
0019 
0020 def simGeoLoad(score):
0021     print("Loading configuration for tag ", options.tag ,"...\n")
0022     if score == "Run1":
0023        process.load("Geometry.CMSCommonData.cmsIdealGeometryXML_cfi")
0024 
0025     elif score == "2015":
0026        process.load("Geometry.CMSCommonData.cmsExtendedGeometry2015XML_cfi")
0027 
0028     elif score == "2015dev":
0029        process.load("Geometry.CMSCommonData.cmsExtendedGeometry2015devXML_cfi")
0030 
0031     elif score == "GEMDev":
0032        process.load("Geometry.CMSCommonData.cmsExtendedGeometry2015MuonGEMDevXML_cfi")
0033        
0034     elif score == "Ideal2015":
0035        process.load("Geometry.CMSCommonData.cmsIdealGeometry2015XML_cfi")
0036 
0037     elif score == "Ideal2015dev":
0038        process.load("Geometry.CMSCommonData.cmsIdealGeometry2015devXML_cfi")
0039 
0040     elif score == "RPC4RE11":
0041        process.load("Geometry.CMSCommonData.cmsExtendedGeometry2015XML_RPC4RE11_cfi")
0042 
0043     elif score == "2017":
0044        process.load('Geometry.CMSCommonData.cmsExtendedGeometry2017XML_cfi')
0045        
0046     elif score == "2021":
0047        process.load('Configuration.Geometry.GeometryExtended2021Reco_cff')
0048   
0049     elif score == "2023dev":
0050        process.load('Geometry.CMSCommonData.cmsExtendedGeometry2023devXML_cfi')
0051 
0052     elif score == "2023sim":
0053        process.load('Geometry.CMSCommonData.cmsExtendedGeometry2023simXML_cfi')
0054  
0055     elif score == "2023Muon":
0056        process.load('Configuration.Geometry.GeometryExtended2023MuonReco_cff')
0057 
0058     elif score == "2023":
0059        process.load('Configuration.Geometry.GeometryExtended2023Reco_cff')
0060 
0061     elif score == "MaPSA":
0062        process.load('Geometry.TrackerCommonData.mapsaGeometryXML_cfi')
0063 
0064     elif score == "CRack":
0065        process.load('Geometry.TrackerCommonData.crackGeometryXML_cfi')
0066 
0067     elif score == "DB":
0068         process.load("Configuration.StandardSequences.GeometryDB_cff")
0069         process.load("Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
0070         from Configuration.AlCa.autoCond import autoCond
0071         process.GlobalTag.globaltag = autoCond['run2_mc']
0072 
0073     else:
0074       help()
0075 
0076 
0077 
0078 options = VarParsing.VarParsing ()
0079 
0080 defaultTag=str(2015);
0081 defaultLevel=14;
0082 defaultOutputFileName="cmsSimGeom.root"
0083 
0084 options.register ('tag',
0085                   defaultTag, # default value
0086                   VarParsing.VarParsing.multiplicity.singleton,
0087                   VarParsing.VarParsing.varType.string,
0088                   "info about geometry database conditions")
0089 options.register ('out',
0090                   defaultOutputFileName, # default value
0091                   VarParsing.VarParsing.multiplicity.singleton,
0092                   VarParsing.VarParsing.varType.string,
0093                   "Output file name")
0094 
0095 
0096 options.parseArguments()
0097 
0098 
0099 if (options.out == defaultOutputFileName ):
0100    options.out = "cmsSimGeom-" + str(options.tag) + ".root"
0101 
0102 process = cms.Process("SIMDUMP")
0103 simGeoLoad(options.tag)
0104 
0105 process.source = cms.Source("EmptySource")
0106 
0107 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1))
0108 
0109 process.add_(cms.ESProducer("TGeoMgrFromDdd",
0110         verbose = cms.untracked.bool(False),
0111         level = cms.untracked.int32(defaultLevel)
0112 ))
0113 
0114 process.dump = cms.EDAnalyzer("DumpSimGeometry", 
0115                tag = cms.untracked.string(options.tag),
0116                outputFileName = cms.untracked.string(options.out))
0117 
0118 process.p = cms.Path(process.dump)