1 import FWCore.ParameterSet.Config
as cms
3 import FWCore.ParameterSet.VarParsing
as VarParsing
4 from FWCore.Utilities.Enumerate
import Enumerate
6 varType = Enumerate (
"Run1 2015 2017 2019 2023D1 2023D2 2023D3 2023D4 2023D5 MaPSA")
9 print "Usage: cmsRun dumpFWRecoGeometry_cfg.py tag=TAG "
11 print " indentify geometry condition database tag"
12 print " ", varType.keys()
15 print " dump in TGeo format to borwse it geomtery viewer"
16 print " import this will in Fireworks with option --sim-geom-file"
19 print " include Tracker subdetectors"
22 print " include Muon subdetectors"
25 print " include Calo subdetectors"
31 print "Loading configuration for tag ", options.tag ,
"...\n"
34 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
36 process.GlobalTag.globaltag = autoCond[
'run1_mc']
37 process.load(
"Configuration.StandardSequences.GeometryDB_cff")
40 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
42 process.GlobalTag.globaltag = autoCond[
'run2_mc']
43 process.load(
"Configuration.StandardSequences.GeometryDB_cff")
46 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
48 process.GlobalTag.globaltag = autoCond[
'upgrade2017']
49 process.load(
'Configuration.Geometry.GeometryExtended2017Reco_cff')
52 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
54 process.GlobalTag.globaltag = autoCond[
'upgrade2019']
56 process.load(
'Geometry.TrackerGeometryBuilder.trackerParameters_cfi')
57 process.load(
'Configuration.Geometry.GeometryExtended2019Reco_cff')
59 process.DTGeometryESModule.applyAlignment = cms.bool(
False)
60 process.CSCGeometryESModule.applyAlignment = cms.bool(
False)
62 elif score ==
"2023D1":
63 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
65 process.GlobalTag.globaltag = autoCond[
'run2_mc']
66 process.load(
'Configuration.Geometry.GeometryExtended2023D1Reco_cff')
68 elif score ==
"2023D2":
69 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
71 process.GlobalTag.globaltag = autoCond[
'run2_mc']
72 process.load(
'Configuration.Geometry.GeometryExtended2023D2Reco_cff')
74 elif score ==
"2023D3":
75 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
77 process.GlobalTag.globaltag = autoCond[
'run2_mc']
78 process.load(
'Configuration.Geometry.GeometryExtended2023D3Reco_cff')
80 elif score ==
"2023D4":
81 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
83 process.GlobalTag.globaltag = autoCond[
'run2_mc']
84 process.load(
'Configuration.Geometry.GeometryExtended2023D4Reco_cff')
86 elif score ==
"2023D5":
87 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
89 process.GlobalTag.globaltag = autoCond[
'run2_mc']
90 process.load(
'Configuration.Geometry.GeometryExtended2023D5Reco_cff')
92 elif score ==
"MaPSA":
93 process.load(
'Geometry.TrackerGeometryBuilder.idealForDigiTrackerGeometry_cff')
94 process.load(
'Geometry.TrackerCommonData.mapsaGeometryXML_cfi')
95 process.load(
'Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cfi')
96 process.load(
'Geometry.TrackerNumberingBuilder.trackerTopology_cfi')
97 process.load(
'Geometry.TrackerGeometryBuilder.trackerParameters_cfi')
98 process.load(
'Geometry.TrackerGeometryBuilder.trackerGeometry_cfi')
99 process.trackerGeometry.applyAlignment = cms.bool(
False)
100 process.load(
'RecoTracker.GeometryESProducer.TrackerRecoGeometryESProducer_cfi')
102 process.load(
'Geometry.CommonDetUnit.bareGlobalTrackingGeometry_cfi')
104 elif score ==
"HGCTB160":
105 process.load(
"Configuration.StandardSequences.FrontierConditions_GlobalTag_cff")
107 process.GlobalTag.globaltag = autoCond[
'mc']
108 process.load(
'Geometry.HGCalCommonData.hgcalV6ParametersInitialization_cfi')
109 process.load(
'Geometry.HGCalCommonData.hgcalV6NumberingInitialization_cfi')
110 process.load(
'Geometry.CaloEventSetup.HGCalV6Topology_cfi')
111 process.load(
'Geometry.HGCalGeometry.HGCalV6GeometryESProducer_cfi')
112 process.load(
'Geometry.CaloEventSetup.CaloTopology_cfi')
113 process.load(
'Geometry.CaloEventSetup.CaloGeometryBuilder_cfi')
114 process.CaloGeometryBuilder = cms.ESProducer(
115 "CaloGeometryBuilder",
116 SelectedCalos = cms.vstring(
"HGCalEESensitive")
118 process.load(
"SimG4CMS.HGCalTestBeam.HGCalTB160XML_cfi")
129 defaultOutputFileName=
"cmsRecoGeom.root"
131 options.register (
'tag',
133 VarParsing.VarParsing.multiplicity.singleton,
134 VarParsing.VarParsing.varType.string,
135 "tag info about geometry database conditions")
137 options.register (
'tgeo',
139 VarParsing.VarParsing.multiplicity.singleton,
140 VarParsing.VarParsing.varType.bool,
141 "write geometry in TGeo format")
143 options.register (
'tracker',
145 VarParsing.VarParsing.multiplicity.singleton,
146 VarParsing.VarParsing.varType.bool,
147 "write Tracker geometry")
149 options.register (
'muon',
151 VarParsing.VarParsing.multiplicity.singleton,
152 VarParsing.VarParsing.varType.bool,
153 "write Muon geometry")
155 options.register (
'calo',
157 VarParsing.VarParsing.multiplicity.singleton,
158 VarParsing.VarParsing.varType.bool,
159 "write Calo geometry")
161 options.register (
'out',
162 defaultOutputFileName,
163 VarParsing.VarParsing.multiplicity.singleton,
164 VarParsing.VarParsing.varType.string,
167 options.parseArguments()
172 process = cms.Process(
"DUMP")
173 process.add_(cms.Service(
"InitRootHandlers", ResetRootErrHandler = cms.untracked.bool(
False)))
174 process.source = cms.Source(
"EmptySource")
175 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(1))
180 if ( options.tgeo ==
True):
181 if (options.out == defaultOutputFileName ):
182 options.out =
"cmsTGeoRecoGeom-" + str(options.tag) +
".root"
183 process.add_(cms.ESProducer(
"FWTGeoRecoGeometryESProducer",
184 Tracker = cms.untracked.bool(options.tracker),
185 Muon = cms.untracked.bool(options.muon),
186 Calo = cms.untracked.bool(options.calo)))
187 process.dump = cms.EDAnalyzer(
"DumpFWTGeoRecoGeometry",
188 tagInfo = cms.untracked.string(options.tag),
189 outputFileName = cms.untracked.string(options.out)
192 if (options.out == defaultOutputFileName ):
193 options.out =
"cmsRecoGeom-" + str(options.tag) +
".root"
194 process.add_(cms.ESProducer(
"FWRecoGeometryESProducer",
195 Tracker = cms.untracked.bool(options.tracker),
196 Muon = cms.untracked.bool(options.muon),
197 Calo = cms.untracked.bool(options.calo)))
198 process.dump = cms.EDAnalyzer(
"DumpFWRecoGeometry",
199 level = cms.untracked.int32(1),
200 tagInfo = cms.untracked.string(options.tag),
201 outputFileName = cms.untracked.string(options.out)
204 print "Dumping geometry in " , options.out,
"\n";
205 process.p = cms.Path(process.dump)