Modified Gauss to use the new Gen/LbEvtGen package for EvtGen (LHCBGAUSS-1492).
LbEvtGen downloads, builds and installs EvtGen from the HepForge git repository, replacing Gen/EvtGen which is now deleted. LbEvtGen also contains all of the EvtGen related classes originally in Gen/Generators, as well as all extra models from EvtGenExtras, which is now also deleted. This means that Generators is now a general interface that has no dependence on EvtGen nor any other external generator such as Photos.
At the moment, cmake installs the HepForge EvtGen libraries in $CMAKE_INSTALL_PREFIX/lib64 = InstallArea/x86_64-slc6-gcc7-opt/lib64. The HepForge git branch is specified by the EVTGEN_GIT_TAG variable in Gen/LbEvtGen/CMakeLists.txt.
The source directory Gen/LbEvtGen/src contains 3 sub-directories:
- "Lib for building the LbEvtGen library for Gauss
- "component" for declaring the EvtGen (python) tools used within Gauss
- "models" for all extra models originally in EvtGenExtras
LbEvtGen contains 3 header file directories: "LbEvtGen" for the LbEvtGen tools and library, as well as "EvtGenBase" and "EvtGenModels" for adding extra EvtGen model classes that were originally in EvtGenExtras.
Renamed LbTaula to LbTauola.
Added the pythia6forgauss library dependence for the Gen packages LbPair, LbPythia and SuperChi2; it was originally included via Gen/EvtGen within Generators that is now removed.
Removed unused ROOT dependency for LbBound to avoid linking errors.
To build on lxplus
LbLogin -c x86_64-slc6-gcc7-opt
git clone https://:@gitlab.cern.ch:8443/lhcb/Gauss.git
cd Gauss
git checkout LHCBGAUSS-1492.LbEvtGen
lb-project-init
make
To run an example, first set-up the environment so that variables such as DECFILESROOT are defined:
build.x86_64-slc6-gcc7-opt/run tcsh
Then run Gauss for an example decay file using e.g. $DECFILESROOT/options/11134040.py
gaudirun.py $GAUSSOPTS/Gauss-Job.py $GAUSSOPTS/Gauss-2016.py $GAUSSOPTS/GenStandAlone.py $DECFILESROOT/options/11134040.py $LBPYTHIA8ROOT/options/Pythia8.py
To enable EvtGen verbosity when running, put the following line somewhere in Sim/Gauss/options/Gauss-Job.py:
EvtGenDecay().OutputLevel = 2
For validation, see talk https://indico.cern.ch/event/875990/contributions/3861648/attachments/2036833/3410501/evtGenChanges12May2020.pdf