ATLAS Offline Software
Loading...
Searching...
No Matches
H7C.H7C Class Reference
Inheritance diagram for H7C.H7C:
Collaboration diagram for H7C.H7C:

Public Member Functions

 __init__ (self, flags, run_name="Herwig", local_pre_commands=None, local_post_commands=None)
 local_pre_commands (self)
 local_post_commands (self)
 get_flags_info (self, flags)
 add_flags (self, flags=None)
 beam_commands (self)
 random_seed_commands (self)
 energy_commands (self)

Public Attributes

 flags = flags
 run_name = run_name
str me_pdf_name = "MMHT2014lo68cl"
str mpi_pdf_name = "MMHT2014lo68cl"
int ecmEnergy = 0
int random_seed = 0
bool set_printout_commands = False
bool set_physics_parameter_commands = False
bool set_technical_parameter_commands = False
 default_commands = hw7Utils.ConfigurationCommands()
 commands = hw7Utils.ConfigurationCommands()

Protected Attributes

 _local_pre_commands = local_pre_commands or (lambda: "")
 _local_post_commands = local_post_commands or (lambda: "")

Detailed Description

Stateful control object for preparing a Herwig7 CA run.
Note that this inherits from Hw7Config, which provides 
all the baseline settings, so that we don't have to rewrite 
the full config.

Definition at line 16 of file H7C.py.

Constructor & Destructor Documentation

◆ __init__()

H7C.H7C.__init__ ( self,
flags,
run_name = "Herwig",
local_pre_commands = None,
local_post_commands = None )

Definition at line 23 of file H7C.py.

29 ):
30 self.flags = flags
31 self.run_name = run_name
32 self._local_pre_commands = local_pre_commands or (lambda: "")
33 self._local_post_commands = local_post_commands or (lambda: "")
34
35 self.me_pdf_name = "MMHT2014lo68cl"
36 self.mpi_pdf_name = "MMHT2014lo68cl"
37 self.ecmEnergy = 0
38 self.random_seed = 0
39
40 self.set_printout_commands = False
41 self.set_physics_parameter_commands = False
42 self.set_technical_parameter_commands = False
43
44 self.default_commands = hw7Utils.ConfigurationCommands()
45 self.commands = hw7Utils.ConfigurationCommands()
46

Member Function Documentation

◆ add_flags()

H7C.H7C.add_flags ( self,
flags = None )

Definition at line 68 of file H7C.py.

68 def add_flags(self, flags=None):
69 if flags is not None:
70 self.get_flags_info(flags)
71

◆ beam_commands()

H7C.H7C.beam_commands ( self)

Definition at line 72 of file H7C.py.

72 def beam_commands(self):
73 return dedent("""
74 ## Commands for proton-proton collisions
75 read snippets/PPCollider.in
76 """)
77

◆ energy_commands()

H7C.H7C.energy_commands ( self)

Definition at line 84 of file H7C.py.

84 def energy_commands(self):
85 return dedent(f"""
86 ## Center-of-mass energy
87 set /Herwig/Generators/EventGenerator:EventHandler:LuminosityFunction:Energy {self.ecmEnergy}
88 """)

◆ get_flags_info()

H7C.H7C.get_flags_info ( self,
flags )
Populate beam energy and random seed from CA flags

Definition at line 53 of file H7C.py.

53 def get_flags_info(self, flags):
54 """Populate beam energy and random seed from CA flags"""
55 if flags is None:
56 raise RuntimeError("flags must be provided!")
57
58 try:
59 self.ecmEnergy = float(flags.Beam.Energy * 2) / GeV
60 except AttributeError as exc:
61 raise RuntimeError("No beam energy found in flags (expected flags.Beam.Energy).") from exc
62
63 try:
64 self.random_seed = int(flags.Random.SeedOffset)
65 except AttributeError as exc:
66 raise RuntimeError("No random seed found in flags (expected flags.Random.SeedOffset).") from exc
67

◆ local_post_commands()

H7C.H7C.local_post_commands ( self)

Definition at line 50 of file H7C.py.

50 def local_post_commands(self):
51 return self._local_post_commands()
52

◆ local_pre_commands()

H7C.H7C.local_pre_commands ( self)

Definition at line 47 of file H7C.py.

47 def local_pre_commands(self):
48 return self._local_pre_commands()
49

◆ random_seed_commands()

H7C.H7C.random_seed_commands ( self)

Definition at line 78 of file H7C.py.

78 def random_seed_commands(self):
79 return dedent(f"""
80 ## Random number generator seed
81 set /Herwig/Random:Seed {self.random_seed}
82 """)
83

Member Data Documentation

◆ _local_post_commands

H7C.H7C._local_post_commands = local_post_commands or (lambda: "")
protected

Definition at line 33 of file H7C.py.

◆ _local_pre_commands

H7C.H7C._local_pre_commands = local_pre_commands or (lambda: "")
protected

Definition at line 32 of file H7C.py.

◆ commands

H7C.H7C.commands = hw7Utils.ConfigurationCommands()

Definition at line 45 of file H7C.py.

◆ default_commands

H7C.H7C.default_commands = hw7Utils.ConfigurationCommands()

Definition at line 44 of file H7C.py.

◆ ecmEnergy

int H7C.H7C.ecmEnergy = 0

Definition at line 37 of file H7C.py.

◆ flags

H7C.H7C.flags = flags

Definition at line 30 of file H7C.py.

◆ me_pdf_name

str H7C.H7C.me_pdf_name = "MMHT2014lo68cl"

Definition at line 35 of file H7C.py.

◆ mpi_pdf_name

str H7C.H7C.mpi_pdf_name = "MMHT2014lo68cl"

Definition at line 36 of file H7C.py.

◆ random_seed

int H7C.H7C.random_seed = 0

Definition at line 38 of file H7C.py.

◆ run_name

H7C.H7C.run_name = run_name

Definition at line 31 of file H7C.py.

◆ set_physics_parameter_commands

bool H7C.H7C.set_physics_parameter_commands = False

Definition at line 41 of file H7C.py.

◆ set_printout_commands

bool H7C.H7C.set_printout_commands = False

Definition at line 40 of file H7C.py.

◆ set_technical_parameter_commands

bool H7C.H7C.set_technical_parameter_commands = False

Definition at line 42 of file H7C.py.


The documentation for this class was generated from the following file: