We present here c++ code to generate events at hadron-hadron collider (and also electron-positron colliders and electron-hadron colliders). The code creates a hard scattering event and then generates parton showers for both the incoming and outgoing partons.
This code is for versions 1.0.0 and 1.0.2 of Deductor
Version 1.0.2 was used for the paper Effects of subleading color in a parton shower. The results for the figures in that paper were produced using the user files in deductor-user-1.0.2. The code is in the file deductor-1.0.2.tar.gz. We also provide a collection of sample user code in the file deductor-user-1.0.2.tar.gz. Probably the best way to get these is with the curl
command as described below.
Version 1.0.1 was not released.
The code for the original version of Deductor is in the file deductor-1.0.0.tar.gz. We also provide a collection of sample user code in the file deductor-user-1.0.0.tar.gz.
Version 1.0.0 was used for the paper A parton shower based on factorization of the quantum density matrix, published in JHEP 06 (2014) 097.
Note that you need cmake
plus C and C++ compilers. Your C++ compiler needs to comply with the C++11 standard. The deductor
code is self contained. Deductor was tested with g++-4.8.1
and clang-3.3
on linux and MacOSX platforms. We also supply a sample of user routines. Some of these make use of FastJet
. We include a copy of fjcore
by M. Cacciari, G.P. Salam and G. Soyez for your convenience.
In this section, x.y.z = 1.0.2 for the current code. In the following sections, we assume that we are working with the current version, 1.0.2.
cd
to that directory. curl -O http://pages.uoregon.edu/soper/deductor/deductor-x.y.z.tar.gz
curl -O http://pages.uoregon.edu/soper/deductor/deductor-user-x.y.z.tar.gz
tar -zxvf deductor-x.y.z.tar.gz
tar -zxvf deductor-user-x.y.z.tar.gz
deductor-x.y.z
and deductor-user-x.y.z
inside your working directory.mkdir bld-duct
cd bld-duct
cmake ../deductor-x.y.z/
make install
cd ..
deductor --help
.
This should print some useful information.bin
and lib
in your home directory.
kernel14.cc
and kernel7.cc
in a directory deductor-user-1.0.2
. This code will create everything that you need for a 14 TeV LHC and an 7 TeV LHC, respectively, and put it into a directory .deductor
in your home directory. For the 7 TeV case, just change directory to the deductor-user-1.0.2
directory and excecute
deductor --module kernelname kernel7.cc
deductor --kernel kernelname
You will need some user code to tell Deductor what to do. The idea is that Deductor generates events according to the collider that you specified and the hard scattering process that you want. Then it sends each event to an analyser routine of your devising, which accumulates the histograms that you want. You set up the histograms in an "init" function that is called when Deductor starts and then analyse each event in a "user" function.
Let us suppose that you would like to generate the distribution of gap fractions in a gap-between-jets problem. There is a directory AtlasGap
in deductor-user-1.0.2
that is set up for this. So just change directory to deductor-user-1.0.2/AtlasGap
and then follow these steps.
mod-AtlasGap.cc
and analyser-AtlasGap.cc
for this. You will also need the FastJet code fjcore.cc
, which we include. Execute deductor --module mod-AtlasGap mod-AtlasGap.cc analyser-AtlasGap.cc fjcore.cc
mod-AtlasGap.bundle
in deductor-user-1.0.2/AtlasGap
.
deductor --calculate mod-AtlasGap -n runname
output
in mod-AtlasGap.bundle
. The results are there, but you don't want to read them in this form.
deductor-user-1.0.2/AtlasGap
directory and excecute deductor --add mod-AtlasGap runname
results
in deductor-user-1.0.2/AtlasGap
. Here you will find files with results in tabular form, suitable for examining with, for example, gnuplot
.mod-AtlasGap.cc
code that you used specified that Deductor should generate 55000000 events. You can just execute deductor --add mod-AtlasGap runname
from time to time and, when you think you have enough events, stop your run with control-C.
run1
, run2
, and run3
, you can accumulate the results by executing deductor --add mod-AtlasGap run1 run2 run3
Now that you have seen how Deductor runs, and enjoyed lunch and a cappuccino, you are ready to learn more about how the various user files operate. For this, please see the brief manual "Deductor version 1: How to use it."
Originally from 25 December 2014; Last updated 16 May 2016
Davison E. Soper