Get a CMSSW environment
Download the stuff (adapt to your version)
wget https://tmdlib.hepforge.org/downloads/?f=tmdlib-1.0.7.tar.gz
Unpack it
tar -xzf tmdlib-1.0.7.tar.gz
Create installation directory
mkdir install
Configure
cd tmdlib-1.0.7
./configure --prefix=$(readlink -f ../install/) --with-lhapdf=$(readlink -f $LHAPDF_DATA_PATH/..)
You may get many warnings
Build
make
Install
make install
You're done! Pay attention to the output of make install
for how to use the library
- https://bitbucket.org/hameren/amp4hef/downloads/
- https://bitbucket.org/hameren/avhlib/downloads/
- https://bitbucket.org/hameren/katie/downloads/
There's also a zip with TMDlib grid files that we got but was removed
Unzip all the zip files.
cd hameren-katie-bb490399c5b4/
Modify paths in the settings file (you need the absolute path for avhlib
and TMDlib
):
vim settings.py
to
# Path to the AVHLIB directory
AVHLIBpath = '/storage_mnt/storage/user/lmoureau/tmdlib/hameren-avhlib-0f34e76d465e/'
# Path to the directory where libLHAPDF.a (or libLHAPDF.so) is
LHAPDFpath = '/cvmfs/cms.cern.ch/slc6_amd64_gcc530/external/lhapdf/6.1.6-giojec7/lib'
# Fortran compiler with flags
FC = 'gfortran -fcheck=bounds'
# Optional paths if you have TMDlib avialable and want to use it:
#
# Path to the directory where libTMDlib.a (or libTMDlib.so) is
TMDLIBpath = '/storage_mnt/storage/user/lmoureau/tmdlib/install/lib'
#
# Path to the directory where libgsl.a (or libgsl.so) is
#GSLpath = '/usr/lib'
Run
./config.py lib
Create FIFO
export HEPMCOUT=/tmp/$(whoami)-mypfile.hepmc
mkfifo $HEPMCOUT
./work.sh pp_to_Zjj work-pp2Zjj
cd work-pp2Zjj
vim input
Comment out
include file = incl_d.dat
Important settings:
Nflavors
: Number of active quark flavoursswitch
flags:withQCD
,withQED
,withWeak
pNonQCD
: couplings for non-QCD processeslhaSet
: LHAPDF PDF setTMDlibSet
: TMDlib set (disabled for the tutorial, usingtmdTableDir
instead)tmdTableDir
andtmdpdf
: Let Katie do the interpolation itself from TMD tables. We used the ones we downloaded from Bitbucket. I have them at/storage_mnt/storage/user/lmoureau/tmdlib/hameren-pdfgrids-9b7ccde45f4f/MRW-CT10nlo/
offshell
: (didn't understand why you can have off-shell ISP)Ecm
: Center-of-mass energycut
: Cuts, see docs in the file. In our example 1 and 2 are initial state, 3 and 4 are final state partons. It's even possible to set up asymmetric cutsscale
: Process scaleNoptim
: Could be that we need to increase this if the uncertainty is too large
We need to compile something again. There's a script for that.
./run.sh prepare input Run01
where Run01
is the target directory that will be created.
Then we go to Run01
:
cd Run01
There's an optimization step to run first:
./optimize.sh Nparallel=4
And we can finally generate events:
./main.out seed=82347
Create LHE file:
cd ..
./run.sh lhef Run01/raw82347.dat
(note: may need to set LD_LIBRARY_PATH
for TMDlib)