/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Geometry/MuonCommonData/test/python/g4OverlapCheckRun4T_cfg.py
83 строки
3 KB
Sunanda
Add overlap check test to validate the new GE0 geometry as created by Yechen for a realistic shape of GE0
27 май 2026, 12:50
27 май 2026, 12:50
d8b0088
Код
Авторство
О чём код?
############################################################################### # Way to use this: # cmsRun g4OverlapCheckRun4T_cfg.py geometry=D110 tol=0.1 # # Options for geometry D110, D116, D126 # for tol 0.0, 0.01, 0.1, 1.0 # ############################################################################### import FWCore.ParameterSet.Config as cms import os, sys, importlib, re import FWCore.ParameterSet.VarParsing as VarParsing #################################################################### ### SETUP OPTIONS options = VarParsing.VarParsing('standard') options.register('geometry', "D126", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "geometry of operations: D110, D116, D126") options.register('tol', 0.01, VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.float, "Tolerance for checking overlaps: 0.0, 0.01, 0.1, 1.0" ) ### get and parse the command line arguments options.parseArguments() print(options) #################################################################### # Use the options geomName = "Geometry.MuonCommonData.testExtendedGeometryRun4" + options.geometry + "XML_cfi" baseName = "GeometryExtendedRun4" + options.geometry + str(options.tol) print("Geometry file: ", geomName) print("Base name: ", baseName) from Configuration.Eras.Modifier_phase2_common_cff import phase2_common process = cms.Process('OverlapCheck',phase2_common) process.load(geomName) process.load("Geometry.TrackerNumberingBuilder.trackerNumberingGeometry_cff") process.load("Geometry.EcalCommonData.ecalSimulationParameters_cff") process.load("Geometry.HcalCommonData.hcalDDDSimConstants_cff") process.load("Geometry.HGCalCommonData.hgcalParametersInitialization_cfi") process.load("Geometry.HGCalCommonData.hgcalNumberingInitialization_cfi") process.load("Geometry.MuonNumbering.muonGeometryConstants_cff") process.load("Geometry.MuonNumbering.muonOffsetESProducer_cff") process.load('FWCore.MessageService.MessageLogger_cfi') from SimG4Core.PrintGeomInfo.g4TestGeometry_cfi import * process = checkOverlap(process) #process.MessageLogger.SimG4CoreGeometry=dict() # enable Geant4 overlap check process.g4SimHits.CheckGeometry = True # Geant4 geometry check process.g4SimHits.G4CheckOverlap.OutputBaseName = cms.string(baseName) process.g4SimHits.G4CheckOverlap.OverlapFlag = cms.bool(True) process.g4SimHits.G4CheckOverlap.Tolerance = cms.double(options.tol) process.g4SimHits.G4CheckOverlap.Resolution = cms.int32(10000) process.g4SimHits.G4CheckOverlap.Depth = cms.int32(-1) # tells if NodeName is G4Region or G4PhysicalVolume process.g4SimHits.G4CheckOverlap.RegionFlag = cms.bool(False) # list of names process.g4SimHits.G4CheckOverlap.NodeNames = cms.vstring('OCMS') # enable dump gdml file process.g4SimHits.G4CheckOverlap.gdmlFlag = cms.bool(False) # if defined a G4PhysicsVolume info is printed process.g4SimHits.G4CheckOverlap.PVname = '' # if defined a list of daughter volumes is printed process.g4SimHits.G4CheckOverlap.LVname = '' # extra output files, created if a name is not empty process.g4SimHits.FileNameField = '' process.g4SimHits.FileNameGDML = '' process.g4SimHits.FileNameRegions = '' #