import FWCore.ParameterSet.Config as cms process = cms.Process('ttbar') # import of standard configurations process.load('Configuration/StandardSequences/Services_cff') process.load('FWCore/MessageService/MessageLogger_cfi') process.load('Configuration/EventContent/EventContent_cff') process.load('Configuration/StandardSequences/MagneticField_cff') process.load('Configuration/StandardSequences/GeometryPilot2_cff') process.load('Configuration/StandardSequences/FrontierConditions_GlobalTag_cff') # provides GEN process.load('Configuration/StandardSequences/Generator_cff') # provides SIM & DIGI # this config frament brings you 3 steps of the detector simulation: # -- vertex smearing (IR modeling) # -- G4-based hit level detector simulation # -- digitization (electronics readout modeling) # it returns 2 sequences : # -- psim (vtx smearing + G4 sim) # -- pdigi (digitization in all subsystems, i.e. tracker=pix+sistrips, # cal=ecal+ecal-0-suppression+hcal), muon=csc+dt+rpc) # process.load("Configuration.StandardSequences.Simulation_cff") process.load('Configuration/StandardSequences/VtxSmearedEarly10TeVCollision_cff') # please note the IMPORTANT: # in order to operate DIGIs, one needs to include Mixing module # (pileup modeling), at least in the 0-pileup mode # # There are 3 possible configurations of the Mixing module : # no-pileup, low luminosity pileup, and high luminosity pileup # # they come, respectively, through the 3 config fragments below # # *each* config returns label "mix"; thus you canNOT have them # all together in the same configuration, but only one # process.load("Configuration.StandardSequences.MixingNoPileUp_cff") #process.load("Configuration.StandardSequences.MixingLowLumiPileUp_cff" ) #process.load("Configuration.StandardSequences.MixingHighLumiPileUp_cff") # The sequence below includes only L1, not HLT as well. # The correct HLT sequence is currently in a state of flux. process.load('Configuration/StandardSequences/SimL1Emulator_cff') process.load('L1TriggerConfig/L1GtConfigProducers/Luminosity/lumi1030.L1Menu2008_2E30_Unprescaled_cff') #process.load('HLTrigger/Configuration/HLT_2E30_cff') # Modern DIGI algorithms rely on RAW data, which is not # completely provided by SIM. Convert the DIGI to RAW, # then create the DIGI from the RAW (not a symmetric process?). process.load('Configuration/StandardSequences/DigiToRaw_cff') process.load('Configuration.StandardSequences.RawToDigi_cff') # Provides RECO process.load('Configuration/StandardSequences/Reconstruction_cff') # Use a particular version of Ideal conditions from the Frontier DB process.GlobalTag.globaltag = 'IDEAL_V9::All' # grab all starting seeds from /dev/urandom from IOMC.RandomEngine.RandomServiceHelper import RandomNumberServiceHelper randHelper = RandomNumberServiceHelper(process.RandomNumberGeneratorService) randHelper.populate() process.RandomNumberGeneratorService.saveFileName = cms.untracked.string("ttbar.random") # set a seed which RandumNumberServiceHelper either doesn't set, or nothing uses # (suspect the latter, but setting it here to be 100% sure) process.RandomNumberGeneratorService.theSource.initialSeed = 9876543 process.maxEvents = cms.untracked.PSet( input = cms.untracked.int32(5) ) # Input source process.source = cms.Source("PythiaSource", pythiaPylistVerbosity = cms.untracked.int32(1), filterEfficiency = cms.untracked.double(1.0), pythiaHepMCVerbosity = cms.untracked.bool(False), # 10 TeV collisions comEnergy = cms.untracked.double(10000.0), # dummy? crossSection = cms.untracked.double(55000000000.0), maxEventsToPrint = cms.untracked.int32(0), PythiaParameters = cms.PSet( pythiaUESettings = cms.vstring( 'MSTJ(11)=3 ! Choice of the fragmentation function', 'MSTJ(22)=2 ! Decay those unstable particles', 'PARJ(71)=10 . ! for which ctau 10 mm', 'MSTP(2)=1 ! which order running alphaS', 'MSTP(33)=0 ! no K factors in hard cross sections', 'MSTP(51)=10042 ! CTEQ6L1 structure function chosen', 'MSTP(52)=2 ! work with LHAPDF', 'MSTP(81)=1 ! multiple parton interactions 1 is Pythia default', 'MSTP(82)=4 ! Defines the multi-parton model', 'MSTU(21)=1 ! Check on possible errors during program execution', 'PARP(82)=1.8387 ! pt cutoff for multiparton interactions', 'PARP(89)=1960. ! sqrts for which PARP82 is set', 'PARP(83)=0.5 ! Multiple interactions: matter distrbn parameter', 'PARP(84)=0.4 ! Multiple interactions: matter distribution parameter', 'PARP(90)=0.16 ! Multiple interactions: rescaling power', 'PARP(67)=2.5 ! amount of initial-state radiation', 'PARP(85)=1.0 ! gluon prod. mechanism in MI', 'PARP(86)=1.0 ! gluon prod. mechanism in MI', 'PARP(62)=1.25 ! ', 'PARP(64)=0.2 ! ', 'MSTP(91)=1 !', 'PARP(91)=2.1 ! kt distribution', 'PARP(93)=15.0 ! '), processParameters = cms.vstring( 'MSEL=0 ! User defined processes', 'MSUB(81) = 1 ! qqbar to QQbar', 'MSUB(82) = 1 ! gg to QQbar', 'MSTP(7) = 6 ! flavor = top', 'PMAS(6,1) = 172.4 ! top quark mass'), parameterSets = cms.vstring('pythiaUESettings', 'processParameters') ) ) # Output definition process.output = cms.OutputModule("PoolOutputModule", outputCommands = cms.untracked.vstring("keep *"), fileName = cms.untracked.string('ttbar.root'), ) process.p0 = cms.Path(process.pgen) process.p1 = cms.Path(process.psim) process.p2 = cms.Path(process.pdigi) process.p3 = cms.Path(process.SimL1Emulator) process.p4 = cms.Path(process.DigiToRaw) process.p5= cms.Path(process.RawToDigi) process.p6= cms.Path(process.reconstruction) process.outpath = cms.EndPath(process.output) process.schedule = cms.Schedule(process.p0,process.p1,process.p2,process.p3,process.p4,process.p5,process.p6,process.outpath)