https://github.com/pseyfert/zooreaders
https://github.com/pseyfert/zooreaders
Last synced: about 1 year ago
JSON representation
- Host: GitHub
- URL: https://github.com/pseyfert/zooreaders
- Owner: pseyfert
- License: gpl-3.0
- Created: 2013-12-24T16:59:20.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2013-12-27T16:05:40.000Z (over 12 years ago)
- Last Synced: 2023-08-02T20:58:48.932Z (almost 3 years ago)
- Language: C++
- Size: 3.59 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
ZooReaders
==========
Some code for reading ZooNtuples adding convenience, trying to avoid code
duplication. Providing commonly needed code. etc.
usage
=====
* symbolic link to your Phys/ZooWriter/Zoo directory in the ZooReaders main
directory is required.
* before running executables "source init.sh" is required
* for developers: set a pre-commit hook which runs doxygen and have a look at http://rickfoosusa.blogspot.de/2011/10/howto-use-doxygen-with-github.html
todo
====
* Follow this example: http://rickfoosusa.blogspot.de/2011/10/howto-use-doxygen-with-github.html
and generate doxygen docu on the fly and ship it!
* logstreams don't use deprecated (as in C++11) auto pointers.
* finish Loopers implementation
* proper makefile for helpers
* example using Loopers
using options
=============
look at ```hello_options.cc```
and run:
* ```./hello_options```
* ```./hello_options -h```
* ```./hello_options -v 34```
* ```./hello_options here some words```
* ```./hello_options -s 0xdeadface```
* ```./hello_options -w 1 -t bla some words```
through the examples
====================
When reading through the examples _please_ don't start just somewhere. Go
through them in the following order.
1. [hello_options.cc] the most readable intro into options I could think of.
2. [hello_logstreams.cc] just putting some noise to the logstreams. play around
with the -v option. Shows how functions can be called when an option gets
parsed, both using the value as well as not using it (mind the template of option::myfun).
3. [hello_logstreams_glob.cc] not to introduce code duplication, most of
```hello_logstreams.cc``` is exported to the helpers library. This shows how
you're supposed to use options.
4. [ZooReader_basic.cc] a minimal executalbe close to the old ZooReader
example. NB: It shows a check if the branch exists and tells the user all
available branch names.
5. [ZooReader_options.cc] adding options as in hello_options.cc to the
ZooReader.
6. [ZooReader_glob_options.cc] putting things together from
hello_logstreams_glob.cc and ZooReader_options.cc
the ZooGui
==========
This is just a toy project. Two ways of using it:
Firstly, in interactive root:
```
root -l
gSystem->Load("Zoo/libZooROOT.so")
gSystem->Load("ZooFunctors/libZooFunctorROOT.so")
.L ZooGui.cpp+O
ZooGui gui
gui.LoadFile("/path/to/your/ntuple.root")
```
Secondly executed:
```
make ZooGui
./ZooGui
```
Thirdly, due to limitations of CINT you cannot actually develope your plot on
runtime. This could be much more awesome with the PyROOT methods shipped with
Phys/ZooWriter/examples. I'm curious if this gets fantastic with cling/clang.