7 if not hasattr(runArgs,
'runNumber'):
8 raise RuntimeError(
'no runNumber supplied as argument')
10 options[
'runNumber'] = runArgs.runNumber
12 if hasattr(runArgs,
'ecmEnergy'):
13 options[
'beamEnergy'] = runArgs.ecmEnergy / 2.
15 raise RuntimeError(
'No center of mass energy found.')
17 if hasattr(runArgs,
'maxEvents')
and runArgs.maxEvents > 0:
18 options[
'nevents']=runArgs.maxEvents
20 raise RuntimeError(
'No maxEvents provided.')
22 if hasattr(runArgs,
'randomSeed'):
23 options[
'randomSeed'] = runArgs.randomSeed
25 raise RuntimeError(
'No random seed provided.')
27 if hasattr(runArgs,
'inputGeneratorFile'):
28 options[
'lheFile'] = runArgs.inputGeneratorFile
30 options[
'lheFile'] =
''
37 herwigDSIDs =
range(411125,411143)
38 isHerwig = options[
'runNumber']
in herwigDSIDs
39 pythiaDSIDs =
range(411143,411162)
40 isPythia = options[
'runNumber']
in pythiaDSIDs
41 if not isHerwig
and not isPythia:
42 raise RuntimeError(
'runNumber {0:d} not recognised in these jobOptions.'.
format(options[
'runNumber']))
45 dsidModEighteen = (options[
'runNumber']-411125) % 18
47 if dsidModEighteen==0
or dsidModEighteen==1:
50 elif dsidModEighteen==2
or dsidModEighteen==3:
53 elif dsidModEighteen==4
or dsidModEighteen==5:
56 elif dsidModEighteen==6
or dsidModEighteen==7:
59 elif dsidModEighteen==8
or dsidModEighteen==9:
62 elif dsidModEighteen==10
or dsidModEighteen==11:
65 elif dsidModEighteen==12
or dsidModEighteen==13:
68 elif dsidModEighteen==14
or dsidModEighteen==15:
71 elif dsidModEighteen==16
or dsidModEighteen==17:
76 if options[
'runNumber'] % 2 == 0:
84 evgenConfig.keywords = [
'SM',
'top',
'ttbar',
'lepton',
'Jpsi' ]
85 evgenConfig.contact = [
'derue@lpnhe.in2p3.fr',
'burton@utexas.edu' ]
86 evgenConfig.generators += [
'Powheg',
'EvtGen' ]
87 evgenConfig.minevents = 2000
89 evgenConfig.generators += [
'Pythia8']
90 evgenConfig.description =
'POWHEG+Pythia8 ttbar production with Powheg hdamp equal 1.5*top mass, \
91 A14 tune, A14 NNPDF23 LO, ME NNPDF30 NLO, at least one lepton, \
94 evgenConfig.generators += [
'Herwig7']
95 evgenConfig.tune =
"MMHT2014"
96 evgenConfig.description =
'POWHEG+Herwig704 ttbar production with Powheg hdamp equal 1.5*top mass, \
97 H7UE tune, single lepton filter, ME NNPDF30 NLO, H7UE MMHT2014 LO at \
98 least one lepton, Jpsi->mumu filter.'
103 if options[
'lheFile']
is '':
104 include(
'PowhegControl/PowhegControl_tt_Common.py')
106 PowhegConfig.decay_mode =
"t t~ > all"
107 PowhegConfig.mass_t = mtop
108 PowhegConfig.width_t = widthtop
109 PowhegConfig.hdamp = 1.5*mtop
110 PowhegConfig.PDF = 260000
111 PowhegConfig.nEvents *= 10.
112 PowhegConfig.generate()
118 include(
'Pythia8_i/Pythia8_A14_NNPDF23LO_EvtGen_Common.py')
119 include(
"Pythia8_i/Pythia8_Powheg_Main31.py")
120 genSeq.Pythia8.Commands += [
'Powheg:pTHard = 0' ]
121 genSeq.Pythia8.Commands += [
'Powheg:NFinal = 2' ]
122 genSeq.Pythia8.Commands += [
'Powheg:pTdef = 2' ]
123 genSeq.Pythia8.Commands += [
'Powheg:veto = 1' ]
124 genSeq.Pythia8.Commands += [
'Powheg:vetoCount = 3' ]
125 genSeq.Pythia8.Commands += [
'Powheg:pTemt = 0' ]
126 genSeq.Pythia8.Commands += [
'Powheg:emitted = 0' ]
127 genSeq.Pythia8.Commands += [
'Powheg:MPIveto = 0' ]
130 include(
"Herwig7_i/Herwig7_LHEF.py")
131 include(
'Herwig7_i/Herwig7_EvtGen.py')
132 Herwig7Config.me_pdf_commands(order=
"NLO", name=
"NNPDF30_nlo_as_0118")
133 Herwig7Config.tune_commands()
134 Herwig7Config.lhef_powhegbox_commands(lhe_filename=runArgs.inputGeneratorFile, me_pdf_order=
"NLO")
135 Herwig7Config.add_commands(
"""
136 set /Herwig/Shower/LtoLGammaSudakov:pTmin 0.000001
137 set /Herwig/Shower/QtoGammaQSudakov:Alpha /Herwig/Shower/AlphaQED""")
143 from EvtGen_i.EvtGen_iConf
import EvtInclusiveDecay
145 evgenConfig.auxfiles += [
'B2Jpsimumu.DEC']
146 genSeq.EvtInclusiveDecay.userDecayFile =
'B2Jpsimumu.DEC'
148 evgenConfig.auxfiles += [
'AntiB2Jpsimumu.DEC']
149 genSeq.EvtInclusiveDecay.userDecayFile =
'AntiB2Jpsimumu.DEC'
155 include(
'GeneratorFilters/TTbarWToLeptonFilter.py')
156 filtSeq.TTbarWToLeptonFilter.NumLeptons = -1
157 filtSeq.TTbarWToLeptonFilter.Ptcut = 0.
160 include(
'GeneratorFilters/TTbarWithJpsimumuFilter.py')
161 filtSeq.TTbarWithJpsimumuFilter.JpsipTMinCut = 5000.