Skip to content

FHead/JetToyHI

 
 

Repository files navigation

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 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

Install on lxplus (in the process of making up-to-date)

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 /cvmfs/sft.cern.ch/lcg/external/gcc/4.8.1/x86_64-slc6-gcc48-opt/setup.sh

source /cvmfs/sft.cern.ch/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.

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.

More details about the available samples can be found here: https://twiki.cern.ch/twiki/bin/view/JetQuenchingTools/PU14Samples

Releases

No releases published

Packages

No packages published

Languages

  • C++ 96.7%
  • C 1.5%
  • Other 1.8%