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