-- GavinKirby - 2011-02-08

This page contains instructions for setting up and using a tool to parse the text files produced by the PythiattH software and create flattuples containing the information in them.

Set up the environment - AFS

If you have a Glasgow AFS account you can set up the environment by sourcing the script v16g.sh in /afs/phas.gla.ac.uk/user/g/gkirby/public. This will then allow you to use the runFillFlatFromAscii command:

runFillFlatFromAscii teststeerFillFlatFromAscii.txt PythiaOutput.dat FlatFillATLAS.root

The first argument is the steering file - this points to the VariableTree and TreeSpec files which identify the variables that the parser will read. It is important to ensure that the correct files are pointed to and that their contents are up to date, or the flat tuple will not be correctly filled. It is convenient to use different steering files to point to different "event" TreeSpec files (e.g. for different processes). The "global" file contains metadata relevant to downstream analysis.

The second argument is the output of the PythiattH code, i.e. a text file containing the relevant event output variables.

The last argument is the name of the flat tuple that will be created.

Important notes on running the parser

  • Remember to increment the number after EvInfoTree for each variable that is added to the VariableTree file. If conflicting numbers are assigned to two different variables the tool will fail to run.

  • The value to the left of the colon in the VariableTree file has to match the name in the text file from the event generator, and must also match what is in the TreeSpec file. It does not have to be the same as the stuff to the right. In the downstream analysis this is used as the input variable to plotting and the neural net training. This however is the point where you are flexible in mapping the branch/leaf to that name of the varaible later.

  • The stuff to the right of the colon is the branch/leaf as it appears in root.

Set up the environment - CDF (obsolete - included for reference)

For initial setup:

source ~cdfsoft/cdf2.shrc

setup cdfsoft2 6.1.6.m

setup neurobayes_expert

setup root v5_26_00 -q GCC_3_4_6 -f Linux+2.6

cd /data/cdf04/stdenis/hww_1fb/hwwcdf6.1.6.mv4_82/

srt_setup -a

cd -

The command


runs the program on a text file.

The code is executed via the command (sample syntax):

runFillFlatFromAscii teststeerFillFlatFromAscii.txt testFlatFillATLASl4vec.txt testFlatFillATLAS.root

The first argument is the steering file, the second is the text file containing output from the event generator and the third is the output root file.

The steering file should be pointed at the evinfo, global and variable tree to ntp definitions (i.e. in separate configuration/steering files).

Test environment -- CDF Version

Copy the following files into a test area:






Edit teststeerFillFlatFromAscii.txt so the three files have no directory spec:

GeneralParameter string 1 TreeSpecEv=TreeSpecEv.txt

GeneralParameter string 1 TreeSpecGlobal=TreeSpecGlobal.txt

GeneralParameter string 1 TreeToNTPMapFile=VariableTreeToNTP.txt

Now do:

setup neurobayes_expert

setup root v5_26_00 -q GCC_3_4_6 -f Linux+2.6

Now you can run the tool via the command

runFillFlatFromAscii teststeerFillFlatFromAscii.txt testFlatFillATLASl4vec.txt testFlatFillATLAS.root

Test environment -- ATLAS Version

Once the CDF test has been successfully completed, you can move on to building an ATLAS ntuple (with additional variables).

The relevant files can be found in:


The directory specification in the files will need to be changed; if they are in the working directory, leave it out:

In teststeerFillFlatFromAscii.txt:

GeneralParameter string 1 TreeSpecEv=TreeSpecATLAStth-v16_event.txt
# Steering file with spec of global
GeneralParameter string 1 TreeSpecGlobal=TreeSpecATLAStth-v16_global.txt
# Variable tree to NTP
GeneralParameter string 1 TreeToNTPMapFile=VariableTreeToNTPATLASttHSemiLeptonic-v16.txt

Add the following lines:

GeneralParameter string 1 TreeNameEvInfo=D3PD
GeneralParameter string 1 TreeNameGlobalInfo=D3PD

It is necessary to match the variable names in the lines containing the string "EvInfoTree" in VariableTreeToNTPATLASttHSemiLeptonic-v16.txt

to the names in the output file from the event generator.

The file TreeSpecATLAStth-v16_event.txt contains declarations for the variables which are to be parsed:

ListParameter SpecifyVariable:PL_SelLepton_Pt 1 Type:double
ListParameter SpecifyVariable:PL_SelLepton_Phi 1 Type:double
ListParameter SpecifyVariable:PL_SelLepton_Eta 1 Type:double

Then add the variable defintions to VariableTreeToNTPATLASttHSemiLeptonic-v16.txt

For example:

ListParameter EvInfoTree:28 1 PL_SelLepton_Pt:PL_SelLepton_Pt/PL_SelLepton_Pt

Run the ATLAS test:

runFillFlatFromAscii teststeerFillFlatFromAscii.txt testFlatFillATLASl4vec.txt testFlatFillATLAS.root

runFillFlatFromAscii teststeerFillFlatFromAscii.txt PythiaOutput_SIGNAL.dat testFlatFillATLAS_PythiaSIGNAL_2.root

Topic revision: r16 - 2012-09-27 - GavinKirby
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2017 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback