Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-11-14 04:15:57

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun testHGCalDigi_cfg.py geometry=D110 type=DDD data=mu tag=Def
0004 #
0005 #   Options for geometry: D105, D110, D114, V17Shift, D104
0006 #               type: DDD, DD4hep
0007 #               data: mu, tt
0008 #               tag: Def, Thr, 0Noise
0009 #
0010 ###############################################################################
0011 import FWCore.ParameterSet.Config as cms
0012 import os, sys, imp, re, random
0013 import FWCore.ParameterSet.VarParsing as VarParsing
0014 
0015 ####################################################################
0016 ### SETUP OPTIONS
0017 options = VarParsing.VarParsing('standard')
0018 options.register('geometry',
0019                  "D110",
0020                   VarParsing.VarParsing.multiplicity.singleton,
0021                   VarParsing.VarParsing.varType.string,
0022                   "geometry of operations: D105, D110, D114, V17Shift, D104")
0023 options.register('type',
0024                  "DDD",
0025                   VarParsing.VarParsing.multiplicity.singleton,
0026                   VarParsing.VarParsing.varType.string,
0027                   "type of operations: DDD, DD4hep")
0028 options.register('data',
0029                  "mu",
0030                  VarParsing.VarParsing.multiplicity.singleton,
0031                  VarParsing.VarParsing.varType.string,
0032                  "data of operations: mu, tt")
0033 options.register('tag',
0034                  "Def",
0035                  VarParsing.VarParsing.multiplicity.singleton,
0036                  VarParsing.VarParsing.varType.string,
0037                  "tag of operations: Def, Thr, 0Noise")
0038 ### get and parse the command line arguments
0039 options.parseArguments()
0040 
0041 print(options)
0042 
0043 ####################################################################
0044 # Use the options
0045 if (options.type == "DD4hep"):
0046     from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
0047     if (options.geometry == "V17Shift"):
0048         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0049         process = cms.Process('SingleMuonSim',Phase2C17I13M9,dd4hep)
0050         geomFile = "Geometry.HGCalCommonData.testHGCal" + options.type + options.geometry + "Reco_cff"
0051     elif (options.geometry == "D104"):
0052         from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0053         process = cms.Process('SingleMuonSim',Phase2C22I13M9,dd4hep)
0054         geomFile = "Configuration.Geometry.Geometry" + options.type +"ExtendedRun4" + options.geometry + "Reco_cff"
0055     else:
0056         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0057         process = cms.Process('SingleMuonSim',Phase2C17I13M9,dd4hep)
0058         geomFile = "Configuration.Geometry.Geometry" + options.type +"ExtendedRun4" + options.geometry + "Reco_cff"
0059 else:
0060     if (options.geometry == "V17Shift"):
0061         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0062         process = cms.Process('SingleMuonSim',Phase2C17I13M9)
0063         geomFile = "Geometry.HGCalCommonData.testHGCal" + options.geometry + "Reco_cff"
0064     elif (options.geometry == "D104"):
0065         from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0066         process = cms.Process('SingleMuonSim',Phase2C22I13M9)
0067         geomFile = "Configuration.Geometry.GeometryExtendedRun4" + options.geometry + "Reco_cff"
0068     else:
0069         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0070         process = cms.Process('SingleMuonSim',Phase2C17I13M9)
0071         geomFile = "Configuration.Geometry.GeometryExtendedRun4" + options.geometry + "Reco_cff"
0072 globalTag = "auto:phase2_realistic_T33"
0073 inFile = "file:step2" + options.type + options.geometry + options.data + ".root"
0074 outFile = "file:step3" + options.type + options.geometry + options.data  + ".root"
0075 fileName = "missing" + options.type + options.geometry + options.data  + options.tag + ".root"
0076 
0077 print("Geometry file: ", geomFile)
0078 print("Global Tag:    ", globalTag)
0079 print("Input file:    ", inFile)
0080 print("Output file:   ", outFile)
0081 print("Root file:     ", fileName)
0082 
0083 # import of standard configurations
0084 process.load('Configuration.StandardSequences.Services_cff')
0085 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0086 process.load('FWCore.MessageService.MessageLogger_cfi')
0087 process.load('Configuration.EventContent.EventContent_cff')
0088 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0089 process.load(geomFile)
0090 process.load('Configuration.StandardSequences.MagneticField_cff')
0091 process.load('Configuration.StandardSequences.RawToDigi_cff')
0092 process.load('Configuration.StandardSequences.Reconstruction_cff')
0093 process.load('Configuration.StandardSequences.RecoSim_cff')
0094 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0095 process.load('Validation.HGCalValidation.hgcMissingRecHit_cfi')
0096 
0097 process.MessageLogger.cerr.FwkReport.reportEvery = 1
0098 if hasattr(process,'MessageLogger'):
0099     process.MessageLogger.HGCalMiss=dict()
0100     process.MessageLogger.HGCalError=dict()
0101 
0102 process.maxEvents = cms.untracked.PSet(
0103     input = cms.untracked.int32(-1),
0104     output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
0105 )
0106 
0107 # Input source
0108 process.source = cms.Source("PoolSource",
0109     fileNames = cms.untracked.vstring(inFile),
0110     secondaryFileNames = cms.untracked.vstring()
0111 )
0112 
0113 process.options = cms.untracked.PSet(
0114     IgnoreCompletely = cms.untracked.vstring(),
0115     Rethrow = cms.untracked.vstring(),
0116     TryToContinue = cms.untracked.vstring(),
0117     accelerators = cms.untracked.vstring('*'),
0118     allowUnscheduled = cms.obsolete.untracked.bool,
0119     canDeleteEarly = cms.untracked.vstring(),
0120     deleteNonConsumedUnscheduledModules = cms.untracked.bool(True),
0121     dumpOptions = cms.untracked.bool(False),
0122     emptyRunLumiMode = cms.obsolete.untracked.string,
0123     eventSetup = cms.untracked.PSet(
0124         forceNumberOfConcurrentIOVs = cms.untracked.PSet(
0125             allowAnyLabel_=cms.required.untracked.uint32
0126         ),
0127         numberOfConcurrentIOVs = cms.untracked.uint32(0)
0128     ),
0129     fileMode = cms.untracked.string('FULLMERGE'),
0130     forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False),
0131     makeTriggerResults = cms.obsolete.untracked.bool,
0132     numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0),
0133     numberOfConcurrentRuns = cms.untracked.uint32(1),
0134     numberOfStreams = cms.untracked.uint32(0),
0135     numberOfThreads = cms.untracked.uint32(1),
0136     printDependencies = cms.untracked.bool(False),
0137     sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
0138     throwIfIllegalParameter = cms.untracked.bool(True),
0139     wantSummary = cms.untracked.bool(False)
0140 )
0141 
0142 # Production Info
0143 process.configurationMetadata = cms.untracked.PSet(
0144     annotation = cms.untracked.string('step3 nevts:10'),
0145     name = cms.untracked.string('Applications'),
0146     version = cms.untracked.string('$Revision: 1.19 $')
0147 )
0148 
0149 # Output definition
0150 
0151 process.FEVTDEBUGHLToutput = cms.OutputModule("PoolOutputModule",
0152     dataset = cms.untracked.PSet(
0153         dataTier = cms.untracked.string('GEN-SIM-RECO'),
0154         filterName = cms.untracked.string('')
0155     ),
0156     fileName = cms.untracked.string(outFile),
0157     outputCommands = cms.untracked.vstring(
0158         'keep *_*hbhe*_*_*',
0159         'keep *_g4SimHits_*_*',
0160         'keep *_*HGC*_*_*',
0161         ),
0162     splitLevel = cms.untracked.int32(0)
0163 )
0164 
0165 # Additional output definition
0166 process.TFileService = cms.Service("TFileService",
0167                                    fileName = cms.string(fileName),
0168                                    closeFileFast = cms.untracked.bool(True) )
0169 
0170 # Other statements
0171 process.mix.playback = True
0172 process.mix.digitizers = cms.PSet()
0173 for a in process.aliases: delattr(process, a)
0174 process.RandomNumberGeneratorService.restoreStateLabel=cms.untracked.string("randomEngineStateProducer")
0175 from Configuration.AlCa.GlobalTag import GlobalTag
0176 process.GlobalTag = GlobalTag(process.GlobalTag, globalTag, '')
0177 
0178 # Path and EndPath definitions
0179 process.raw2digi_step = cms.Path(process.RawToDigi)
0180 process.reconstruction_step = cms.Path(process.reconstruction)
0181 process.recosim_step = cms.Path(process.recosim)
0182 process.analysis_step = cms.Path(process.hgcMissingRecHit)
0183 process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput)
0184 
0185 # Schedule definition
0186 process.schedule = cms.Schedule(process.raw2digi_step,
0187                                 process.reconstruction_step,
0188                                 process.recosim_step,
0189                                 process.analysis_step,
0190                                 process.FEVTDEBUGHLToutput_step)
0191 
0192 # customisation of the process.
0193 
0194 # Automatic addition of the customisation function from SimGeneral.MixingModule.fullMixCustomize_cff
0195 from SimGeneral.MixingModule.fullMixCustomize_cff import setCrossingFrameOn 
0196 
0197 #call to customisation function setCrossingFrameOn imported from SimGeneral.MixingModule.fullMixCustomize_cff
0198 process = setCrossingFrameOn(process)
0199 
0200 # End of customisation functions
0201 
0202 # Add early deletion of temporary data products to reduce peak memory need
0203 from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
0204 process = customiseEarlyDelete(process)
0205 # End adding early deletion