kurtejung / JetToyHI

Framework to study jet substructure in heavy ion environment

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

JetToyHI

Software

Inside the PU14 directory you can find code we borrowed from the Pileup2014 workshop that takes care of reading in the events and mixing background with signal events. Inside the include directory you can find a couple of classes performing background subtraction, grooming jets, and a jet-to-jet matching algorithm. Follow the installation instructions below to run an example program.

Install on lxplus

If you don't have an lxplus account, you can request one here: https://account.cern.ch/account/Externals/

First install fastjet and the contrib package (you only have to do this once)

ssh -Y <username>@lxplus.cern.ch

cd <dirInWhichYouWantToInstall>

source /afs/cern.ch/sw/lcg/contrib/gcc/4.8/x86_64-slc6-gcc48-opt/setup.sh

source /afs/cern.ch/sw/lcg/app/releases/ROOT/6.06.08/x86_64-slc6-gcc48-opt/root/bin/thisroot.sh

#Install fastjet (you just have to do this once)

curl -O http://fastjet.fr/repo/fastjet-3.3.0.tar.gz 
tar zxvf fastjet-3.3.0.tar.gz
cd fastjet-3.3.0/

./configure --prefix=$PWD/../fastjet-install
make
make check
make install
FASTJET=$PWD/../fastjet-install
cd ..

export FJ_CONTRIB_VER=1.026 
curl -Lo source.tar.gz http://fastjet.hepforge.org/contrib/downloads/fjcontrib-"$FJ_CONTRIB_VER".tar.gz
tar xzf source.tar.gz
cd fjcontrib-"$FJ_CONTRIB_VER"
./configure --fastjet-config=$FASTJET/bin/fastjet-config --prefix=`$FASTJET/bin/fastjet-config --prefix`
make 
make install 
make fragile-shared #make shared library
make fragile-shared-install
cd ..

Next steps

git clone https://github.com/JetQuenchingTools/JetToyHI.git
cd JetToyHI
. setup.sh   #this step you will need to repeat next time you login
echo `$FASTJET/bin/fastjet-config --prefix` > .fastjet
cd PU14
echo `$FASTJET/bin/fastjet-config --prefix` > .fastjet
./mkmk
make
cd ..

scripts/mkcxx.pl -f -s -1 -r -8 '-IPU14' -l '-LPU14 -lPU14 -lz'
make
./runFromFile -hard samples/PythiaEventsTune14PtHat120.pu14 -pileup samples/ThermalEventsMult12000PtAv0.70.pu14 -nev 10

You will have produced a root file with a tree. In this tree properties of jets are stored in std::vector format and are all alligned to the signal jets. So you can for example plot sigJetPt vs csJetPt to get the response matrix for constituent-subtracted jets. An example ROOT plotting macro which will draw the jet energy and mass scale can be found here: plot/plotJetEnergyScale.C.

Install on personal laptop (more computationally involved)

If you are using mac or linux, the steps are relatively straightforward. For windows machines I'm not sure what to do. These are the things you need to install:

Make sure that the root-config, pythia8-config and fastjet-config executables can be found in the $PATH environment variable. Once the above is done, we can proceed with the compilation of the JetToyHI code:

git clone https://github.com/JetQuenchingTools/JetToyHI.git
cd JetToyHI
echo (FASTJET LOCATION) > .fastjet
echo (PYTHIA8 LOCATION) > .pythia8
cd PU14
echo (FASTJET LOCATION) > .fastjet
echo (PYTHIA8 LOCATION) > .pythia8
./mkmk
make
cd ..

scripts/mkcxx.pl -f -s -1 -r -8 '-IPU14' -l '-LPU14 -lPU14 -lz'
make
./runFromFile -hard samples/PythiaEventsTune14PtHat120.pu14 -pileup samples/ThermalEventsMult12000PtAv0.70.pu14 -nev 10

Contribute

Samples

Event samples can be found in the jet quenching CERNBOX:

You will find samples from various event generators. For underlying event we have: 'thermal' which is independent particle production using a Boltzmann distribution with a fixed multiplicity and mean pT (indicated in the file names). For the hard signal we have PYTHIA8 and JEWEL events with various pT,hat settings.

About

Framework to study jet substructure in heavy ion environment

License:GNU General Public License v3.0


Languages

Language:C++ 91.0%Language:C 3.5%Language:Perl 3.2%Language:Makefile 2.1%Language:Shell 0.2%