TWiki> ATLAS Web>TextToNtupleParser (revision 8)EditAttach
-- GavinKirby - 2011-02-08

This page contains instructions for setting up and using a tool to parse text files and create ntuples containing the information in them.

Set up the environment

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

srt_setup -a

cd -

The command


runs the program on a text file.

The code is executed via the command:

runFillFlatFromAscii teststeerFillFlatFromAscii.txt testFlatFillATLASl4vec.txt testFlatFillATLAS.root

The first argument is the steering file, the second is the text file you make 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-v15.txt
# Steering file with spec of global
GeneralParameter string 1 TreeSpecGlobal=TreeSpecATLAStth-v15.txt
# Variable tree to NTP
GeneralParameter string 1 TreeToNTPMapFile=VariableTreeToNTPATLASttHSemiLeptonic-v15.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


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

NB - lepton information is not in "EvInfoTree" - need to figure out if it is available.

Then add this to



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

Note that the actual px,py,pz,e as you had are not there so you may have to make a new file with those variables.

Then you need to add the variable defintions to


Here is an example:

ListParameter EvInfoTree:28 1 PL_SelLepton_Pt:PL_SelLepton_Pt/PL_SelLepton_Pt:

Misc. notes:

  • Remember to increment the number after EvInfoTree for each variable that is added.

  • The value to the left of the colon has to match the name in the text file from the event generator. This does not have to be the same as the stuff to the right. Later on this is used as the input variable to plotting and the neural net training. This however is your point where you are flexible in mapping the branch/leaf to that name of the varaible later.

  • The stuff to the right of the : is the branch/leaf as it appears in root. In fact if you have a root file, Alistair wrote a tool to make this file from it.
Edit | Attach | Watch | Print version | History: r16 | r10 < r9 < r8 < r7 | Backlinks | Raw View | Raw edit | More topic actions...
Topic revision: r8 - 2011-02-16 - GavinKirby
This site is powered by the TWiki collaboration platform Powered by PerlCopyright © 2008-2022 by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding TWiki? Send feedback