File indexing completed on 2024-11-15 23:41:01
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010 import FWCore.ParameterSet.Config as cms
0011 import os, sys, importlib, re
0012 import FWCore.ParameterSet.VarParsing as VarParsing
0013
0014
0015
0016 options = VarParsing.VarParsing('standard')
0017 options.register('geometry',
0018 "D100",
0019 VarParsing.VarParsing.multiplicity.singleton,
0020 VarParsing.VarParsing.varType.string,
0021 "geometry of operations: D100, D115")
0022 options.register('type',
0023 "DDD",
0024 VarParsing.VarParsing.multiplicity.singleton,
0025 VarParsing.VarParsing.varType.string,
0026 "type of operations: DDD, DD4hep")
0027 options.register('pos',
0028 "Start",
0029 VarParsing.VarParsing.multiplicity.singleton,
0030 VarParsing.VarParsing.varType.string,
0031 "type of operations: Start, End")
0032
0033 options.parseArguments()
0034
0035 print(options)
0036
0037
0038
0039
0040 if (options.geometry == "D115"):
0041 nose = 1
0042 else:
0043 nose = 0
0044
0045 if (options.type == "DD4hep"):
0046 flag = "DD4hep"
0047 ddFlag = True
0048 else:
0049 flag = ""
0050 ddFlag = False
0051
0052 if (options.pos == "End"):
0053 zMax = 10.560
0054 tag = "End"
0055 else:
0056 zMax = 9.6072
0057 tag = "Front"
0058
0059 from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
0060 if (nose == 1):
0061 from Configuration.Eras.Era_Phase2C20I13M9_cff import Phase2C20I13M9
0062 if (ddFlag == True):
0063 process = cms.Process('MaterialBudgetVolume',Phase2C20I13M9,dd4hep)
0064 else:
0065 process = cms.Process('MaterialBudgetVolume',Phase2C20I13M9)
0066 else:
0067 from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0068 if (ddFlag == True):
0069 process = cms.Process('MaterialBudgetVolume',Phase2C17I13M9,dd4hep)
0070 else:
0071 process = cms.Process('MaterialBudgetVolume',Phase2C17I13M9)
0072
0073 geomFile = "Configuration.Geometry.Geometry" + flag + "ExtendedRun4" + options.geometry + "Reco_cff"
0074 fileName = "matbdgHFNose" + flag + options.geometry + tag + ".root"
0075
0076 print("Geometry file Name: ", geomFile)
0077 print("Root file Name: ", fileName)
0078 print("nose Flag: ", nose)
0079 print("ddFlag Flag: ", ddFlag)
0080 print("zMax (m): ", zMax)
0081
0082 process.load(geomFile)
0083 process.load("SimGeneral.HepPDTESSource.pythiapdt_cfi")
0084 process.load("Configuration.StandardSequences.MagneticField_cff")
0085 process.load("SimG4Core.Application.g4SimHits_cfi")
0086
0087 process.load("IOMC.RandomEngine.IOMC_cff")
0088 process.RandomNumberGeneratorService.g4SimHits.initialSeed = 9876
0089
0090 process.load('FWCore.MessageService.MessageLogger_cfi')
0091 process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(1000)
0092 if hasattr(process,'MessageLogger'):
0093 process.MessageLogger.MaterialBudget=dict()
0094
0095 process.source = cms.Source("PoolSource",
0096 noEventSort = cms.untracked.bool(True),
0097 duplicateCheckMode = cms.untracked.string("noDuplicateCheck"),
0098 fileNames = cms.untracked.vstring('file:single_neutrino_random.root')
0099 )
0100
0101 process.maxEvents = cms.untracked.PSet(
0102 input = cms.untracked.int32(-1)
0103 )
0104
0105 process.TFileService = cms.Service("TFileService",
0106 fileName = cms.string(fileName)
0107 )
0108
0109 process.g4SimHits.UseMagneticField = False
0110 process.g4SimHits.Physics.type = 'SimG4Core/Physics/DummyPhysics'
0111 process.g4SimHits.StackingAction.TrackNeutrino = True
0112 process.g4SimHits.Physics.DummyEMPhysics = True
0113 process.g4SimHits.Physics.CutsPerRegion = False
0114 process.g4SimHits.Watchers = cms.VPSet(cms.PSet(
0115 MaterialBudgetVolume = cms.PSet(
0116 lvNames = cms.vstring('BEAM', 'BEAM1', 'BEAM2', 'BEAM3', 'BEAM4', 'Tracker', 'ECAL', 'HCal', 'VCAL', 'MGNT', 'MUON', 'OQUA', 'CALOEC', 'HFNoseVol'),
0117 lvLevels = cms.vint32(3, 3, 3, 3, 3, 3, 4, 4, 3, 4, 3, 3, 4, 3),
0118 useDD4hep = cms.bool(ddFlag),
0119 rMax = cms.double(1.8),
0120 zMax = cms.double(zMax),
0121 ),
0122 type = cms.string('MaterialBudgetVolume'),
0123 ))
0124
0125 process.load("Validation.Geometry.materialBudgetVolumeAnalysis_cfi")
0126 process.p1 = cms.Path(process.g4SimHits+process.materialBudgetVolumeAnalysis)