Back to home page

Project CMSSW displayed by LXR

 
 

    


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

0001 ###############################################################################
0002 # Way to use this:
0003 #   cmsRun testHGCalTTBar_cfg.py geometry=D110 type=DDD
0004 #
0005 #   Options for geometry: D105, D110, D114, V17Shift, D104
0006 #               type: DDD, DD4hep
0007 #
0008 ###############################################################################
0009 import FWCore.ParameterSet.Config as cms
0010 import os, sys, imp, re, random
0011 import FWCore.ParameterSet.VarParsing as VarParsing
0012 
0013 ####################################################################
0014 ### SETUP OPTIONS
0015 options = VarParsing.VarParsing('standard')
0016 options.register('geometry',
0017                  "D110",
0018                   VarParsing.VarParsing.multiplicity.singleton,
0019                   VarParsing.VarParsing.varType.string,
0020                   "geometry of operations: D105, D110, D114, V17Shift, D104")
0021 options.register('type',
0022                  "DDD",
0023                   VarParsing.VarParsing.multiplicity.singleton,
0024                   VarParsing.VarParsing.varType.string,
0025                   "type of operations: DDD, DD4hep")
0026 
0027 ### get and parse the command line arguments
0028 options.parseArguments()
0029 
0030 print(options)
0031 
0032 ####################################################################
0033 # Use the options
0034 
0035 if (options.type == "DD4hep"):
0036     from Configuration.ProcessModifiers.dd4hep_cff import dd4hep
0037     if (options.geometry == "V17Shift"):
0038         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0039         process = cms.Process('SingleMuonSim',Phase2C17I13M9,dd4hep)
0040         geomFile = "Geometry.HGCalCommonData.testHGCal" + options.type + options.geometry + "Reco_cff"
0041     elif (options.geometry == "D104"):
0042         from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0043         process = cms.Process('SingleMuonSim',Phase2C22I13M9,dd4hep)
0044         geomFile = "Configuration.Geometry.Geometry" + options.type +"ExtendedRun4" + options.geometry + "Reco_cff"
0045     else:
0046         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0047         process = cms.Process('SingleMuonSim',Phase2C17I13M9,dd4hep)
0048         geomFile = "Configuration.Geometry.Geometry" + options.type +"ExtendedRun4" + options.geometry + "Reco_cff"
0049 else:
0050     if (options.geometry == "V17Shift"):
0051         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0052         process = cms.Process('SingleMuonSim',Phase2C17I13M9)
0053         geomFile = "Geometry.HGCalCommonData.testHGCal" + options.geometry + "Reco_cff"
0054     elif (options.geometry == "D104"):
0055         from Configuration.Eras.Era_Phase2C22I13M9_cff import Phase2C22I13M9
0056         process = cms.Process('SingleMuonSim',Phase2C22I13M9)
0057         geomFile = "Configuration.Geometry.GeometryExtendedRun4" + options.geometry + "Reco_cff"
0058     else:
0059         from Configuration.Eras.Era_Phase2C17I13M9_cff import Phase2C17I13M9
0060         process = cms.Process('SingleMuonSim',Phase2C17I13M9)
0061         geomFile = "Configuration.Geometry.GeometryExtendedRun4" + options.geometry + "Reco_cff"
0062 
0063 globalTag = "auto:phase2_realistic_T33"
0064 outFile = "file:step1" + options.type + options.geometry + "tt.root"
0065 
0066 print("Geometry file: ", geomFile)
0067 print("Global Tag:    ", globalTag)
0068 print("Output file:   ", outFile)
0069 
0070 # import of standard configurations
0071 process.load(geomFile)
0072 process.load('Configuration.StandardSequences.Services_cff')
0073 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0074 process.load('FWCore.MessageService.MessageLogger_cfi')
0075 process.load('Configuration.EventContent.EventContent_cff')
0076 process.load('SimGeneral.MixingModule.mixNoPU_cfi')
0077 process.load('Configuration.StandardSequences.MagneticField_cff')
0078 process.load('Configuration.StandardSequences.Generator_cff')
0079 process.load('IOMC.EventVertexGenerators.VtxSmearedRealistic50ns13TeVCollision_cfi')
0080 process.load('GeneratorInterface.Core.genFilterSummary_cff')
0081 process.load('Configuration.StandardSequences.SimIdeal_cff')
0082 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0083 process.load('Configuration.StandardSequences.FrontierConditions_GlobalTag_cff')
0084 process.load('Configuration.StandardSequences.EndOfProcess_cff')
0085 process.load('SimG4CMS.Calo.hgcalHitPartial_cff')
0086 process.load("IOMC.RandomEngine.IOMC_cff")
0087 
0088 rndm = random.randint(0,200000)
0089 process.RandomNumberGeneratorService.generator.initialSeed = rndm
0090 print("Processing with random number seed: ", rndm)
0091 
0092 process.maxEvents = cms.untracked.PSet(
0093     input = cms.untracked.int32(1000)
0094 )
0095 
0096 process.MessageLogger.cerr.FwkReport.reportEvery = 1
0097 if hasattr(process,'MessageLogger'):
0098     process.MessageLogger.HGCalError=dict()
0099 #   process.MessageLogger.HGCSim=dict()
0100 #   process.MessageLogger.HGCalSim=dict()
0101 
0102 # Input source
0103 process.source = cms.Source("EmptySource")
0104 
0105 process.options = cms.untracked.PSet(
0106     wantSummary = cms.untracked.bool(True),
0107     numberOfConcurrentRuns = cms.untracked.uint32(1),
0108     numberOfStreams = cms.untracked.uint32(0),
0109     numberOfThreads = cms.untracked.uint32(1),
0110     printDependencies = cms.untracked.bool(False),
0111     sizeOfStackForThreadsInKB = cms.optional.untracked.uint32,
0112 )
0113 
0114 # Production Info
0115 process.configurationMetadata = cms.untracked.PSet(
0116     version = cms.untracked.string(''),
0117     annotation = cms.untracked.string(''),
0118     name = cms.untracked.string('Applications')
0119 )
0120 
0121 # Output definition
0122 process.output = cms.OutputModule("PoolOutputModule",
0123     SelectEvents = cms.untracked.PSet(
0124         SelectEvents = cms.vstring('generation_step')
0125     ),
0126     dataset = cms.untracked.PSet(
0127         filterName = cms.untracked.string(''),
0128         dataTier = cms.untracked.string('GEN-SIM-DIGI-RAW-RECO')
0129     ),
0130     fileName = cms.untracked.string(outFile),
0131     outputCommands = process.FEVTDEBUGEventContent.outputCommands,
0132     eventAutoFlushCompressedSize = cms.untracked.int32(5242880),
0133     splitLevel = cms.untracked.int32(0)
0134 )
0135 
0136 # Additional output definition
0137 
0138 # Other statements
0139 process.genstepfilter.triggerConditions=cms.vstring("generation_step")
0140 from Configuration.AlCa.GlobalTag import GlobalTag
0141 process.GlobalTag = GlobalTag(process.GlobalTag, globalTag, '')
0142 
0143 from Configuration.Generator.Pythia8CommonSettings_cfi import *
0144 from Configuration.Generator.Pythia8CUEP8M1Settings_cfi import *
0145 
0146 process.generator = cms.EDFilter("Pythia8ConcurrentGeneratorFilter",
0147                                  pythiaHepMCVerbosity = cms.untracked.bool(False),
0148                                  maxEventsToPrint = cms.untracked.int32(0),
0149                                  pythiaPylistVerbosity = cms.untracked.int32(0),
0150                                  filterEfficiency = cms.untracked.double(1.0),
0151                                  comEnergy = cms.double(14000.0),
0152                                  PythiaParameters = cms.PSet(
0153                                          pythia8CommonSettingsBlock,
0154                                          pythia8CUEP8M1SettingsBlock,
0155                                          processParameters = cms.vstring(
0156                                                  'Top:gg2ttbar = on ',
0157                                                  'Top:qqbar2ttbar = on ',
0158                                                  '6:m0 = 175 ',
0159                                         ),
0160                                          parameterSets = cms.vstring('pythia8CommonSettings',
0161                                                                      'pythia8CUEP8M1Settings',
0162                                                                      'processParameters',
0163                                                              )
0164                                  )
0165 )
0166 
0167 
0168 #Modified to produce hgceedigis
0169 process.ProductionFilterSequence = cms.Sequence(process.generator)
0170 
0171 # Path and EndPath definitions
0172 process.generation_step = cms.Path(process.pgen)
0173 process.simulation_step = cms.Path(process.psim)
0174 process.genfiltersummary_step = cms.EndPath(process.genFilterSummary)
0175 process.endjob_step = cms.EndPath(process.endOfProcess)
0176 process.analysis_step = cms.Path(process.hgcalHitPartialEE+process.hgcalHitPartialHE)
0177 process.out_step = cms.EndPath(process.output)
0178 
0179 process.g4SimHits.HGCSD.CheckID = True
0180 process.g4SimHits.HGCScintSD.CheckID = True
0181 
0182 # Schedule definition
0183 process.schedule = cms.Schedule(process.generation_step,
0184                                 process.genfiltersummary_step,
0185                 process.simulation_step,
0186                                 process.endjob_step,
0187                                 process.analysis_step,
0188                 process.out_step
0189                 )
0190 
0191 from PhysicsTools.PatAlgos.tools.helpers import associatePatAlgosToolsTask
0192 associatePatAlgosToolsTask(process)
0193 # filter all path with the production filter sequence
0194 for path in process.paths:
0195         getattr(process,path).insert(0, process.ProductionFilterSequence)
0196 
0197 
0198 # Customisation from command line
0199 
0200 # Add early deletion of temporary data products to reduce peak memory need
0201 from Configuration.StandardSequences.earlyDeleteSettings_cff import customiseEarlyDelete
0202 process = customiseEarlyDelete(process)
0203 # End adding early deletion