banana.benchmark package

Subpackages

Submodules

banana.benchmark.runner module

class banana.benchmark.runner.BenchmarkRunner[source]

Bases: object

banana_cfg = {}

Global configuration

console = <console width=80 None>
db(db_path)[source]

Open and eventually create the database

Parameters:

db_path (str) – path to database file

Returns:

session – db session

Return type:

sqlalchemy.orm.session.Session

db_base_cls = None

Base class that describes db schema

external = ''

External reference program name

insert_external(session, t, o, pdf)[source]

Obtain an external run.

Parameters:
Returns:

ext – result

Return type:

dict

insert_log(session, t, o, pdf, me, ext)[source]

Obtain an external run.

Parameters:
Returns:

log_record – result

Return type:

dict

load_external(session, t, o, pdf_name)[source]

Look into the DB.

Parameters:
Returns:

ext – external result if available

Return type:

dict

abstract static load_ocards(session, ocard_updates)[source]

Load o-cards from the DB.

Parameters:
Returns:

ocards – all requested o-cards

Return type:

list(dict)

abstract log(theory, ocard, pdf, me, ext)[source]

Create log from our and external result.

Parameters:
  • theory (dict) – theory card

  • ocard (dict) – o card

  • pdf (lhapdf_like) – PDF

  • me (dict) – our result

  • ext (dict) – external result

Returns:

log – log

Return type:

dict

run(theory_updates, ocard_updates, pdfs, use_replicas=False)[source]

Execute a (power) set of configuration and compare.

Parameters:
  • theory_updates (list(dict)) – generated theories

  • ocard_updates (list(dict)) – generated ocards

  • pdfs (list(str)) – applied PDFs

  • use_replicas (bool) – if True use the full PDFs set

run_config(session, t, o, pdf_name, use_replicas)[source]

Run a single configuration.

Parameters:
abstract run_external(theory, ocard, pdf)[source]

Execute external program.

Parameters:
  • theory (dict) – theory card

  • ocard (dict) – o card

  • pdf (lhapdf_like) – PDF

Returns:

me – external result

Return type:

dict

abstract run_me(theory, ocard, pdf)[source]

Execute our program.

Parameters:
  • theory (dict) – theory card

  • ocard (dict) – o card

  • pdf (lhapdf_like) – PDF

Returns:

me – our result

Return type:

dict

banana.benchmark.runner.get_pdf(pdf_name, full_set=False)[source]

Load PDF object from either LHAPDF or toyLH

Parameters:
  • pdf_name (str) – pdf name

  • full_set (bool) – if True, return the full PDFs set with all the replicas

Returns:

pdf – PDF object

Return type:

lhapdf_like

banana.benchmark.runner.pdf_name(pdf)[source]

Get the PDF set name

Parameters:

pdf (list(lhapdf_type), lhapdf_type) – pdf object or list

Returns:

pdf_name – PDF set name

Return type:

str