3 This package implements the ALICE High Level Trigger analysis framework
4 and analysis component libraries. All files are property of and copyright
5 by the ALICE HLT Project unless stated differently.
7 All contributions are under the terms of the
8 GNU General Public License as published by the Free Software
9 Foundation. Also see files AUTHORS and THANKS.
11 This packages is maintained by Matthias.Richter@ift.uib.no
12 Comments, bug reports, suggestions welcome!
14 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
16 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
19 + 3. Setting up a version retrieved from CVS
20 + 4. Modifying a distributed package
23 + 7. Further information
24 + 8. Reporting bugs/Asking for support
25 + 9. Committing to the AliRoot CVS
26 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
30 This package provides a compilation of shared libraries of the ALICE
31 HLT project and is intended for stand-alone compilation, i.e. not as part
32 of the AliRoot compilation.
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)
39 - \b SampleLib: The sample library contains examples for component
40 implementation and a tutorial.
42 - \b TPCLib: The HLT code for the TPC
43 - \b TPCLib/OnlineDisplay: HLT visualization code for the TPC
45 - \b PHOS: The HLT code for PHOS
47 - \b TRD: The HLT code for TRD
49 - \b MUON: The HLT code for MUON
53 The package needs both ROOT and AliRoot. Both must be set up in the
54 usual way (ROOTSYS, ALICE_ROOT, library locations evtl. specified in
55 LD_LIBRARY_PATH, ...). Actually, the BASE and SampleLib modules are
56 not dependend on AliRoot. The TPCLib does.
58 To 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
60 which come with the Scientific Linux CERN 3. The same applies if
61 you want to change the Makefiles.
63 If your GNU build tools are too old, ask the maintainers for a distributed
66 3. Setting up a version retrieved from CVS
67 ==========================================
68 Skip this section if you have started from the tar ball.
70 A version checked out from CVS requires a few steps to set up the Makefiles.
71 Go to the directory and run
75 Then continue with the package configuration described in the 'Installation'
78 4. Modifying a distributed package
79 ==================================
80 If you are going the modify a distributed package you might need to re-make
81 the GNU build system by running
85 Please notify the authors about bug fixes/corrections/extensions you made if
86 you consider them worth to be merged into the project.
88 Then continue with the package configuration described in the 'Installation'
93 Package build relies on the GNU triplet configure, make and make install.
94 In order to keep the development directory clean, it is recommended to
95 use a separate build directory.
97 \b NOTE: Autotools creates the Makefiles from templates. All \b changes have to
98 be done to the \b Makefile.am templates.
100 It is recommended to read the complete section before the build process.
102 5.1 For the impatiant user
103 --------------------------
111 5.2 Installation directory
112 --------------------------
113 The default install directory is set to the current directory ($PWD). To
114 override the default directory use the option
116 More information can be obtained from the configure script by running it with
117 option --help. All binary libraries will be installed under
120 If the directory is equal to $ALICE_ROOT, the libraries will be installed under
121 <prefix>/lib/tgt_<arch>
122 as used for AliRoot. This is a custom extension in
123 order to adapt to the specific AliRoot installation directories.
125 5.3 For the AliRoot user
126 ------------------------
127 To install all libraries in the AliRoot lib dir:
131 ../configure --prefix=$ALICE_ROOT
137 Some important options (all options are on by default):
139 --disable-sample # disable compilation the sample library
140 --disable-util # disable compilation the util library
141 --disable-tpc # disable compilation the TPC library
142 --disable-phos # disable compilation the PHOS library
143 --disable-trd # disable compilation the TRD library
144 --disable-dimuon # disable compilation the MUON library
145 --disable-aliroot-logging # disable logging
146 --disable-strict # disable strict coding conventions and
149 All detector libraries (including sample and util lib) require AliRoot,
150 compilation is disabled if no working AliRoot version was found. This can
151 occur even if an AliRoot version is set up correctly since the configure
152 script checks for the usability of the AliRoot libraries (mainly STEER and
153 the ones it depends on). If new dependencies are introduced, the check
156 Compilation of detector libraries can be forced by the switch
158 --enable-detector, e.g. --enable-phos
160 Compilation can also be forced by typing 'make' in the detector
163 Debugging (default disabled)
165 --enable-debug # enable debugging: symbols & messages
167 Optimization (default -O2)
169 --disable-optimization # disable compiler optimization
170 --enable-optimization<=l> # enable compiler optimization level l
172 5.5 External packages
173 ---------------------
174 PubSub framework: the TPC online display needs the HOMER interface, which
175 is currently part of the PubSub framework. It is planned to integrate it
177 If the TPC online display is not necessary one can skip this option.
179 --with-pubsub=<dir> # the top dir of the HLT PubSub framework
181 5.6 Final remarks/further information
182 -------------------------------------
183 \b Note: You can have several build directories with different configure
184 options, but using the same source code.
186 If you need further information on the GNU build system, execute from the
189 ./configure --help | less
194 Documentation is build as part of the build process if \b doxygen is installed.
195 The documentation can be opended from the
197 sub-folder of your build directory. E.g with a web browser like firefox
198 (assuming you are in the build directory):<br>
199 firefox file://`pwd`/doc/html/index.html
201 A special target can be used to make a tar ball out of the documentation (again
202 provided you are in the build directory):<br>
203 (cd doc && make tar-ball)
205 On-line documentation is available at
206 http://web.ift.uib.no/~kjeks/doc/alice-hlt/
208 7. Further information
209 ======================
210 A wiki with detailed information is set up at
211 http://www.kip.uni-heidelberg.de/wiki/HLT
213 8. Reporting bugs/Asking for support
214 ====================================
215 Please include the following information into your report/request:
216 - config.log from your build directory
217 - output of the make process. Note: Redirect BOTH the stdout and stderr
218 channel to a log file. Redirection depends on the shell you are using: <br>
219 bash: make 2>&1 | tee make.log <br>
220 csh: make |& tee make.log <br>
221 The 'tee' command just duplicates the output.
222 - history of the commands you are using for compilation
223 history > history.log
225 9. Committing to the AliRoot SVN
226 ================================
227 For development of HLT analysis code check out a HEAD version from the
228 repository and implement your code.
231 - 1. make sure that the code changes are correct <br><tt>
232 svn diff | less </tt><br>
233 \b Remember to restore all temporary changes you made (e.g. log level)
235 - 3. correct merging conflicts
236 - 4. compile and test your code again
237 - 5. depending on where you changes are send the whole HLT module except the build
238 sub-directories or your HLT sub- directory to
239 Matthias.Richter@ift.uib.no
240 Please include a message/description for the check in
241 - 6. you will get a notification when the code is committed, right after that
242 you must either do another svn update or check out the complete module
243 again in order to have the right SVN information. Please check that your
244 code has been correctly committed.