Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-30 04:10:44

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun runDD4hepXML_cfg.py geometry=2023
0004 #
0005 #   Options for geometry 2021, 2023, 2024
0006 #
0007 ###############################################################################
0008 import FWCore.ParameterSet.Config as cms
0009 import os, sys, importlib, re
0010 import FWCore.ParameterSet.VarParsing as VarParsing
0011 
0012 ####################################################################
0013 ### SETUP OPTIONS
0014 options = VarParsing.VarParsing('standard')
0015 options.register('geometry',
0016                  "2024",
0017                   VarParsing.VarParsing.multiplicity.singleton,
0018                   VarParsing.VarParsing.varType.string,
0019                   "geometry of operations: 2021, 2023, 2024")
0020 
0021 ### get and parse the command line arguments
0022 options.parseArguments()
0023 
0024 print(options)
0025 
0026 #####p###############################################################
0027 # Use the options
0028 
0029 from Configuration.Eras.Era_Run3_dd4hep_cff import Run3_dd4hep
0030 process = cms.Process('G4PrintGeometry',Run3_dd4hep)
0031 
0032 geomFile = "Configuration.Geometry.GeometryDD4hepExtended" + options.geometry + "Reco_cff"
0033 materialFileName = "matfile" + options.geometry + "DD4hep.txt"
0034 solidFileName    = "solidfile" + options.geometry + "DD4hep.txt"
0035 lvFileName       = "lvfile" + options.geometry + "DD4hep.txt"
0036 pvFileName       = "pvfile" + options.geometry + "DD4hep.txt"
0037 touchFileName    = "touchfile" + options.geometry + "DD4hep.txt"
0038 regionFileName   = "regionfile" + options.geometry + "DD4hep.txt"
0039 
0040 print("Geometry file: ", geomFile)
0041 print("Material file Name: ", materialFileName)
0042 print("Solid file Name:    ", solidFileName)
0043 print("LV file Name:       ", lvFileName)
0044 print("PV file Name:       ", pvFileName)
0045 print("Touch file Name:    ", touchFileName)
0046 print("Region file Name:   ", regionFileName)
0047 
0048 process.load(geomFile)
0049 process.load('FWCore.MessageService.MessageLogger_cfi')
0050 
0051 from SimG4Core.PrintGeomInfo.g4PrintGeomInfo_cfi import *
0052 
0053 process = printGeomInfo(process)
0054 
0055 if hasattr(process,'MessageLogger'):
0056     process.MessageLogger.G4cerr=dict()
0057     process.MessageLogger.G4cout=dict()
0058 
0059 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0060     DumpSummary      = cms.untracked.bool(True),
0061     DumpLVTree       = cms.untracked.bool(False),
0062     DumpMaterial     = cms.untracked.bool(False),
0063     DumpLVList       = cms.untracked.bool(False),
0064     DumpLV           = cms.untracked.bool(False),
0065     DumpSolid        = cms.untracked.bool(False),
0066     DumpAttributes   = cms.untracked.bool(False),
0067     DumpPV           = cms.untracked.bool(False),
0068     DumpRotation     = cms.untracked.bool(False),
0069     DumpReplica      = cms.untracked.bool(False),
0070     DumpTouch        = cms.untracked.bool(False),
0071     DumpSense        = cms.untracked.bool(False),
0072     DumpRegion       = cms.untracked.bool(False),
0073     DD4hep           = cms.untracked.bool(True),
0074     Name             = cms.untracked.string(''),
0075     Names            = cms.untracked.vstring(''),
0076     MaterialFileName = cms.untracked.string(materialFileName),
0077     SolidFileName    = cms.untracked.string(solidFileName),
0078     LVFileName       = cms.untracked.string(lvFileName),
0079     PVFileName       = cms.untracked.string(pvFileName),
0080     TouchFileName    = cms.untracked.string(touchFileName),
0081     RegionFileName   = cms.untracked.string(regionFileName),
0082     FileDetail       = cms.untracked.bool(True),
0083     type             = cms.string('PrintGeomInfoAction')
0084 ))