Commit 5a54d899 authored by Vincent Rothe's avatar Vincent Rothe
Browse files

v2.5.0

parent 14f67d9f
......@@ -2,7 +2,22 @@ ChangeLog -- Summary of changes to the WHIZARD package
Use svn log to see detailed changes.
Version 2.4.1
Version 2.5.0
2017-05-06
RELEASE: version 2.5.0
2017-05-05
Full UFO support (SM-like models)
Fixed-beam ISR FKS phase space
2017-04-26
QED splittings in radiation generator
2017-04-10
Retire deprecated O'Mega vertex cache files
##################################################################
2017-03-24
RELEASE: version 2.4.1
......
......@@ -233,6 +233,10 @@ Optional Features:
--enable-fc-impure compile Omega libraries impure [[no]]
--disable-ocaml disable the OCaml parts, even if OCaml available
[[no]]
--enable-default-UFO-dir=directory
Read precomputed model tables from this directory,
which will be populated by an administrator at
install time [default=$datadir/UFO, enabled].
--enable-lhapdf enable LHAPDF for structure functions [[yes]]
--enable-hepmc enable HepMC for handling event data [[yes]]
--enable-lcio enable LCIO for binary event files [[yes]]
......
......@@ -3,5 +3,5 @@ NEWS -- User-visible changes for the WHIZARD package
(for NEWS on the O'Mega matrix element generator cf. its
corresponding NEWS file)
version 2.4.1
version 2.5.0
for details cf. the ChangeLog file
WHIZARD Core
* Release 2.5
- large event numbers (still a problem??)
* 2.5
* 2.6
- EWA implementation (some progress in 2.2.0-2)
- integration of multiple observables (cf. VAMP)
- jet finder (partially done)
- reenabling underlying event
* 2.6
* 2.7
- Mathematica interface
- Parton shower matching (MLM done, CKKW pending)
- GUI extension
- GUI extension (partially done)
- parallelization (OpenMP done, MPI in progress)
- Dark Matter
- Use omega restrictions on diagrams for phase space
......@@ -23,36 +19,32 @@ Technical stuff
- include STAT and ERRMSG in allocate and deallocate statements (?)
O'Mega
* 2.5
* 2.6
- arbitrary Lorentz structure
- flavor sums
- model files unification
- helicity optimization (numerically done/analytically pending)
Models
* Release 2.5 (Zhijie)
* Release 2.6 (Zhijie,Simon)
- Tests for 7, 8 fermions ...
* 2.5
* 2.6
- W-gamma couplings to resonances
- W'
VAMP
* 2.5
* 2.6
- unify naming conventions for types with WHIZARD (JR will do,
e.g. type :: division -> division_t (partially done)
* 2.6
* 2.7
- integration of multiple observables
configure
* 2.5
- Windows support?
Misc
* Release 2.5
* Release 2.6
- Manual + O'Mega Paper (partially done)
* 2.5
* 2.6
- review gamelan (partially done, esp. docu)
......
......@@ -372,7 +372,7 @@ contains
return
end if
if (ierror .gt. 0) then
write (*, '(2A)') 'circe2_load: ', 'Version 2.4.1'
write (*, '(2A)') 'circe2_load: ', 'Version 2.5.0'
end if
prefix = index (design, '*') - 1
do
......
......@@ -3,7 +3,7 @@
@ %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\section{Implementation of [[circe2]]}
<<Version>>=
'Version 2.4.1'
'Version 2.5.0'
@
<<[[implicit none]]>>=
implicit none
......
......@@ -22,7 +22,7 @@ if test "$enable_recola" = "yes"; then
WO_PATH_LIB(RECOLA, [recola], [librecola.${SHRLIB_EXT}], $LD_LIBRARY_PATH)
fi
if test "$RECOLA" != "no"; then
AC_MSG_CHECKING([for openOpenput in RECOLA])
AC_MSG_CHECKING([for openOutput in RECOLA])
AC_LANG_PUSH([Fortran])
recola_libdir=`dirname $RECOLA`
RECOLA_DIR=$recola_libdir
......@@ -51,13 +51,23 @@ if test "$enable_recola" = "yes"; then
AC_MSG_CHECKING([for Recola])
AC_MSG_RESULT([disabled])
else
RECOLA_INCLUDES=$wo_recola_includes
RECOLA_VERSION=$wo_recola_version
LDFLAGS_RECOLA=$wo_recola_ldflags
AC_SUBST([RECOLA_VERSION])
AC_SUBST([RECOLA_DIR])
AC_MSG_CHECKING([for Recola version])
AC_MSG_RESULT([$wo_recola_version])
if test "$wo_recola_version" = "1.0" || test "$wo_recola_version" = "1.1"; then
AC_MSG_NOTICE([error: **************************************************])
AC_MSG_NOTICE([error: Old RECOLA versions 1.0 and 1.1 are not supported.])
AC_MSG_NOTICE([error: RECOLA will be disabled. ])
AC_MSG_NOTICE([error: **************************************************])
AC_MSG_CHECKING([for Recola])
AC_MSG_RESULT([(disabled)])
enable_recola = "no"
else
RECOLA_INCLUDES=$wo_recola_includes
RECOLA_VERSION=$wo_recola_version
LDFLAGS_RECOLA=$wo_recola_ldflags
AC_SUBST([RECOLA_VERSION])
AC_SUBST([RECOLA_DIR])
AC_MSG_CHECKING([for Recola version])
AC_MSG_RESULT([$wo_recola_version])
fi
fi
AC_LANG_POP()
else
......
......@@ -44,20 +44,6 @@ DIST_SUBDIRS = src lib models bin share tools extensions tests scripts
########################################################################
clean-local:
# rm -fr var
if OCAML_AVAILABLE
install-all-caches:
cd bin && $(MAKE) $(AM_MAKEFLAGS) install-all-caches
install-data-local:
$(INSTALL) -d -m 755 $(OMEGA_USER_CACHE_DIR)
$(INSTALL) -d -m 755 $(DESTDIR)$(OMEGA_SYSTEM_CACHE_DIR)
endif
uninstall-local:
rm -f $(OMEGA_USER_CACHE_DIR)/*$(OMEGA_CACHE_SUFFIX)
rm -f $(OMEGA_SYSTEM_CACHE_DIR)/*$(OMEGA_CACHE_SUFFIX)
########################################################################
## The End.
......
......@@ -59,39 +59,9 @@ $(OCAML_NATIVE_EXT).$(OMEGA_CACHE_SUFFIX):
.$(OMEGA_CACHE_SUFFIX).$(OMEGA_CACHE_SUFFIX_COLORED):
@echo $@:
if OMEGA_INSTALL_ALL_CACHES
OMEGA_INSTALLED_CACHES = $(OMEGA_CACHES)
else
OMEGA_INSTALLED_CACHES = $(OMEGA_MINIMAL_CACHES)
endif
install-data-local: $(OMEGA_INSTALLED_CACHES)
$(INSTALL) -d -m 755 $(OMEGA_USER_CACHE_DIR)
$(INSTALL) -d -m 755 $(DESTDIR)$(OMEGA_SYSTEM_CACHE_DIR)
if test -w $(DESTDIR)$(OMEGA_SYSTEM_CACHE_DIR) ; then \
$(INSTALL) -m 644 -c $^ $(DESTDIR)$(OMEGA_SYSTEM_CACHE_DIR) ; \
elif test -w $(OMEGA_USER_CACHE_DIR) ; then \
$(INSTALL) -m 644 -c $^ $(OMEGA_USER_CACHE_DIR) ; \
fi
install-all-caches: $(OMEGA_CACHES)
$(INSTALL) -d -m 755 $(OMEGA_USER_CACHE_DIR)
$(INSTALL) -d -m 755 $(OMEGA_SYSTEM_CACHE_DIR)
if test -w $(OMEGA_SYSTEM_CACHE_DIR) ; then \
$(INSTALL) -m 644 -c $^ $(OMEGA_SYSTEM_CACHE_DIR) ; \
elif test -w $(OMEGA_USER_CACHE_DIR) ; then \
$(INSTALL) -m 644 -c $^ $(OMEGA_USER_CACHE_DIR) ; \
fi
uninstall-local:
for cache in $(OMEGA_CACHES); do \
rm -f $(DESTDIR)$(OMEGA_SYSTEM_CACHE_DIR)/$$cache $(OMEGA_USER_CACHE_DIR)/$$cache; \
done
clean-local:
rm -f *.cm[iox] *.o \
$(OMEGA_APPLICATIONS_BYTECODE) $(OMEGA_APPLICATIONS_NATIVE) \
$(OMEGA_CACHES)
$(OMEGA_APPLICATIONS_BYTECODE) $(OMEGA_APPLICATIONS_NATIVE)
########################################################################
## The End.
......
......@@ -171,7 +171,11 @@ module It (M : Model.T) =
module ISet = Set.Make (struct type t = int let compare = compare end)
let nc_value =
(* We MUST NOT compute [nc] only once because [M.flavors]
might change in a mutable [Model.Mutable] after loading
a new model file! *)
let nc () =
let nc_set =
List.fold_left
(fun nc_set f ->
......@@ -183,14 +187,11 @@ module It (M : Model.T) =
match ISet.elements nc_set with
| [] -> 0
| [n] -> n
| nc_list ->
| nc_list ->
invalid_arg
("Colorize.It(): more than one value of N_C: " ^
String.concat ", " (List.map string_of_int nc_list))
let nc () =
nc_value
let split_color_string s =
try
let i1 = String.index s '/' in
......
......@@ -21,14 +21,14 @@
along with this program; if not, write to the Free Software
Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. *)
let version = "2.4.1"
let date = "Mar 24 2017"
let version = "2.5.0"
let date = "May 06 2017"
let status = "release"
let default_UFO_dir = "/Users/reuter/local/omega/share/UFO"
let system_cache_dir = "/Users/reuter/local/omega/var/cache"
let user_cache_dir = "/Users/reuter/.whizard/var/cache"
let system_cache_dir = "@OMEGA_SYSTEM_CACHE_DIR@"
let user_cache_dir = "@OMEGA_USER_CACHE_DIR@"
(* \begin{dubious}
This relies on the assumption that executable names are unique,
......@@ -38,7 +38,7 @@ let cache_prefix =
let basename = Filename.basename Sys.executable_name in
try Filename.chop_extension basename with | _ -> basename
let cache_suffix = "vertices"
let cache_suffix = "@OMEGA_CACHE_SUFFIX@"
let openmp = false
......
......@@ -220,6 +220,7 @@ type 'a vertex3 =
| BBB of int * fermionbar * boson * fermionbar
| GBG of int * fermionbar * boson * fermion (* gravitino-boson-fermion *)
| Gauge_Gauge_Gauge of int | Aux_Gauge_Gauge of int
| I_Gauge_Gauge_Gauge of int
| Scalar_Vector_Vector of int
| Aux_Vector_Vector of int | Aux_Scalar_Vector of int
| Scalar_Scalar_Scalar of int | Aux_Scalar_Scalar of int
......
......@@ -282,7 +282,7 @@ module Tagged (Tagger : Tagger) (PT : Tuple.Poly)
struct
type cache_mode = Cache_Use | Cache_Ignore | Cache_Overwrite
let cache_option = ref Cache_Use
let cache_option = ref Cache_Ignore
type qcd_order =
| QCD_order of int
type ew_order =
......@@ -292,13 +292,15 @@ module Tagged (Tagger : Tagger) (PT : Tuple.Poly)
let options = Options.create
[ "ignore-cache", Arg.Unit (fun () -> cache_option := Cache_Ignore),
"ignore cached model tables";
" ignore cached model tables (default)";
"use-cache", Arg.Unit (fun () -> cache_option := Cache_Use),
" use cached model tables";
"overwrite-cache", Arg.Unit (fun () -> cache_option := Cache_Overwrite),
"overwrite cached model tables";
" overwrite cached model tables";
"qcd", Arg.Int (fun n -> qcd_order := QCD_order n),
"set QCD order n [>= 0, default = 99]";
" set QCD order n [>= 0, default = 99] (ignored)";
"ew", Arg.Int (fun n -> ew_order := EW_order n),
"set QCD order n [>=0, default = 99]"]
" set QCD order n [>=0, default = 99] (ignored)"]
exception Negative_QCD_order
exception Negative_EW_order
......@@ -729,14 +731,8 @@ module Tagged (Tagger : Tagger) (PT : Tuple.Poly)
flush stderr;
result
| Cache_Ignore ->
Printf.eprintf
" >>> Ignoring vertex table %s. This may take some time ... "
!cache_name;
flush stderr;
let result = vertices_nocache max_degree flavors in
vertices_cache := Some result;
Printf.eprintf "done. <<< \n";
flush stderr;
result
end
| Some result -> result
......
......@@ -145,11 +145,11 @@ module type Mutable =
goldstone:(flavor -> (flavor * constant Coupling.expr) option) ->
conjugate:(flavor -> flavor) ->
fermion:(flavor -> int) ->
max_degree:int ->
vertices:
((((flavor * flavor * flavor) * constant Coupling.vertex3 * constant) list)
* (((flavor * flavor * flavor * flavor) * constant Coupling.vertex4 * constant) list)
* (((flavor list) * constant Coupling.vertexn * constant) list)) ->
(unit ->
((((flavor * flavor * flavor) * constant Coupling.vertex3 * constant) list)
* (((flavor * flavor * flavor * flavor) * constant Coupling.vertex4 * constant) list)
* (((flavor list) * constant Coupling.vertexn * constant) list))) ->
flavors:((string * flavor list) list) ->
parameters:(unit -> constant Coupling.parameters) ->
flavor_of_string:(string -> flavor) ->
......
......@@ -336,7 +336,7 @@ module Mutable (FGC : sig type f and g and c end) =
let set_max_degree, max_degree =
declare (fun () -> uninitialized "max_degree")
let set_vertices, vertices =
declare (fun () -> (* ([], [], []) *) uninitialized "vertices" )
declare (fun () -> uninitialized "vertices" )
let set_fuse2, fuse2 =
declare (fun f1 f2 -> uninitialized "fuse2")
let set_fuse3, fuse3 =
......@@ -374,7 +374,7 @@ module Mutable (FGC : sig type f and g and c end) =
end)
let setup ~color ~pdg ~lorentz ~propagator ~width ~goldstone
~conjugate ~fermion ~max_degree ~vertices
~conjugate ~fermion ~vertices
~flavors ~parameters ~flavor_of_string ~flavor_to_string
~flavor_to_TeX ~flavor_symbol
~gauge_symbol ~mass_symbol ~width_symbol ~constant_symbol =
......@@ -386,9 +386,10 @@ module Mutable (FGC : sig type f and g and c end) =
set_goldstone goldstone;
set_conjugate conjugate;
set_fermion fermion;
set_max_degree (fun () -> max_degree);
set_vertices (fun () -> vertices);
let table = F.of_vertices vertices in
let (_, v4, _) as v = vertices () in
set_max_degree (fun () -> match v4 with [] -> 3 | _ -> 4);
set_vertices (fun () -> v);
let table = F.of_vertices v in
set_fuse2 (F.fuse2 table);
set_fuse3 (F.fuse3 table);
set_fuse (F.fuse table);
......@@ -441,7 +442,7 @@ module Static (M : Model.T) =
let options = M.options
let init () = ()
let setup ~color ~pdg ~lorentz ~propagator ~width ~goldstone
~conjugate ~fermion ~max_degree ~vertices
~conjugate ~fermion ~vertices
~flavors ~parameters ~flavor_of_string ~flavor_to_string
~flavor_to_TeX ~flavor_symbol
~gauge_symbol ~mass_symbol ~width_symbol ~constant_symbol =
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment