EDM4hep 0.99.99
|
A generic event data model for future HEP collider experiments.
Components
Vector4f | Vector3f | Vector3d |
Vector2f | TrackState | Quantity |
CovMatrix2f | CovMatrix3f | CovMatrix4f |
CovMatrix6f |
Datatypes
Links
RecoMCParticleLink | CaloHitSimCaloHitLink | TrackerHitSimTrackerHitLink |
CaloHitMCParticleLink | ClusterMCParticleLink | TrackMCParticleLink |
VertexRecoParticleLink |
Generator related (meta-)data
GeneratorEventParameters | ||
GeneratorPdfInfo |
Interfaces
TrackerHit |
The tests and examples in the tests
directory show how to read, write, and use these types in your code.
This project is in a beta stage – feedback and use of it in production is encouraged, but expect changes until a stable version is released.
Required:
Optional:
This project follows the key4hep guidelines and can be built with CMake:
The library files and dictionaries (libedm4hep.so
, ...) must be put somewhere in LD_LIBRARY_PATH
.
There are python bindings for all the classes in the datamodel for working with the classes individually (for working with collections podio has its own bindings). Make sure that <CMAKE_INSTALL_PREFIX>/lib
is in LD_LIBRARY_PATH
, <CMAKE_PREFIX_PATH>/python
is in PYTHONPATH
and <CMAKE_INSTALL_PREFIX>/include
is in ROOT_INCLUDE_PATH
:
In an interactive session (with python
or ipython
, for example) it's possible to see all the classes by typing edm4hep.
and then pressing TAB.
The edm4hep2json
tool can be used to dump the contents of an EMD4hep file in JSON format. E.g.
This will produce an output file some_events.edm4hep.json
. That has the following structure
As also stated in the podio documentation there is no plan to support reading JSON back in once it is dumped, so this should not be seen as a way to persistify data, but rather to interface it with tools that consume JSON.
Use edm4hep2json --help
to see the available options for selecting which parts of the input file should be part of the output.
Example EDM4hep files can be obtained from the Continuous Integration (CI) workflows. From the EDM4hep github page, go to Actions -> Key4hep build, click one of the runs (the latest scheduled is preferred) and they will appear at the bottom, under Artifacts.
Contributions and bug reports are welcome! See our contributing guidelines if you want to contribute code to EDM4hep.
If you wish to cite EDM4hep please reference this paper: