Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Getting Started & Compile

Check out the code from SVN (require ATLAS privileges):

$cd ~/nfs

$svn co $SVNINST/Institutes/SLAC/JetWorkingGroup/LightJetAnalysis/trunk LightJetAnalysis

(1) Install FastJet (only if you're not running this at SLAC but on your laptop!) 

Follow instructions here: http://fastjet.fr/quickstart.html

 

(2) Check out the code from GitHub

git clone https://github.com/SLACJetWorkingGroup/LightJetAnalysis.gitwhere SVNINST stands for something like svn+ssh://[username]@svn.cern.ch/reps/atlasinst  

If you run this on your local machine (and not on atlint) you need to adjust the file setup.sh to point to your local installation of fastjet and root.

  • Note: if you have the C++ boost library installed, you can set it up in the setup.sh file. This allows you set arguments in the command line. 

$source setup.sh

$make 

 

(3) Copy input test file:

scp <userid>@atlint03.slac.stanford.edu:/atlas/output/pnef/skimmed.20140609.17.13_ClustersAndTruth.PythJ1to3mc12aJETMET.jetmet2012.root .

(1 GB in size)

A larger sample is available at:

/atlas/output/pnef//20140609.17.13_ClustersAndTruth.PythJ1to3mc12aJETMET.jetmet2012.root

Running the code

run the executable:

$./runLightJetAnalysis.exe 

if you compiled the code against the boost library, you can use

$./runLightJetAnalysis.exe --h

to see the available run options / arguments

Changing the MakeClass

The files LightJetAnalysisBase.C and LightJetAnalysisBase.h are generated using the MakeClass() method of a TTree.

If the branches of the TTree of the input file is changed, these two files need to be regenerated. For this, do the following:

$root -l myfile.root

root [1] myTree->MakeClass("LightJetAnalysisBase");

The file LightJetAnalysisBase.h now contains the declaration of the branches of the TTree myTree .

One annoying feature of MakeClass is that the arraw size is taken from the first entry of the tree. For instance, you may find lines like this:

Float_t Jpt[17]; //[NJetsFilled]

which needs to be changed into

Float_t Jpt[NJetsFilled];