Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2025-05-09 22:40:26

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun g4OverlapCheckTracker_cfg.py geometry=2021 tol=0.1
0004 #
0005 #   Options for geometry 2016, 2017, 2021, Run4D102, Run4D103, Run4D104,
0006 #                        Run4D108, Run4D109, Run4D110, Run4D111, Run4D112, 
0007 #                        Run4D113, Run4D114, Run4D115, Run4D115, Run4D116,
0008 #                        Run4D117, Run8D118, Run4D119, Run4D120
0009 #
0010 ###############################################################################
0011 import FWCore.ParameterSet.Config as cms
0012 import os, sys, importlib, re
0013 import FWCore.ParameterSet.VarParsing as VarParsing
0014 
0015 ####################################################################
0016 ### SETUP OPTIONS
0017 options = VarParsing.VarParsing('standard')
0018 options.register('geometry',
0019                  "2021",
0020                   VarParsing.VarParsing.multiplicity.singleton,
0021                   VarParsing.VarParsing.varType.string,
0022                   "geometry of operations: 2016, 2017, 2021, Run4D102, Run4D103, Run4D104, Run4D108, Run4D109, Run4D110, Run4D111, Run4D112, Run4D113, Run4D114, Run4D115, Run4D116, Run4D117, Run4D118, Run4D119, Run4D120")
0023 options.register('tol',
0024                  0.01,
0025                  VarParsing.VarParsing.multiplicity.singleton,
0026                  VarParsing.VarParsing.varType.float,
0027                  "Tolerance for checking overlaps: 0.0, 0.01, 0.1, 1.0"
0028 )
0029 
0030 ### get and parse the command line arguments
0031 options.parseArguments()
0032 
0033 print(options)
0034 
0035 ####################################################################
0036 # Use the options
0037 
0038 if (options.geometry == "Run4D102"):
0039     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0040     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0041     process.load('Configuration.Geometry.GeometryExtendedRun4D102Reco_cff')
0042     baseName = 'TrackerRun4D102'
0043 elif (options.geometry == "Run4D103"):
0044     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0045     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0046     process.load('Configuration.Geometry.GeometryExtendedRun4D103Reco_cff')
0047     baseName = 'TrackerRun4D103'
0048 elif (options.geometry == "Run4D104"):
0049     from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0050     process = cms.Process('G4PrintGeometry',Phase2C22I13M9)
0051     process.load('Configuration.Geometry.GeometryExtendedRun4D104Reco_cff')
0052     baseName = 'TrackerRun4D104'
0053 elif (options.geometry == "Run4D108"):
0054     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0055     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0056     process.load('Configuration.Geometry.GeometryExtendedRun4D108Reco_cff')
0057     baseName = 'TrackerRun4D108'
0058 elif (options.geometry == "Run4D109"):
0059     from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0060     process = cms.Process('G4PrintGeometry',Phase2C22I13M9)
0061     process.load('Configuration.Geometry.GeometryExtendedRun4D109Reco_cff')
0062     baseName = 'TrackerRun4D109'
0063 elif (options.geometry == "Run4D110"):
0064     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0065     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0066     process.load('Configuration.Geometry.GeometryExtendedRun4D110Reco_cff')
0067     baseName = 'TrackerRun4D110'
0068 elif (options.geometry == "Run4D111"):
0069     from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0070     process = cms.Process('G4PrintGeometry',Phase2C22I13M9)
0071     process.load('Configuration.Geometry.GeometryExtendedRun4D111Reco_cff')
0072     baseName = 'TrackerRun4D111'
0073 elif (options.geometry == "Run4D112"):
0074     from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0075     process = cms.Process('G4PrintGeometry',Phase2C22I13M9)
0076     process.load('Configuration.Geometry.GeometryExtendedRun4D112Reco_cff')
0077     baseName = 'TrackerRun4D112'
0078 elif (options.geometry == "Run4D113"):
0079     from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0080     process = cms.Process('G4PrintGeometry',Phase2C22I13M9)
0081     process.load('Configuration.Geometry.GeometryExtendedRun4D113Reco_cff')
0082     baseName = 'TrackerRun4D113'
0083 elif (options.geometry == "Run4D114"):
0084     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0085     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0086     process.load('Configuration.Geometry.GeometryExtendedRun4D114Reco_cff')
0087     baseName = 'TrackerRun4D114'
0088 elif (options.geometry == "Run4D115"):
0089     from Configuration.Eras.Era_Phase2C20I13M9_cff import Phase2C20I13M9
0090     process = cms.Process('G4PrintGeometry',Phase2C20I13M9)
0091     process.load('Configuration.Geometry.GeometryExtendedRun4D115Reco_cff')
0092     baseName = 'TrackerRun4D115'
0093 elif (options.geometry == "Run4D116"):
0094     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0095     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0096     process.load('Configuration.Geometry.GeometryExtendedRun4D116Reco_cff')
0097     baseName = 'TrackerRun4D116'
0098 elif (options.geometry == "Run4D117"):
0099     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0100     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0101     process.load('Configuration.Geometry.GeometryExtendedRun4D117Reco_cff')
0102     baseName = 'TrackerRun4D117'
0103 elif (options.geometry == "Run4D118"):
0104     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0105     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0106     process.load('Configuration.Geometry.GeometryExtendedRun4D118Reco_cff')
0107     baseName = 'TrackerRun4D118'
0108 elif (options.geometry == "Run4D119"):
0109     from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0110     process = cms.Process('G4PrintGeometry',Phase2C17I13M9)
0111     process.load('Configuration.Geometry.GeometryExtendedRun4D119Reco_cff')
0112     baseName = 'TrackerRun4D119'
0113 elif (options.geometry == "Run4D120"):
0114     from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0115     process = cms.Process('G4PrintGeometry',Phase2C22I13M9)
0116     process.load('Configuration.Geometry.GeometryExtendedRun4D120Reco_cff')
0117     baseName = 'TrackerRun4D120'
0118 elif (options.geometry == "2016"):
0119     from Configuration.Eras.Era_Run2_2016_cff import Run2_2016
0120     process = cms.Process('G4PrintGeometry',Run2_2016)
0121     process.load('Configuration.Geometry.GeometryExtended2016Reco_cff')
0122     baseName = 'Tracker2016'
0123 elif (options.geometry == "2017"):
0124     from Configuration.Eras.Era_Run2_2017_cff import Run2_2017
0125     process = cms.Process('G4PrintGeometry',Run2_2017)
0126     process.load('Configuration.Geometry.GeometryExtended2017Reco_cff')
0127     baseName = 'Tracker2017'
0128 else:
0129     from Configuration.Eras.Era_Run3_DDD_cff import Run3_DDD
0130     process = cms.Process('G4PrintGeometry',Run3_DDD)
0131     process.load('Configuration.Geometry.GeometryExtended2021Reco_cff')
0132     baseName = 'Tracker2021'
0133 
0134 print("Base file Name: ", baseName)
0135 
0136 from SimG4Core.PrintGeomInfo.g4TestGeometry_cfi import *
0137 process = checkOverlap(process)
0138 
0139 # enable Geant4 overlap check 
0140 process.g4SimHits.CheckGeometry = True
0141 
0142 # Geant4 geometry check 
0143 process.g4SimHits.G4CheckOverlap.OutputBaseName = cms.string(baseName)
0144 process.g4SimHits.G4CheckOverlap.OverlapFlag = cms.bool(True)
0145 process.g4SimHits.G4CheckOverlap.Tolerance  = cms.double(options.tol)
0146 process.g4SimHits.G4CheckOverlap.Resolution = cms.int32(10000)
0147 process.g4SimHits.G4CheckOverlap.Depth      = cms.int32(-1)
0148 # tells if NodeName is G4Region or G4PhysicalVolume
0149 process.g4SimHits.G4CheckOverlap.RegionFlag = cms.bool(True)
0150 # list of names
0151 process.g4SimHits.G4CheckOverlap.NodeNames  = cms.vstring('TrackerDeadRegion','TrackerSensRegion')
0152 # enable dump gdml file 
0153 process.g4SimHits.G4CheckOverlap.gdmlFlag   = cms.bool(False)
0154 # if defined a G4PhysicsVolume info is printed
0155 process.g4SimHits.G4CheckOverlap.PVname     = 'Tracker'
0156 # if defined a list of daughter volumes is printed
0157 process.g4SimHits.G4CheckOverlap.LVname     = 'Tracker'
0158 
0159 # extra output files, created if a name is not empty
0160 process.g4SimHits.FileNameField   = ''
0161 process.g4SimHits.FileNameGDML    = ''
0162 process.g4SimHits.FileNameRegions = ''
0163 #