Elsevier Science Home
Computer Physics Communications Program Library
Full text online from Science Direct
Programs in Physics & Physical Chemistry
CPC Home

[Licence| Download | New Version Template] aegl_v1_0.tar.gz(598 Kbytes)
Manuscript Title: HepML, an XML-based format for describing simulated data in high energy physics
Authors: S. Belov, L. Dudko, D. Kekelidze, A. Sherstnev
Program title: libhepml
Catalogue identifier: AEGL_v1_0
Distribution format: tar.gz
Journal reference: Comput. Phys. Commun. 181(2010)1758
Programming language: C++, C.
Computer: PCs and workstations.
Operating system: Scientific Linux CERN 4/5, Ubuntu 9.10.
RAM: 1073741824 bytes (1 Gb)
Keywords: HepML, XML, Markup language, Monte Carlo Simulation, Monte Carlo event generators.
PACS: 01.50.hv, 07.05.-t, 07.05.Tp, 07.05.Wr.
Classification: 6.2, 11.1, 11.2.

External routines: Xerces XML library (http://xerces.apache.org/xerces-c/), Expat XML Parser (http://expat.sourceforge.net/).

Nature of problem:
Monte Carlo simulation in high energy physics is divided into several stages. Various programs exist for these stages. In this article we are interested in interfacing different Monte Carlo event generators via data files, in particular, Matrix Element (ME) generators and Showering and Hadronization (SH) generators. There is a widely accepted format for data files for such interfaces - Les Houches Event Format (LHEF). Although information kept in a LHEF file is enough for proper working of SH generators, it is insufficient for understanding how events in the LHEF file have been prepared and which physical model has been applied. In this paper we propose an extension of the format for keeping additional information available in generators. We propose to add a new information block, marked up with XML tags, to the LHEF file. This block describes events in the file in more detail. In particular, it stores information about a physical model, kinematical cuts, generator, etc. This helps to make LHEF files self-documented. Certainly, HepML can be applied in more general context, not in LHEF files only.

Solution method:
In order to overcome drawbacks of the original LHEF accord we propose to add a new information block of HepML tags. HepML is an XML-based markup language. We designed several XML XML Schemas for all tags in the language. Any HepML document should follow rules of the Schemas. The language is equipped with a library for operation with HepML tags and documents. This C++ library, called libhepml, consists of classes for HepML objects, which represent a HepML document in computer memory, parsing classes, serializating classes, and some auxiliary classes.

The software is adapted for solving problems, described in the article. There are no additional restrictions.

Running time:
Tests have been done on a computer with Intel(R) Core(TM)2 Solo, 1.4GHz. Parsing of a HepML file: 6 ms (size of the HepML files is 12.5Kb) Writing of a HepML block to file: 14 ms (file size 12.5Kb) Merging of two HepML blocks and writing to file: 18 ms (file size - 25.0Kb)