File indexing completed on 2024-04-06 12:13:59
0001 import sys
0002 import FWCore.ParameterSet.Config as cms
0003 import FWCore.ParameterSet.VarParsing as VarParsing
0004
0005
0006 options = VarParsing.VarParsing ('standard')
0007 options.register('runOnly', '', VarParsing.VarParsing.multiplicity.singleton,VarParsing.VarParsing.varType.string, "Run only specified analysis")
0008 options.register('yodafile', 'test_toprecoil.yoda', VarParsing.VarParsing.multiplicity.singleton,VarParsing.VarParsing.varType.string, "Name of yoda output file")
0009 options.register('recoiltoTop','on',VarParsing.VarParsing.multiplicity.singleton,VarParsing.VarParsing.varType.string, "TopRecoilHook setting")
0010 options.register('recoiltoBottom','off',VarParsing.VarParsing.multiplicity.singleton,VarParsing.VarParsing.varType.string, "RecoilToColor setting")
0011 options.setDefault('maxEvents', 1000)
0012 options.register('alphaSvalue', 0.1365,VarParsing.VarParsing.multiplicity.singleton,VarParsing.VarParsing.varType.string, "AlphaS value setting")
0013 options.register('topmass', 172.5,VarParsing.VarParsing.multiplicity.singleton,VarParsing.VarParsing.varType.string, "Top mass setting")
0014 if(hasattr(sys, "argv")):
0015 options.parseArguments()
0016 print(options)
0017
0018 process = cms.Process("runRivetAnalysis")
0019
0020 from Configuration.Generator.Pythia8CommonSettings_cfi import *
0021 from Configuration.Generator.Pythia8CUEP8M1Settings_cfi import *
0022 from Configuration.Generator.Pythia8aMCatNLOSettings_cfi import *
0023 from IOMC.RandomEngine.RandomServiceHelper import RandomNumberServiceHelper
0024
0025
0026
0027
0028 process.load('Configuration.StandardSequences.Services_cff')
0029
0030 randSvc = RandomNumberServiceHelper(process.RandomNumberGeneratorService)
0031 randSvc.populate()
0032
0033 process.load("FWCore.MessageLogger.MessageLogger_cfi")
0034 process.MessageLogger.cerr.FwkReport.reportEvery = cms.untracked.int32(1000)
0035 process.maxEvents = cms.untracked.PSet(input = cms.untracked.int32(options.maxEvents))
0036
0037 process.source = cms.Source("EmptySource")
0038
0039 process.load('SimGeneral.HepPDTESSource.pythiapdt_cfi')
0040 process.generator = cms.EDFilter("Pythia8GeneratorFilter",
0041 comEnergy = cms.double(13000.0),
0042 crossSection = cms.untracked.double(421.1),
0043 filterEfficiency = cms.untracked.double(1),
0044 maxEventsToPrint = cms.untracked.int32(0),
0045 pythiaHepMCVerbosity = cms.untracked.bool(False),
0046 pythiaPylistVerbosity = cms.untracked.int32(1),
0047 PythiaParameters = cms.PSet(
0048 pythia8CommonSettingsBlock,
0049 pythia8CUEP8M1SettingsBlock,
0050 pythia8aMCatNLOSettingsBlock,
0051 processParameters = cms.vstring(
0052 'Main:timesAllowErrors = 10000',
0053 'ParticleDecays:limitTau0 = on',
0054 'ParticleDecays:tauMax = 10',
0055 'Tune:ee 7',
0056 'Tune:pp 14',
0057 'Top:gg2ttbar = on',
0058 'Top:qqbar2ttbar = on',
0059 '6:m0 = %s'%options.topmass,
0060 'TopRecoilHook:doTopRecoilIn = %s'%options.recoiltoTop,
0061 'TimeShower:recoilToColoured = %s'%options.recoiltoBottom,
0062 'TimeShower:alphaSvalue = %s' %options.alphaSvalue
0063 ),
0064 parameterSets = cms.vstring('processParameters',)
0065 )
0066 )
0067
0068 process.load("GeneratorInterface.RivetInterface.rivetAnalyzer_cfi")
0069
0070
0071
0072 if options.runOnly:
0073 process.rivetAnalyzer.AnalysisNames = cms.vstring(options.runOnly)
0074 else:
0075 process.rivetAnalyzer.AnalysisNames = cms.vstring(
0076 'CMS_2018_I1663958',
0077 'CMS_2018_I1662081',
0078 'MC_TOPMASS_LJETS',
0079 'CMS_2018_I1690148',
0080 'MC_BFRAG_LJETS',
0081 'CMS_2018_I1703993',
0082 'CMS_2019_I1764472',
0083 'MC_TOPMASS_LSMT',
0084 'ATLAS_2019_I1724098',
0085 )
0086 process.rivetAnalyzer.OutputFile = options.yodafile
0087 process.rivetAnalyzer.HepMCCollection = cms.InputTag("generator:unsmeared")
0088 process.rivetAnalyzer.CrossSection = 831.76
0089
0090 process.p = cms.Path(process.generator*process.rivetAnalyzer)
0091
0092