hepi.run
Submodules
Classes
Input for computation and scans. |
|
Computation orders. |
|
General result class. All uncertainties are of numerical origin. |
|
Abstract class that is similar to a dictionary but with fixed keys. |
|
Functions
Get the input directory. |
|
Get the output directory. |
|
|
Gets the command prefix. |
|
Convert a dict of list`s to a `pandas.DataFrame. |
|
Convert a list of objects into a dictionary of lists. |
|
Creates a sha256 hash from the objects string representation. |
Package Contents
- class hepi.run.Input(order, energy, particle1, particle2, slha, pdf_lo, pdf_nlo, mu_f=1.0, mu_r=1.0, pdfset_lo=0, pdfset_nlo=0, precision=0.001, max_iters=50, invariant_mass='auto', result='total', pt='auto', id='', model='', update=True)[source]
Bases:
hepi.util.DictData
Input for computation and scans.
- Variables:
order (
Order
) – LO, NLO or NLO+NLL computation.energy (int) – CMS energy in GeV.
energyhalf (int) – Halfed energy.
particle1 (int) – PDG identifier of the first final state particle.
particle2 (int) – PDG identifier of the second final state particle.
slha (str) – File path of for the base slha. Modified slha files will be used if a scan requires a change of the input.
pdf_lo (str) – LO PDF name.
pdf_nlo (str) – NLO PDF name.
pdfset_lo (int) – LO PDF member/set id.
pdfset_nlo (int) – NLO PDF member/set id.
pdf_lo_id (int) – LO PDF first member/set id.
pdf_nlo_id (int) – NLO PDF first member/set id.
mu (double) – central scale factor.
mu_f (double) – Factorization scale factor.
mu_r (double) – Renormalization scale factor.
precision (double) – Desired numerical relative precision.
max_iters (int) – Upper limit on integration iterations.
invariant_mass (str) – Invariant mass mode ‘auto = sqrt((p1+p2)^2)’ else value.
pt (str) – Transverse Momentum mode ‘auto’ or value.
result (str) – Result type ‘total’/’pt’/’ptj’/’m’.
id (str) – Set an id of this run.
model (str) – Path for MadGraph model.
update (bool) – Update dependent mu else set to zero.
- Parameters:
order (hepi.order.Order)
energy (float)
particle1 (int)
particle2 (int)
slha (str)
pdf_lo (str)
pdf_nlo (str)
- order
- energy
- energyhalf
- particle1
- particle2
- slha
- pdf_lo
- pdfset_lo = 0
- pdf_nlo
- pdfset_nlo = 0
- pdf_lo_id = 0
- pdf_nlo_id = 0
- mu_f = 1.0
- mu_r = 1.0
- precision = 0.001
- max_iters = 50
- invariant_mass = 'auto'
- pt = 'auto'
- result = 'total'
- id = ''
- model = ''
- mu = 0.0
- class hepi.run.Order[source]
Bases:
enum.IntEnum
Computation orders.
Initialize self. See help(type(self)) for accurate signature.
- LO = 0
Leading Order
- NLO = 1
Next-to-Leading Order
- NLO_PLUS_NLL = 2
Next-to-Leading Order plus Next-to-Leading Logarithms
- aNNLO_PLUS_NNLL = 3
Approximate Next-to-next-to-Leading Order plus Next-to-next-to-Leading Logarithms
- class hepi.run.Result(lo=None, nlo=None, nlo_plus_nll=None, annlo_plus_nnll=None)[source]
Bases:
hepi.util.DictData
General result class. All uncertainties are of numerical origin.
- Variables:
LO (
double
) – Leading Order result. Defaults to None.NLO (
double
) – Next-to-Leading Order result. Defaults to None.NLO_PLUS_NLL (
double
) – Next-to-Leading Order plus Next-to-Leading Logarithm result. Defaults to None.K_LO (
double
) – LO divided by LO.K_NLO (
double
) – NLO divided by LO result.K_NLO_PLUS_NLL (
double
) – NLO+NLL divided by LO.K_aNNLO_PLUS_NNLL (
double
) – aNNLO+NNLL divided by LO.NLO_PLUS_NLL_OVER_NLO (
double
) – NLO+NLL divided by NLO.aNNLO_PLUS_NNLL_OVER_NLO (
double
) – aNNLO+NNLL divided by NLO.
Sets given and computes dependent
Attributes
.- Parameters:
lo (
double
) – corresponds toLO
.nlo (
double
) – corresponds toNLO
.nlo_plus_nll (
double
) – corresponds toNLO_PLUS_NLL
.annlo_plus_nnll (
double
) – corresponds toaNNLO_PLUS_NNLL
.
- LO = None
- NLO = None
- NLO_PLUS_NLL = None
- aNNLO_PLUS_NNLL = None
- hepi.run.DL2DF(ld)[source]
Convert a dict of list`s to a `pandas.DataFrame.
- Parameters:
ld (dict)
- Return type:
pandas.DataFrame
- hepi.run.LD2DL(l, actual_dict=False)[source]
Convert a list of objects into a dictionary of lists.
The values of each object are first converted to a dict through the __dict__ attribute.
- Parameters:
l (List) – list of objects.
actual_dict (bool) – objects are already dicts
- Returns:
dictionary of numpy arrays.
- Return type:
dict
Examples
>>> class Param: ... def __init__(self,a,b,c): ... self.a = a ... self.b = b ... self.c = c >>> LD2DL([ Param(1,2,3), Param(4,5,6) , Param(7,8,9) ]) {'a': array([1, 4, 7]), 'b': array([2, 5, 8]), 'c': array([3, 6, 9])}
- hepi.run.namehash(n)[source]
Creates a sha256 hash from the objects string representation.
- Parameters:
n (any) – object.
- Returns:
sha256 of object.
- Return type:
str
Examples
>>> p = {'a':1,'b':2} >>> str(p) "{'a': 1, 'b': 2}" >>> namehash(str(p)) '3dffaea891e5dbadb390da33bad65f509dd667779330e2720df8165a253462b8' >>> namehash(p) '3dffaea891e5dbadb390da33bad65f509dd667779330e2720df8165a253462b8'
- class hepi.run.RunParam(skip=False, in_file=None, out_file=None, execute=None, name=None)[source]
Bases:
hepi.util.DictData
Abstract class that is similar to a dictionary but with fixed keys.
- Parameters:
skip (bool)
in_file (str)
out_file (str)
execute (str)
name (str)
- name = None
- skip = False
- in_file = None
- out_file = None
- execute = None
- class hepi.run.Runner(path, in_dir=None, out_dir=None, pre=None)[source]
- Parameters:
path (str)
in_dir (str)
out_dir (str)
- path
- _prepare(p, skip=False, assume_valid=False, **kwargs)[source]
- Parameters:
p (hepi.input.Input)
- Return type:
- _check_input(param, **kwargs)[source]
- Parameters:
param (hepi.input.Input)
- Return type:
bool
- _prepare_all(params, skip=True, n_jobs=None, **kwargs)[source]
Prepares all parameters for execution.
- Parameters:
params (List[
hepi.Input
]) – List of input parameters.skip (bool, optional) – If True, the runner will check if the output file already exists and skip the execution if it does. Defaults to True.
n_jobs (int) – Number of parallel jobs. If None, use all available cores.
- Return type:
List[RunParam]
- run(params, skip=True, parse=True, parallel=True, sleep=0, run=True, ignore_error=False, n_jobs=None, **kwargs)[source]
Run the passed list of parameters.
- Parameters:
params (
list
ofhepi.Input
) – All parameters that should be executed/queued.skip (bool) – True means stored runs will be skipped. Else the are overwritten.
parse (bool) – Parse the results. This is not the prefered cluster/parallel mode, as there the function only queues the job.
parallel (bool) – Run jobs in parallel.
sleep (int) – Sleep seconds after starting job.
run (bool) – Actually start/queue runner.
ignore_error (bool) – Continue instead of raising Exceptions. Also ignores hash collisions.
n_jobs (int) – Number of parallel jobs. If None, use all available cores.
- Returns:
combined dataframe of results and parameters. The dataframe is empty if parse is set to False.
- Return type:
pd.DataFrame
- _run(rps, wait=True, parallel=True, sleep=0, n_jobs=None, **kwargs)[source]
Runs Runner per
RunParams
.- Parameters:
rps (
list
ofRunParams
) – Extended run parameters.bar (bool) – Enable info bar.
wait (bool) – Wait for parallel runs to finish.
sleep (int) – Sleep seconds after starting subprocess.
parallel (bool) – Run jobs in parallel.
n_jobs (int) – Number of parallel jobs. If None, use all available cores.
- Returns:
return codes from jobs if no_parse is False.
- Return type:
list
of int
- _is_valid(file, p, d, **kwargs)[source]
Verifies that a file is a complete output.
- Parameters:
file (str) – File path to be parsed.
p (
hepi.Input
) – Onput parameters.d (
dict
) – Param dictionary.
- Returns:
True if file could be parsed.
- Return type:
bool
- parse(outputs, n_jobs=None)[source]
Parses Resummino output files and returns List of Results.
- Args:
outputs (
list
of str): List of the filenames to be parsed.
n_jobs (int): Number of parallel jobs. If None, use all available cores.
- Returns:
list
ofhepi.resummino.result.ResumminoResult
- Parameters:
outputs (List[str])
- Return type:
List[hepi.results.Result]
- _parse_file(file)[source]
Extracts results from an output file.
- Parameters:
file (str) – File path to be parsed.
- Returns:
If a value is not found in the file None is used.
- Return type:
- set_path(p)[source]
Set the path to the Runner folder containing the binary in ‘./bin’ or ‘./build/bin’.
- Parameters:
p (str) – new path.
- set_input_dir(indir)[source]
Sets the input directory.
- Parameters:
indir (str) – new input directory.