]> git.uio.no Git - u/mrichter/AliRoot.git/blame - HLT/README
- support for event by event reconstruction added to AliHLTSystem
[u/mrichter/AliRoot.git] / HLT / README
CommitLineData
b521659f 1Package: ALICE HLT
2
1e27470a 3This package implements the ALICE High Level Trigger analysis framework
4and analysis component libraries. All files are property of and copyright
5by the ALICE HLT Project unless stated differently.
6
b521659f 7All contributions are under the terms of the
8GNU General Public License as published by the Free Software
9Foundation. Also see files AUTHORS and THANKS.
10
11This packages is maintained by Matthias.Richter@ift.uib.no
12Comments, bug reports, suggestions welcome!
13
9be2600f 14++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
15+ TOC
16++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
17+ 1. Overview
18+ 2. Requirements
19+ 3. Setting up a version retrieved from CVS
20+ 4. Modifying a distributed package
21+ 5. Installation
22+ 6. Documentation
23+ 7. Further information
24+ 8. Reporting bugs/Asking for support
25+ 9. Committing to the AliRoot CVS
26++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
c160eda8 27
281. Overview
29===========
0fc7626e 30This package provides a compilation of shared libraries of the ALICE
08e73b29 31HLT project and is intended for stand-alone compilation, i.e. not as part
32of the AliRoot compilation.
33
9be2600f 34 - \b BASE: The base library (libHLTbase.so) provides the common interface for
35 HLT processing components, the binding into the ALICE offline project
36 AliRoot and a pure C interface to the HLT on-line framework
37 (Publisher/Subscriber framework)
08e73b29 38
9be2600f 39 - \b SampleLib: The sample library contains examples for component
40 implementation and a tutorial.
b521659f 41
9be2600f 42 - \b TPCLib: The HLT code for the TPC
43 - \b TPCLib/OnlineDisplay: HLT visualization code for the TPC
fc455fba 44
9be2600f 45 - \b PHOS: The HLT code for PHOS
08e73b29 46
9be2600f 47 - \b TRD: The HLT code for TRD
08e73b29 48
1e27470a 49 - \b MUON: The HLT code for MUON
50
c160eda8 512. Requirements
52===============
08e73b29 53The package needs both ROOT and AliRoot. Both must be set up in the
54usual way (ROOTSYS, ALICE_ROOT, library locations evtl. specified in
55LD_LIBRARY_PATH, ...). Actually, the BASE and SampleLib modules are
56not dependend on AliRoot. The TPCLib does.
57
78b557c2 58To set up a version retrieved from CVS, autoconf 2.57, automake 1.6
59,and libtool 1.4 or higher versions are required. Thats the versions
60which come with the Scientific Linux CERN 3. The same applies if
61you want to change the Makefiles.
62
63If your GNU build tools are too old, ask the maintainers for a distributed
64package.
65
c160eda8 663. Setting up a version retrieved from CVS
67==========================================
b521659f 68Skip this section if you have started from the tar ball.
69
0fc7626e 70A version checked out from CVS requires a few steps to set up the Makefiles.
b521659f 71Go to the directory and run
9be2600f 72
73 autoreconf -i -f
b521659f 74
75Then continue with the package configuration described in the 'Installation'
76section.
77
c160eda8 784. Modifying a distributed package
79==================================
b521659f 80If you are going the modify a distributed package you might need to re-make
81the GNU build system by running
9be2600f 82
83 autoreconf -f -i
b521659f 84
85Please notify the authors about bug fixes/corrections/extensions you made if
86you consider them worth to be merged into the project.
87
88Then continue with the package configuration described in the 'Installation'
89section.
90
c160eda8 915. Installation
92===============
b521659f 93Package build relies on the GNU triplet configure, make and make install.
0fc7626e 94In order to keep the development directory clean, it is recommended to
95use a separate build directory.
b521659f 96
9be2600f 97\b NOTE: Autotools creates the Makefiles from templates. All \b changes have to
98be done to the \b Makefile.am templates.
99
fc455fba 100It is recommended to read the complete section before the build process.
101
1025.1 For the impatiant user
103--------------------------
104
b521659f 105 mkdir build
106 cd build
107 ../configure
108 make
109 make install
110
fc455fba 1115.2 Installation directory
112--------------------------
600e6a1b 113The default install directory is set to the current directory ($PWD). To
9be2600f 114override the default directory use the option
115 --prefix=<dir>.
116More information can be obtained from the configure script by running it with
117option --help. All binary libraries will be installed under
118 <prefix>/lib.
119
120If the directory is equal to $ALICE_ROOT, the libraries will be installed under
121 <prefix>/lib/tgt_<arch>
122as used for AliRoot. This is a custom extension in
6c1a9d9e 123order to adapt to the specific AliRoot installation directories.
b521659f 124
fc455fba 1255.3 For the AliRoot user
126------------------------
127To install all libraries in the AliRoot lib dir:
128
129 mkdir build
130 cd build
131 ../configure --prefix=$ALICE_ROOT
132 make
133 make install
b521659f 134
fc455fba 1355.4 Package options
136-------------------
137Some important options (all options are on by default):
9be2600f 138
139 --disable-sample # disable compilation the sample library
c018a1bd 140 --disable-util # disable compilation the util library
9be2600f 141 --disable-tpc # disable compilation the TPC library
142 --disable-phos # disable compilation the PHOS library
143 --disable-trd # disable compilation the TRD library
c018a1bd 144 --disable-dimuon # disable compilation the MUON library
9be2600f 145 --disable-aliroot-logging # disable logging
fc455fba 146
c018a1bd 147All detector libraries (including sample and util lib) require AliRoot,
148compilation is disabled if no working AliRoot version was found. This can
149occur even if an AliRoot version is set up correctly since the configure
150script checks for the usability of the AliRoot libraries (mainly STEER and
151the ones it depends on). If new dependencies are introduced, the check
152might fail.
153
154Compilation of detector libraries can be forced by the switch
155
156 --enable-detector, e.g. --enable-phos
157
1e27470a 158Debugging (default disabled)
159
160 --enable-debug # enable debugging: symbols & messages
161
162Optimization (default -O2)
163
164 --disable-optimization # disable compiler optimization
165 --enable-optimization<=l> # enable compiler optimization level l
166
fc455fba 1675.5 External packages
168---------------------
169PubSub framework: the TPC online display needs the HOMER interface, which
170is currently part of the PubSub framework. It is planned to integrate it
9be2600f 171into AliRoot.<br>
fc455fba 172If the TPC online display is not necessary one can skip this option.
9be2600f 173
174 --with-pubsub=<dir> # the top dir of the HLT PubSub framework
fc455fba 175
1765.6 Final remarks/further information
177-------------------------------------
9be2600f 178\b Note: You can have several build directories with different configure
179options, but using the same source code.
08e73b29 180
b521659f 181If you need further information on the GNU build system, execute from the
182top directory:
9be2600f 183
184 ./configure --help | less
b521659f 185
186
c160eda8 1876. Documentation
188================
9be2600f 189Documentation is build as part of the build process if \b doxygen is installed.
190The documentation can be opended from the
191 doc/html/
192sub-folder of your build directory. E.g with a web browser like firefox
193(assuming you are in the build directory):<br>
194 firefox file://`pwd`/doc/html/index.html
195
196A special target can be used to make a tar ball out of the documentation (again
197provided you are in the build directory):<br>
198 (cd doc && make tar-ball)
199
200On-line documentation is available at
201 http://web.ift.uib.no/~kjeks/doc/alice-hlt/
08e73b29 202
c160eda8 2037. Further information
204======================
b521659f 205A wiki with detailed information is set up at
9be2600f 206 http://www.kip.uni-heidelberg.de/wiki/HLT
0fc7626e 207
c160eda8 2088. Reporting bugs/Asking for support
209====================================
0fc7626e 210Please include the following information into your request:
9be2600f 211 - config.log from your build directory
212 - output of the make process. Note: Redirect BOTH the stdout and stderr
1e27470a 213 channel to a log file. Redirection depends on the shell you are using: <br>
214 bash: make 2>&1 | tee make.log <br>
215 csh: make |& tee make.log <br>
9be2600f 216 The 'tee' command just duplicates the output.
217 - history of the commands you are using for compilation
218 history > history.log
c160eda8 219
2209. Committing to the AliRoot CVS
221================================
222For development of HLT analysis code check out a HEAD version from the
600e6a1b 223repository and implement your code.
224
225For committing do:
9be2600f 226 - 1. make sure that the code changes are correct <br><tt>
227 cvs diff | less </tt><br>
228 \b Remember to restore all temporary changes you made (e.g. log level)
229 - 2. cvs update
230 - 3. correct merging conflicts
231 - 4. compile and test your code again
232 - 5. send the whole HLT module except the build sub-directories to
233 Matthias.Richter@ift.uib.no
234 - 6. you will get a notification when the code is committed, right after that
235 you must either do another cvs update or check out the complete module
236 again in order to have the right CVS information.