Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
Newer
Older
100644 194 lines (126 sloc) 5.626 kb
4b95242 Noel Dawe updates
ndawe authored
1 .. -*- mode: rst -*-
21442cd Noel Dawe updating setup
ndawe authored
2
6eff70a Noel Dawe docs
ndawe authored
3 rootpy
4 ======
5
558a597 Noel Dawe new links
ndawe authored
6 Documentation is hosted here: `rootpy.org <http://rootpy.org>`_
99243fa Noel Dawe new links
ndawe authored
7 and mirrored here:
8 `rootpy.github.com/rootpy <http://rootpy.github.com/rootpy>`_.
558a597 Noel Dawe new links
ndawe authored
9
ce60204 Noel Dawe updates
ndawe authored
10 About
6eff70a Noel Dawe docs
ndawe authored
11 -----
ce60204 Noel Dawe updates
ndawe authored
12
e0972ea Noel Dawe docs
ndawe authored
13 `rootpy` provides a more feature-rich and pythonic interface
7a4b390 Noel Dawe updates
ndawe authored
14 with the `ROOT <http://root.cern.ch/>`_ libraries on top of
d795be4 Noel Dawe docs
ndawe authored
15 the existing `PyROOT <http://root.cern.ch/drupal/content/pyroot>`_ bindings.
a8616b6 Noel Dawe updates
ndawe authored
16
e0972ea Noel Dawe docs
ndawe authored
17 More specifically, `rootpy` provides:
10d16ce Noel Dawe update README
ndawe authored
18
f35891b Noel Dawe docs
ndawe authored
19 * easier manipulation of trees, histograms, graphs, cuts,
e0972ea Noel Dawe docs
ndawe authored
20 and TVector/TLorentzVectors. `rootpy` provides classes that
f35891b Noel Dawe docs
ndawe authored
21 inherit from these ROOT classes and implement the Python
22 arithmetic operators.
815ae1d Noel Dawe updates
ndawe authored
23
7a4b390 Noel Dawe updates
ndawe authored
24 * an easy way to create and read ROOT TTrees and a mechanism for defining
2670828 Noel Dawe updates
ndawe authored
25 objects and collections of objects whose attributes are TTree branches.
26 You may also decorate TTree objects with additional methods and attributes.
25d8f89 Noel Dawe fix
ndawe authored
27 See examples/tree.
10d16ce Noel Dawe update README
ndawe authored
28
e0972ea Noel Dawe docs
ndawe authored
29 * easy navigation through TFiles. `rootpy` wraps TFile and implements the
352c270 Noel Dawe updates
ndawe authored
30 natural naming convention so that objects may be retrieved with
d795be4 Noel Dawe docs
ndawe authored
31 myFile.someDirectory.treeName, for example.
10d16ce Noel Dawe update README
ndawe authored
32
f35891b Noel Dawe docs
ndawe authored
33 * an interface between ROOT and
34 `matplotlib <http://matplotlib.sourceforge.net/>`_.
e0972ea Noel Dawe docs
ndawe authored
35 Don't like the way your plots look in ROOT? Simply use `rootpy` to
3eeb183 Noel Dawe docs
ndawe authored
36 plot your ROOT histograms or graphs with matplotlib instead.
a70fca2 Noel Dawe docs
ndawe authored
37
64e4a83 Noel Dawe updates
ndawe authored
38 * conversion of ROOT TFiles containing TTrees into
f35891b Noel Dawe docs
ndawe authored
39 `HDF5 <http://www.hdfgroup.org/HDF5/>`_ format with
40 `PyTables <http://www.pytables.org/>`_.
5b3b790 Noel Dawe updates
ndawe authored
41
a70fca2 Noel Dawe docs
ndawe authored
42 * conversion of TTrees into `NumPy <http://numpy.scipy.org/>`_ `ndarrays
6145034 Noel Dawe update readme
ndawe authored
43 <http://docs.scipy.org/doc/numpy/reference/generated/numpy.ndarray.html>`_
44 and `recarrays
d795be4 Noel Dawe docs
ndawe authored
45 <http://docs.scipy.org/doc/numpy/reference/generated/numpy.recarray.html>`_.
f35891b Noel Dawe docs
ndawe authored
46 Now take advantage of the many statistical and numerical packages
47 that Python offers (`NumPy`_, `SciPy <http://www.scipy.org/>`_,
48 `StatsModels <http://statsmodels.sourceforge.net/>`_,
a70fca2 Noel Dawe docs
ndawe authored
49 use `scikit-learn <http://scikit-learn.org>`_ for machine
d795be4 Noel Dawe docs
ndawe authored
50 learning instead of `TMVA <http://tmva.sourceforge.net/>`_).
6145034 Noel Dawe update readme
ndawe authored
51
d795be4 Noel Dawe docs
ndawe authored
52 * a framework for parallelizing processes that run over many TTrees.
d843497 Noel Dawe updates
ndawe authored
53
d795be4 Noel Dawe docs
ndawe authored
54 * ``roosh``, a Bash-like shell environment for the ROOT TFile.
5d51f76 Noel Dawe readme
ndawe authored
55
f35891b Noel Dawe docs
ndawe authored
56 * a collection of useful command line scripts: ``root-ls``, ``root-cp``,
57 ``root-tree-ls``, and others.
ce60204 Noel Dawe updates
ndawe authored
58
3f7585c Noel Dawe updates
ndawe authored
59
df97b1b Noel Dawe docs
ndawe authored
60 Have Questions or Found a Bug?
61 ------------------------------
62
a77a863 Noel Dawe point users to stackoverflow
ndawe authored
63 Post your questions on `stackoverflow.com <http://stackoverflow.com/>`_
978bec1 Noel Dawe docs
ndawe authored
64 and use the tag ``rootpy`` (this tag does not exist yet, but if you have a
65 reputation of at least 1500 then please created it).
66
df97b1b Noel Dawe docs
ndawe authored
67 Think you found a bug? Open a new issue here:
68 `github.com/rootpy/rootpy/issues <https://github.com/rootpy/rootpy/issues>`_.
69
978bec1 Noel Dawe docs
ndawe authored
70 Also feel free to post questions or follow discussion on the developers
71 (rootpy-dev@googlegroups.com) or users (rootpy-users@googlegroups.com) lists.
72
df97b1b Noel Dawe docs
ndawe authored
73
689d7a5 Noel Dawe updates
ndawe authored
74 Requirements
6eff70a Noel Dawe docs
ndawe authored
75 ------------
689d7a5 Noel Dawe updates
ndawe authored
76
6388a94 Noel Dawe docs
ndawe authored
77 At least Python 2.6 and `ROOT`_ with `PyROOT`_ enabled are required.
f35891b Noel Dawe docs
ndawe authored
78 `matplotlib`_, `NumPy`_, `PyTables`_, and `PyYAML <http://pyyaml.org/>`_
79 are optional.
689d7a5 Noel Dawe updates
ndawe authored
80
3f7585c Noel Dawe updates
ndawe authored
81
b1b116d Noel Dawe compatibility section to be added
ndawe authored
82 Compatibility
6eff70a Noel Dawe docs
ndawe authored
83 -------------
b1b116d Noel Dawe compatibility section to be added
ndawe authored
84
85 TBA
86
87
6388a94 Noel Dawe docs
ndawe authored
88 Getting the Latest Source
6eff70a Noel Dawe docs
ndawe authored
89 -------------------------
21442cd Noel Dawe updating setup
ndawe authored
90
58fc0bd Noel Dawe docs
ndawe authored
91 Clone the repository with git::
f31e33e Noel Dawe updates
ndawe authored
92
58fc0bd Noel Dawe docs
ndawe authored
93 git clone git://github.com/rootpy/rootpy.git
f31e33e Noel Dawe updates
ndawe authored
94
58fc0bd Noel Dawe docs
ndawe authored
95 then clone any submodules::
96
97 cd rootpy
98 git submodule init
99 git submodule update
100
101 or checkout with svn::
102
103 svn checkout http://svn.github.com/rootpy/rootpy
104
105 Note: svn does not checkout git submodules so you will end up with an
e0972ea Noel Dawe docs
ndawe authored
106 incomplete `rootpy`.
58fc0bd Noel Dawe docs
ndawe authored
107
108 Still using svn? Watch `this <http://www.youtube.com/watch?v=4XpnKHJAok8>`_.
f31e33e Noel Dawe updates
ndawe authored
109
58fc0bd Noel Dawe docs
ndawe authored
110
111 Manual Installation
6eff70a Noel Dawe docs
ndawe authored
112 -------------------
f31e33e Noel Dawe updates
ndawe authored
113
e0972ea Noel Dawe docs
ndawe authored
114 If you have obtained a copy of `rootpy` yourself use the ``setup.py``
91cc287 Noel Dawe docs
ndawe authored
115 script to install.
f31e33e Noel Dawe updates
ndawe authored
116
c94fedc Noel Dawe docs
ndawe authored
117 To install in your `home directory
118 <http://www.python.org/dev/peps/pep-0370/>`_::
f31e33e Noel Dawe updates
ndawe authored
119
432ae0c Noel Dawe updates
ndawe authored
120 python setup.py install --user
21442cd Noel Dawe updating setup
ndawe authored
121
91cc287 Noel Dawe docs
ndawe authored
122 To install system-wide (requires root privileges)::
123
124 sudo python setup.py install
125
7c616e4 Noel Dawe docs
ndawe authored
126 To install optional requirements (`matplotlib`_, `NumPy`_, etc.)::
3f7585c Noel Dawe updates
ndawe authored
127
128 pip install -U -r optional-requirements.txt
77e2e62 Noel Dawe updates
ndawe authored
129
130 To install roosh requirements::
131
132 pip install -U -r roosh-requirements.txt
3f7585c Noel Dawe updates
ndawe authored
133
720a30a Noel Dawe readme
ndawe authored
134 To disable building the extension modules, do this before installing::
135
136 export ROOTPY_NO_EXT=1
137
beff8bf Noel Dawe download source instr in readme
ndawe authored
138
58fc0bd Noel Dawe docs
ndawe authored
139 Automatic Installation
6eff70a Noel Dawe docs
ndawe authored
140 ----------------------
beff8bf Noel Dawe download source instr in readme
ndawe authored
141
67def4b Noel Dawe docs
ndawe authored
142 The easiest way to install a `released version
143 <http://pypi.python.org/pypi/rootpy/>`_ of
144 `rootpy` is with `pip <http://pypi.python.org/pypi/pip>`_.
beff8bf Noel Dawe download source instr in readme
ndawe authored
145
c94fedc Noel Dawe docs
ndawe authored
146 To install in your `home directory
147 <http://www.python.org/dev/peps/pep-0370/>`_::
d7a0f21 Noel Dawe add note
ndawe authored
148
58fc0bd Noel Dawe docs
ndawe authored
149 pip install --user rootpy
bedc8c7 Noel Dawe updates
ndawe authored
150
bae6d19 Noel Dawe docs
ndawe authored
151 To install system-wide (requires root privileges)::
152
153 sudo pip install rootpy
154
beff8bf Noel Dawe download source instr in readme
ndawe authored
155
c94fedc Noel Dawe docs
ndawe authored
156 Post-Installation
6eff70a Noel Dawe docs
ndawe authored
157 -----------------
c94fedc Noel Dawe docs
ndawe authored
158
e0972ea Noel Dawe docs
ndawe authored
159 If you installed `rootpy` into your home directory with the `--user` option
c94fedc Noel Dawe docs
ndawe authored
160 above, add ``${HOME}/.local/bin`` to your ``${PATH}`` if it is not there
161 already (put this in your .bashrc)::
162
163 export PATH=${HOME}/.local/bin${PATH:+:$PATH}
164
165
4b95242 Noel Dawe updates
ndawe authored
166 Examples
6eff70a Noel Dawe docs
ndawe authored
167 --------
21442cd Noel Dawe updating setup
ndawe authored
168
169 see examples/*
cafbed2 Noel Dawe readme
ndawe authored
170
171
172 Developers Wanted
6eff70a Noel Dawe docs
ndawe authored
173 -----------------
cafbed2 Noel Dawe readme
ndawe authored
174
d8d6b3e Noel Dawe docs
ndawe authored
175 Please post on the rootpy-dev@googlegroups.com list if you have ideas
e0972ea Noel Dawe docs
ndawe authored
176 or contributions. Feel free to fork
177 `rootpy on GitHub <https://github.com/rootpy/rootpy>`_
178 and later submit a pull request.
cafbed2 Noel Dawe readme
ndawe authored
179
e0972ea Noel Dawe docs
ndawe authored
180 `rootpy` needs attention in these areas:
cafbed2 Noel Dawe readme
ndawe authored
181
182 * Documentation
183 * Tutorials
0878ffb Noel Dawe docs
ndawe authored
184 * A website displaying the above (currently under construction here:
185 `http://rootpy.github.com/rootpy <http://rootpy.github.com/rootpy>`_)
cafbed2 Noel Dawe readme
ndawe authored
186 * Unit testing
187 * Brenchmarking performance (i.e. Tree read/write)
0878ffb Noel Dawe docs
ndawe authored
188 * Finishing the server/worker code for distributed computing across multiple
189 nodes
cafbed2 Noel Dawe readme
ndawe authored
190 * Creation of a TBrowser alternative using PyGTK
f35891b Noel Dawe docs
ndawe authored
191 * Creation of a framework for managing datasets (using SQLite as a back-end?
192 with revision control?)
ccdb5f6 Noel Dawe docs
ndawe authored
193 * Additional features anyone would like to implement
Something went wrong with that request. Please try again.