ATLAS Offline Software
Public Member Functions | Public Attributes | List of all members
Herwig7Config.Hw7Config Class Reference

Configuration base class for Herwig7. More...

Inheritance diagram for Herwig7Config.Hw7Config:
Collaboration diagram for Herwig7Config.Hw7Config:

Public Member Functions

def __init__ (self, genSeq, runArgs, run_name="Herwig")
 Constructor. More...
 
def global_pre_commands (self)
 Commands applied to all configuration classes before commands from the JobOptions. More...
 
def add_commands (self, commands)
 Add direct Herwig7 repository commands as they wo. More...
 
def random_seed_commands (self)
 Sets the seed for the random number generator. More...
 
def beam_commands (self)
 Commands specific to certain beam / collision types. More...
 
def energy_commands (self)
 Sets center-of-mass energy sqrts(s) in GeV. More...
 
def printout_commands (self)
 Sets printout verbosity and error tolerance. More...
 
def physics_parameter_commands (self)
 
def technical_parameter_commands (self)
 
def me_alphas_commands (self, order="NLO", scale=91.1876, value=0.118)
 Commands for setting the strong coupling \(\alpha_s\) in the hard process. More...
 
def me_pdf_commands (self, order="NLO", name="MMHT2014nlo68cl", member=0, max_flav=5)
 Commands for setting the PDF in the hard process. More...
 
def shower_pdf_commands (self, order="LO", name="MMHT2014lo68cl", member=0, max_flav=5)
 Commands for setting the PDF in the parton showers. More...
 
def mpi_pdf_commands (self, name="MMHT2014lo68cl", member=0, max_flav=5)
 Commands for setting the PDF in the underlying event (UE) More...
 
def remnant_pdf_commands (self, name="MMHT2014lo68cl", member=0, max_flav=5)
 Commands for setting the remnant PDF. More...
 
def tune_commands (self, ps_tune_name="H7-PS-MMHT2014LO", ue_tune_name="H7.2-Default")
 Commands for setting PS/hadronization and UE/MPI tune simultaneously. More...
 
def ps_tune_commands (self, tune_name="H7-PS-MMHT2014LO")
 Commands for only setting the PS/hadronization tune. More...
 
def load_PS_tune (self, tune_name)
 
def ue_tune_commands (self, tune_name="H7.2-Default")
 Commands for only setting the UE/MPI tune. More...
 
def load_ue_tune (self, tune_name)
 
def get_dpdf_path (self)
 
def pdf_pomeron_cmds (self, flux, pdf)
 Set pomeron structure function. More...
 
def pdf_gammagamma_cmds (self)
 Initialize Budnev Photon flux for two-photon exclusive exchange. More...
 
def set_tune_scheme (self, tune_scheme="DotProduct")
 
def enable_angularShowerScaleVariations (self, do_variations=False)
 

Public Attributes

 genSeq
 
 runArgs
 
 run_name
 
 me_pdf_name
 
 mpi_pdf_name
 
 set_printout_commands
 
 set_physics_parameter_commands
 
 set_technical_parameter_commands
 
 use_PDGparams
 
 default_commands
 
 commands
 
 beams
 
 physics_parameter_commands
 Load the dictionary and extract the values of the variables that were defined here before (top quark, W and Z boson) More...
 

Detailed Description

Configuration base class for Herwig7.

Definition at line 16 of file Herwig7Config.py.

Constructor & Destructor Documentation

◆ __init__()

def Herwig7Config.Hw7Config.__init__ (   self,
  genSeq,
  runArgs,
  run_name = "Herwig" 
)

Constructor.

Definition at line 19 of file Herwig7Config.py.

19  def __init__(self, genSeq, runArgs, run_name="Herwig"):
20 
21  # Force Herwig7 to run in single-core mode
23 
24  self.genSeq = genSeq
25  self.runArgs = runArgs
26 
27  self.run_name = run_name
28  # self.seed = runArgs.randomSeed
29  # self.energy = runArgs.ecmEnergy
30 
31  self.me_pdf_name = "MMHT2014lo68cl"
32  self.mpi_pdf_name = "MMHT2014lo68cl"
33 
34  self.set_printout_commands = False
35  self.set_physics_parameter_commands = False
36  self.set_technical_parameter_commands = False
37  self.use_PDGparams = False
38 
39  self.default_commands = hw7Utils.ConfigurationCommands()
40  self.commands = hw7Utils.ConfigurationCommands()
41 

Member Function Documentation

◆ add_commands()

def Herwig7Config.Hw7Config.add_commands (   self,
  commands 
)

Add direct Herwig7 repository commands as they wo.

Definition at line 57 of file Herwig7Config.py.

57  def add_commands(self, commands):
58 
59  self.commands += commands
60 
61 

◆ beam_commands()

def Herwig7Config.Hw7Config.beam_commands (   self)

Commands specific to certain beam / collision types.

Definition at line 71 of file Herwig7Config.py.

71  def beam_commands(self):
72 
73  if self.beams == "EE":
74  return("""
75 ## Commands for lepton-lepton collisions
76 read snippets/EECollider.in
77 set /Herwig/Shower/PartnerFinder:QEDPartner IIandFF
78 set /Herwig/Shower/ShowerHandler:MPIHandler NULL
79 set /Herwig/DipoleShower/DipoleShowerHandler:MPIHandler NULL
80 set /Herwig/Shower/PowhegShowerHandler:MPIHandler NULL
81 """)
82  elif self.beams == "EP":
83  return("""
84 ## Commands for proton-lepton collisions
85 read snippets/EPCollider.in
86 do /Herwig/Shower/SplittingGenerator:DeleteFinalSplitting e-->e-,gamma; /Herwig/Shower/LtoLGammaSudakov
87 do /Herwig/Shower/SplittingGenerator:DeleteFinalSplitting mu-->mu-,gamma; /Herwig/Shower/LtoLGammaSudakov
88 do /Herwig/Shower/SplittingGenerator:DeleteFinalSplitting tau-->tau-,gamma; /Herwig/Shower/LtoLGammaSudakov
89 set /Herwig/Shower/KinematicsReconstructor:ReconstructionOption Colour
90 """)
91  else:
92  return("""
93 ## Commands for proton-proton collisions
94 read snippets/PPCollider.in
95 """)
96 

◆ enable_angularShowerScaleVariations()

def Herwig7Config.Hw7Config.enable_angularShowerScaleVariations (   self,
  do_variations = False 
)

Definition at line 489 of file Herwig7Config.py.

489  def enable_angularShowerScaleVariations(self, do_variations=False):
490  if do_variations:
491  self.commands += """\
492 \n## -----------------------
493 ## Shower scale variation
494 ## -----------------------
495 cd /Herwig/Shower
496 do ShowerHandler:AddVariation MUR2_MUF2_SHOWER_HARD 2 2 Hard
497 do ShowerHandler:AddVariation MUR2_MUF1_SHOWER_HARD 2 1 Hard
498 do ShowerHandler:AddVariation MUR1_MUF2_SHOWER_HARD 1 2 Hard
499 do ShowerHandler:AddVariation MUR1_MUF0.5_SHOWER_HARD 1 0.5 Hard
500 do ShowerHandler:AddVariation MUR0.5_MUF1_SHOWER_HARD 0.5 1 Hard
501 do ShowerHandler:AddVariation MUR0.5_MUF0.5_SHOWER_HARD 0.5 0.5 Hard
502 do ShowerHandler:AddVariation MUR2_MUF2_SHOWER_SEC 2 2 Secondary
503 do ShowerHandler:AddVariation MUR2_MUF1_SHOWER_SEC 2 1 Secondary
504 do ShowerHandler:AddVariation MUR1_MUF2_SHOWER_SEC 1 2 Secondary
505 do ShowerHandler:AddVariation MUR1_MUF0.5_SHOWER_SEC 1 0.5 Secondary
506 do ShowerHandler:AddVariation MUR0.5_MUF1_SHOWER_SEC 0.5 1 Secondary
507 do ShowerHandler:AddVariation MUR0.5_MUF0.5_SHOWER_SEC 0.5 0.5 Secondary
508 set SplittingGenerator:Detuning 2.0
509 """

◆ energy_commands()

def Herwig7Config.Hw7Config.energy_commands (   self)

Sets center-of-mass energy sqrts(s) in GeV.

  • 2016/10/07 Daniel Rauch (danie.nosp@m.l.ra.nosp@m.uch@d.nosp@m.esy..nosp@m.de)

    The extrapolation of the intrinsic pT /Herwig/Shower/Evolver:IntrinsicPtGaussian depending on sqrt(s) according to the formula

    \[ p_{T, intrinsic}^{default} = 1.85 \text{GeV} + \sqrt{s}*(0.1/4000.0) \]

    was removed after discussion with the authors since the intrinsic pT is tuned and the extrapolated value disagreed with the tuned value.

Definition at line 108 of file Herwig7Config.py.

108  def energy_commands(self):
109 
110  return("""
111 ## Center-of-mass energy
112 set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy {}
113 """.format(self.runArgs.ecmEnergy))
114 
115 

◆ get_dpdf_path()

def Herwig7Config.Hw7Config.get_dpdf_path (   self)

Definition at line 399 of file Herwig7Config.py.

399  def get_dpdf_path(self):
400  import os
401  cmt_path = os.environ.get("CMAKE_PREFIX_PATH")
402  cmt_dir = os.environ.get("BINARY_TAG")
403 
404  cmtPaths = cmt_path.split(':')
405 
406  for path in cmtPaths:
407  pathNow = path + "/InstallArea/" + cmt_dir + "/share/"
408  try:
409  fileList = os.listdir(pathNow)
410  except Exception:
411  fileList = []
412  if "HerwigDefaults.rpo" in fileList:
413  simSharePath = pathNow
414 
415  dpdf_path = os.path.dirname(os.path.normpath(os.path.join(simSharePath, os.readlink(simSharePath + 'HerwigDefaults.rpo')))) + "/PDF/diffraction/"
416 
417  return dpdf_path
418 
419 

◆ global_pre_commands()

def Herwig7Config.Hw7Config.global_pre_commands (   self)

Commands applied to all configuration classes before commands from the JobOptions.

Todo:
Remove AngularOrdered settungs once they are included in Herwig7 by default

Definition at line 44 of file Herwig7Config.py.

44  def global_pre_commands(self):
45  return """
46 ## =========================================
47 ## Global Pre-Commands from Herwig7Config.py
48 ## =========================================
49 
50 ## ensure JetFinder uses AntiKt with R=0.4
51 set /Herwig/Cuts/JetFinder:Variant AntiKt
52 set /Herwig/Cuts/JetFinder:ConeRadius 0.4
53 """
54 
55 

◆ load_PS_tune()

def Herwig7Config.Hw7Config.load_PS_tune (   self,
  tune_name 
)

Definition at line 362 of file Herwig7Config.py.

362  def load_PS_tune(self, tune_name):
363 
364  return """
365 ## some commands
366 """
367 
368 

◆ load_ue_tune()

def Herwig7Config.Hw7Config.load_ue_tune (   self,
  tune_name 
)

Definition at line 392 of file Herwig7Config.py.

392  def load_ue_tune(self, tune_name):
393 
394  return """
395 ## some commands
396 """
397 
398 

◆ me_alphas_commands()

def Herwig7Config.Hw7Config.me_alphas_commands (   self,
  order = "NLO",
  scale = 91.1876,
  value = 0.118 
)

Commands for setting the strong coupling \(\alpha_s\) in the hard process.

By default Herwig7 uses the world average value \(\alpha_s(M_Z=91.188~\mbox{GeV})=0.118\).

Parameters
[in]orderOrder of the evolution of the strong coupling
  • LO: 1-loop running
  • NLO: 2-loop running
[in]scaleScale at which the value of the strong coupling is specified
[in]valueValue of the strong coupling at the given scale

Definition at line 221 of file Herwig7Config.py.

221  def me_alphas_commands(self, order="NLO", scale=91.1876, value=0.118):
222 
223  if order not in ["LO", "NLO"]:
224  raise RuntimeError(hw7Utils.ansi_format_error("Parameter 'order' must either be 'LO' or 'NLO'!"))
225 
226  self.commands += """
227 ## Configure {0} AlphaS for the hard process
228 ## (LO: 1-loop-running / NLO: 2-loop running)
229 set /Herwig/Couplings/{0}AlphaS:input_scale {1}
230 set /Herwig/Couplings/{0}AlphaS:input_alpha_s {2}
231 set /Herwig/Model:QCD/RunningAlphaS /Herwig/Couplings/{0}AlphaS
232 """.format(order, scale, value)
233 
234 

◆ me_pdf_commands()

def Herwig7Config.Hw7Config.me_pdf_commands (   self,
  order = "NLO",
  name = "MMHT2014nlo68cl",
  member = 0,
  max_flav = 5 
)

Commands for setting the PDF in the hard process.

Parameters
[in]orderperturbative order of the PDF set
[in]namename of the PDF set
[in]memberindex of the PDF member
[in]max_flavnumber of massless quark flavours

Definition at line 241 of file Herwig7Config.py.

241  def me_pdf_commands(self, order="NLO", name="MMHT2014nlo68cl", member=0, max_flav=5):
242 
243  if order not in ["LO", "NLO"]:
244  raise RuntimeError(hw7Utils.ansi_format_error("Parameter 'order' must either be 'LO' or 'NLO'!"))
245 
246  self.me_pdf_name = name
247 
248  self.commands += """
249 ## Configure {0} PDF set for the hard process
250 set /Herwig/Partons/Hard{0}PDF:PDFName {1}
251 set /Herwig/Partons/Hard{0}PDF:Member {2}
252 set /Herwig/Partons/Hard{0}PDF:MaxFlav {3}
253 set /Herwig/Partons/Hard{0}PDF:RemnantHandler /Herwig/Partons/HadronRemnants
254 set /Herwig/Particles/p+:PDF /Herwig/Partons/Hard{0}PDF
255 set /Herwig/Particles/pbar-:PDF /Herwig/Partons/Hard{0}PDF
256 set /Herwig/Partons/PPExtractor:FirstPDF /Herwig/Partons/Hard{0}PDF
257 set /Herwig/Partons/PPExtractor:SecondPDF /Herwig/Partons/Hard{0}PDF
258 """.format(order, name, member, max_flav)
259 
260 

◆ mpi_pdf_commands()

def Herwig7Config.Hw7Config.mpi_pdf_commands (   self,
  name = "MMHT2014lo68cl",
  member = 0,
  max_flav = 5 
)

Commands for setting the PDF in the underlying event (UE)

Parameters
[in]namename of the PDF set
[in]memberindex of the PDF member
[in]max_flavnumber of massless quark flavours

Definition at line 294 of file Herwig7Config.py.

294  def mpi_pdf_commands(self, name="MMHT2014lo68cl", member=0, max_flav=5):
295 
296  self.mpi_pdf_name = name
297 
298  self.commands += """
299 ## Configure MPI PDF
300 set /Herwig/Partons/MPIPDF:PDFName {}
301 set /Herwig/Partons/MPIPDF:Member {}
302 set /Herwig/Partons/MPIPDF:MaxFlav {}
303 """.format(name, member, max_flav)
304 
305 

◆ pdf_gammagamma_cmds()

def Herwig7Config.Hw7Config.pdf_gammagamma_cmds (   self)

Initialize Budnev Photon flux for two-photon exclusive exchange.

From Pavel Ruzicka.

Definition at line 450 of file Herwig7Config.py.

450  def pdf_gammagamma_cmds(self):
451 
452  return """
453 
454 # Technical parameters for this run
455 set /Herwig/Generators/EventGenerator:EventHandler:Sampler:Ntry 100000
456 
457 # Choice of phase-space generation for PDFs
458 set /Herwig/Partons/PPExtractor:FlatSHatY 0
459 
460 # Change the proton PDFs to those for photon radiation
461 set /Herwig/Particles/p+:PDF /Herwig/Partons/BudnevPDF
462 set /Herwig/Particles/pbar-:PDF /Herwig/Partons/BudnevPDF
463 
464 # MPI doesn't work
465 # TODO: Is this a problem?
466 set /Herwig/Generators/EventGenerator:EventHandler:CascadeHandler:MPIHandler NULL
467 
468 """
469 

◆ pdf_pomeron_cmds()

def Herwig7Config.Hw7Config.pdf_pomeron_cmds (   self,
  flux,
  pdf 
)

Set pomeron structure function.

Definition at line 421 of file Herwig7Config.py.

421  def pdf_pomeron_cmds(self, flux, pdf):
422 
423  dpdf_path = self.get_dpdf_path()
424 
425  cmds = "\n"
426  cmds += "set /Herwig/Partons/PomeronPDF:RootName %s\n" % dpdf_path
427  cmds += "set /Herwig/Partons/PomeronFlux:PDFFit %s\n" % flux
428  cmds += "set /Herwig/Partons/PomeronPDF:PDFFit %s\n" % pdf
429 
430  cmds += """\
431 set /Herwig/Particles/pomeron:PDF /Herwig/Partons/PomeronPDF
432 
433 # Technical parameters for this run
434 set /Herwig/Generators/EventGenerator:EventHandler:Sampler:Ntry 100000
435 set /Herwig/Generators/EventGenerator:MaxErrors 500
436 
437 # MPI doesn't work
438 # TODO: Is this a problem?
439 set /Herwig/Generators/EventGenerator:EventHandler:CascadeHandler:MPIHandler NULL
440 
441 # Choice of phase-space generation for PDFs
442 set /Herwig/Partons/PPExtractor:FlatSHatY 0
443 
444 """
445  return cmds
446 
447 

◆ physics_parameter_commands()

def Herwig7Config.Hw7Config.physics_parameter_commands (   self)

Definition at line 139 of file Herwig7Config.py.

139  def physics_parameter_commands(self):
140  if self.use_PDGparams:
141  paramlist = []
142  self.physics_parameter_commands = True
143 
144  paramlist.append("## Masses and widths: PDG 2019 values")
145 
146 
147  from EvgenProdTools.offline_dict import parameters
148  for k,v in parameters.items():
149  if k == 'particles':
150  for key,value in v.items():
151  if int(key) == 24:
152  paramlist.append("set /Herwig/Particles/"+value['name']+"+:NominalMass "+value['mass'])
153  paramlist.append("set /Herwig/Particles/"+value['name']+"+:Width "+value['width'])
154  paramlist.append("set /Herwig/Particles/"+value['name']+"-:NominalMass "+value['mass'])
155  paramlist.append("set /Herwig/Particles/"+value['name']+"-:Width "+value['width'])
156  if int(key) == 23:
157  paramlist.append("set /Herwig/Particles/"+value['name']+"0:NominalMass "+value['mass'])
158  paramlist.append("set /Herwig/Particles/"+value['name']+"0:Width "+value['width'])
159  if int(key) == 6:
160  paramlist.append("set /Herwig/Particles/"+value['name']+"bar:NominalMass "+value['mass'])
161  paramlist.append("set /Herwig/Particles/"+value['name']+"bar:Width "+value['width'])
162  paramlist.append("set /Herwig/Particles/"+value['name']+":NominalMass "+value['mass'])
163  paramlist.append("set /Herwig/Particles/"+value['name']+":Width "+value['width'])
164 
165 
166  if k == 'EW_parameters':
167  for key,value in v.items():
168  if key[2] == "Sin2ThetaW":
169  paramlist.append("set /Herwig/Model:EW/"+str(key[2])+" "+str(value))
170  paramstring = '\n'.join(paramlist)
171  return(paramstring)
172 
173  else:
174  self.physics_parameter_commands = True
175 
176  return("""
177 ## Masses and widths: PDG 2010 values (except TOP mass; kept at PDG2007)
178 
179 ## top-quark
180 set /Herwig/Particles/t:NominalMass 172.5*GeV
181 set /Herwig/Particles/tbar:NominalMass 172.5*GeV
182 ## W boson
183 set /Herwig/Particles/W+:NominalMass 80.399*GeV
184 set /Herwig/Particles/W-:NominalMass 80.399*GeV
185 set /Herwig/Particles/W+:Width 2.085*GeV
186 set /Herwig/Particles/W-:Width 2.085*GeV
187 ## Z boson
188 set /Herwig/Particles/Z0:NominalMass 91.1876*GeV
189 set /Herwig/Particles/Z0:Width 2.4952*GeV
190 ## b quark
191 set /Herwig/Particles/b:NominalMass 4.95*GeV
192 set /Herwig/Particles/bbar:NominalMass 4.95*GeV
193 
194 ## Weinberg angle
195 set /Herwig/Model:EW/Sin2ThetaW 0.23113
196 """)
197 

◆ printout_commands()

def Herwig7Config.Hw7Config.printout_commands (   self)

Sets printout verbosity and error tolerance.

As specified in https://twiki.cern.ch/twiki/bin/viewauth/AtlasProtected/McProductionCommonParametersMC15 Now the PDG API is used to set the parameters via the python file Generators/EvgenProdTools/python/physics_parameters.py that generates the dictionary offline_dict.py with the parameters

Definition at line 117 of file Herwig7Config.py.

117  def printout_commands(self):
118 
119  self.set_printout_commands = True
120 
121  return("""
122 
123 ## Verbosity and printout settings
124 set /Herwig/Generators/EventGenerator:DebugLevel 1
125 set /Herwig/Generators/EventGenerator:PrintEvent 2
126 set /Herwig/Generators/EventGenerator:UseStdout Yes
127 set /Herwig/Generators/EventGenerator:NumberOfEvents 1000000000
128 set /Herwig/Generators/EventGenerator:MaxErrors 500
129 
130 ## Make sampler print out cross sections for each subprocess
131 set /Herwig/Samplers/Sampler:Verbose Yes
132 """)
133 
134 
138 

◆ ps_tune_commands()

def Herwig7Config.Hw7Config.ps_tune_commands (   self,
  tune_name = "H7-PS-MMHT2014LO" 
)

Commands for only setting the PS/hadronization tune.

Parameters
[in]tune_namename identifying the PS/hadronization tune
Returns
Nothing, adds the corresponding commands directly to the generator configuration object

Definition at line 343 of file Herwig7Config.py.

343  def ps_tune_commands(self, tune_name = "H7-PS-MMHT2014LO"):
344 
345  cmds = """
346 ## Parton shower / hadronization tune settings
347 """
348 
349  if tune_name == "H7-PS-MMHT2014LO":
350  cmds += """
351 # > The parton shower / hadronization tune "H7-MMHT2014LO" is already
352 # > configured in Herwig7 via the default settings.
353 """
354  # elif tune_name == "some-other-name":
355  # cmds += self.load_PS_tune(tune_name)
356  else:
357  raise Exception("Parton shower tune name '{}' unknown".format(tune_name))
358 
359  self.commands += cmds
360 
361 

◆ random_seed_commands()

def Herwig7Config.Hw7Config.random_seed_commands (   self)

Sets the seed for the random number generator.

Definition at line 63 of file Herwig7Config.py.

63  def random_seed_commands(self):
64 
65  return("""
66 ## Random number generator seed
67 set /Herwig/Random:Seed {}
68 """.format(self.runArgs.randomSeed))
69 

◆ remnant_pdf_commands()

def Herwig7Config.Hw7Config.remnant_pdf_commands (   self,
  name = "MMHT2014lo68cl",
  member = 0,
  max_flav = 5 
)

Commands for setting the remnant PDF.

Parameters
[in]namename of the PDF set
[in]memberindex of the PDF member
[in]max_flavnumber of massless quark flavours

Definition at line 311 of file Herwig7Config.py.

311  def remnant_pdf_commands(self, name="MMHT2014lo68cl", member=0, max_flav=5):
312 
313  self.commands += """
314 ## Configure Remnant PDF
315 set /Herwig/Partons/RemnantPDF:PDFName {}
316 set /Herwig/Partons/RemnantPDF:Member {}
317 set /Herwig/Partons/RemnantPDF:MaxFlav {}
318 """.format(name, member, max_flav)
319 
320 
321 

◆ set_tune_scheme()

def Herwig7Config.Hw7Config.set_tune_scheme (   self,
  tune_scheme = "DotProduct" 
)

Definition at line 471 of file Herwig7Config.py.

471  def set_tune_scheme(self, tune_scheme="DotProduct"):
472  tune_schemes = ["DotProduct-Veto","DotProduct","pT","Q2"]
473  if tune_scheme not in tune_schemes:
474  athMsgLog.warn("Please choose one of the supported tune-schemes! (DotProduct-Veto,DotProduct,pT,Q2)")
475  else:
476  athMsgLog.info("{tune_scheme:s} was used for the tune scheme.".format(tune_scheme=tune_scheme))
477  # create a tune-section in the config
478  self.commands += """\
479 \n## -------------
480 ## Tune Settings
481 ## -------------
482 
483 # Tune-{tune_scheme:s}
484 read snippets/EvolutionScheme-{tune_scheme:s}.in
485 read snippets/Tune-{tune_scheme:s}.in
486 """.format(tune_scheme=tune_scheme)
487 

◆ shower_pdf_commands()

def Herwig7Config.Hw7Config.shower_pdf_commands (   self,
  order = "LO",
  name = "MMHT2014lo68cl",
  member = 0,
  max_flav = 5 
)

Commands for setting the PDF in the parton showers.

Parameters
[in]orderperturbative order of the PDF set
[in]namename of the PDF set
[in]memberindex of the PDF member
[in]max_flavnumber of massless quark flavours

Definition at line 267 of file Herwig7Config.py.

267  def shower_pdf_commands(self, order="LO", name="MMHT2014lo68cl", member=0, max_flav=5):
268 
269  if order not in ["LO", "NLO"]:
270  raise RuntimeError(hw7Utils.ansi_format_error("Parameter 'order' must either be 'LO' or 'NLO'!"))
271 
272 
274 
275  self.commands += """
276 ## Configure {0} PDF set for the parton shower
277 set /Herwig/Partons/Shower{0}PDF:PDFName {1}
278 set /Herwig/Partons/Shower{0}PDF:Member {2}
279 set /Herwig/Partons/Shower{0}PDF:MaxFlav {3}
280 set /Herwig/Shower/ShowerHandler:PDFA /Herwig/Partons/Shower{0}PDF
281 set /Herwig/Shower/ShowerHandler:PDFB /Herwig/Partons/Shower{0}PDF
282 set /Herwig/Shower/PowhegShowerHandler:PDFA /Herwig/Partons/Shower{0}PDF
283 set /Herwig/Shower/PowhegShowerHandler:PDFB /Herwig/Partons/Shower{0}PDF
284 set /Herwig/DipoleShower/DipoleShowerHandler:PDFA /Herwig/Partons/Shower{0}PDF
285 set /Herwig/DipoleShower/DipoleShowerHandler:PDFB /Herwig/Partons/Shower{0}PDF
286 """.format(order, name, member, max_flav)
287 
288 

◆ technical_parameter_commands()

def Herwig7Config.Hw7Config.technical_parameter_commands (   self)

Definition at line 198 of file Herwig7Config.py.

198  def technical_parameter_commands(self):
199 
200  self.set_technical_parameter_commands = True
201 
202  return("""
203 ## Disable default attempts to use Pomeron PDF data files, until we're worked how to do that on the Grid!
204 set /Herwig/Particles/pomeron:PDF /Herwig/Partons/NoPDF
205 
206 ## Set long-lived particles stable
207 set /Herwig/Decays/DecayHandler:MaxLifeTime 10*mm
208 """)
209 
210 
211 

◆ tune_commands()

def Herwig7Config.Hw7Config.tune_commands (   self,
  ps_tune_name = "H7-PS-MMHT2014LO",
  ue_tune_name = "H7.2-Default" 
)

Commands for setting PS/hadronization and UE/MPI tune simultaneously.

Parameters
[in]ps_tune_namename identifying the PS/hadronization tune
[in]ue_tune_namename identifying the UE/MPI tune
Returns
Nothing, adds the corresponding commands directly to the generator configuration object

Definition at line 327 of file Herwig7Config.py.

327  def tune_commands(self, ps_tune_name = "H7-PS-MMHT2014LO", ue_tune_name = "H7.2-Default"):
328 
329  cmds = """
330 ## -------------
331 ## Tune Settings
332 ## -------------
333 """
334  self.commands += cmds
335  # self.ps_tune_commands(tune_name = ps_tune_name) # the name of the default PS tune may be obsolete
336  self.ue_tune_commands(tune_name = ue_tune_name)
337 
338 

◆ ue_tune_commands()

def Herwig7Config.Hw7Config.ue_tune_commands (   self,
  tune_name = "H7.2-Default" 
)

Commands for only setting the UE/MPI tune.

Parameters
[in]tune_namename identifying the UE/MPI tune
Returns
Nothing, adds the corresponding commands directly to the generator configuration object

Definition at line 373 of file Herwig7Config.py.

373  def ue_tune_commands(self, tune_name = "H7.2-Default"):
374 
375  cmds = """
376 ## Underlying event tune settings
377 """
378 
379  if tune_name == "H7.2-Default":
380  cmds += """
381 # > The underlying event tune "H7.2-Default" is already
382 # > configured in Herwig7 via the default settings.
383 """
384  # elif tune_name == "some-other-name":
385  # cmds = self.UE_tune_commands(tune_name)
386  else:
387  raise Exception("Underlying event tune name '{}' unknown".format(tune_name))
388 
389  self.commands += cmds
390 
391 

Member Data Documentation

◆ beams

Herwig7Config.Hw7Config.beams

Definition at line 73 of file Herwig7Config.py.

◆ commands

Herwig7Config.Hw7Config.commands

Definition at line 40 of file Herwig7Config.py.

◆ default_commands

Herwig7Config.Hw7Config.default_commands

Definition at line 39 of file Herwig7Config.py.

◆ genSeq

Herwig7Config.Hw7Config.genSeq

Definition at line 24 of file Herwig7Config.py.

◆ me_pdf_name

Herwig7Config.Hw7Config.me_pdf_name

Definition at line 31 of file Herwig7Config.py.

◆ mpi_pdf_name

Herwig7Config.Hw7Config.mpi_pdf_name

Definition at line 32 of file Herwig7Config.py.

◆ physics_parameter_commands

Herwig7Config.Hw7Config.physics_parameter_commands

Load the dictionary and extract the values of the variables that were defined here before (top quark, W and Z boson)

Take the value of sin2thetaW from the EW_parameters dictionary

Definition at line 142 of file Herwig7Config.py.

◆ run_name

Herwig7Config.Hw7Config.run_name

Definition at line 27 of file Herwig7Config.py.

◆ runArgs

Herwig7Config.Hw7Config.runArgs

Definition at line 25 of file Herwig7Config.py.

◆ set_physics_parameter_commands

Herwig7Config.Hw7Config.set_physics_parameter_commands

Definition at line 35 of file Herwig7Config.py.

◆ set_printout_commands

Herwig7Config.Hw7Config.set_printout_commands

Definition at line 34 of file Herwig7Config.py.

◆ set_technical_parameter_commands

Herwig7Config.Hw7Config.set_technical_parameter_commands

Definition at line 36 of file Herwig7Config.py.

◆ use_PDGparams

Herwig7Config.Hw7Config.use_PDGparams

Definition at line 37 of file Herwig7Config.py.


The documentation for this class was generated from the following file:
vtune_athena.format
format
Definition: vtune_athena.py:14
python.JOsupport.check_reset_proc_number
def check_reset_proc_number(opts)
Definition: JOsupport.py:23
TCS::join
std::string join(const std::vector< std::string > &v, const char c=',')
Definition: Trigger/TrigT1/L1Topo/L1TopoCommon/Root/StringUtils.cxx:10
python.processes.powheg.ZZ.ZZ.__init__
def __init__(self, base_directory, **kwargs)
Constructor: all process options are set here.
Definition: ZZ.py:18
python.CaloAddPedShiftConfig.int
int
Definition: CaloAddPedShiftConfig.py:45
str
Definition: BTagTrackIpAccessor.cxx:11