Commit 273ebb50 authored by Vincent's avatar Vincent

v2.0.0

parents
WHIZARD Authors:
Wolfgang Kilian <kilian@hep.physik.uni-siegen.de>
Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
Juergen Reuter <reuter@physik.uni-freiburg.de>
Known bugs:
General:
* WHIZARD 2.0 currently runs only with the NAGFOR 5.2 and gfortran 4.5.0
Fortran compilers, as well as with ifort 11.1.069 on 32bit Linux
[After compiler bugs are fixed, it should also run with g95, PGF
and ifort. See the file EXTENSIONS for the list of Fortran 2003
features that the compiler must support.]
* WHIZARD 2.0 is still in release candidate (rc) 3 stage. Although
almost all intended features of the final release are implemented,
there are still regressions and bugs, or things that do not (entirely)
work as intended.
* Please report bugs and problems or performance issues
to one of the authors:
Wolfgang Kilian <kilian@physik.uni-siegen.de>
Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
Juergen Reuter <reuter@physik.uni-freiburg.de>
Manual:
* WHIZARD 2.0, the new features, is still undocumented. The manual
is still quite sparse. We are working on that.
This diff is collapsed.
This diff is collapsed.
# List of Fortran 2003 features (not in Fortran 95) used by WHIZARD
* Syntax:
Names can have more than 31 characters
* Allocatable objects:
ALLOCATABLE structure component
ALLOCATABLE dummy argument
ALLOCATABLE function result
* C interoperability:
ISO_C_BINDING module
BIND(C) attribute
Scalar CHARACTER string supplied for dummy CHARACTER array
* Procedure interfaces:
ABSTRACT interface
IMPORT statement
VALUE attribute
POINTER attribute for INTENT(IN) dummy argument
* Procedure pointers:
Procedure pointer
Procedure pointer component
PROCEDURE declaration statement
* Intrinsic procedures
GET_COMMAND_ARGUMENT
GET_ENVIRONMENT_VARIABLE
This diff is collapsed.
NEWS -- User-visible changes for the WHIZARD package
(for NEWS on the O'Mega matrix element generator cf. its
corresponding NEWS file)
version 2.0.0rc3
+ New package setup, closely following the GNU standard
+ Building processes, compiling and running them in one pass
+ New input file syntax
#######################################################################
# WHIZARD
#
# (C) 1999-2010 by
# Wolfgang Kilian <kilian@hep.physik.uni-siegen.de>
# Thorsten Ohl <ohl@physik.uni-wuerzburg.de>
# Juergen Reuter <juergen.reuter@physik.uni-freiburg.de>
# with contributions by Felix Braam, Sebastian Schmidt,
# Christian Speckner, Daniel Wiesler
#
# WHIZARD is free software; you can redistribute it and/or modify it
# under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 2, or (at your option)
# any later version.
#
# WHIZARD is distributed in the hope that it will be useful, but
# WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program; if not, write to the Free Software
# Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
#
########################################################################
WHIZARD is a program system designed for the efficient calculation of
multi-particle scattering cross sections and simulated event samples.
The events can be written to file in HepMC, LHEF or ASCII format.
Tree-level matrix elements are generated automatically for arbitrary
partonic processes by calling the O'Mega matrix element generator.
Matrix elements obtained by alternative methods (e.g., including loop
corrections) may be interfaced as well.
The program is able to calculate numerically stable signal and
background cross sections and generate unweighted event samples with
reasonable efficiency for processes with up to six or eight final-state
particles. Polarization is treated exactly for both the initial and
final states. Final-state quark or lepton flavors can be summed over
automatically where needed.
For Linear Collider physics, beamstrahlung (CIRCE) and ISR spectra are
included for electrons and photons. Currently, WHIZARD supports the
Standard Model, optionally with anomalous couplings (for gauge bosons,
the Higgs boson, and the top quark), the MSSM, the NMSSM, several types
of Little Higgs models, Universal Extra Dimensions, the 3-site Higgsless
moose model, and a generic Z' model. Model extensions or completely
different models can be added. Almost arbitrary models might be added via
the interface to the package FeynRules.
The WHIZARD manual as well as the documented source code can be found
in the subdirectory 'share/doc'. The manual describes the installation
and usage of WHIZARD.
WHIZARD Core
* Release 2.0.1/2
- 2->1 processes ?
- reactivate ILC features (CIRCE etc.)
- profiling/optimization
- Library API (bind(C))
- Signals, behavior in batch environment, large event numbers
* 2.1
- ROOT interface
- EWA implementation
- pT for EWA, EPA etc.
- reconsider structure function mappings for optimization
- integration of multiple observables
- jet finder
- parton shower (Sebastian)
- underlying event (Hans)
- process collections
* 2.2
- Mathematica interface
- Parton shower matching
- GUI (Tim)
- parallelization
- NLO/GOLEM
- Dark Matter
- Use omega restrictions on diagrams for phase space
- Tau decay module
Technical stuff
- include STAT and ERRMSG in allocate and deallocate statements
O'Mega
* 2.1
- arbitrary Lorentz structure
- model files unification
- helicity optimization (numerically done/analytically pending)
Models
* Release 2.0
- self-checks (trivial processes + all kinds of commands)
- Tests for 7, 8 fermions ...
* 2.1
- Top-quark anomalous couplings (partially done)
- W-gamma couplings to resonances
- W'
VAMP
* 2.0
- merge extensions w/ documented code
- unify naming conventions for types with WHIZARD (JR will do,
e.g. type :: division -> division_t
* 2.1
- integration of multiple observables
configure
* Release 2.0
- support for CIRCE 1/2
- Optimization flags (partially)
* 2.1
- Windows support?
Misc
* Release 2.0
- ATLAS/CMS software environment
- Manual + Paper
* 2.1
- GRID compatibility
- review gamelan
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
dnl aux.m4 -- Auxiliary macros for WHIZARD's configure.ac
dnl
dnl Horizontal line for readability:
AC_DEFUN([WO_HLINE],
[AC_MSG_NOTICE([--------------------------------------------------------------])])
dnl Message at the beginning of a configure section
AC_DEFUN([WO_CONFIGURE_SECTION],
[WO_HLINE()
AC_MSG_NOTICE([--- ]$1[ ---])
AC_MSG_NOTICE([])
])
dnl Define a variable and export it
dnl WO_SET(variable, value)
AC_DEFUN([WO_SET],
[$1=$2
AC_SUBST($1)])
dnl Add a list of names to the list of output or executable files
dnl WO_OUTFILES(subdir, files)
AC_DEFUN([WO_OUTFILES],
[for file in $2; do
OUTFILES="$OUTFILES $1/$file";
done])
dnl WO_EXECUTABLES(subdir, files)
AC_DEFUN([WO_EXECUTABLES],
[for file in $2; do
OUTFILES="$OUTFILES $1/$file";
EXECUTABLES="$EXECUTABLES $1/$file"
done])
dnl Add a list of names to the list of automake-controlled files
AC_DEFUN([WO_AUTOMAKE],
[for file in $2; do
AUTOMAKEFILES="$AUTOMAKEFILES $1/$file";
done])
dnl This adds a package which resides in a subdirectory of 'src'
dnl The `variable' is inserted into AC_SUBST; it will refer to
enl the package subdirectory in Makefiles. The package
dnl resides in src/XXX and and optionally has a Makefile (or similar).
dnl WO_PACKAGE(variable, identifier [,Makefiles [,Executables]])
AC_DEFUN([WO_PACKAGE],
[WO_SET($1,src/$2)
ifelse($#, 3,
[WO_OUTFILES($$1, $3)
WO_AUTOMAKE($$1, $3)])
ifelse($#, 4,
[WO_OUTFILES($$1, $3)
WO_EXECUTABLES($$1, $4)])
])
dnl This is like WO_PACKAGE, but it calls AC_ARG_ENABLE in addition.
dnl If the package `id' is disabled or the 'file' is not found,
dnl the variable `var' is set to "no".
dnl WO_PACKAGE_ENABLE(var, id, help, file [,Makefiles [,Executables]])
AC_DEFUN([WO_PACKAGE_ENABLE],
[AC_ARG_ENABLE($2,[$3])
if test "$enable_$2" = "no"; then
AC_MSG_CHECKING([for src/$2/$4])
WO_SET($1, no)
AC_MSG_RESULT([(disabled)])
else
AC_CHECK_FILE(src/$2/$4, enable_$2=yes, enable_$2=no)
if test "$enable_$2" = "no"; then
WO_SET($1, no)
else
ifelse($#, 4, [WO_PACKAGE($1, $2)])
ifelse($#, 5, [WO_PACKAGE($1, $2, $5)])
ifelse($#, 6, [WO_PACKAGE($1, $2, $5, $6)])
fi
fi
])
dnl The same, but disabled by default.
dnl If the package `id' is disabled or the 'file' is not found,
dnl the variable `var' is set to "no".
dnl WO_PACKAGE_DISABLE(var, id, help, file [,Makefiles [,Executables]])
AC_DEFUN([WO_PACKAGE_DISABLE],
[AC_ARG_ENABLE($2,[$3])
if test "$enable_$2" = "yes"; then
AC_CHECK_FILE(src/$2/$4, enable_$2=yes, enable_$2=no)
if test "$enable_$2" = "no"; then
WO_SET($1, no)
else
ifelse($#, 4, [WO_PACKAGE($1, $2)])
ifelse($#, 5, [WO_PACKAGE($1, $2, $5)])
ifelse($#, 6, [WO_PACKAGE($1, $2, $5, $6)])
fi
else
enable_$2="no"
AC_MSG_CHECKING([for src/$2/$4])
WO_SET($1, no)
AC_MSG_RESULT([(disabled)])
fi
])
dnl Extension of AC_PATH_PROG: Search for libraries for which the name
dnl is not exactly known (because it may have the version number in it)
dnl Set output variables $var, $var_DIR, $var_LIB accordingly
dnl WO_PATH_LIB(var, id, name-list, path)
AC_DEFUN([WO_PATH_LIB],
[AC_CACHE_CHECK(for $3, wo_cv_path_$1,
[case "$$1" in
/*)
wo_cv_path_$1="$$1" # User-supplied path
;;
*)
IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS=":"
ac_dummy=$4
for ac_dir in $ac_dummy; do
test -z "$ac_dir" && ac_dir=.
unset wo_cv_path_$1
ac_pwd=`pwd`
if test -d "$ac_dir"; then
cd $ac_dir
for ac_word in $3; do
test -f "$ac_word" && wo_cv_path_$1="$ac_dir/$ac_word"
done
cd $ac_pwd
fi
if test -n "$wo_cv_path_$1"; then
break
fi
done
IFS="$ac_save_ifs"
if test -z "$wo_cv_path_$1"; then
wo_cv_path_$1="no"
fi
;;
esac
])
$1=$wo_cv_path_$1
if test "$$1" != "no"; then
$1_DIR=`echo $$1 | sed -e 's|/lib$2.*\.a$||'`
$1_LIB=`echo $$1 | sed -e 's|^.*/lib\($2.*\)\.a$|\1|'`
fi
AC_SUBST($1)
AC_SUBST($1_DIR)
AC_SUBST($1_LIB)
])
dnl dl.m4 -- checks for dynamic-linking library
dnl
### Activate dynamic linking: look for 'dlopen'
AC_DEFUN([WO_PROG_DL],
[dnl
AC_ARG_ENABLE([dl],
[AS_HELP_STRING([--enable-dl],
[enable libdl for creating/loading process libraries on-the-fly [[yes]]])],
[], [enable_dl="yes"])
if test "$enable_dl" = "yes"; then
AC_LANG([C])
AC_SEARCH_LIBS([dlopen], [dl], [], [enable_dl="no"])
else
AC_MSG_CHECKING([for dl (dynamic linking)])
AC_MSG_RESULT([(disabled)])
fi
AM_CONDITIONAL([DL_AVAILABLE], [test "$enable_dl" = "yes"])
### For make check of an installed WHIZARD we have to take
### care of library interdependencies on MAC OS X
case $host in
*-darwin*)
DYLD_FLAGS="DYLD_LIBRARY_PATH=\$(pwd)/../src/.libs:\$(pwd)/../src/omega/src/.libs:\${DYLD_LIBRARY_PATH}; export DYLD_LIBRARY_PATH" ;;
*)
DYLD_FLAGS="" ;;
esac
AC_SUBST(DYLD_FLAGS)
])
\ No newline at end of file
This diff is collapsed.
dnl hepmc.m4 -- checks for HepMC library
dnl
### Determine paths to HEPMC components
### If successful, set the conditional HEPMC_AVAILABLE
### Also: HEPMC_VERSION HEPMC_INCLUDES LDFLAGS_HEPMC