D3PD Analysis in SFrame
Introduction
The manTree package contains a set of classes for storing physics objects for final analysis. It can be used outside of athena, for example in SFrame. With the increasing size of data sets, for 8
TeV analysis onwards manTree ntuples shall not be created. Instead
D3PD ntuples can be read into SFrame and then analysed either as
D3PDs or converted to manTree objects at run time to allow existing analysis code to be used. The recommended way to compile the package is to follow the instructions
below.
Analysis Framework
In order to do a complete analysis, there are a set of packages provided by ATLAS for applying common prescriptions. These packages are made available through the
TopRootCore package and
we interface to these packages using the topUtils package.
First Time Setup
The following instructions should be followed to setup up & compile sframe, manTree and the common analysis packages:
Commands to be entered into the terminal start with '>'
Export CERN_USER variable:
> export CERN_USER=yourcernlxplususername
Setup root core (note this also sets up root v5.28.00):
> source /nfs/software/AtlasSoftware/RootCore/Root_v528_Summer2012Data/RootCore/scripts/setup.sh
Export SVNMAN variable:
> export SVNMAN=svn+ssh://$CERN_USER@svn.cern.ch/reps/atlasinst/Institutes/Manchester
Go to a directory where you want to work from:
> cd somedir
Check out sframe:
> svn co https://sframe.svn.sourceforge.net/svnroot/sframe/SFrame/tags/SFrame-03-05-17 SFrameArea
> cd SFrameArea
Build sframe:
> source ./setup.sh
> make
Check out manTree and D3PD packages:
> svn co $SVNMAN/SFrame/manTree/trunk manTree
> svn co $SVNMAN/SFrame/SFToolInterfaces/trunk SFToolInterface
> svn co $SVNMAN/SFrame/convertD3PDObjects/trunk convertD3PDObjects
> svn co $SVNMAN/SFrame/d3pdSFrameBase/trunk d3pdSFrameBase
> svn co $SVNMAN/SFrame/topUtils/trunk topUtils
> svn co $SVNMAN/SFrame/PlottingUtil/trunk PlottingUtil
> svn co $SVNMAN/SFrame/exampleD3PDCycle/trunk exampleD3PDCycle
Build manTree packages:
> cd manTree
> make
> cd ../SFToolInterfaces
> make
> cd ../convertD3PDObjects
> make
> cd ../d3pdSFrameBase
> make
> cd ../topUtils
> make
> cd ../PlottingUtil
> make
> cd ../exampleManTreeCycle
> make
Make a soft link to the RootCore par file (needed for proof running):
cd $SFRAME_LIB_PATH
ln -s $ROOTCOREDIR/../RootCore.par .
Setup for Each Session
Each time you start a new terminal and want to work on the analysis you need to do the following steps:
Go to your sframe directory:
> cd pathto/SFrameArea
Export CERN_USER variable:
> export CERN_USER=yourcernlxplususername
Setup root core (also sets up root v5.28):
> source /nfs/software/AtlasSoftware/RootCore/Root_v528_Summer2012Data/RootCore/scripts/setup.sh
setup sframe:
> source ./setup.sh
It's probably most convenient to put these commands into a script to save typing them in each time.
Running the Example Cycle
There is an example sframe cycle in exampleManTreeCycle. It can be run with the following (don't forget the
setup commands):
> cd $SFRAME_DIR
> cd exampleManTreeCycle
> sframe_main config/TestCycle_config.xml
Converting manTreeSFrame cycles
It was intended that the user code would be as similar as possible to when running over manTrees, however some changes were necessary. For an example of how these changes are implemented you may wish to compare src/TestCycle.cxx located in exampleD3PDCycle with its equivalent located in exampleManTreeCycle.
--
SteveMarsden - 03-Jul-2012