/
githubmirror
/
cmssw
Обзор
Документация
Войти
/
githubmirror
/
cmssw
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
Validation/HGCalValidation/test/python/protoHGCalSimWatcher_cfg.py
213 строк
8 KB
Sunanda
Update several test scripts in Validation/HGCalValidation/test/python in vew of deprecieation of several Phase2 scenarios
13 янв 2026, 06:56
13 янв 2026, 06:56
51ac4d0
Код
Авторство
О чём код?
############################################################################### # Way to use this: # cmsRun protoHGCalSimWatcher_cfg.py geometry=D121 # # Options for geometry D104, D110, D111, D112, D113, D114, D115, D120, D121, # D122, D123, D124, D125 # ############################################################################### 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', "D121", VarParsing.VarParsing.multiplicity.singleton, VarParsing.VarParsing.varType.string, "geometry of operations: D104, D110, D111, D112, D113, D114, D115, D120, D121, D122, D123, D124, D125") ### get and parse the command line arguments options.parseArguments() print(options) #################################################################### # Use the options geomName = "Run4" + options.geometry print("Geometry Name: ", geomName) import Configuration.Geometry.defaultPhase2ConditionsEra_cff as _settings GLOBAL_TAG, ERA = _settings.get_era_and_conditions(geomName) print("Global Tag Name: ", GLOBAL_TAG) print("Era Name: ", ERA) process = cms.Process('HGClSimWatcher',ERA) geomFile = "Configuration.Geometry.GeometryExtendedRun4" + options.geometry + "Reco_cff" fileCheck = "testHGCalSimWatcherRun4" + options.geometry + ".root" if (options.geometry == "D93"): runMode = 2 else: runMode = 1 print("Geometry file: ", geomFile) print("Output file: ", fileCheck) print("Run Mode: ", runMode) # import of standard configurations process.load(geomFile) process.load('Configuration.StandardSequences.Services_cff') process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi') process.load('FWCore.MessageService.MessageLogger_cfi') process.load('Configuration.EventContent.EventContent_cff') process.load('SimGeneral.MixingModule.mixNoPU_cfi') process.load('Configuration.StandardSequences.MagneticField_cff') process.load('Configuration.StandardSequences.Generator_cff') process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi') process.load('GeneratorInterface.Core.genFilterSummary_cff') process.load('Configuration.StandardSequences.SimIdeal_cff') process.load('Configuration.StandardSequences.EndOfProcess_cff') process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff') process.load('Configuration.StandardSequences.Digi_cff') process.load('Configuration.StandardSequences.SimL1Emulator_cff') process.load('Configuration.StandardSequences.L1TrackTrigger_cff') process.load('Configuration.StandardSequences.DigiToRaw_cff') process.load('HLTrigger.Configuration.HLT_Fake2_cff') process.load('Configuration.StandardSequences.RawToDigi_cff') process.load('Configuration.StandardSequences.L1Reco_cff') process.load('Configuration.StandardSequences.Reconstruction_cff') process.load('Configuration.StandardSequences.RecoSim_cff') process.load('Configuration.StandardSequences.EndOfProcess_cff') process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(1000) ) process.MessageLogger.cerr.FwkReport.reportEvery = 5 if hasattr(process,'MessageLogger'): process.MessageLogger.ValidHGCal=dict() process.MessageLogger.HGCalGeom=dict() # Input source process.source = cms.Source("EmptySource") process.options = cms.untracked.PSet( wantSummary = cms.untracked.bool(True), numberOfConcurrentRuns = cms.untracked.uint32(1), numberOfStreams = cms.untracked.uint32(0), numberOfThreads = cms.untracked.uint32(1), printDependencies = cms.untracked.bool(False), sizeOfStackForThreadsInKB = cms.optional.untracked.uint32, ) # Production Info process.configurationMetadata = cms.untracked.PSet( version = cms.untracked.string(''), annotation = cms.untracked.string(''), name = cms.untracked.string('Applications') ) # Output definition process.output = cms.OutputModule("PoolOutputModule", splitLevel = cms.untracked.int32(0), eventAutoFlushCompressedSize = cms.untracked.int32(5242880), outputCommands = cms.untracked.vstring( 'keep *_*hbhe*_*_*', 'keep *_g4SimHits_*_*', 'keep *_*HGC*_*_*', ), fileName = cms.untracked.string(fileCheck), dataset = cms.untracked.PSet( filterName = cms.untracked.string(''), dataTier = cms.untracked.string('GEN-SIM-DIGI-RAW-RECO') ), SelectEvents = cms.untracked.PSet( SelectEvents = cms.vstring('generation_step') ) ) # Additional output definition if (runMode == 1): process.g4SimHits.Watchers = cms.VPSet(cms.PSet( SimG4HGCalValidation = cms.PSet( Names = cms.vstring( 'HGCalEECellSensitive', 'HGCalHESiliconCellSensitive', 'HGCalHEScintillatorSensitive', ), Types = cms.vint32(0,0,0), DetTypes = cms.vint32(0,1,2), LabelLayerInfo = cms.string("HGCalInfoLayer"), Verbosity = cms.untracked.int32(0), ), type = cms.string('SimG4HGCalValidation') )) else: process.g4SimHits.Watchers = cms.VPSet(cms.PSet( SimG4HGCalValidation = cms.PSet( Names = cms.vstring( 'HGCalEESensitive', 'HGCalHESensitive', 'HGCalHESiliconSensitive', 'HGCalHEScintillatorSensitive', ), Types = cms.vint32(0,0,0,0), DetTypes = cms.vint32(0,1,1,2), LabelLayerInfo = cms.string("HGCalInfoLayer"), Verbosity = cms.untracked.int32(0), ), type = cms.string('SimG4HGCalValidation') )) # Other statements process.genstepfilter.triggerConditions=cms.vstring("generation_step") from Configuration.AlCa.GlobalTag import GlobalTag process.GlobalTag = GlobalTag(process.GlobalTag, GLOBAL_TAG, '') process.generator = cms.EDProducer("FlatRandomPtGunProducer", PGunParameters = cms.PSet( MaxPt = cms.double(20.0), MinPt = cms.double(20.0), PartID = cms.vint32(13), #--->muon MaxEta = cms.double(3.0), MaxPhi = cms.double(3.14159265359), MinEta = cms.double(1.2), MinPhi = cms.double(-3.14159265359) ), Verbosity = cms.untracked.int32(0), psethack = cms.string('single muon pt 20'), AddAntiParticle = cms.bool(False), firstRun = cms.untracked.uint32(1) ) #Modified to produce hgceedigis process.mix.digitizers = cms.PSet(process.theDigitizersValid) process.ProductionFilterSequence = cms.Sequence(process.generator) # Path and EndPath definitions process.generation_step = cms.Path(process.pgen) process.simulation_step = cms.Path(process.psim) process.genfiltersummary_step = cms.EndPath(process.genFilterSummary) process.digitisation_step = cms.Path(process.pdigi_valid) process.L1simulation_step = cms.Path(process.SimL1Emulator) process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger) process.digi2raw_step = cms.Path(process.DigiToRaw) process.raw2digi_step = cms.Path(process.RawToDigi) process.L1Reco_step = cms.Path(process.L1Reco) process.reconstruction_step = cms.Path(process.localreco) process.recosim_step = cms.Path(process.recosim) process.out_step = cms.EndPath(process.output) # Schedule definition process.schedule = cms.Schedule(process.generation_step, process.simulation_step, process.digitisation_step, process.L1simulation_step, process.L1TrackTrigger_step, process.digi2raw_step, # process.raw2digi_step, # process.L1Reco_step, # process.reconstruction_step, # process.recosim_step, process.out_step ) # filter all path with the production filter sequence for path in process.paths: if getattr(process,path)._seq is not None: getattr(process,path)._seq = process.ProductionFilterSequence * getattr(process,path)._seq