Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2024-04-06 12:32:36

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