LCIO  02.17
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
LCIO Documentation
linux
mac
python

![Coverity Scan Build Status](https://scan.coverity.com/projects/11178/badge.svg)

LCIO ( L**inear **C**ollider **I/O ) is a persistency framework and event data model for linear collider detector studies.


Introduction

LCIO is intended to be used in both simulation studies and analysis frameworks. Its light weight and portability makes it also suitable for use in detector R&D testbeam applications. It provides a C++ and optionally a Java implementation with a common interface (API) - a Fortran interface to the C++ implementation also exists, if built with ROOT, Python bindings are available .

Using a common persistency format and event data model allows to easily share results and compare reconstruction algorithms. LCIO is used by almost all groups involved in linear collider detector studies and thus has become a de facto standard.

In particular it is used in the iLCSoft framework.


Documentation

The most current code documentation for LCIO can be found at:

as an entry point to quickly find the API documentation for the EDM objects use:

As a quick introduction you can read this LC-note on LCIO (CHEP proceedings 2003):

A somewhat outdated manual can be found in

it still provides a good overview over the philosophy of LCIO and how to use it.


Installation

```sh git clone https://github.com/iLCSoft/LCIO.git cd LCIO git checkout v02-15-01 ## use a specific version ```

```sh mkdir build cd build cmake .. make -j 4 install ```

```sh . /cvmfs/ilc.desy.de/sw/x86_64_gcc82_sl6/root/6.18.04/bin/thisroot.sh cmake -DBUILD_ROOTDICT=ON -D CMAKE_CXX_STANDARD=17 .. make -j 4 install cd .. ```

and then initialize your LCIO installation:

```sh . ./setup.sh ## <— run this in the source directory ```

```sh make test ```

Examples

You can find a number of simple examples and tools in ./src/cpp/src/EXAMPLE/

``` . ./setup.sh ## <— run this in the source directory

simjob # a dummy simulation job recjob simjob.slcio # a dummy reconstruction job ```

```sh anajob recjob.slcio # print collections and sizes dumpevent recjob.slcio 1 | less # detailed print of the 1st event

```

delphes2lcio

For a more advanced example on how to create LCIO files with Delphes and analyze them with ROOT macros see

Release Notes

You can find the release notes for LCIO in ./doc/ReleaseNotes.md


Reference

If you use LCIO for your physics analysis, please cite as:

``` {Gaede:2003ip, author = "Gaede, Frank and Behnke, Ties and Graf, Norman and Johnson, Tony", title = "{LCIO: A Persistency framework for linear collider simulation studies}", eprint = "physics/0306114", archivePrefix = "arXiv", reportNumber = "SLAC-PUB-9992, CHEP-2003-TUKT001", journal = "eConf", volume = "C0303241", pages = "TUKT001", year = "2003" }

```


Copyright and Licence

Copyright (c) 2003-2016, DESY, Deutsches Elektronen Synchrotron

Copyright (c) 2003-2016, SLAC, National Accelerator Laboratory

LCIO is distributed under the BSD-3-Clause licence.