Giter Site home page Giter Site logo

podio's Introduction

podio

Bug tracker

Please submit feature requests and bugs to https://sft.its.cern.ch/jira/projects/PODIO

Documentation

Browse the API documentation created with Doxygen at

http://fccsw.web.cern.ch/fccsw/podio/index.html.

Prerequisites

If you are on lxplus, all the necessary software is preinstalled.

On Mac OS or Ubuntu, you need to install the following software.

ROOT 6.06

Install ROOT 6.06 and set up your ROOT environment:

source <root_path>/bin/thisroot.sh

Python 2.7

Check the python version by doing:

python --version

Check that the yaml python module is available

python
>>> import yaml

If the import goes fine (no message), you're all set. If not, you need to install yaml. For that, you need to:

1- install the C++ yaml library, which is used by the python module. On Mac OS, The easiest way to do that is to use homebrew (install homebrew if you don't have it yet):

brew install libyaml

2- install the python yaml module (first install pip if you don't have it yet)

pip install yaml

Check that you can now import the yaml module in python.

Preparing the environment

Before building and installing this package, and everytime you need to use it, do:

source ./init.sh

Compiling

Set up separate build and install areas, and trigger the build:

mkdir build
mkdir install
cd build
cmake -DCMAKE_INSTALL_PREFIX=../install ..
make -j 4 install

To see a list of options, do this in the build-directory:

cmake -LH ..

Running

The examples are for creating a file "example.root",

../install/tests/write

reading it again in C++,

../install/tests/read

and reading it again in python,

python ../tests/read.py

Modifying the data model

Podio features an example event data model, fully described in the yaml file tests/datalayout.yaml. The C++ in tests/datamodel/ has been fully generated by a code generation script, python/podio_class_generator.py.

To run the code generation script, do

mkdir ../Tmp
mkdir ../Tmp/data
mkdir ../Tmp/src
python ../python/podio_class_generator.py ../examples/datalayout.yaml ../Tmp data

Running tests

After compilation and installation (!) you can run rudimentary tests with

make test

podio's People

Contributors

cbernet avatar clementhelsens avatar gaede avatar hegner avatar jlingema avatar peremato avatar zaborowska avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.