diff --git a/CMakeLists.txt b/CMakeLists.txt index 80794d3f667273aaeeb85ba7b2508e23ed67b81c..dccd2fcdf8812dbc68933e0969327c15974e4b54 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -203,6 +203,7 @@ add_subdirectory(projects) add_subdirectory(pyexternals) add_subdirectory(generators) add_subdirectory(frameworks) +add_subdirectory(key4hep) #--Add additional [user] recipes--------------------------------------------------------------------------------------- function(define_new_recipes) diff --git a/cmake/toolchain/heptools-dev-base.cmake b/cmake/toolchain/heptools-dev-base.cmake index d0e5bf8317941817b3c83b016308403474dc7885..972a5d0fc370f9b53fcf3d98773d6cee4cf81800 100644 --- a/cmake/toolchain/heptools-dev-base.cmake +++ b/cmake/toolchain/heptools-dev-base.cmake @@ -432,7 +432,7 @@ LCG_external_package(libxslt 1.1.38 LCG_external_package(libzip 1.9.2 ) LCG_external_package(lightning_utilities 0.8.0 ) LCG_external_package(linkify_it_py 2.0.2 ) -LCG_external_package(LCIO 02.21 ) +LCG_external_package(LCIO 02.22.03 ) LCG_external_package(llvmlite 0.41.1 ) LCG_external_package(lmfit 1.2.2 ) LCG_external_package(locket 1.0.0 ) diff --git a/cmake/toolchain/heptools-devkey.cmake b/cmake/toolchain/heptools-devkey.cmake new file mode 100644 index 0000000000000000000000000000000000000000..a0af6a770e1f36ed23f8bdc534a9f812b10793bc --- /dev/null +++ b/cmake/toolchain/heptools-devkey.cmake @@ -0,0 +1,102 @@ +#---List of externals +set(LCG_PYTHON_VERSION 3) +include(heptools-dev4) + +# Other +LCG_external_package(bdsim 1.7.7) +LCG_external_package(bhlumi 4.04linuxLHE) +LCG_external_package(fcalclusterer 01.01) +LCG_external_package(generalbrokenlines 02.02.01) +LCG_external_package(kkmcee 2024.10.07) +LCG_external_package(opendatadetector v4.0.3 GIT=https://gitlab.cern.ch/acts/OpenDataDetector.git) +LCG_external_package(pybdsim 3.6.1) +LCG_external_package(pymadx 2.2.1) +LCG_external_package(pytransport 2.0.2) +LCG_external_package(simsipm 2.0.2) +LCG_external_package(whizard 3.1.4) + + +# Key4hep +LCG_external_package(cldconfig 2024.10.06) +LCG_external_package(k4clue 01.00.06) +LCG_external_package(k4edm4hep2lcioconv 00.09) +LCG_external_package(k4fwcore 01.01.02) +LCG_external_package(k4generatorsconfig 0.1.1) +LCG_external_package(k4geo 00.21) +LCG_external_package(k4marlinwrapper 00.10) +LCG_external_package(k4_project_template 0.5.0) +LCG_external_package(k4reco 0.1.0) +LCG_external_package(k4rectracker 0.3.0) +LCG_external_package(k4simdelphes 00.07.03) + +# iLCSoft +LCG_external_package(ced 01.10) +LCG_external_package(cedviewer 01.20) +LCG_external_package(clicperformance 02.05.01) +LCG_external_package(clupatra 01.03.01) +LCG_external_package(conddbmysql 0.9.7) +LCG_external_package(conformaltracking 01.12) +LCG_external_package(ddkaltest 01.07.01) +LCG_external_package(ddmarlinpandora 00.12.02) +LCG_external_package(forwardtracking 01.14.02) +LCG_external_package(garlic 03.01) +LCG_external_package(gear 01.09.04) +LCG_external_package(ilcutil 01.07.03) +LCG_external_package(ildperformance 01.12) +LCG_external_package(kaldet 01.14.01) +LCG_external_package(kaltest 02.05.02) +LCG_external_package(kitrack 01.10.01) +LCG_external_package(kitrackmarlin 01.13.02) +LCG_external_package(lccd 01.05.03) +LCG_external_package(lcfiplus 00.10.01) +LCG_external_package(lcfivertex 00.09) +LCG_external_package(lctuple 01.14) +LCG_external_package(marlin 01.19.04) +LCG_external_package(marlindd4hep 00.06.02) +LCG_external_package(marlinfastjet 00.05.03) +LCG_external_package(marlinkinfit 00.06.01) +LCG_external_package(marlinkinfitprocessors 00.05) +LCG_external_package(marlinmlflavortagging 0.1.0) +LCG_external_package(marlinReco 01.36.01) +LCG_external_package(marlintrk 02.09.02) +LCG_external_package(marlintrkprocessors 02.12.06) +LCG_external_package(marlinutil 01.18.01) +LCG_external_package(overlay 00.23.01) +LCG_external_package(physsim 00.05) +LCG_external_package(raida 01.11) + +# PandoraPFA +LCG_external_package(larcontent 04.11.02) +LCG_external_package(lccontent 03.01.06) +LCG_external_package(pandoraanalysis 02.00.01) +LCG_external_package(pandoramonitoring 03.06.00) +LCG_external_package(pandorapfa 04.11.02) +LCG_external_package(pandorasdk 03.04.02) + +# AIDASoft +LCG_external_package(aidatt 00.10) + +# HEP-FCC +LCG_external_package(dual_readout 0.1.4) +LCG_external_package(fcc_config 0.1.0) +LCG_external_package(fccdetectors 0.1pre10) +LCG_external_package(fccsw 1.0pre10) +LCG_external_package(k4gen 0.1pre13) +LCG_external_package(k4simgeant4 0.1.0pre15) + +# Other packages thate require checks + +# Check in dev-base for onnxruntime +if(${LCG_COMP}${LCG_COMPVERS} MATCHES "gcc1[1234]" ) + # A more recent version that what is in dev-base is required for ddfastshowerml + LCG_external_package(openmpi 5.0.6) + LCG_external_package(ddfastshowerml 0.1.0) + LCG_external_package(k4reccalorimeter 0.1.0pre16) +endif() + + +if(NOT ${LCG_OS} MATCHES mac) + LCG_external_package(fccanalyses 0.10.0) # Until https://github.com/HEP-FCC/FCCAnalyses/issues/417 is fixed + LCG_external_package(freeglut 3.6.0) # Taken from the system on Mac + LCG_external_package(babayaga fcc1.0.0) # Does not build on MacOS +endif() diff --git a/documentation/packages.json b/documentation/packages.json index 3d5517b45f37c85e58049142f1cbdcdf81b44803..2626ddfd6b72fd754c0f0195cbce9e2e770c7066 100644 --- a/documentation/packages.json +++ b/documentation/packages.json @@ -5309,6 +5309,14 @@ "license": null, "name": "EDM4hep" }, + { + "description": "Core Components for the Gaudi-based Key4hep Framework", + "fullname": "", + "homepage": "https://github.com/key4hep/k4FWCore", + "language": "C++", + "license": null, + "name": "k4FWCore" + }, { "category": "Simulation", "contacts": [], @@ -13331,4 +13339,4 @@ "license": "http://zlib.net/zlib_license.html", "name": "zlib" } -] \ No newline at end of file +] diff --git a/frameworks/CMakeLists.txt b/frameworks/CMakeLists.txt index 4e6867bd8e40c2f44d8f648eb4e015a7c34e7fa1..a80ef4af9d19a1ab8e132da2ec35b2146e594a0c 100644 --- a/frameworks/CMakeLists.txt +++ b/frameworks/CMakeLists.txt @@ -80,8 +80,10 @@ LCGPackage_add( -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} -DBUILD_TESTING=OFF + # Remove after EDM4hep 0.99.1 + PATCH_COMMAND $ENV{SHELL} -c "echo 'find_dependency(nlohmann_json)' >> <SOURCE_DIR>/cmake/EDM4HEPConfig.cmake.in" BUILD_COMMAND ${MAKE} - DEPENDS ROOT podio Jinja2 + DEPENDS ROOT podio Jinja2 jsonmcpp ) #---DD4hep--------------------------------------------------------------------- diff --git a/generators/CMakeLists.txt b/generators/CMakeLists.txt index b531d07521ce7b3bcd4f2b4cb370668611d71737..389499a39f5aa83c81b776d2c450bf83d6739ee2 100644 --- a/generators/CMakeLists.txt +++ b/generators/CMakeLists.txt @@ -1643,12 +1643,16 @@ LCGPackage_Add( CONFIGURE_COMMAND ${CMAKE_COMMAND} -E make_directory <INSTALL_DIR>/tmppdfsets COMMAND ${lhapdf_home}/bin/lhapdf --pdfdir=<INSTALL_DIR>/tmppdfsets --listdir=${lhapdf_home}/share/LHAPDF install cteq6l1 CT10 COMMAND autoreconf --force --install - COMMAND $ENV{SHELL} -c "LCIO_DIR=${LCIO_home} LOOPTOOLS_DIR=${looptools_home}/lib64 LHAPDF_DATA_PATH=<INSTALL_DIR>/tmppdfsets HOPPET_DIR=${hoppet_home} LHAPDF_DIR=${lhapdf_home} HEPMC_DIR=${HepMC_home} ./configure --enable-hepmc --enable-fastjet --with-fastjet=${fastjet_home} --enable-hoppet --enable-gosam --with-gosam=${gosam_home} --with-golem=${gosam_contrib_home} --with-form=${FORM_home} --with-qgraf=${qgraf_home} --with-ninja=${gosam_contrib_home} --with-samurai=${gosam_contrib_home} --enable-looptools --enable-openloops --with-openloops=${openloops_home} --prefix=<INSTALL_DIR> F77=$FC FCFLAGS=-ffree-line-length-0 FFLAGS=-ffree-line-length-0" + COMMAND $ENV{SHELL} -c "LCIO_DIR=${LCIO_home} LOOPTOOLS_DIR=${looptools_home}/lib64 LHAPDF_DATA_PATH=<INSTALL_DIR>/tmppdfsets HOPPET_DIR=${hoppet_home} LHAPDF_DIR=${lhapdf_home} HEPMC_DIR=${hepmc3_home} ./configure --enable-hepmc --enable-fastjet --with-fastjet=${fastjet_home} --enable-hoppet --enable-gosam --with-gosam=${gosam_home} --with-golem=${gosam_contrib_home} --with-form=${FORM_home} --with-qgraf=${qgraf_home} --with-ninja=${gosam_contrib_home} --with-samurai=${gosam_contrib_home} --enable-looptools --enable-openloops --with-openloops=${openloops_home} --prefix=<INSTALL_DIR>" + ENVIRONMENT CAMLLIB=${ocaml_home}/lib/ocaml + F77=${CMAKE_Fortran_COMPILER} + IF NOT ${LCG_OS} MATCHES mac THEN + PATH=/cvmfs/sft.cern.ch/lcg/external/texlive/latest/bin/x86_64-linux:$ENV{PATH} + ENDIF BUILD_COMMAND ${MAKE} INSTALL_COMMAND ${MAKE} install BUILD_IN_SOURCE 1 - DEPENDS ocaml lhapdf looptools hoppet HepMC fastjet gosam gosam_contrib FORM qgraf IF <NATIVE_VERSION> VERSION_LESS 2.8.0 THEN autoconf automake ENDIF libtool LCIO openloops - ## openloops: missing process library for `ppll` -> should be fixed in 2.8.3 + DEPENDS ocaml lhapdf looptools hoppet hepmc3 fastjet gosam gosam_contrib FORM autoconf automake libtool LCIO openloops ) @@ -1820,4 +1824,62 @@ LCGPackage_Add( DEPENDS lhapdf kokkos hepmc3 hdf5_mpi zlib openmpi ) +#---bdsim------------------------------------------------------------------------- +LCGPackage_Add( + bdsim + URL ${gen_url}/bdsim-${bdsim_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} # In version 1.7.7 it's still hardcoded to 11 + -DBUILD_TESTING=OFF + BUILD_COMMAND ${MAKE} + DEPENDS Geant4 ROOT clhep flex bison +) + +#---bhlumi------------------------------------------------------------------------- +# Installation instructions copied from key4hep-spack +LCGPackage_Add( + bhlumi + URL ${gen_url}/bhlumi-${bhlumi_native_version}.tar.gz + CONFIGURE_COMMAND <VOID> + BUILD_COMMAND $ENV{SHELL} -c "cd ./4.x-cpc && make -f makefile lhemain" + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory <INSTALL_DIR>/bin + COMMAND chmod +x <SOURCE_DIR>/4.x-cpc/demo2.exe + COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/4.x-cpc/demo2.exe <INSTALL_DIR>/bin/BHLUMI.exe + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/bhlumi/BHLUMI <INSTALL_DIR>/bin + BUILD_IN_SOURCE 1 +) +#---babayaga------------------------------------------------------------------------- +LCGPackage_Add( + babayaga + URL ${gen_url}/babayaga-${babayaga_native_version}.tar.bz2 + CONFIGURE_COMMAND <VOID> + BUILD_COMMAND ${MAKE} + INSTALL_COMMAND ${CMAKE_COMMAND} -E make_directory <INSTALL_DIR>/bin + COMMAND chmod +x <SOURCE_DIR>/babayaga-fcc + COMMAND ${CMAKE_COMMAND} -E copy <SOURCE_DIR>/babayaga-fcc <INSTALL_DIR>/bin/babayaga-fcc.exe + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/babayaga/babayaga <INSTALL_DIR>/bin + BUILD_IN_SOURCE 1 +) + +#---KKMCee------------------------------------------------------------------------- +LCGPackage_Add( + kkmcee + URL ${gen_url}/kkmcee-${kkmcee_native_version}.tar.gz + CONFIGURE_COMMAND ${CMAKE_COMMAND} -E create_symlink dizet-6.45 dizet + COMMAND autoreconf --force --install + COMMAND ./configure --with-photos=${photos++_home} --prefix=<INSTALL_DIR> + BUILD_COMMAND ${MAKE} + INSTALL_COMMAND ${MAKE} install + COMMAND ${CMAKE_COMMAND} -E make_directory <INSTALL_DIR>/etc + COMMAND ${CMAKE_COMMAND} -E copy SRCee/KKMCee_defaults <INSTALL_DIR>/etc + COMMAND ${CMAKE_COMMAND} -E copy SRCee/KKee2f.h <INSTALL_DIR>/include + COMMAND ${CMAKE_COMMAND} -E make_directory <INSTALL_DIR>/share/KKMCee + COMMAND ${CMAKE_COMMAND} -E copy ProdRun/workKKMCee/KKMCee-Tauola.input <INSTALL_DIR>/share/KKMCee + COMMAND ${CMAKE_COMMAND} -E copy <INSTALL_DIR>/bin/MainKKMCee <INSTALL_DIR>/bin/KKMCee.exe + COMMAND ${CMAKE_COMMAND} -E copy ${CMAKE_CURRENT_SOURCE_DIR}/kkmcee/KKMCee <INSTALL_DIR>/bin + COMMAND $ENV{SHELL} -c "cp */*_rdict.pcm <INSTALL_DIR>/lib" + BUILD_IN_SOURCE 1 + DEPENDS ROOT photos++ hepmc3 autoconf automake libtool +) diff --git a/generators/babayaga/babayaga b/generators/babayaga/babayaga new file mode 100755 index 0000000000000000000000000000000000000000..48487c66b084228cc0b88966132e2ce2cbfe5028 --- /dev/null +++ b/generators/babayaga/babayaga @@ -0,0 +1,205 @@ +#!/bin/bash + +# Wrapper around the babayaga-fcc.exe executable + +help(){ + echo "" + echo "+++ Wrapper around the babayaga-fcc.exe executable +++" + echo "" + echo "+++ Process: e+e- -> gamma gamma" + echo "" + echo -e "Usage: \tbabayaga -e Ecms -n Nevts -f Thmin -t Thmax -x epscms -o output_file [-s seed]" + echo -e " \tbabayaga -c config_file [-s seed]" + echo "" + echo "Switches:" + echo -e " -c, --config file \t\tPath to configuration file" + echo -e " -e, --ecms energy \t\tCenter of Mass energy in GeV" + echo -e " -n, --nevts energy \t\tNumber of events to be generated" + echo -e " -f, --Thmin angle \t\tMinimum theta [deg]" + echo -e " -t, --Thmax angle \t\tMaximum theta [deg]" + echo -e " -a, --acolmax angle \t\tMax acollinearity [deg]" + echo -e " -m, --emin energy \t\tMin energy in GeV" + echo -e " -x, --eps fraction \t\tSoft-photon cut-off" + echo -e " -o, --outfile file \t\tFile with the generated events in LHE format" + echo -e " -w, --outdir path \t\tPath with working space (and residual files)" + echo -e " -s, --seed number \t\tNumber used for seeding (randomly generated, if missing)" + echo -e " -d, --debug number \t\tDebug level (0, 1, 2, ...)" + echo "" + echo "Examples:" + echo -e "babayaga -f 15. -t 165. -e 91.2 -n 10000 -o bbyg_10000.LHE" + echo -e "babayaga -c babayaga.input -o bbyg.LHE" + echo "" +} + +_PROC="gg" +_ECMS="91.2" +_NEVTS="100" +_THMIN="10." +_THMAX="170." +_EPS="0.0002" +_EMIN="30." +_ACOLMAX="180." +_OUTDIR="" +_OUTPUT="no" +_OUTFILE="" +_SEED="1001" +_DEBUGLEVEL="0" +# Read arguments +while [[ $# -gt 0 ]] +do + arg="$1" + case $arg in + -c | --config) + _CONFFILE="$2" + shift # past argument + shift # past value + ;; + -e | --ecms) + _ECMS="$2" + shift + shift + ;; + -f | --thmin) + _THMIN="$2" + shift + shift + ;; + -t | --thmax) + _THMAX="$2" + shift + shift + ;; + -a | --acolmax) + _ACOLMAX="$2" + shift + shift + ;; + -x | --eps) + _EPS="$2" + shift + shift + ;; + -m | --emin) + _EMIN="$2" + shift + shift + ;; + -n | --nevts) + _NEVTS="$2" + shift + shift + ;; + -s | --seed) + _SEED="$2" + shift + shift + ;; + -o | --outfile) + _OUTPUT="yes" + _OUTFILE="$2" + shift + shift + ;; + -w | --outdir) + _OUTDIR="$2" + shift + shift + ;; + -d | --debug) + _DEBUGLEVEL="$2" + shift + shift + ;; + * | -h | --help) + help + exit 1 + esac +done + +if test "x${_OUTDIR}" = "x" ; then + _OUTDIR="./.bbyg-${_PROC}-${_NEVTS}" +fi + +BABAYAGA_DIR=$(dirname $(dirname $0)) +BABAYAGA_EXE=${BABAYAGA_DIR}/bin/babayaga-fcc.exe + +# Create seed if needed +if test "x${_SEED}" = "x" ; then + ln -sf $_SEEDFILE ./iniseed + _SEED=`date +"%j%H%M%N"` +fi + +# Run existing config file +BBYGINPUT="./bbyg.input" +if test "x${_CONFFILE}" = "x" && test -f $BBYGINPUT ; then + echo "Existing default input file saved to ${BBYGINPUT}.last ... " + cp -rp $BBYGINPUT "${BBYGINPUT}.last" + rm -f $BBYGINPUT +fi +if test ! "x${_CONFFILE}" = "x" && test -f ${_CONFFILE}; then + if test ! "x${_CONFFILE}" = "x$BBYGINPUT"; then + echo "Existing default input file saved to ${BBYGINPUT}.last ... " + cp -rp $BBYGINPUT "${BBYGINPUT}.last" + ln -sf ${_CONFFILE} $BBYGINPUT + fi + # Retrieve some crucial values + _NEVTS=`grep nev ${_CONFFILE} | awk '{split($0,a," "); print a[2] }'` + _OUTDIR=`grep path ${_CONFFILE} | awk '{split($0,a," "); print a[2] }'` + if test "x${_OUTDIR}" = "x" ; then + _OUTDIR="./.bbyg-${_PROC}-${_NEVTS}" + fi + _OUTPUT=`grep store ${_CONFFILE} | awk '{split($0,a," "); print a[2] }'` +else +# We create a config file based on the input switches: this is the initial common part +cat > $BBYGINPUT <<EOF +fs ${_PROC} +ecms ${_ECMS} +thmin ${_THMIN} +thmax ${_THMAX} +zmax ${_ACOLMAX} +emin ${_EMIN} +sprb1 0.0000000 +sprb2 0.0000000 +nev ${_NEVTS} +mode weighted +path ${_OUTDIR}/ +store ${_OUTPUT} +ord alpha +EWKc on +seed ${_SEED} +menu2 on +arun off +eps ${_EPS} +model matched +nphot -1 +nwrite 5000000 +nsearch 5000000 +verbose ${_DEBUGLEVEL} +sdmax 0.100E-17 +run +EOF +fi + +# Check outdir +if test "x${_OUTDIR}" = "x" ; then + _OUTDIR="./.bbyg-${_PROC}-${_NEVTS}" +fi + +# Save existing output file +if test "x${_OUTPUT}" = "xyes" ; then + DEFOUTFILE="${_OUTDIR}/events.lhe" + if test -f $DEFOUTFILE ; then + echo "Existing LHE output file saved to ${DEFOUTFILE}.last ... " + mv $DEFOUTFILE "${DEFOUTFILE}.last" + fi +fi +echo "OUTPUT: ${_OUTPUT} ${_OUTFILE} ${DEFOUTFILE}" + +time ${BABAYAGA_EXE} < $BBYGINPUT + +# Set output file +if test -f $DEFOUTFILE ; then + mv $DEFOUTFILE ${_OUTFILE} +else + echo "==== LHE output file $DEFOUTFILE was not produced!" +fi \ No newline at end of file diff --git a/generators/bhlumi/BHLUMI b/generators/bhlumi/BHLUMI new file mode 100755 index 0000000000000000000000000000000000000000..84a89d6c9ea17506abe151913b2b3188cec87701 --- /dev/null +++ b/generators/bhlumi/BHLUMI @@ -0,0 +1,177 @@ +#!/bin/bash + +# Wrapper around the BHLUMI/BHLUMI.exe executable + +help(){ + echo "" + echo "+++ Wrapper around the BHLUMI.exe executable +++" + echo "" + echo -e "Usage: \tBHLUMI -e Ecms -n Nevts -f Thmin -t Thmax -x epscms -o output_file [-s seed_file]" + echo -e " \tKKMCee -c config_file [-s seed_file]" + echo "" + echo "Switches:" + echo -e " -c, --config file \t\tPath to configuration file" + echo -e " -e, --ecms energy \t\tCenter of Mass energy in GeV" + echo -e " -n, --nevts energy \t\tNumber of events to be generated" + echo -e " -f, --Thmin theta \t\tMinimum theta [rad]" + echo -e " -t, --Thmax theta \t\tMaximum theta [rad]" + echo -e " -x, --epscms fraction \tEnergy cut-off in fraction of Ecms" + echo -e " -o, --outfile file \t\tFile with the generated events in LHE format" + echo -e " -s, --seedfile file \t\tFile to be used for seeding (randomly generated, if missing)" + echo "" + echo "Examples:" + echo -e "BHLUMI -f 0.022 -t 0.082 -x 0.001 -e 91.2 -n 10000 -o kkmu_10000.LHE" + echo -e "BHLUMI -c bhlumi.input" + echo "" + echo "Additional switches (for experts only):" + echo -e " -k, --keyopt KEYOPT \t\tTechnical parameters switch [default 3021]" + echo -e " \t\t\t\tKEYOPT = 1000*KEYGEN + 100*KEYREM + 10*KEYWGT + KEYRND" + echo -e " -r, --keyrad KEYRAD \t\tPhysics parameters switch [default 1021]" + echo -e " \t\t\t\tKEYRAD = 1000*KEYZET + 100*KEYUPD + 10*KEYMOD + KEYPIA" + echo -e " (Contact BHLUMI authors for details, e.g. through https://github.com/KrakowHEPSoft/BHLUMI)" + echo "" +} + +_ECMS="91.2" +_NEVTS="100" +_THMIN=".022768344" +_THMAX=".082035891" +_EPSCMS="1D-3" +_KEYOPT="3021" +_KEYRAD="1021" +_OUTFILE="BHLUMI_OUT.LHE" +# Read arguments +while [[ $# -gt 0 ]] +do + arg="$1" + case $arg in + -c | --config) + _CONFFILE="$2" + shift # past argument + shift # past value + ;; + -e | --ecms) + _ECMS="$2" + shift + shift + ;; + -f | --thmin) + _THMIN="$2" + shift + shift + ;; + -t | --thmax) + _THMAX="$2" + shift + shift + ;; + -x | --epscms) + _EPSCMS="$2" + shift + shift + ;; + -k | --keyopt) + _KEYOPT="$2" + shift + shift + ;; + -r | --keyrad) + _KEYRAD="$2" + shift + shift + ;; + -n | --nevts) + _NEVTS="$2" + shift + shift + ;; + -s | --seedfile) + _SEEDFILE="$2" + shift + shift + ;; + -o | --outfile) + _OUTFILE="$2" + shift + shift + ;; + * | -h | --help) + help + exit 1 + esac +done + +BHLUMI_DIR=$(dirname $(dirname $0)) +BHLUMI_EXE=${BHLUMI_DIR}/bin/BHLUMI.exe + +# Run existing config file +BHLUMIINPUT="./bhlumi.input" +if test -f $BHLUMIINPUT ; then + echo "Existing input file saved to ${BHLUMIINPUT}.last ... " + cp -rp $BHLUMIINPUT "${BHLUMIINPUT}.last" + rm -f $BHLUMIINPUT +fi +if test ! "x$_CONFFILE" = "x" && test -f $_CONFFILE; then + ln -sf ${_CONFFILE} $BHLUMIINPUT +else +# We create a config file based on the input switches: this is the initial common part +cat > $BHLUMIINPUT <<EOF ++++========= Input Data set for BHLUMI =============================== + 0 1 0 0 0 0 0 0 KAT1,KAT2,KAT3,KAT4,KAT5,KAT6,KAT7,KAT8 + ${_NEVTS} NEVT + ${_KEYOPT} KEYOPT = 1000*KEYGEN +100*KEYREM +10*KEYWGT +KEYRND + ${_KEYRAD} KEYRAD = 100*KEYUPD +10*KEYMOD +KEYPIA + 2 KEYTRI Obsolete!!! + ${_ECMS}D0 CMSENE + ${_THMIN} Tming theta_min [rad] genaration + ${_THMAX} Tmaxg theta_max [rad] generation + 0.9999D0 VMAXG v_max generation + ${_EPSCMS} XK0 eps_CMS generation + .024 TminW theta_min sical trigger wide + .058 TmaxW theta_max sical trigger wide + .024 TminN theta_min trigger narrow + .058 TminN theta_max trigger narrow + 0.5D0 VMAXE v_max trigger maximum v + 32 NPHI nphi sical trigger no of phi sect. + 16 NTHE ntheta sical trigger no of theta sect. +================= the end of input data set for BHLUMI ================ +EOF +fi + +# Create seed file +if test ! "x$_SEEDFILE" = "x" && test -f $_SEEDFILE; then + ln -sf $_SEEDFILE ./iniseed +else + _seed=`date +"%j%H%M%N"` + _seed1=`echo ${_seed:0:8}` + _seed2=`echo ${_seed:8:15}` + echo "Seeds: $_seed1 $_seed2" + cat > ./iniseed <<EOF + $_seed1 IJKLIN= $_seed2 + 0 NTOTIN= 0 + 0 NTOT2N= 0 +EOF +fi +cat ./iniseed + +# Run +cat > ./semaphore <<EOF +START + +EOF + +# Save existing output file +DEFOUTFILE="out.lhe" +if test -f $DEFOUTFILE ; then + echo "Existing LHE output file saved to ${DEFOUTFILE}.last ... " + mv $DEFOUTFILE "${DEFOUTFILE}.last" +fi + +time ${BHLUMI_EXE} < $BHLUMIINPUT + +# Set output file +if test -f $DEFOUTFILE ; then + mv $DEFOUTFILE ${_OUTFILE} +else + echo "==== LHE output file $DEFOUTFILE was not produced!" +fi diff --git a/generators/kkmcee/KKMCee b/generators/kkmcee/KKMCee new file mode 100755 index 0000000000000000000000000000000000000000..899f709a71f0d982ce341f0215a22feadd41d2a7 --- /dev/null +++ b/generators/kkmcee/KKMCee @@ -0,0 +1,287 @@ +#!/bin/bash + +# Wrapper around the KKMCee executable +# This script relies on the presence of CVMFS in the system and uses the KKMCee +# provided by the LCG Releases + +help(){ + echo "" + echo "+++ Wrapper around the KKMCee executable +++" + echo "" + echo "Usage: \tKKMCee -f Mu|Tau|UDS|C|B|Hadrons -e Ecms -n Nevts -o output_file [-s initial_seed] [OPTIONS]" + echo " \tKKMCee -c config_file [-s initial_seed]" + echo "" + echo "Options:" + echo -e " -c, --config file \t\tPath to configuration file" + echo -e " -f, --flavour flavour \tFlavour to be generated (Mu|Tau|UDS|C|B|Hadrons)" + echo -e " -e, --ecms energy \t\tCenter of Mass energy in GeV" + echo -e " -n, --nevts events \t\tNumber of events to be generated" + echo -e " -o, --outfile file \t\tFile with the generated events in HEPMCv3 format [kkmcee.hepmc]" + echo -e " -s, --initialseed \t\tLong number to be used for initial seeding (randomly generated, if missing)" + echo -e " -b, --bessig bessig \t\tBeam-Energy-Spread of both beams (or of the first beam, if bessig2<0.) " + echo -e " \t\t[fraction of Ecms/2, default -1. (no spread)]" + echo -e " -g, --bessig2 bessig2 \tBeam-Energy-Spread of the second beam if different from the first beam; fraction of Ecms/2." + echo -e " \t\t[fraction of Ecms/2, default -1. (no spread or equal to first beam)]" + echo -e " -r, --besrho rho \t\tBeam-Energy-Spread correlation [default 0.]" + echo -e " -d, --debug lvl \t\t PrintOut Level 0,1,2 [default 1]" + echo "" + echo "Special options for taus only:" + echo -e " -t, --taudec t1*1000+t2 \tdecay channel for the first (t1) and second tau (t2)" + echo -e " \t\t 0 Inclusive" + echo -e " \t\t 1,2,3 electron,mu,pi" + echo -e " \t\t 4,5,6,7 rho,a1,K,K*" + echo -e " \t\t 8,9,10,11,12,13 3pip0,pi3pi0,3pi2pi0,5pi,5pip0,3pi3p0" + echo -e " \t\t 14, ... (other rare decays see tauola++)" + echo -e " --tauopt file \t\tFile with tau options (see Tauola section in KKMCee_defaults)" + echo -e " \t\t the file is included as it is and overwrites other settings" + echo "" + echo "Examples:" + echo -e "KKMCee -f Mu -e 91.2 -n 10000 -o kkmu_10000.hepmc -b 0.001" + echo -e "KKMCee -c kkmc_ditau.input" + echo -e "KKMCee -f B -e 91.2 -n 1000 -o kkbb_1000.hepmc" + echo "" + echo " NB: (1) This wrapper works only for KKMCee versions 5 or newer" + echo " (2) Output is HEPMC v3" + echo "" +} + +_DBGLVL=1 +_FLAVOUR="Mu" +_ECMS="91.2" +_NEVTS="100" +_DOBES="no" +_HAVEBESTWO="no" +_BESONE=-1. +_BESTWO=-1. +_BESRHO=0. +_OUTFILE="kkmcee.hepmc" +_TAUDEC=0 +_JAK1=0 +_JAK2=0 +_TAUOPT="" +# Read arguments +while [[ $# -gt 0 ]] +do + arg="$1" + case $arg in + -c | --config) + _CONFFILE="$2" + shift # past argument + shift # past value + ;; + -e | --ecms) + _ECMS="$2" + shift + shift + ;; + -f | --flavour) + _FLAVOUR="$2" + shift + shift + ;; + -n | --nevts) + _NEVTS="$2" + shift + shift + ;; + -b | --bessig) + _BESONE="$2" + _DOBES="yes" + shift + shift + ;; + -g | --bessig2) + _BESTWO="$2" + _HAVEBESTWO="yes" + shift + shift + ;; + -r | --besrho) + _BESRHO="$2" + shift + shift + ;; + -s | --initialseed) + _INITSEED="$2" + shift + shift + ;; + -o | --outfile) + _OUTFILE="$2" + shift + shift + ;; + -t | --taudec) + _TAUDEC="$2" + shift + shift + ;; + --tauopt) + _TAUOPT="$2" + shift + shift + ;; + -d | --debug) + _DBGLVL="$2" + shift + shift + ;; + * | -h | --help) + help + exit 1 + esac +done + +# Case with symmetric beam spread +if test "x${_DOBES}" = "xyes" && test "x${_HAVEBESTWO}" = "xno" ; then + _BESTWO=${_BESONE} +fi +echo -e "********************************************************************************" +echo -e "* BES enabled with: \tSigma1= $_BESONE \tSigma2: $_BESTWO \tRho: $_BESRHO" +echo -e "********************************************************************************" + +KKMCEE_DIR=$(dirname $(dirname $0)) +KKMCEE_EXE=${KKMCEE_DIR}/bin/KKMCee.exe +TABMAIN_EXE=${KKMCEE_DIR}/bin/TabMainC +TABMAIN_OUTPUT=./TabMainC.output +KKMCEE_ETC=${KKMCEE_DIR}/etc/KKMCee + +# Run existing config file +if test "x$_CONFFILE" = "x"; then +# We create a config file based on the input switches: this is the initial common part +cat > ./pro.input <<EOF +********************** THIS IS INPUT FILE FOR DEMO PROGRAM ********************* +* This is input data for CEEX matrix element +BeginX +******************************************************************************** +* ACTUAL DATA FOR THIS PARTICULAR RUN +*------------------------------------------------------------------------------- +*indx_____data______ccccccccc0cccc__________General_____ccc0ccccccccc0ccccccccc0 + 0 1000 1k NEVT = number of events, OBSOLETE!!! +* Center-of-mass energy [GeV] + 1 ${_ECMS}e0 CMSene =xpar( 1) Average Center of mass energy [GeV] +* PrintOut from generator + 5 ${_DBGLVL} LevPri =xpar( 5) PrintOut Level 0,1,2 + 6 1 Ie1Pri =xpar( 6) PrintOut Start point + 7 5 Ie2Pri =xpar( 7) PrintOut End point +EOF + if test "x${_DOBES}" = "xyes"; then +cat >> ./pro.input <<EOF + 25 4 KeyBES BES, =0 none, =2 beamsstrahlung =3,4 for gaussian BES +*indx_____data______ccccccccc0ccccccccc0ccccccccc0ccccccccc0ccccccccc0ccccccccc0 + 80 0.0e0 ParBES(0) E1=0 will be replaced by CMSene/2 + 81 0.0e0 ParBES(1) E2=0 will be replaced by CMSene/2 + 82 ${_BESONE}e0 ParBES(2) sigma1/E1 + 83 ${_BESTWO}e0 ParBES(3) sigma2/E2 + 84 ${_BESRHO}e0 ParBES(4) rho correlation parameter [dimensionles] +EOF + else +cat >> ./pro.input <<EOF + 25 0 KeyBES BES, =0 none, =2 beamsstrahlung =3,4 for gaussian BES +EOF + fi +cat >> ./pro.input <<EOF +******************************************************************************** +** Define process +** Beam flavour code + 400 11 KFini = xpar(400) dont change it |<<<<| +EOF + if test "x$_FLAVOUR" = "xMu"; then +cat >> ./pro.input <<EOF + 413 1 KFfin, muon +EOF + elif test "x$_FLAVOUR" = "xTau"; then + # Decays + if test ! "x${_TAUOPT}" = "x" && test -f ${_TAUOPT}; then +cat ${_TAUOPT} >> ./pro.input + else + if test ! "x${_TAUDEC}" = "x0" ; then + _JAK2=$((${_TAUDEC}/1000)) + _JAK1=$(((${_TAUDEC}-${_JAK2})/1000)) + fi + fi +cat >> ./pro.input <<EOF + 415 1 KFfin, tau +********************* Tau decays *********************************************** + 2001 ${_JAK1} Jak1, all inclusive + 2002 ${_JAK2} Jak2, all inclusive +***** PhotosC adding photons in tau decays in HEPMC3 event record + 35 1 KeyPhts =0 for off; =1 in non-leptonic; =2 in all decays +******************************************************************************** +EOF + elif test "x$_FLAVOUR" = "xUDS"; then +cat >> ./pro.input <<EOF + 401 1 KFfin, d + 402 1 KFfin, u + 403 1 KFfin, s +EOF + elif test "x$_FLAVOUR" = "xC"; then +cat >> ./pro.input <<EOF + 404 1 KFfin, c +EOF + elif test "x$_FLAVOUR" = "xB"; then +cat >> ./pro.input <<EOF + 405 1 KFfin, b +EOF + elif test "x$_FLAVOUR" = "xHadrons"; then +cat >> ./pro.input <<EOF + 401 1 KFfin, d + 402 1 KFfin, u + 403 1 KFfin, s + 404 1 KFfin, c + 405 1 KFfin, b +EOF + else + echo "Running mode not yet supported" + rm -fr ./pro.input + exit 1 + fi + +# Initial seed switch +_SSEED="" +_FSEED=`date +%N` +if test ! "x$_INITSEED" = "x"; then + _FSEED=$((${_SSEED}+1)) + _SSEED="-s $_INITSEED" +fi +cat >> ./pro.input <<EOF +******************************************************************************** +* FOAM GENERATION PARAMETERS + 3020 ${_FSEED} Ranmar initial random number seed (KKMC and FOAM) +EOF + +# Input file closing +cat >> ./pro.input <<EOF +******************************************************************************** +EndX +EOF +else +if test ! -f $_CONFFILE; then + echo "Configuration file $_CONFFILE couldn't be found" + exit 1 +fi +ln -sf $_CONFFILE ./pro.input +fi + +ln -sf ${KKMCEE_ETC}/KKMCee_defaults +# Make EW tables +time ${TABMAIN_EXE} > ${TABMAIN_OUTPUT} + +# Run +time ${KKMCEE_EXE} ${_SSEED} -o ${_OUTFILE} -n ${_NEVTS} +if test ! "x$?" = "x0" ; then + exit 1; +else + echo "event generation ok" ; + # Cleanup + rm -f KKMCee_defaults + # Run files under KKMCee-datetime + _rundir="KKMCee-`date +%d%b%Y-%H%m%S`" + mkdir ${_rundir} + _runfiles="DIZET-table1 TabMain77.output TabMainC.output mcgen.root + pro.input pro.output pro77.output" + for f in ${_runfiles}; do + mv $f ${_rundir} + done +fi + diff --git a/generators/patches/babayaga-fcc1.0.0.patch b/generators/patches/babayaga-fcc1.0.0.patch new file mode 100644 index 0000000000000000000000000000000000000000..dc367c2cca8d1300a30687001c449233b97ac818 --- /dev/null +++ b/generators/patches/babayaga-fcc1.0.0.patch @@ -0,0 +1,179 @@ +--- main.f 2021-04-29 13:03:58.000000000 +0200 ++++ main.f 2023-09-04 09:01:45.128230317 +0200 +@@ -840,5 +840,4 @@ + call finalizestorageLHA(istore) + call exitrecola + print*,'Generation finished' +- stop + end +--- babayaga-fcc/main.f 2021-04-29 13:03:58.000000000 +0200 ++++ main.f 2024-05-06 18:47:18.296583800 +0200 +@@ -93,6 +93,8 @@ + character*20 hstnm + common/hostandpid/hstnm,idproc + ++ common/crosssections/xsec,var ++ + idproc = getpid() + call hostnm(hstnm) + +@@ -484,6 +486,22 @@ + endif + endif + ++ if (isnan(sdif)) then ++ print*,'NAN found (pos 2) setting sdif to 0!!!!' ++ print*,'pid,hostnm,ord,k,ng,emtx,sv,sdif,phsp,w' ++ print*,idproc,hstnm,ord,k,ng,emtx,sv,sdif,phsp,w ++ sdif = 0.d0 ++ w = 0.d0 ++ phsp = 0.d0 ++ ie = 1 ++ print*,'end ----!!!' ++ if (iverbose.gt.0) then ++ call printstatus(5,k,p1,p2,qph,xsec,var,varbefore, ++ . sdif,sdifmax,fmax) ++ endif ++ endif ++ ++ + !! unweightening for unweighted events... + if (k.gt.nsearch) then + istopsearch = 1 +@@ -517,24 +535,12 @@ + endif + endif + endif +- +- if (isnan(sdif)) then +- print*,'NAN found (pos 2) setting sdif to 0!!!!' +- print*,'pid,hostnm,ord,k,ng,emtx,sv,sdif,phsp,w' +- print*,idproc,hstnm,ord,k,ng,emtx,sv,sdif,phsp,w +- sdif = 0.d0 +- w = 0.d0 +- phsp = 0.d0 +- ie = 1 +- print*,'end ----!!!' +- if (iverbose.gt.0) then +- call printstatus(5,k,p1,p2,qph,xsec,var,varbefore, +- . sdif,sdifmax,fmax) +- endif +- endif + + sum = sum + sdif + sum2 = sum2 + sdif**2 ++ varbefore = var ++ xsec = sum/k ++ var = sqrt(abs((sum2/k-xsec**2)/k)) + + if (ng.eq.0) then + sumborn = sumborn + sdif/sv +@@ -547,9 +553,6 @@ + sump(ng) = sump(ng) + sdif + sum2p(ng) = sum2p(ng) + sdif**2 + +- varbefore = var +- xsec = sum/k +- var = sqrt(abs((sum2/k-xsec**2)/k)) + c tollerate = 1.2d0 + tollerate = 1.8d0 + if (var.gt.tollerate*varbefore +@@ -628,8 +631,8 @@ + endif + !! + xsec = sum/k +- var = sqrt((abs(sum2/k-xsec**2))/k) +- ++ var = sqrt((abs(sum2/k-xsec**2))/k) ++ + xsecborn = sumborn/k + varborn = sqrt((abs(sum2born/k-xsecborn**2))/k) + +--- storage.F 2021-04-29 13:03:58.000000000 +0200 ++++ storage.F 2024-05-06 18:47:21.846583712 +0200 +@@ -9,7 +9,10 @@ + implicit double precision (a-h,o-z) + character*(*) storfile + integer i,istmod ++ character*100 storagefile ++ common/storagef/storagefile + include 'LesHouches.h' ++ storagefile = storfile + istorunit = 61 + if (i.eq.0) return + +@@ -52,8 +55,12 @@ + + write(ist,111)idbmup(1),idbmup(2),ebmup(1),ebmup(2), + . pdfgup(1),pdfgup(2),pdfsup(1),pdfsup(2),idwtup,nprup +- write(ist,222)xsecup(1),xerrup(1),xmaxup(1),lprup(1) +- ++ ++ ++*-- modified 27/4/2024 ++c write(ist,222)xsecup(1),xerrup(1),xmaxup(1),lprup(1) ++ write(ist,'(a)')'TOBECHANGED' ++*-- + write(ist,'(a)')'</init>' + + 111 format(2(2x,I3),2(2x,G16.9),6(2x,I3)) +@@ -72,6 +79,13 @@ + common/storedevents/nstored + data nstored /0/ + ++ common/crosssections/xsec,var ++ common/realinput/anpoints,sdifmax ++ ++ xsecup(1) = xsec ++ xerrup(1) = var ++ xmaxup(1) = sdifmax ++ + nstored = nstored + 1 + + ccc counting extra photons +@@ -160,9 +174,6 @@ + + return + end +-******************************************* +- +- + ********************************************************* + subroutine eventstorage_unweighted(p3,p4,qph) + implicit double precision (a-h,o-z) +@@ -244,13 +255,21 @@ + end + ******************************************* + subroutine finalizestorageLHA(i) +- integer istorunit,i +- common/storageunit/istorunit ++ integer i,k ++ character*200 stringa ++ character*100 storagefile ++ common/storagef/storagefile ++ include 'LesHouches.h' + if (i.eq.0) return + write(istorunit,'(a)')'</LesHouchesEvents>' + close(istorunit) ++*-- modified 27/4/2024 ++ write(stringa,222)xsecup(1),xerrup(1),xmaxup(1),lprup(1) ++ call EXECUTE_COMMAND_LINE("sed -i '0,/TOBECHANGED/ s/TOBECHANGED/" ++ .//trim(stringa)//"/' "//trim(storagefile)) ++ 222 format(3(2x,G16.9),1(2x,I3)) ++*__ + end +- + ******************************************* + subroutine finalizestorage(i) + integer istorunit,i +--- Makefile 2024-07-29 22:07:51.387257678 +0200 ++++ Makefile 2024-07-29 22:07:44.560590995 +0200 +@@ -146,7 +146,7 @@ + @echo " " + @echo "Building RECOLA" + @echo " " +- cd $(RCLDIR)/build/ && CMAKE_INSTALL_PREFIX=.. cmake ../ -Dstatic=On && make && make install ++ cd $(RCLDIR)/build/ && CMAKE_INSTALL_PREFIX=../../install cmake ../ -Dstatic=On && make && make install + + # babayaga library + libbabayaga.a: $(OBJECTS) diff --git a/generators/patches/bhlumi-4.04linuxLHE.patch b/generators/patches/bhlumi-4.04linuxLHE.patch new file mode 100644 index 0000000000000000000000000000000000000000..c95fde5cc8645def11fb44d18df4406f3e80d7bd --- /dev/null +++ b/generators/patches/bhlumi-4.04linuxLHE.patch @@ -0,0 +1,103 @@ +--- ./4.x-cpc/makefile.orig 2021-08-03 17:20:37.672824726 +0200 ++++ ./4.x-cpc/makefile 2021-08-03 16:40:45.000000000 +0200 +@@ -44,8 +44,8 @@ + # + # For more see figs/makefile + ########################################################################### +-FFLAGS = -fno-automatic -ffixed-line-length-132 -fbackslash -C -O +-LDFLAGS = ++FFLAGS = -g -fno-automatic -ffixed-line-length-132 -fbackslash -C -O2 ++LDFLAGS = -g -O2 + F77 = gfortran + LD = $(F77) + #----------------------------------------------------------------------- +@@ -138,6 +138,8 @@ + #----------------------------------------------------------------------- + # MC Production + #----------------------------------------------------------------------- ++prod1-run: $(COMMAND2) ++ (cd prod1; make run) + prod1-start: $(COMMAND2) + (cd prod1; make start) + prod1-stop: +@@ -250,4 +252,4 @@ + #### tags: v404a (12sept), v404b (13sept) v404c (16sept) v404d (17sept) + #### tags: v404e (18sept), v404f (20sept) v404g (20sept) v404h (20sept) + #### tags: v404i (20sept), v404j (21sept) v404k (21sept) v404l (23sept) +-#### tags: v404m (25sept) +\ No newline at end of file ++#### tags: v404m (25sept) +--- ./4.x-cpc/figs/makefile.orig 2021-08-03 17:20:44.082903170 +0200 ++++ ./4.x-cpc/figs/makefile 2021-08-03 17:17:43.000000000 +0200 +@@ -38,8 +38,8 @@ + # FFLAGS = -C -qextchk -qinitauto=FF -bloadmap:lmap -qflttrap=overflow:underflow:zerodivide:invalid:enable + # LDFLAGS = -C -qextchk -qinitauto=FF -bloadmap:lmap -qflttrap=overflow:underflow:zerodivide:invalid:enable + ########### actual flags +-FFLAGS = -fno-automatic -ffixed-line-length-132 -fbackslash -C -O +-LDFLAGS = -O ++FFLAGS = -g -fno-automatic -ffixed-line-length-132 -fbackslash -C -O2 ++LDFLAGS = -g -O2 + #---------------------------------------------------------------------- + F77 = gfortran + LD = $(F77) +--- ./400/makefile.orig 2021-08-03 17:20:51.423993008 +0200 ++++ ./400/makefile 2021-08-03 16:30:26.000000000 +0200 +@@ -10,7 +10,7 @@ + LD = $(F77) + AR = ar + RANLIB = ranlib +-FFLAGS = -fno-automatic -ffixed-line-length-132 -fbackslash -C -O ++FFLAGS = -g -fno-automatic -ffixed-line-length-132 -fbackslash -C -O2 + ########### collection of ibm flags ########### + #FFLAGS = -O -C -qextchk -bloadmap:lmap + #FFLAGS = -C -qextchk -qinitauto=FF -bloadmap:lmap -qflttrap=overflow:underflow:zerodivide:invalid:enable +--- ./lib/makefile.orig 2021-08-03 17:20:55.462042424 +0200 ++++ ./lib/makefile 2021-08-03 16:30:17.000000000 +0200 +@@ -14,7 +14,7 @@ + #FFLAGS = -C -qextchk -qinitauto=FF -bloadmap:lmap -qflttrap=overflow:underflow:zerodivide:invalid:enable + ############################################### + # actual flags +-FFLAGS = -fno-automatic -ffixed-line-length-132 -fbackslash -C -O ++FFLAGS = -g -fno-automatic -ffixed-line-length-132 -fbackslash -C -O2 + ############################################################################## + .f.o: + $(F77) $(FFLAGS) -c $< +--- 400/bhlum4.f.orig 2021-08-03 17:39:59.142038917 +0200 ++++ 400/bhlum4.f 2021-08-03 17:37:41.995360067 +0200 +@@ -1345,7 +1345,7 @@ + SAVE / MOMSET / + REAL*8 SUM(4) + +- DO J=1,5 ++ DO J=1,4 + SUM(J)=0. + ENDDO + +@@ -1353,7 +1353,7 @@ + + + DO I=1,NPHOT +- DO J=1,5 ++ DO J=1,4 + SUM(J)= SUM(J)+ PHOT(I,J) + ENDDO + ENDDO +--- 4.x-cpc/makefile.orig 2021-08-03 16:40:45.000000000 +0200 ++++ 4.x-cpc/makefile 2021-08-03 18:45:40.233350839 +0200 +@@ -78,6 +78,7 @@ + demo: $(COMMAND) + (cd demo; time ../demo.exe ) + (cd demo; latex demo.tex; xdvi demo; dvips demo.dvi -o ) ++lhemain: $(COMMAND2) + demo-diff-rs: + (cd demo; diff demo.output.100k.keypia.eq.2.keywgt.eq.0.rs demo.output) + (cd demo; diff demo.tex.100k.keypia.eq.2.keywgt.eq.0.rs demo.tex) +@@ -138,8 +139,6 @@ + #----------------------------------------------------------------------- + # MC Production + #----------------------------------------------------------------------- +-prod1-run: $(COMMAND2) +- (cd prod1; make run) + prod1-start: $(COMMAND2) + (cd prod1; make start) + prod1-stop: diff --git a/key4hep/CMakeLists.txt b/key4hep/CMakeLists.txt new file mode 100644 index 0000000000000000000000000000000000000000..ffa74837065f3963b15d00350beeb3ff6e7f6e70 --- /dev/null +++ b/key4hep/CMakeLists.txt @@ -0,0 +1,704 @@ +LCGPackage_Add( + freeglut + URL ${GenURL}/freeglut-${freeglut_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF +) + +LCGPackage_Add( + simsipm + URL ${GenURL}/simsipm-${simsipm_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF +) + +LCGPackage_Add( + opendatadetector + URL ${GenURL}/opendatadetector-${opendatadetector_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS DD4hep ROOT Boost +) + +# PandoraPFA packages + +LCGPackage_Add( + pandorapfa + URL ${GenURL}/pandorapfa-${pandorapfa_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + BUILD_COMMAND <VOID> + INSTALL_COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/cmakemodules <INSTALL_DIR>/cmakemodules +) + +LCGPackage_Add( + pandorasdk + URL ${GenURL}/pandorasdk-${pandorasdk_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DCMAKE_MODULE_PATH=${pandorapfa_home}/cmakemodules + "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -Wno-error" + DEPENDS pandorapfa +) + +LCGPackage_Add( + pandoramonitoring + URL ${GenURL}/pandoramonitoring-${pandoramonitoring_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DCMAKE_MODULE_PATH=${pandorapfa_home}/cmakemodules + "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -Wno-error" + DEPENDS ROOT pandorasdk +) + +LCGPackage_Add( + lccontent + URL ${GenURL}/lccontent-${lccontent_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DPANDORA_MONITORING=ON + -DCMAKE_MODULE_PATH=${pandorapfa_home}/cmakemodules + "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -Wno-error" + DEPENDS pandorapfa pandorasdk pandoramonitoring +) + +LCGPackage_Add( + larcontent + URL ${GenURL}/larcontent-${larcontent_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DPANDORA_MONITORING=ON + -DCMAKE_MODULE_PATH=${pandorapfa_home}/cmakemodules + "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -Wno-error" + DEPENDS pandorapfa pandorasdk pandoramonitoring eigen +) + +# iLCSoft packages + +LCGPackage_Add( + ilcutil + URL ${GenURL}/ilcutil-${ilcutil_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF +) + +LCGPackage_Add( + generalbrokenlines + URL ${GenURL}/generalbrokenlines-${generalbrokenlines_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS eigen ROOT +) + +LCGPackage_Add( + aidatt + URL ${GenURL}/aidatt-${aidatt_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil LCIO eigen generalbrokenlines DD4hep +) + +LCGPackage_Add( + conddbmysql + URL ${GenURL}/conddbmysql-${conddbmysql_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + DEPENDS mysql ilcutil +) + +LCGPackage_Add( + gear + URL ${GenURL}/gear-${gear_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DINSTALL_DOC=OFF + -DBUILD_TESTING=OFF + DEPENDS ilcutil clhep ROOT +) + +LCGPackage_Add( + lccd + URL ${GenURL}/lccd-${lccd_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS LCIO ilcutil conddbmysql +) + +LCGPackage_Add( + raida + URL ${GenURL}/raida-${raida_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil ROOT +) + +LCGPackage_Add( + marlin + URL ${GenURL}/marlin-${marlin_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS LCIO ilcutil gear lccd raida +) + +LCGPackage_Add( + ced + URL ${GenURL}/ced-${ced_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=ON + DEPENDS ilcutil + IF NOT ${LCG_OS} MATCHES mac THEN freeglut ENDIF # Taken from the system in mac +) + +LCGPackage_Add( + kaltest + URL ${GenURL}/kaltest-${kaltest_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil ROOT +) + +LCGPackage_Add( + kaldet + URL ${GenURL}/kaldet-${kaldet_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin kaltest ROOT +) + +LCGPackage_Add( + ddkaltest + URL ${GenURL}/ddkaltest-${ddkaltest_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + INSTALL_COMMAND make install + COMMAND ${CMAKE_COMMAND} -E copy_directory <SOURCE_DIR>/include <INSTALL_DIR>/include + DEPENDS ilcutil ROOT DD4hep LCIO GSL kaltest aidatt +) + +LCGPackage_Add( + marlinutil + URL ${GenURL}/marlinutil-${marlinutil_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin clhep ced DD4hep ROOT +) + +LCGPackage_Add( + pandoraanalysis + URL ${GenURL}/pandoraanalysis-${pandoraanalysis_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil ROOT DD4hep +) + +LCGPackage_Add( + overlay + URL ${GenURL}/overlay-${overlay_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil clhep raida +) + +LCGPackage_Add( + garlic + URL ${GenURL}/garlic-${garlic_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil ROOT +) + +LCGPackage_Add( + cedviewer + URL ${GenURL}/cedviewer-${cedviewer_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil ced marlin marlinutil DD4hep ROOT +) + +LCGPackage_Add( + fcalclusterer + URL ${GenURL}/fcalclusterer-${fcalclusterer_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil LCIO gear marlin marlinutil DD4hep ROOT +) + +LCGPackage_Add( + marlintrk + URL ${GenURL}/marlintrk-${marlintrk_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS LCIO ilcutil marlin ROOT kaltest kaldet GSL clhep generalbrokenlines aidatt ddkaltest +) + +LCGPackage_Add( + ddmarlinpandora + URL ${GenURL}/ddmarlinpandora-${ddmarlinpandora_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DPANDORA_MONITORING=ON + DEPENDS ilcutil marlin marlinutil marlintrk pandorasdk pandorapfa pandoramonitoring lccontent larcontent DD4hep +) + +LCGPackage_Add( + ildperformance + URL ${GenURL}/ildperformance-${ildperformance_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil marlintrk ROOT GSL clhep generalbrokenlines aidatt DD4hep +) + +LCGPackage_Add( + clupatra + URL ${GenURL}/clupatra-${clupatra_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil GSL DD4hep ROOT marlintrk kaltest +) + +LCGPackage_Add( + conformaltracking + URL ${GenURL}/conformaltracking-${conformaltracking_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil ROOT marlintrk Boost +) + +LCGPackage_Add( + kitrack + URL ${GenURL}/kitrack-${kitrack_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin ROOT +) + +LCGPackage_Add( + kitrackmarlin + URL ${GenURL}/kitrackmarlin-${kitrackmarlin_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS kitrack marlin marlinutil marlintrk GSL DD4hep clhep +) + +LCGPackage_Add( + marlintrkprocessors + URL ${GenURL}/marlintrkprocessors-${marlintrkprocessors_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS marlintrk marlin marlinutil DD4hep GSL raida ddkaltest kitrack kitrackmarlin +) + +LCGPackage_Add( + forwardtracking + URL ${GenURL}/forwardtracking-${forwardtracking_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil marlintrk kitrack kitrackmarlin clhep GSL ROOT raida +) + +LCGPackage_Add( + lcfivertex + URL ${GenURL}/lcfivertex-${lcfivertex_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS LCIO ilcutil Boost marlin marlinutil raida +) + +LCGPackage_Add( + lcfiplus + URL ${GenURL}/lcfiplus-${lcfiplus_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DINSTALL_DOC=OFF + ENVIRONMENT ROOT_INCLUDE_PATH=${LCIO_home}/include + DEPENDS LCIO marlin marlinutil lcfivertex ROOT +) + +LCGPackage_Add( + lctuple + URL ${GenURL}/lctuple-${lctuple_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin ROOT +) + +LCGPackage_Add( + marlindd4hep + URL ${GenURL}/marlindd4hep-${marlindd4hep_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin DD4hep +) + +LCGPackage_Add( + marlinfastjet + URL ${GenURL}/marlinfastjet-${marlinfastjet_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + "-DCMAKE_CXX_FLAGS=${CMAKE_CXX_FLAGS} -I${fjcontrib_home}/include" + DEPENDS ilcutil marlin marlinutil fastjet fjcontrib ROOT +) + +LCGPackage_Add( + marlinkinfit + URL ${GenURL}/marlinkinfit-${marlinkinfit_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil clhep GSL ROOT raida +) + +LCGPackage_Add( + marlinkinfitprocessors + URL ${GenURL}/marlinkinfitprocessors-${marlinkinfitprocessors_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil marlinkinfit clhep GSL ROOT raida +) + +LCGPackage_Add( + marlinReco + URL ${GenURL}/marlinReco-${marlinReco_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil marlintrk marlinkinfit ROOT Boost DD4hep raida GSL +) + +LCGPackage_Add( + physsim + URL ${GenURL}/physsim-${physsim_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil ROOT +) + +LCGPackage_Add( + marlinmlflavortagging + URL ${GenURL}/marlinmlflavortagging-${marlinmlflavortagging_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + ENVIRONMENT Torch_DIR=${torch_home}/lib/python${Python_config_version_twodigit}/site-packages/torch + DEPENDS LCIO ilcutil lcfivertex marlin ROOT torch AIDA +) + +LCGPackage_Add( + ddfastshowerml + URL ${GenURL}/ddfastshowerml-${ddfastshowerml_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DCMAKE_PREFIX_PATH=${openmpi_home}/lib:ENV{CMAKE_PREFIX_PATH} + ENVIRONMENT "MPICXX=${openmpi_home}/bin/mpic++" + "MPICC=${openmpi_home}/bin/mpicc" + "HDF5_DIR=${hdf5_home}" + "MPI_HOME=${openmpi_home}" + "MPI_LIB=${openmpi_home}/lib" + "I_MPI_ROOT=${openmpi_home}" + DEPENDS DD4hep torch onnxruntime hdf5 openmpi +) + + +# Key4hep packages + +LCGPackage_Add( + k4fwcore + URL ${GenURL}/k4fwcore-${k4fwcore_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ROOT EDM4hep Gaudi +) + +LCGPackage_Add( + k4_project_template + URL ${GenURL}/k4_project_template-${k4_project_template_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS k4fwcore +) + +LCGPackage_Add( + k4edm4hep2lcioconv + URL ${GenURL}/k4edm4hep2lcioconv-${k4edm4hep2lcioconv_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS EDM4hep LCIO +) + +LCGPackage_Add( + k4marlinwrapper + URL ${GenURL}/k4marlinwrapper-${k4marlinwrapper_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS k4edm4hep2lcioconv marlin k4fwcore +) + +LCGPackage_Add( + k4geo + URL ${GenURL}/k4geo-${k4geo_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS DD4hep EDM4hep LCIO +) + +LCGPackage_Add( + clicperformance + URL ${GenURL}/clicperformance-${clicperformance_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS ilcutil marlin marlinutil marlintrk GSL ROOT DD4hep raida k4geo +) + +LCGPackage_Add( + k4clue + URL ${GenURL}/k4clue-${k4clue_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS DD4hep k4fwcore +) + +LCGPackage_Add( + k4simgeant4 + URL ${GenURL}/k4simgeant4-${k4simgeant4_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DPython_ROOT_DIR=${Python_home} + DEPENDS k4fwcore DD4hep Geant4 +) + +LCGPackage_Add( + k4reco + URL ${GenURL}/k4reco-${k4reco_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS k4fwcore DD4hep k4simgeant4 k4geo +) + +LCGPackage_Add( + k4simdelphes + URL ${GenURL}/k4simdelphes-${k4simdelphes_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DPYTHIA8_ROOT_DIR=${pythia8_home} + DEPENDS k4fwcore delphes pythia8 hepmc3 evtgen +) + +LCGPackage_Add( + cldconfig + URL ${GenURL}/cldconfig-${cldconfig_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS k4fwcore delphes pythia8 hepmc3 evtgen +) + +LCGPackage_Add( + k4rectracker + URL ${GenURL}/k4rectracker-${k4rectracker_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS k4fwcore DD4hep ROOT marlinutil +) + +LCGPackage_Add( + k4generatorsconfig + URL ${GenURL}/k4generatorsconfig-${k4generatorsconfig_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS podio EDM4hep hepmc3 HepPDT pythia8 +) + +# HEP-FCC packages + +LCGPackage_Add( + dual_readout + URL ${GenURL}/dual_readout-${dual_readout_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + if (${LCG_OS} MATCHES mac) # needed for FindDynamicLibrary from ROOT + ENVIRONMENT LD_LIBRARY_PATH=${DD4hep_home}/lib:$ENV{LD_LIBRARY_PATH} + endif() + DEPENDS podio EDM4hep k4fwcore DD4hep fastjet ROOT pythia8 simsipm +) + + +LCGPackage_Add( + fccanalyses + URL ${GenURL}/fccanalyses-${fccanalyses_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DWITH_DD4HEP=ON + IF NOT ${LCG_OS} MATCHES mac THEN -DWITH_ONNX=ON ELSE -DWITH_ONNX=OFF ENDIF + -DBUILD_TESTING=OFF + -Donnxruntime_DIR=${onnxruntime_home} + ENVIRONMENT DELPHES_DIR=${delphes_home} + CPLUS_INCLUDE_PATH=${vdt_home}/include:$ENV{CPLUS_INCLUDE_PATH} + ROOT_INCLUDE_PATH=${podio_home}/include:${EDM4hep_home}/include:$ENV{ROOT_INCLUDE_PATH} + Python_ROOT_DIR=${Python_home} + DEPENDS EDM4hep k4fwcore fastjet eigen DD4hep delphes vdt + DEPENDS_OPT onnxruntime +) + +LCGPackage_Add( + fcc_config + URL ${GenURL}/fcc_config-${fcc_config_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF +) + +LCGPackage_Add( + fccdetectors + URL ${GenURL}/fccdetectors-${fccdetectors_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS DD4hep k4geo ROOT +) + +LCGPackage_Add( + fccsw + URL ${GenURL}/fccsw-${fccsw_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS DD4hep k4geo ROOT +) + +LCGPackage_Add( + k4gen + URL ${GenURL}/k4gen-${k4gen_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + -DPython_ROOT_DIR=${Python_home} + DEPENDS podio EDM4hep k4fwcore fastjet HepPDT hepmc3 evtgen pythia8 ROOT +) + +LCGPackage_Add( + k4reccalorimeter + URL ${GenURL}/k4reccalorimeter-${k4reccalorimeter_native_version}.tar.gz + CMAKE_ARGS -DCMAKE_BUILD_TYPE=${CMAKE_BUILD_TYPE} + -DCMAKE_INSTALL_PREFIX=<INSTALL_DIR> + -DCMAKE_CXX_STANDARD=${CMAKE_CXX_STANDARD} + -DBUILD_TESTING=OFF + DEPENDS podio EDM4hep k4fwcore DD4hep k4geo marlinutil fastjet k4simgeant4 ROOT onnxruntime +) diff --git a/pyexternals/CMakeLists.txt b/pyexternals/CMakeLists.txt index c0033185d4957835465b8fe5105e1a3299b01ef9..0167ebeebe121c0ebb02510133401fe58ee0aaa4 100644 --- a/pyexternals/CMakeLists.txt +++ b/pyexternals/CMakeLists.txt @@ -10560,3 +10560,42 @@ LCGPackage_Add( BUILD_IN_SOURCE 1 DEPENDS Python pip setuptools wheel numpy matplotlib opencv_python pillow PyYAML requests scipy torch torchvision tqdm psutil pycpuinfo pandas seaborn ultralytics_thop lap ) + +#---pytransport-------------------------------------------------------------------- +LCGPackage_Add( + pytransport + URL ${GenURL}/pytransport-<VERSION>.tar.gz + CONFIGURE_COMMAND <VOID> + BUILD_COMMAND <VOID> + INSTALL_COMMAND ${MakeSitePackagesDir} + COMMAND ${PYTHON} setup.py install ${PySetupOptions} + COMMAND ${CMAKE_SOURCE_DIR}/pyexternals/Python_postinstall.sh <INSTALL_DIR> + BUILD_IN_SOURCE 1 + DEPENDS Python setuptools numpy matplotlib scipy importlib_metadata +) + +#---pymadx-------------------------------------------------------------------- +LCGPackage_Add( + pymadx + URL ${GenURL}/pymadx-<VERSION>.tar.gz + CONFIGURE_COMMAND <VOID> + BUILD_COMMAND <VOID> + INSTALL_COMMAND ${MakeSitePackagesDir} + COMMAND ${PYTHON} setup.py install ${PySetupOptions} + COMMAND ${CMAKE_SOURCE_DIR}/pyexternals/Python_postinstall.sh <INSTALL_DIR> + BUILD_IN_SOURCE 1 + DEPENDS Python setuptools numpy matplotlib importlib_metadata tabulate +) + +#---pydbsim-------------------------------------------------------------------- +LCGPackage_Add( + pybdsim + URL ${GenURL}/pybdsim-<VERSION>.tar.gz + CONFIGURE_COMMAND <VOID> + BUILD_COMMAND <VOID> + INSTALL_COMMAND ${MakeSitePackagesDir} + COMMAND ${PYTHON} setup.py install ${PySetupOptions} + COMMAND ${CMAKE_SOURCE_DIR}/pyexternals/Python_postinstall.sh <INSTALL_DIR> + BUILD_IN_SOURCE 1 + DEPENDS Python setuptools numpy scipy Jinja2 pymadx pytransport +)