FastJet  3.4.0
INSTALL
1 -------------------------------------
2 Installation instructions for FastJet
3 -------------------------------------
4 
5 These instructions for installation from an untarred FastJet release
6 tarball. For additional steps needed from a git clone, see below.
7 
8 FastJet can be configured, built and installed using the standard
9 sequence
10 
11 % ./configure [options]
12 % make
13 % make check (optional)
14 % make install
15 
16 
17 The full list of configuration options can be obtained with ./configure --help.
18 Some useful ones include:
19 
20  --prefix=<where-you-wish-to-install> (default=/usr/local)
21  specify location where FastJet will be installed
22  The library and plugins will be installed in
23  ${prefix}/lib while the headers will be placed in
24  ${prefix}/include/fastjet
25 
26  --disable-static
27  --enable-static disable/enable construction of static libraries
28  (enabled by default)
29 
30  --disable-shared
31  --enable-shared disable/enable construction of shared libraries
32  (enabled by default)
33 
34  --enable-pyext enable the python interface (default=no)
35 
36  --enable-cgal enable use of CGAL libraries, which are needed
37  for the N ln N version of the k_t algorithm and
38  N^{3/2} version of anti-k_t; relevant mainly if you
39  expect to have N>15000.
40 
41  --with-cgaldir=directory
42  For CGAL >= 3.4 tells it where to look for CGAL, if
43  it's not in a standard place.
44 
45  --with-cgalmakefile=makefile
46  For CGAL <= 3.3.x specify location of CGAL
47  Makefile (which contains info on correct
48  compilation flags when using CGAL). In the
49  absence of this flag, the environment variable
50  $(CGAL_MAKEFILE) will be used to locate the CGAL
51  Makefile. If this is absent too, the default
52  location (/usr/share/cgal/cgal.mk) is used.
53 
54  --with-cgal-boostdir=dir
55  --with-cgal-gmpdir=dir
56  --with-cgal-mpfrdir=dir
57  specifies user-defined locations for CGAL
58  dependencies (Boost, GMP and MPFR)
59 
60  --enable-cgal-header-only
61  specified that one is working with a header-only
62  version of CGAL. Use this (instead of
63  --enable-cgal) if you have CGAL v5.
64  This will hopefully be auto-detected in a future
65  version of FastJet.
66 
67  --enable-allcxxplugins (default=no)
68  enable all C++ plugins, but not the Fortran ones
69 
70  --enable-allplugins (default=no)
71  enable all plugins, including the Fortran ones
72  (PxCone).
73 
74  --enable-siscone (default=yes)
75  enables the SISCone plugin
76 
77  --enable-cdfcones (default=yes)
78  enables the CDFJetClu and CDFMidPoint plugins
79 
80  --enable-d0runiicone (default=no)
81  enables the D0RunIICone (also known as
82  ILConeAlgorithm within D0)
83 
84  --enable-pxcone (default=no)
85  enables the PxCone plugin (note this is in f77,
86  and so you may have to deal with C++/f77
87  compatibility issues)
88 
89  etc. many more plugins available: --help option lists
90  them
91 
92 
93 As well as installing the libraries and headers, "make install" also
94 installs ${prefix}/bin/fastjet-config; assuming this is in your path,
95 then you can compile a program that uses fastjet as follows
96 
97 % g++ myprog.cc `fastjet-config --cxxflags --libs --plugins` -o myprog
98 
99 The --plugins option is only needed if you want access to plugins.
100 If shared libraries are built, they will be used by default. You can
101 still switch to the static libraries by adding the --shared=no option.
102 Other examples of the usage of this are given in the Makefile.alt file
103 in the example directory.
104 
105 
106 Note on the --enable-foo usage
107 ------------------------------
108 Each --enable-foo option can also be specified using --enable-foo=yes.
109 If, instead you want to disable the option, you can use --enable-foo=no
110 or --disable-foo.
111 
112 
113 Note for git users
114 ------------------
115 
116 If you clone FastJet from the git repository, you first need to set up
117 the SISCone submodule
118 
119 % git submodule init
120 % git submodule update
121 
122 Then you should generate all configuration files. This is done using
123 
124 % ./autogen.sh [configure options]
125 
126 or, alternatively,
127 
128 % autoreconf --install
129 % cd plugins/SISCone/siscone; autoreconf --install; cd ../../..
130 % ./configure [configure options]
131 
132 Remarks:
133 
134 - a version of libtool >= 1.5 is needed. On older version of Mac OSX the
135  GNU libtool should be installed.
136 - adding '--force' to the list of autoreconf arguments will overwrite
137  the INSTALL file with the default version
138 - using the autogen.sh script automatically runs ./configure
139  (with the specified options)
140 - on some systems, config.h from git (and a corresponding file in the SISCone
141  release) may get overwritten. It is usually safe to restore the
142  original git versions with "git checkout config.h".
143 
144 
145 ======================================================================
146 OLD (NON-AUTOTOOLS) BUILD SYSTEM
147 ======================================================================
148 
149 These instructions are obsolete.
150 
151 ------------
152 Quick method
153 ------------
154 
155 Run the following to build FastJet and its plugins and to test them.
156 
157 % ./test-static.sh
158 
159 (NB: this no longer works as of FastJet 2.4, but the files have been
160 left in place in case somebody prefers a non-autotools solution and
161 wishes to update it.)
162 
163 ------------------
164 Longer description
165 ------------------
166 
167 To make it possible to have two build systems in parallel, the
168 makefiles for the old system are named makefile.static -- you should
169 tell make to use them explicitly with the "-f makefile.static" option.
170 
171 As a first step the user should decide whether or not they want to
172 have access to the N ln N algorithms for the kt algorithm, based on
173 the Computational Geometry Algorithms Library (CGAL).
174 
175 If the user does not wish to use it, he or she should ensure that the
176 Makefile in the top directory has the line
177 
178 USE_CGAL = no
179 
180 Otherwise it should read
181 
182 USE_CGAL = yes
183 
184 In that case the user should first download CGAL from
185 http://www.cgal.org/ and then compile and install it. Under linux, she
186 or he will have to ensure that an environment variable CGAL_MAKEFILE
187 points to the Makefile generated by CGAL at install time, containing
188 various definitions of locations of include files. CGAL will encourage
189 the user to set this variable during the install process.
190 
191 Then in the src/ directory do
192 
193 % make -f makefile.static
194 % make -f makefile.static install
195 
196 which places the fastjet library in lib/.
197 
198 To build the cone jet-finder plugins, you should go to the plugin
199 directory and type
200 
201 % make -f makefile.static
202 % make -f makefile.static pxcone
203  // OPTIONAL -- if you want fortran pxcone plugin
204  // to be compiled too -- make sure you also set
205  // G77LIBDIR in the main Makefile
206 
207 To run the example program cd to the example directory and do
208 
209 % make -f makefile.static fastjet_example
210 % ./fastjet_example < data/single-event.dat
211 
212 The output (without CGAL) should be
213 
214 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
215 #--------------------------------------------------------------------------
216 # FastJet release 2.3-beta0
217 # Written by M. Cacciari, G.P. Salam and G. Soyez
218 # http://www.lpthe.jussieu.fr/~salam/fastjet
219 #
220 # Longitudinally invariant Kt, anti-Kt, and inclusive Cambridge/Aachen
221 # clustering using fast geometric algorithms, with area measures and optional
222 # external jet-finder plugins.
223 # Please cite Phys. Lett. B641 (2006) [hep-ph/0512210] if you use this code.
224 #
225 # This package uses T.Chan's closest pair algorithm, Proc.13th ACM-SIAM
226 # Symp. Discr. Alg, p.472 (2002), S.Fortune's Voronoi algorithm and code .
227 #-------------------------------------------------------------------------
228 Ran Longitudinally invariant kt algorithm with R = 1 and E scheme recombination
229 Strategy adopted by FastJet was N2Tiled
230 
231 Printing inclusive jets with pt > 5 GeV
232 ---------------------------------------
233 jet # rapidity phi pt n constituents
234  0 -0.86730713 2.90511470 983.38727662 35
235  1 0.22380471 6.04226446 910.28808604 52
236  2 -1.16520657 6.04589034 70.78886044 48
237  3 -2.34731970 1.25431317 10.72317440 18
238  4 -1.19479918 0.80734483 8.29342805 15
239  5 -1.71897064 4.01955399 8.16413672 9
240  6 -4.71909257 4.09173629 5.57326514 15
241  7 3.42713139 5.74362063 5.17254118 13
242  8 -4.83615264 2.20502275 5.02711586 12
243 
244 Printing exclusive jets with dcut = 25 GeV^2
245 --------------------------------------------
246 jet # rapidity phi pt n constituents
247  0 -0.86730713 2.90511470 983.38727662 35
248  1 0.22093749 6.02911715 898.62586887 29
249  2 -1.16520657 6.04589034 70.78886044 48
250  3 0.36257181 0.54763129 16.65531147 23
251  4 -2.34731970 1.25431317 10.72317440 18
252  5 -1.19479918 0.80734483 8.29342805 15
253  6 -1.71897064 4.01955399 8.16413672 9
254  7 -4.71909257 4.09173629 5.57326514 15
255  8 3.42713139 5.74362063 5.17254118 13
256  9 -4.83615264 2.20502275 5.02711586 12
257 <<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
258 
259 Additionally the example/ directory contains the following other
260 programs
261 
262 - ktjet_example
263  same example program, but written with ktjet, to illustrate
264  similarities and differences with fastjet_example. For
265  compilation to work please set the KTJET_INCLUDE and
266  KTJET_LIBRARY variables in the fastjet main Makefile.
267 
268 - ktjet_timing
269 - fastjet_timing_plugins
270  programs for testing output and timings of the two programs --
271  may be run with a variety of command-line options to control
272  behaviour -- see the beginning of fastjet_timing_plugins.cc for
273  further information.
274 
275 - fastjet_areas
276  example program for evaluating the areas of the jets in
277  a single event (it reads in the same input file as fastjet_example)
278 
279 - A number of examples named 01-XXX.cc, 02-YYY.cc, etc, where FastJet features
280  are illustrated in increasing order of complexity.