Back to home page

Project CMSSW displayed by LXR

 
 

    


File indexing completed on 2023-03-17 11:27:53

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun testHGCalDigi_cfg.py geometry=D92 type=mu noise=none threshold=none
0004 #
0005 #   Options for geometry D88, D92, D93, D92Shift
0006 #               type mu, tt
0007 #               noise none, ok
0008 #               threshold none, ok
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, D92Shift")
0023 options.register('type',
0024                  "mu",
0025                  VarParsing.VarParsing.multiplicity.singleton,
0026                  VarParsing.VarParsing.varType.string,
0027                  "type of operations: mu, tt")
0028 options.register('noise',
0029                  "ok",
0030                   VarParsing.VarParsing.multiplicity.singleton,
0031                   VarParsing.VarParsing.varType.string,
0032                  "noise of operations: none, ok")
0033 options.register('threshold',
0034                  "ok",
0035                   VarParsing.VarParsing.multiplicity.singleton,
0036                   VarParsing.VarParsing.varType.string,
0037                  "threshold of operations: none, ok")
0038 
0039 ### get and parse the command line arguments
0040 options.parseArguments()
0041 
0042 print(options)
0043 
0044 ####################################################################
0045 # Use the options
0046 from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0047 process = cms.Process('Digi',Phase2C17I13M9)
0048 
0049 if (options.geometry == "D92Shift"):
0050     geomFile = "Geometry.HGCalCommonData.testHGCalV17ShiftReco_cff"
0051 else:
0052     geomFile = "Configuration.Geometry.GeometryExtended2026" + options.geometry + "Reco_cff"
0053 globalTag = "auto:phase2_realistic_T21"
0054 inFile = "file:step1" + options.geometry + options.type + ".root"
0055 outFile = "file:step2" + options.geometry + options.type + ".root"
0056 
0057 print("Geometry file: ", geomFile)
0058 print("Global Tag:    ", globalTag)
0059 print("Input file:    ", inFile)
0060 print("Output file:   ", outFile)
0061 
0062 from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hgceeDigitizer
0063 from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hgchefrontDigitizer
0064 from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hgchebackDigitizer
0065 from SimCalorimetry.HGCalSimProducers.hgcalDigitizer_cfi import hfnoseDigitizer
0066 from SimCalorimetry.HGCalSimProducers.hgcROCParameters_cfi import hgcROCSettings
0067 # import of standard configurations
0068 process.load('Configuration.StandardSequences.Services_cff')
0069 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0070 process.load('FWCore.MessageService.MessageLogger_cfi')
0071 process.load('Configuration.EventContent.EventContent_cff')
0072 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0073 process.load(geomFile)
0074 process.load('Configuration.StandardSequences.MagneticField_cff')
0075 process.load('Configuration.StandardSequences.Digi_cff')
0076 process.load('Configuration.StandardSequences.L1TrackTrigger_cff')
0077 process.load('Configuration.StandardSequences.SimL1Emulator_cff')
0078 process.load('Configuration.StandardSequences.DigiToRaw_cff')
0079 process.load('HLTrigger.Configuration.HLT_Fake2_cff')
0080 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0081 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0082 
0083 process.MessageLogger.cerr.FwkReport.reportEvery = 1
0084 
0085 process.maxEvents = cms.untracked.PSet(
0086     input = cms.untracked.int32(-1),
0087     output = cms.optional.untracked.allowed(cms.int32,cms.PSet)
0088 )
0089 
0090 # Input source
0091 process.source = cms.Source("PoolSource",
0092     dropDescendantsOfDroppedBranches = cms.untracked.bool(False),
0093     fileNames = cms.untracked.vstring(inFile),
0094     inputCommands = cms.untracked.vstring(
0095         'keep *',
0096         'drop *_genParticles_*_*',
0097         'drop *_genParticlesForJets_*_*',
0098         'drop *_kt4GenJets_*_*',
0099         'drop *_kt6GenJets_*_*',
0100         'drop *_iterativeCone5GenJets_*_*',
0101         'drop *_ak4GenJets_*_*',
0102         'drop *_ak7GenJets_*_*',
0103         'drop *_ak8GenJets_*_*',
0104         'drop *_ak4GenJetsNoNu_*_*',
0105         'drop *_ak8GenJetsNoNu_*_*',
0106         'drop *_genCandidatesForMET_*_*',
0107         'drop *_genParticlesForMETAllVisible_*_*',
0108         'drop *_genMetCalo_*_*',
0109         'drop *_genMetCaloAndNonPrompt_*_*',
0110         'drop *_genMetTrue_*_*',
0111         'drop *_genMetIC5GenJs_*_*'
0112     ),
0113     secondaryFileNames = cms.untracked.vstring()
0114 )
0115 
0116 process.options = cms.untracked.PSet(
0117     FailPath = cms.untracked.vstring(),
0118     IgnoreCompletely = cms.untracked.vstring(),
0119     Rethrow = cms.untracked.vstring(),
0120     SkipEvent = cms.untracked.vstring(),
0121     accelerators = cms.untracked.vstring('*'),
0122     allowUnscheduled = cms.obsolete.untracked.bool,
0123     canDeleteEarly = cms.untracked.vstring(),
0124     deleteNonConsumedUnscheduledModules = cms.untracked.bool(True),
0125     dumpOptions = cms.untracked.bool(False),
0126     emptyRunLumiMode = cms.obsolete.untracked.string,
0127     eventSetup = cms.untracked.PSet(
0128         forceNumberOfConcurrentIOVs = cms.untracked.PSet(
0129             allowAnyLabel_=cms.required.untracked.uint32
0130         ),
0131         numberOfConcurrentIOVs = cms.untracked.uint32(0)
0132     ),
0133     fileMode = cms.untracked.string('FULLMERGE'),
0134     forceEventSetupCacheClearOnNewRun = cms.untracked.bool(False),
0135     makeTriggerResults = cms.obsolete.untracked.bool,
0136     numberOfConcurrentLuminosityBlocks = cms.untracked.uint32(0),
0137     numberOfConcurrentRuns = cms.untracked.uint32(1),
0138     numberOfStreams = cms.untracked.uint32(0),
0139     numberOfThreads = cms.untracked.uint32(1),
0140     printDependencies = cms.untracked.bool(False),
0141     sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
0142     throwIfIllegalParameter = cms.untracked.bool(True),
0143     wantSummary = cms.untracked.bool(False)
0144 )
0145 
0146 # Production Info
0147 process.configurationMetadata = cms.untracked.PSet(
0148     annotation = cms.untracked.string('step2 nevts:1000'),
0149     name = cms.untracked.string('Applications'),
0150     version = cms.untracked.string('$Revision: 1.19 $')
0151 )
0152 
0153 # Output definition
0154 
0155 process.FEVTDEBUGHLToutput = cms.OutputModule("PoolOutputModule",
0156     dataset = cms.untracked.PSet(
0157         dataTier = cms.untracked.string('GEN-SIM-DIGI-RAW'),
0158         filterName = cms.untracked.string('')
0159     ),
0160     fileName = cms.untracked.string(outFile),
0161     outputCommands = process.FEVTDEBUGHLTEventContent.outputCommands,
0162     splitLevel = cms.untracked.int32(0)
0163 )
0164 
0165 # Additional output definition
0166 
0167 # Other statements
0168 process.mix.digitizers = cms.PSet(process.theDigitizersValid)
0169 from Configuration.AlCa.GlobalTag import GlobalTag
0170 process.GlobalTag = GlobalTag(process.GlobalTag, globalTag, '')
0171 
0172 # Path and EndPath definitions
0173 process.digitisation_step = cms.Path(process.pdigi_valid)
0174 process.L1TrackTrigger_step = cms.Path(process.L1TrackTrigger)
0175 process.L1simulation_step = cms.Path(process.SimL1Emulator)
0176 process.digi2raw_step = cms.Path(process.DigiToRaw)
0177 process.endjob_step = cms.EndPath(process.endOfProcess)
0178 process.FEVTDEBUGHLToutput_step = cms.EndPath(process.FEVTDEBUGHLToutput)
0179 
0180 if (options.noise == "none"):
0181     process.HGCAL_noise_fC.values = [0,0,0]
0182 
0183 if (options.threshold == "none"):
0184     process.mix.digitizers.hgceeDigitizer.digiCfg.feCfg.adcThreshold_fC = 0.0
0185     process.mix.digitizers.hgchefrontDigitizer.digiCfg.feCfg.adcThreshold_fC = 0.0
0186     process.mix.digitizers.hgchebackDigitizer.digiCfg.feCfg.adcThreshold_fC = 0.0
0187 
0188 # Schedule definition
0189 # process.schedule imported from cff in HLTrigger.Configuration
0190 process.schedule.insert(0, process.digitisation_step)
0191 process.schedule.insert(1, process.L1TrackTrigger_step)
0192 process.schedule.insert(2, process.L1simulation_step)
0193 process.schedule.insert(3, process.digi2raw_step)
0194 process.schedule.extend([process.endjob_step,process.FEVTDEBUGHLToutput_step])
0195 
0196 from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
0197 associatePatAlgosToolsTask(process)
0198 
0199 # customisation of the process.
0200 
0201 # Automatic addition of the customisation function from HLTrigger.Configuration.customizeHLTforMC
0202 from HLTrigger.Configuration.customizeHLTforMC import customizeHLTforMC 
0203 
0204 #call to customisation function customizeHLTforMC imported from HLTrigger.Configuration.customizeHLTforMC
0205 process = customizeHLTforMC(process)
0206 
0207 # End of customisation functions
0208 
0209 
0210 # Customisation from command line
0211 
0212 # Add early deletion of temporary data products to reduce peak memory need
0213 from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
0214 process = customiseEarlyDelete(process)
0215 # End adding early deletion