From Wiki Les Houches 09

Revision as of 05:53, 13 June 2009 by Daniel (Talk | contribs)
Jump to: navigation, search

This is a working draft for an interface between one-loop amplitude programs and monte carlo programs.


Goal of the interface

The goal of the interface is to facilitate the transfer of information between one-loop programs (which we will call one-loop provider OLP or one-loop engine depending on whether we mean the method/work (Golem, Rocket, Helac one-loop, BlackHat, ...) or the actual run time entity) which provide one-loop matrix element and the program the does the integration over the phasespace (which we will call MC).

Model of the interaction between MC and OLE

The model of the interaction between the MC and OLE assumes two phases which we will call "initialization" and "run time".

1. Initialization

During this phase the MC sets up the OLE. This means setting up the parameters and fixing options that are offered by the OLP

  • masses, width
  • operating mode, for example which approximation (leading color, massless b's, ...)
  • schemes (renormalization, factorization)

2. Run time

During this phase the MCP queries the OLE for the value of a virtual matrix element.

Implementation proposal

This section outlines a proposal for the implementation of the interface model presented above. The aim is to make it easy to implemeent it in all common programming language. The functions will be called by the MCP and executed by the OLE. The name of the function and its implementation can be chosen by the OLP (although sticking to the name in this wiki would be convenient), the main point being to provide a function that satisfies the interface.

In the easiest case of merging two programs written in the same language, the connection between the caller (the MCP) and the receiver (the OLE) can be easily achieved by linking the rogram together. In more difficult cases with mixed languages or special environments a bridge program or transmission protocol will have to be put in place. This is however not the topic or concern of this proposal, here we only want to ensure that the end point of these bridges will be the same.

Initialisation phase

In this phase the MCP asks the OLE for a subprocess.

A list of subprocesses might be loaded using another function call. Every line of this file will correspond to the argument of a singe call to NewSubprocess

Possibly useful links


Personal tools