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