Page MenuHomeHEPForge

No OneTemporary

diff --git a/Doc/BSMlibs.in b/Doc/BSMlibs.in
new file mode 100644
--- /dev/null
+++ b/Doc/BSMlibs.in
@@ -0,0 +1,12 @@
+library HwADDModel.so
+library HwLeptoquarkModel.so
+library HwLHModel.so
+library HwLHTPModel.so
+library HwNMSSM.so
+library HwRSModel.so
+library HwSextetModel.so
+library HwSusy.so
+library HwTransplanck.so
+library HwTTbAModel.so
+library HwUED.so
+library HwZprimeModel.so
diff --git a/Doc/HerwigDefaults.in.in b/Doc/HerwigDefaults.in.in
--- a/Doc/HerwigDefaults.in.in
+++ b/Doc/HerwigDefaults.in.in
@@ -1,50 +1,43 @@
# @configure_input@
#
# output interfaces for documentation
# the following need to come first
globallibrary Herwig.so
library HwWeakCurrents.so
#
library Hw64Decay.so
library HwAnalysis.so
library HwFormFactors.so
library HwLEPAnalysis.so
library HwTevatronAnalysis.so
library HwMamboDecay.so
library HwMEHadronFast.so
library HwMEHadron.so
library HwMEDIS.so
library HwMELepton.so
library HwMEGammaGamma.so
library HwMEGammaHadron.so
library HwPowhegMEHadron.so
library HwPowhegMELepton.so
library SimpleKTCut.so
library HwMPI.so
library HwMRST.so
library HwReggeonPDF.so
library HwPomeronPDF.so
library HwPomeronFlux.so
library HwPartonicDecay.so
library HwPerturbativeDecay.so
library HwPerturbativeHiggsDecay.so
library HwShower.so
library HwSMDecay.so
library HwTauDecay.so
library HwTMDecay.so
library HwBaryonDecay.so
library HwSOPHTY.so
library HwUA5.so
library HwVMDecay.so
library HwSatPDF.so
library HwIncomingPhotonEvolver.so
-@LOAD_SUSY@
-@LOAD_NMSSM@
-@LOAD_RS@
-@LOAD_TRP@
-@LOAD_UED@
-@LOAD_ADD@
-@LOAD_LEPTOQUARKS@
-@LOAD_SEXTET@
+@LOAD_BSM@
@LOAD_FASTJET@
doxygendump Herwig:: AllInterfaces.h
diff --git a/Doc/Makefile.am b/Doc/Makefile.am
--- a/Doc/Makefile.am
+++ b/Doc/Makefile.am
@@ -1,37 +1,37 @@
CLEANFILES = AllInterfaces.h Herwig++-refman.tag HerwigDefaults.rpo tagfileThePEG.tag doxywarnings.log
docdir = $(pkgdatadir)/Doc
-dist_doc_DATA = refman.conf refman.h HerwigDefaults.in
+dist_doc_DATA = refman.conf refman.h HerwigDefaults.in BSMlibs.in
EXTRA_DATA = tagfileThePEG.tag
dist_noinst_SCRIPTS = fixinterfaces.pl
clean-local: html-clean
html-clean:
rm -rf refman-html Herwig++-refman.tag tagfileThePEG.tag
html-local: refman-html
-AllInterfaces.h: HerwigDefaults.in
+AllInterfaces.h: HerwigDefaults.in BSMlibs.in
$(top_builddir)/src/Herwig++ init -L$(top_builddir)/lib
refman-html: refman.conf refman.h AllInterfaces.h tagfileThePEG.tag
$(builddir)/fixinterfaces.pl AllInterfaces.h
doxygen $<
tagfileThePEG.tag:
@if test -e $(THEPEGPATH)/share/ThePEG/Doc/ThePEG-refman.tag; then $(LN_S) $(THEPEGPATH)/share/ThePEG/Doc/ThePEG-refman.tag tagfileThePEG.tag; fi
install-data-local:
if test -d refman-html; then $(mkdir_p) $(DESTDIR)$(docdir);\
find refman-html -follow -name '*.*' \
-exec $(install_sh_DATA) \{\} $(DESTDIR)$(docdir)/\{\} \;; \
$(install_sh_DATA) tagfileThePEG.tag $(DESTDIR)$(docdir)/tagfileThePEG.tag; \
$(install_sh_DATA) Herwig++-refman.tag $(DESTDIR)$(docdir)/Herwig++-refman.tag;fi
uninstall-local:
rm -rf $(DESTDIR)$(docdir)/refman-html \
$(DESTDIR)$(docdir)/tagfileThePEG.tag \
$(DESTDIR)$(docdir)/Herwig++-refman.tag
diff --git a/Models/ADD/Makefile.am b/Models/ADD/Makefile.am
--- a/Models/ADD/Makefile.am
+++ b/Models/ADD/Makefile.am
@@ -1,13 +1,13 @@
-if WANT_ADD
+if WANT_BSM
pkglib_LTLIBRARIES = HwADDModel.la
endif
HwADDModel_la_SOURCES = ADDModel.fh ADDModel.cc ADDModel.h \
ADDModelFFGRVertex.cc ADDModelFFGRVertex.h \
ADDModelFFGGRVertex.cc ADDModelFFGGRVertex.h \
ADDModelFFWGRVertex.cc ADDModelFFWGRVertex.h \
ADDModelSSGRVertex.cc ADDModelSSGRVertex.h \
ADDModelVVGRVertex.cc ADDModelVVGRVertex.h \
ADDModelGGGGRVertex.cc ADDModelGGGGRVertex.h \
ADDModelWWWGRVertex.cc ADDModelWWWGRVertex.h \
GravitonMassGenerator.h GravitonMassGenerator.cc
HwADDModel_la_LDFLAGS = $(AM_LDFLAGS) -module -version-info 2:0:0
diff --git a/Models/LH/Makefile.am b/Models/LH/Makefile.am
--- a/Models/LH/Makefile.am
+++ b/Models/LH/Makefile.am
@@ -1,16 +1,16 @@
-if WANT_LH
+if WANT_BSM
pkglib_LTLIBRARIES = HwLHModel.la
endif
HwLHModel_la_SOURCES = \
LHModel.h LHModel.cc \
LHFFZVertex.h LHFFZVertex.cc \
LHFFPVertex.h LHFFPVertex.cc \
LHFFGVertex.h LHFFGVertex.cc \
LHFFWVertex.h LHFFWVertex.cc \
LHWWWVertex.h LHWWWVertex.cc \
LHWWWWVertex.h LHWWWWVertex.cc \
LHFFHVertex.h LHFFHVertex.cc \
LHWWHVertex.h LHWWHVertex.cc \
LHWHHVertex.h LHWHHVertex.cc \
LHWWHHVertex.h LHWWHHVertex.cc
HwLHModel_la_LDFLAGS = -module -version-info 3:0:0
diff --git a/Models/LHTP/Makefile.am b/Models/LHTP/Makefile.am
--- a/Models/LHTP/Makefile.am
+++ b/Models/LHTP/Makefile.am
@@ -1,17 +1,17 @@
-if WANT_LHTP
+if WANT_BSM
pkglib_LTLIBRARIES = HwLHTPModel.la
endif
HwLHTPModel_la_SOURCES = \
LHTPModel.fh LHTPModel.cc LHTPModel.h \
LHTPWWHVertex.cc LHTPWWHVertex.h \
LHTPFFGVertex.cc LHTPFFGVertex.h \
LHTPFFPVertex.cc LHTPFFPVertex.h \
LHTPFFWVertex.cc LHTPFFWVertex.h \
LHTPFFZVertex.cc LHTPFFZVertex.h \
LHTPWWWVertex.cc LHTPWWWVertex.h \
LHTPHHHVertex.cc LHTPHHHVertex.h \
LHTPWHHVertex.cc LHTPWHHVertex.h \
LHTPFFHVertex.cc LHTPFFHVertex.h
HwLHTPModel_la_LDFLAGS = -module -version-info 3:0:0
HwLHTPModel_la_LIBADD= $(GSLLIBS)
HwLHTPModel_la_CPPFLAGS= $(AM_CPPFLAGS) $(GSLINCLUDE)
diff --git a/Models/Leptoquarks/Makefile.am b/Models/Leptoquarks/Makefile.am
--- a/Models/Leptoquarks/Makefile.am
+++ b/Models/Leptoquarks/Makefile.am
@@ -1,10 +1,10 @@
-if WANT_Leptoquark
+if WANT_BSM
pkglib_LTLIBRARIES = HwLeptoquarkModel.la
endif
HwLeptoquarkModel_la_SOURCES = \
LeptoquarkModel.cc LeptoquarkModel.h LeptoquarkModel.fh \
LeptoquarkModelSLQSLQGGVertex.h LeptoquarkModelSLQSLQGGVertex.cc \
LeptoquarkModelSLQFFVertex.h LeptoquarkModelSLQFFVertex.cc \
LeptoquarkModelSLQSLQGVertex.h LeptoquarkModelSLQSLQGVertex.cc
HwLeptoquarkModel_la_LDFLAGS = $(AM_LDFLAGS) -module -version-info 2:0:0
diff --git a/Models/RSModel/Makefile.am b/Models/RSModel/Makefile.am
--- a/Models/RSModel/Makefile.am
+++ b/Models/RSModel/Makefile.am
@@ -1,12 +1,12 @@
-if WANT_RS
+if WANT_BSM
pkglib_LTLIBRARIES = HwRSModel.la
endif
HwRSModel_la_SOURCES = RSModel.fh RSModel.cc RSModel.h \
RSModelFFGRVertex.cc RSModelFFGRVertex.h \
RSModelFFGGRVertex.cc RSModelFFGGRVertex.h \
RSModelFFWGRVertex.cc RSModelFFWGRVertex.h \
RSModelSSGRVertex.cc RSModelSSGRVertex.h \
RSModelVVGRVertex.cc RSModelVVGRVertex.h \
RSModelWWWGRVertex.cc RSModelWWWGRVertex.h\
RSModelGGGGRVertex.cc RSModelGGGGRVertex.h
HwRSModel_la_LDFLAGS = $(AM_LDFLAGS) -module -version-info 8:0:0
diff --git a/Models/Sextet/Makefile.am b/Models/Sextet/Makefile.am
--- a/Models/Sextet/Makefile.am
+++ b/Models/Sextet/Makefile.am
@@ -1,13 +1,13 @@
-if WANT_SEXTET
+if WANT_BSM
pkglib_LTLIBRARIES = HwSextetModel.la
endif
HwSextetModel_la_SOURCES = SextetParticles.h \
SextetModel.cc SextetModel.h SextetModel.fh \
SextetGSSVertex.cc SextetGSSVertex.h \
SextetGGSSVertex.cc SextetGGSSVertex.h \
SextetGVVVertex.cc SextetGVVVertex.h \
SextetGGVVVertex.cc SextetGGVVVertex.h \
SextetFFSVertex.cc SextetFFSVertex.h \
SextetFFVVertex.cc SextetFFVVertex.h
HwSextetModel_la_LDFLAGS = -module -version-info 1:0:0
diff --git a/Models/Susy/Makefile.am b/Models/Susy/Makefile.am
--- a/Models/Susy/Makefile.am
+++ b/Models/Susy/Makefile.am
@@ -1,33 +1,33 @@
SUBDIRS = NMSSM
-if WANT_MSSM
+if WANT_BSM
pkglib_LTLIBRARIES = HwSusy.la
endif
HwSusy_la_SOURCES = SusyBase.cc SusyBase.h SusyBase.fh \
MSSM.cc MSSM.h MSSM.fh\
MixingMatrix.h MixingMatrix.fh MixingMatrix.cc\
SSCFSVertex.cc SSCFSVertex.h \
SSGFSVertex.cc SSGFSVertex.h \
SSHSFSFVertex.cc SSHSFSFVertex.h \
SSNFSVertex.cc SSNFSVertex.h \
SSWSSVertex.cc SSWSSVertex.h \
SSGSSVertex.cc SSGSSVertex.h \
SSGGSQSQVertex.cc SSGGSQSQVertex.h \
SSGSGSGVertex.cc SSGSGSGVertex.h \
SSNNZVertex.cc SSNNZVertex.h \
SSCCZVertex.cc SSCCZVertex.h \
SSCNWVertex.cc SSCNWVertex.h \
SSFFHVertex.cc SSFFHVertex.h \
SSGOGOHVertex.cc SSGOGOHVertex.h \
SSWWHVertex.cc SSWWHVertex.h \
SSWWHHVertex.cc SSWWHHVertex.h \
SSWHHVertex.cc SSWHHVertex.h \
SSHHHVertex.cc SSHHHVertex.h \
SSHGGVertex.cc SSHGGVertex.h \
SSHPPVertex.cc SSHPPVertex.h \
SSNNPVertex.h SSNNPVertex.cc \
SSGNGVertex.h SSGNGVertex.cc \
SSNCTVertex.h SSNCTVertex.cc \
SSGVNHVertex.h SSGVNHVertex.cc\
SSGVNVVertex.h SSGVNVVertex.cc\
SSGVFSVertex.h SSGVFSVertex.cc
HwSusy_la_LDFLAGS = $(AM_LDFLAGS) -module -version-info 9:0:0
diff --git a/Models/Susy/NMSSM/Makefile.am b/Models/Susy/NMSSM/Makefile.am
--- a/Models/Susy/NMSSM/Makefile.am
+++ b/Models/Susy/NMSSM/Makefile.am
@@ -1,15 +1,15 @@
-if WANT_NMSSM
+if WANT_BSM
pkglib_LTLIBRARIES = HwNMSSM.la
endif
HwNMSSM_la_SOURCES = \
NMSSM.cc NMSSM.h NMSSM.fh \
NMSSMFFHVertex.h NMSSMFFHVertex.cc \
NMSSMWWHVertex.h NMSSMWWHVertex.cc \
NMSSMWHHVertex.h NMSSMWHHVertex.cc \
NMSSMHSFSFVertex.h NMSSMHSFSFVertex.cc\
NMSSMGOGOHVertex.h NMSSMGOGOHVertex.cc \
NMSSMHHHVertex.h NMSSMHHHVertex.cc \
NMSSMGGHVertex.h NMSSMGGHVertex.cc \
NMSSMPPHVertex.h NMSSMPPHVertex.cc \
NMSSMWWHHVertex.h NMSSMWWHHVertex.cc
HwNMSSM_la_LDFLAGS = $(AM_LDFLAGS) -module -version-info 2:0:0
diff --git a/Models/TTbAsymm/Makefile.am b/Models/TTbAsymm/Makefile.am
--- a/Models/TTbAsymm/Makefile.am
+++ b/Models/TTbAsymm/Makefile.am
@@ -1,11 +1,11 @@
-if WANT_TTBA
+if WANT_BSM
pkglib_LTLIBRARIES = HwTTbAModel.la
endif
HwTTbAModel_la_SOURCES = \
TTbAModel.cc TTbAModel.h TTbAModel.fh \
TTbAModelWPTDVertex.h TTbAModelWPTDVertex.cc \
TTbAModelZPQQVertex.h TTbAModelZPQQVertex.cc \
TTbAModelAGQQVertex.h TTbAModelAGQQVertex.cc \
TTbAModelSU2XVertex.h TTbAModelSU2XVertex.cc
HwTTbAModel_la_LDFLAGS = -module -version-info 1:0:0
diff --git a/Models/Transplanckian/Makefile.am b/Models/Transplanckian/Makefile.am
--- a/Models/Transplanckian/Makefile.am
+++ b/Models/Transplanckian/Makefile.am
@@ -1,5 +1,5 @@
-if WANT_TRP
+if WANT_BSM
pkglib_LTLIBRARIES = HwTransplanck.la
endif
HwTransplanck_la_SOURCES = METRP2to2.cc METRP2to2.h
HwTransplanck_la_LDFLAGS = $(AM_LDFLAGS) -module -version-info 1:1:0
diff --git a/Models/UED/Makefile.am b/Models/UED/Makefile.am
--- a/Models/UED/Makefile.am
+++ b/Models/UED/Makefile.am
@@ -1,20 +1,20 @@
-if WANT_UED
+if WANT_BSM
pkglib_LTLIBRARIES = HwUED.la
endif
HwUED_la_SOURCES = \
UEDBase.cc UEDBase.h UEDBase.fh \
UEDF1F1Z0Vertex.cc UEDF1F1Z0Vertex.h \
UEDF1F1G0Vertex.cc UEDF1F1G0Vertex.h \
UEDF1F0G1Vertex.cc UEDF1F0G1Vertex.h \
UEDG1G1G0Vertex.cc UEDG1G1G0Vertex.h \
UEDG0G0G1G1Vertex.cc UEDG0G0G1G1Vertex.h \
UEDF1F1P0Vertex.cc UEDF1F1P0Vertex.h \
UEDF1F1W0Vertex.cc UEDF1F1W0Vertex.h \
UEDF1F0W1Vertex.cc UEDF1F0W1Vertex.h \
UEDP0H1H1Vertex.cc UEDP0H1H1Vertex.h \
UEDZ0H1H1Vertex.cc UEDZ0H1H1Vertex.h \
UEDW0A1H1Vertex.cc UEDW0A1H1Vertex.h \
UEDZ0A1h1Vertex.cc UEDZ0A1h1Vertex.h \
UEDW0W1W1Vertex.cc UEDW0W1W1Vertex.h \
UEDF1F0H1Vertex.cc UEDF1F0H1Vertex.h
HwUED_la_LDFLAGS = $(AM_LDFLAGS) -module -version-info 7:0:0
diff --git a/Models/Zprime/Makefile.am b/Models/Zprime/Makefile.am
--- a/Models/Zprime/Makefile.am
+++ b/Models/Zprime/Makefile.am
@@ -1,6 +1,6 @@
-if WANT_ZPRIME
+if WANT_BSM
pkglib_LTLIBRARIES = HwZprimeModel.la
endif
HwZprimeModel_la_SOURCES = ZprimeModel.cc ZprimeModel.h ZprimeModel.fh ZprimeModelZPQQVertex.h ZprimeModelZPQQVertex.cc
HwZprimeModel_la_LDFLAGS = -module -version-info 1:0:0
diff --git a/m4/herwig.m4 b/m4/herwig.m4
--- a/m4/herwig.m4
+++ b/m4/herwig.m4
@@ -1,463 +1,385 @@
# check for gcc bug http://gcc.gnu.org/bugzilla/show_bug.cgi?id=34130
AC_DEFUN([HERWIG_CHECK_ABS_BUG],
[
AC_REQUIRE([HERWIG_COMPILERFLAGS])
if test "$GCC" = "yes"; then
AC_MSG_CHECKING([for gcc abs bug])
AC_RUN_IFELSE([
AC_LANG_PROGRAM(
[[ int foo (int i) { return -2 * __builtin_abs(i - 2); } ]],
[[ if ( foo(1) != -2 || foo(3) != -2 ) return 1; ]]
)],
[ AC_MSG_RESULT([not found. Compiler is ok.]) ],
[
AC_MSG_RESULT([found. Builtin abs() is buggy.])
AC_MSG_CHECKING([if -fno-builtin-abs works])
oldcxxflags=$CXXFLAGS
CXXFLAGS="$CXXFLAGS -fno-builtin-abs"
AC_RUN_IFELSE([
AC_LANG_PROGRAM(
[[
#include <cstdlib>
int foo (int i) { return -2 * std::abs(i - 2); }
]],
[[
if (foo(1) != -2 || foo(3) != -2) return 1;
]]
)],
[
AC_MSG_RESULT([yes. Setting -fno-builtin-abs.])
AM_CXXFLAGS="$AM_CXXFLAGS -fno-builtin-abs"
AM_CFLAGS="$AM_CFLAGS -fno-builtin-abs"
],
[
AC_MSG_RESULT([no. Setting -fno-builtin.])
AC_MSG_WARN([
*****************************************************************************
For this version of gcc, -fno-builtin-abs alone did not work to avoid the
gcc abs() bug. Instead, all gcc builtin functions are now disabled.
Update gcc if possible.
*****************************************************************************])
AM_CXXFLAGS="$AM_CXXFLAGS -fno-builtin"
AM_CFLAGS="$AM_CFLAGS -fno-builtin"
]
)
CXXFLAGS=$oldcxxflags
]
)
fi
])
dnl ##### THEPEG #####
AC_DEFUN([HERWIG_CHECK_THEPEG],
[
defaultlocation="${prefix}"
test "x$defaultlocation" = xNONE && defaultlocation="${ac_default_prefix}"
AC_MSG_CHECKING([for libThePEG in])
AC_ARG_WITH(thepeg,
AC_HELP_STRING([--with-thepeg=DIR],[location of ThePEG installation]),
[],
[with_thepeg="${defaultlocation}"])
AC_MSG_RESULT([$with_thepeg])
if test "x$with_thepeg" = "xno"; then
AC_MSG_ERROR([Cannot build Herwig++ without ThePEG. Please set --with-thepeg.])
fi
THEPEGLDFLAGS="-L${with_thepeg}/lib/ThePEG"
if test "${host_cpu}" == "x86_64" -a -e ${with_thepeg}/lib64/ThePEG/libThePEG.so ; then
THEPEGLDFLAGS="-L${with_thepeg}/lib64/ThePEG"
fi
THEPEGPATH="${with_thepeg}"
oldldflags="$LDFLAGS"
oldlibs="$LIBS"
LDFLAGS="$LDFLAGS $THEPEGLDFLAGS"
AC_CHECK_LIB([ThePEG],[debugThePEG],[],
[AC_MSG_ERROR([No ThePEG libraries in $THEPEGLDFLAGS. Please set --with-thepeg.])])
AC_SUBST([THEPEGLIB],[-lThePEG])
AC_SUBST(THEPEGLDFLAGS)
AC_SUBST(THEPEGPATH)
LIBS="$oldlibs"
LDFLAGS="$oldldflags"
AC_MSG_CHECKING([for ThePEG headers in])
AC_ARG_WITH([thepeg-headers],
AC_HELP_STRING([--with-thepeg-headers=DIR],[location of ThePEG include directory]),
[],
[with_thepeg_headers="${with_thepeg}/include"])
AC_MSG_RESULT([$with_thepeg_headers])
if test "x$with_thepeg_headers" = "xno"; then
AC_MSG_ERROR([Cannot build Herwig++ without ThePEG headers. Please set --with-thepeg-headers.])
fi
THEPEGINCLUDE="-I$with_thepeg_headers"
oldcppflags="$CPPFLAGS"
CPPFLAGS="$CPPFLAGS $THEPEGINCLUDE"
AC_CHECK_HEADER([ThePEG/Config/ThePEG.h],[],
[AC_MSG_ERROR([No ThePEG headers in $with_thepeg_headers. Please set --with-thepeg-headers.])])
CPPFLAGS="$oldcppflags"
AC_SUBST(THEPEGINCLUDE)
AC_MSG_CHECKING([for HepMCAnalysis.so in ThePEG])
if test -x "$THEPEGPATH/lib/ThePEG/HepMCAnalysis.so" ; then
CREATE_HEPMC="create"
AC_MSG_RESULT([found])
else
CREATE_HEPMC="# create"
AC_MSG_RESULT([not found])
fi
AC_SUBST([CREATE_HEPMC])
])
dnl ##### boost #####
AC_DEFUN([HERWIG_CHECK_BOOST],
[
AC_MSG_CHECKING([for boost headers])
BOOSTINCLUDE=""
AC_ARG_WITH(boost,
AC_HELP_STRING([--with-boost=DIR],[location of boost]),
[],
[with_boost=system])
if test "x$with_boost" = "xno"; then
AC_MSG_ERROR([boost headers are required. Please specify boost installation with --with-boost.])
fi
boostpath=$with_boost
if test "x$with_boost" == "xsystem" ; then
if test -e "/usr/include/boost/array.hpp"; then
boostpath="/usr"
elif test -e "/usr/local/include/boost/array.hpp"; then
boostpath="/usr/local"
elif test -e "/opt/include/boost/array.hpp"; then
boostpath="/opt"
elif test -e "/opt/local/include/boost/array.hpp"; then
boostpath="/opt/local"
else
AC_MSG_RESULT([not found])
AC_MSG_ERROR([boost headers are required. Please install boost.])
fi
fi
if test -e "$boostpath/include/boost/array.hpp"; then
AC_MSG_RESULT([found in $boostpath])
else
AC_MSG_RESULT([not found])
AC_MSG_ERROR([boost headers are required. Please install boost.])
fi
BOOSTINCLUDE="-I$boostpath/include"
AC_SUBST(BOOSTINCLUDE)
])
dnl ##### LOOPTOOLS #####
AC_DEFUN([HERWIG_LOOPTOOLS],
[
AC_REQUIRE([AC_PROG_FC])
AC_REQUIRE([AC_FC_LIBRARY_LDFLAGS])
AC_REQUIRE([AC_PROG_CC])
AC_REQUIRE([HERWIG_COMPILERFLAGS])
AC_MSG_CHECKING([if Looptools build works])
enable_looptools=yes
if test "x$GCC" = "xyes"; then
case "${host}" in
x86_64-*|*-darwin1*)
AM_FCFLAGS="$AM_FCFLAGS -fdefault-integer-8"
;;
esac
AC_LANG_PUSH([Fortran])
oldFCFLAGS="$FCFLAGS"
FCFLAGS="$AM_FCFLAGS"
AC_COMPILE_IFELSE(
AC_LANG_PROGRAM([],[ print *[,]"Hello"]),
[],
[AC_MSG_RESULT([no])
AC_MSG_ERROR([needs gfortran on 64bit machines])]
)
FCFLAGS="$oldFCFLAGS"
AC_LANG_POP([Fortran])
fi
AC_MSG_RESULT([$enable_looptools])
AC_SUBST([F77],[$FC])
AC_SUBST([FFLAGS],[$FCFLAGS])
AC_SUBST([AM_FFLAGS],[$AM_FCFLAGS])
AC_SUBST([FLIBS],[$FCLIBS])
])
dnl ##### PDF PATH #####
AC_DEFUN([HERWIG_PDF_PATH],
[
AC_MSG_CHECKING([which Herwig++ PDF data to use])
AC_ARG_WITH(pdf,
AC_HELP_STRING([--with-pdf=DIR],[installation path of Herwig++PDF data tarball]),
[],
[with_pdf=${prefix}]
)
HERWIG_PDF_PREFIX=${with_pdf}/share/Herwig++PDF
if test -f "${HERWIG_PDF_PREFIX}/mrst/2008/mrstMCal.dat"; then
AC_MSG_RESULT([$with_pdf])
localPDFneeded=false
else
AC_MSG_RESULT([Using built-in PDF data set. For other data sets, set --with-pdf.])
HERWIG_PDF_PREFIX=PDF
localPDFneeded=true
fi
HERWIG_PDF_DEFAULT=${HERWIG_PDF_PREFIX}/mrst/2008/mrstMCal.dat
HERWIG_PDF_NLO=${HERWIG_PDF_PREFIX}/mrst/2002/mrst2002nlo.dat
HERWIG_PDF_POMERON=${HERWIG_PDF_PREFIX}/diffraction/
AM_CONDITIONAL(WANT_LOCAL_PDF,[test "x$localPDFneeded" = "xtrue"])
AC_SUBST(HERWIG_PDF_DEFAULT)
AC_SUBST(HERWIG_PDF_NLO)
AC_SUBST(HERWIG_PDF_POMERON)
])
dnl ###### GSL ######
AC_DEFUN([HERWIG_CHECK_GSL],
[
AC_MSG_CHECKING([for gsl location])
GSLINCLUDE=""
GSLLIBS=""
AC_ARG_WITH(gsl,
AC_HELP_STRING([--with-gsl=DIR],[location of gsl installation @<:@default=system libs@:>@]),
[],
[with_gsl=system])
if test "x$with_gsl" = "xno"; then
AC_MSG_ERROR([libgsl is required. Please install the GNU scientific library and header files.])
fi
if test "x$with_gsl" = "xsystem"; then
AC_MSG_RESULT([in system libraries])
oldlibs="$LIBS"
AC_CHECK_LIB(m,main)
AC_CHECK_LIB(gslcblas,main)
AC_CHECK_LIB(gsl,main,[],
[
AC_MSG_ERROR([Cannot find libgsl. Please install the GNU scientific library and header files or use --with-gsl=.])
]
)
GSLLIBS="$LIBS"
LIBS=$oldlibs
else
if test "`uname -m`" = "x86_64" -a -e "$with_gsl/lib64/libgsl.a" -a -d "$with_gsl/include/gsl"; then
AC_MSG_RESULT([found in $with_gsl])
GSLLIBS="-L$with_gsl/lib64 -R$with_gsl/lib64 -lgslcblas -lgsl"
GSLINCLUDE="-I$with_gsl/include"
elif test -e "$with_gsl/lib/libgsl.a" -a -d "$with_gsl/include/gsl"; then
AC_MSG_RESULT([found in $with_gsl])
GSLLIBS="-L$with_gsl/lib -R$with_gsl/lib -lgslcblas -lgsl"
GSLINCLUDE="-I$with_gsl/include"
else
AC_MSG_RESULT([not found])
AC_MSG_ERROR([Can't find $with_gsl/lib/libgsl.a or the headers in $with_gsl/include])
fi
fi
AC_SUBST(GSLINCLUDE)
AC_SUBST(GSLLIBS)
])
AC_DEFUN([HERWIG_VERSIONSTRING],
[
if test -d $srcdir/.svn; then
AC_CHECK_PROG(have_svnversion,[svnversion],[yes],[no])
fi
AM_CONDITIONAL(USE_SVNVERSION,[test "x$have_svnversion" = "xyes"])
])
dnl ##### COMPILERFLAGS #####
AC_DEFUN([HERWIG_COMPILERFLAGS],
[
AC_REQUIRE([HERWIG_CHECK_THEPEG])
AM_CPPFLAGS="-I\$(top_builddir)/include $THEPEGINCLUDE \$(GSLINCLUDE) \$(BOOSTINCLUDE)"
AC_MSG_CHECKING([for debugging mode])
AC_ARG_ENABLE(debug,
AC_HELP_STRING([--enable-debug],[debug mode, use --enable-debug=slow for additional options that slow down the run.]),
[],
[enable_debug=no]
)
AC_MSG_RESULT([$enable_debug])
if test "x$enable_debug" = "xno"; then
AM_CPPFLAGS="$AM_CPPFLAGS -DNDEBUG"
else
debugflags="-g"
fi
dnl -Wfloat-equal -fvisibility-inlines-hidden -Wctor-dtor-privacy -Weffc++
if test -n "$GCC"; then
warnflags="-ansi -pedantic -Wall -W"
if test "x$enable_debug" = "xslow"; then
debugflags="$debugflags -fno-inline"
AM_CPPFLAGS="$AM_CPPFLAGS -D_GLIBCXX_DEBUG"
fi
fi
dnl do an actual capability check on ld instead of this workaround
case "${host}" in
*-darwin*)
;;
*)
AM_LDFLAGS="-Wl,--enable-new-dtags"
;;
esac
AC_SUBST(AM_CPPFLAGS)
AC_SUBST(AM_CFLAGS, ["$warnflags $debugflags"])
AC_SUBST(AM_CXXFLAGS,["$warnflags $debugflags"])
AC_SUBST(AM_FCFLAGS, ["$debugflags"])
AC_SUBST(AM_LDFLAGS)
])
AC_DEFUN([HERWIG_ENABLE_MODELS],
[
-AC_MSG_CHECKING([for BSM models to include])
-
-LOAD_RS=""
-LOAD_SUSY=""
-LOAD_NMSSM=""
-LOAD_TRP=""
-LOAD_UED=""
-LOAD_ADD=""
-LOAD_SEXTET=""
-LOAD_TTBA=""
-LOAD_ZPRIME=""
+AC_MSG_CHECKING([if BSM models should be built])
AC_ARG_ENABLE(models,
- AC_HELP_STRING([--enable-models=LIST],[Comma-separated list of BSM models to enable. Options are (mssm nmssm ued rs trp add leptoquarks sextet lh lhtp) or --disable-models to turn them all off.]),
+ AC_HELP_STRING([--disable-models],[Turn off compilation of BSM models.]),
[],
- [enable_models=all]
+ [enable_models=yes]
)
-if test "x$enable_models" = "xyes" -o "x$enable_models" = "xall"; then
- all=yes
-fi
AC_MSG_RESULT([$enable_models])
-if test ! "$all"; then
- oldIFS="$IFS"
- IFS=","
- for i in $enable_models; do
- declare $i=yes
- done
- IFS="$oldIFS"
+LOAD_BSM=""
+if test "$enable_models" = "yes"; then
+LOAD_BSM="read BSMlibs.in"
fi
+AC_SUBST(LOAD_BSM)
-if test "$nmssm" -o "$all"; then
- LOAD_NMSSM="library HwNMSSM.so"
- mssm=yes
-fi
-AC_SUBST(LOAD_NMSSM)
-
-if test "$rs" -o "$all" ; then
- LOAD_RS="library HwRSModel.so"
-fi
-AC_SUBST(LOAD_RS)
-
-if test "$mssm" -o "$all"; then
- LOAD_SUSY="library HwSusy.so"
-fi
-AC_SUBST(LOAD_SUSY)
-
-if test "$trp" -o "$all"; then
- LOAD_TRP="library HwTransplanck.so"
-fi
-AC_SUBST(LOAD_TRP)
-
-if test "$ued" -o "$all"; then
- LOAD_UED="library HwUED.so"
-fi
-AC_SUBST(LOAD_UED)
-
-if test "$add" -o "$all"; then
- LOAD_ADD="library HwADDModel.so"
-fi
-AC_SUBST(LOAD_ADD)
-
-if test "$leptoquarks" -o "$all"; then
- LOAD_LEPTOQUARKS="library HwLeptoquarkModel.so"
-fi
-AC_SUBST(LOAD_LEPTOQUARKS)
-
-if test "$sextet" -o "$all"; then
- LOAD_SEXTET="library HwSextetModel.so"
-fi
-AC_SUBST(LOAD_SEXTET)
-
-if test "$ttba" -o "$all"; then
- LOAD_TTBA="library HwTTbAModel.so"
-fi
-AC_SUBST(LOAD_TTBA)
-
-if test "$zprime" -o "$all"; then
- LOAD_SEXTET="library HwZprimeModel.so"
-fi
-AC_SUBST(LOAD_ZPRIME)
-
-AM_CONDITIONAL(WANT_MSSM,[test "$mssm" -o "$all"])
-AM_CONDITIONAL(WANT_NMSSM,[test "$nmssm" -o "$all"])
-AM_CONDITIONAL(WANT_UED,[test "$ued" -o "$all"])
-AM_CONDITIONAL(WANT_RS,[test "$rs" -o "$all"])
-AM_CONDITIONAL(WANT_LH,[test "$lh" -o "$all"])
-AM_CONDITIONAL(WANT_LHTP,[test "$lhtp" -o "$all"])
-AM_CONDITIONAL(WANT_Leptoquark,[test "$leptoquarks" -o "$all"])
-AM_CONDITIONAL(WANT_TRP,[test "$trp" -o "$all"])
-AM_CONDITIONAL(WANT_ADD,[test "$add" -o "$all"])
-AM_CONDITIONAL(WANT_SEXTET,[test "$sextet" -o "$all"])
-AM_CONDITIONAL(WANT_TTBA,[test "$ttba" -o "$all"])
-AM_CONDITIONAL(WANT_ZPRIME,[test "$zprime" -o "$all"])
+AM_CONDITIONAL(WANT_BSM,[test "$enable_models" = "yes"])
])
AC_DEFUN([HERWIG_OVERVIEW],
[
FCSTRING=`$FC --version | head -1`
CXXSTRING=`$CXX --version | head -1`
CCSTRING=`$CC --version | head -1`
cat << _HW_EOF_ > config.herwig
*****************************************************
*** $PACKAGE_STRING configuration summary
*** Please include this information in bug reports!
***--------------------------------------------------
*** Prefix: $prefix
***
*** BSM models: $enable_models
*** Herwig debug mode: $enable_debug
***
*** GSL: $with_gsl
***
*** ThePEG: $with_thepeg
*** ThePEG headers: $with_thepeg_headers
***
*** boost: $with_boost
***
*** Fastjet: ${fjconfig}
***
*** Host: $host
*** CXX: $CXXSTRING
*** FC: $FCSTRING
*** CC: $CCSTRING
*****************************************************
_HW_EOF_
])
diff --git a/src/Makefile.am b/src/Makefile.am
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,189 +1,175 @@
SUBDIRS = defaults
AUTOMAKE_OPTIONS = -Wno-portability
defaultsdir = ${pkgdatadir}/defaults
bin_PROGRAMS = Herwig++
Herwig___SOURCES = Herwig++.cc herwigopts.c herwigopts.h
BUILT_SOURCES = herwigopts.c herwigopts.h
Herwig___LDFLAGS = $(AM_LDFLAGS) -export-dynamic $(THEPEGLDFLAGS)
Herwig___LDADD = $(THEPEGLIB) -ldl
Herwig___CPPFLAGS = $(AM_CPPFLAGS) \
-DHERWIG_PKGDATADIR="\"$(pkgdatadir)\"" \
-DHERWIG_PKGLIBDIR="\"$(pkglibdir)\"" \
-DTHEPEG_PKGLIBDIR="\"$(THEPEGPATH)/lib/ThePEG\""
bin_SCRIPTS = herwig-config
HELPERFILES = CMSSM40.1.1.slha RPV3.1.slha NMSSM.spc \
ADD.model \
Leptoquark.model \
MSSM.model \
MUED.model \
NMSSM.model \
RS.model \
Sextet.model \
TTBA.model \
Zprime.model \
LH.model \
LHTP.model
INPUTFILES = \
DIS.in \
DIS-Matchbox.in \
GammaGamma.in \
ILC.in \
ILC-MSSM.in \
ILC-MUED.in \
ILC-RS.in \
LEP.in \
LEP-Matchbox.in \
LHC-ADD.in \
LHC-diffractive.in \
LHC-GammaGamma.in \
LHC.in \
LHC-Matchbox.in \
LHC-LQ.in \
LHC-MSSM.in \
LHC-MUED.in \
LHC-NMSSM.in \
LHC-Powheg.in \
LHC-RPV.in \
LHC-RS.in \
LHC-Sextet.in \
LHC-TRP.in \
LHC-TTBA.in \
LHC-MB.in \
LHC-ZP.in \
TVT.in \
TVT-Matchbox.in \
TVT-Powheg.in \
TVT-TTBA.in \
LHC-LH.in \
LHC-LHTP.in
dist_pkgdata_DATA = $(INPUTFILES) $(HELPERFILES)
pkgdata_DATA = Makefile-UserModules
CLEANFILES = HerwigDefaults.rpo \
*.run *.log *.out *.tex \
multi.test *.output probs.test chisq.value \
LHC-RS-BR.spc LHC-MSSM-BR.spc LHC-RPV-BR.spc
## checking targets ##
HerwigDefaults.rpo: Herwig++ $(srcdir)/defaults/*.in defaults/PDF.in defaults/Analysis.in $(top_builddir)/lib/*.so
./Herwig++ init -L$(top_builddir)/lib -i defaults/HerwigDefaults.in -D
check_BSM_Full=
check_BSM=
-if WANT_MSSM
-check_BSM += check-LHC-RPV
-check_BSM_Full += check-LHC-RPV check-LHC-MSSM check-ILC-MSSM
-endif
-if WANT_NMSSM
-check_BSM_Full += check-LHC-NMSSM
-endif
-if WANT_UED
-check_BSM_Full += check-LHC-MUED check-ILC-MUED
-endif
-if WANT_RS
-check_BSM += check-LHC-RS
-check_BSM_Full += check-LHC-RS check-ILC-RS
-endif
-if WANT_LH
-check_BSM_Full += check-LHC-LH
-endif
-if WANT_LHTP
-check_BSM_Full += check-LHC-LHTP
-endif
-if WANT_TRP
-check_BSM_Full += check-LHC-TRP
-endif
-if WANT_ADD
-check_BSM_Full += check-LHC-ADD
-endif
-if WANT_TTBA
-check_BSM_Full += check-LHC-TTBA check-TVT-TTBA
-endif
-if WANT_ZPRIME
-check_BSM_Full += check-LHC-ZP
+
+if WANT_BSM
+
+check_BSM += check-LHC-RPV check-LHC-RS
+
+check_BSM_Full += \
+check-LHC-RPV check-LHC-MSSM check-ILC-MSSM \
+check-LHC-NMSSM \
+check-LHC-MUED check-ILC-MUED \
+check-LHC-RS check-ILC-RS check-LHC-ADD \
+check-LHC-LH check-LHC-LHTP \
+check-LHC-TRP \
+check-LHC-TTBA check-TVT-TTBA \
+check-LHC-ZP \
+check-LHC-LQ \
+check-LHC-Sextet
+
endif
check-local: check-LEP check-LHC $(check_BSM) check-DIS check-ILC check-GammaGamma check-LHC-Powheg
check-Powheg: check-LHC-Powheg check-TVT-Powheg
check-BSM: $(check_BSM_Full)
check-Matchbox: check-LEP-Matchbox check-DIS-Matchbox check-LHC-Matchbox check-TVT-Matchbox
check-extra: check-LHC-diffractive check-LHC-GammaGamma check-LHC-MB check-TVT
check-all: check-local check-Powheg check-BSM check-Matchbox check-extra
link-helper-files:
@for i in $(HELPERFILES); do \
if test -f $(srcdir)/$$i -a ! -e $$i; then \
$(LN_S) -f $(srcdir)/$$i; fi; done
CHECKCOMMAND = ./Herwig++ run $(notdir $(subst .in,.run,$<)) -N500 -d1 -D
check-%: $(srcdir)/%.in HerwigDefaults.rpo link-helper-files
./Herwig++ read $< -D
@echo $(CHECKCOMMAND)
@$(CHECKCOMMAND) && echo -e "# $@ OK #\n" \
|| echo -e "###### $@ BAD ######\n"
## valgrind targets ##
VALGRIND=valgrind --leak-check=full --num-callers=25 --freelist-vol=100000000 --leak-resolution=med --trace-children=yes
valgrind: valgrind-init valgrind-read valgrind-run
valgrind-init:
$(VALGRIND) ./Herwig++ init -d1 -D -L$(top_builddir)/lib -i defaults/HerwigDefaults.in \
&> /tmp/valgrind-init.log
valgrind-read:
$(VALGRIND) ./Herwig++ read -d1 -D LHC.in &> /tmp/valgrind-read.log
valgrind-run:
$(VALGRIND) ./Herwig++ run -d1 -D -N5 LHC.run &> /tmp/valgrind-run.log
SETUPTHEPEG=$(THEPEGPATH)/bin/setupThePEG
THEPEGREPO=$(THEPEGPATH)/lib/ThePEG/ThePEGDefaults.rpo
install-data-hook:
@echo Creating repository
@./Herwig++ init -L$(DESTDIR)$(pkglibdir) -i $(DESTDIR)$(defaultsdir)/HerwigDefaults.in -r $(DESTDIR)$(pkgdatadir)/HerwigDefaults.rpo
uninstall-hook:
rm -f $(DESTDIR)$(pkgdatadir)/HerwigDefaults.rpo
register: register-with-thepeg-repo
register-with-thepeg-repo:
@if test -x "$(SETUPTHEPEG)" -a -w "$(THEPEGREPO)"; \
then echo Registering with ThePEG; \
"$(SETUPTHEPEG)" --init \
$(DESTDIR)$(defaultsdir)/HerwigDefaults.in \
-r "$(THEPEGREPO)" -o "$(THEPEGREPO)" \
-l$(DESTDIR)$(pkglibdir) ; \
fi
unregister : unregister-from-thepeg-repo
unregister-from-thepeg-repo:
@if test -x "$(SETUPTHEPEG)" -a -w "$(THEPEGREPO)"; \
then echo Unregistering with ThePEG; \
"$(SETUPTHEPEG)" --init defaults/HerwigCleanup.in \
-r "$(THEPEGREPO)" -o "$(THEPEGREPO)" \
-l$(DESTDIR)$(pkglibdir) ; \
fi
EXTRA_DIST = herwigopts.ggo
GENGETOPT = gengetopt
%opts.h %opts.c : %opts.ggo
$(GENGETOPT) < $<

File Metadata

Mime Type
text/x-diff
Expires
Mon, Jan 20, 11:16 PM (1 d, 11 h)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4242828
Default Alt Text
(29 KB)

Event Timeline