Skip to content

hbprosper/adl2tnm

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

43 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

adl2tnm

Introduction

This program converts analysis descriptions given in the Analysis Description Language (ADL) defined at the 2015 Les Houches Workshop (with subsequent refinements) to a C++ program that runs within TheNtupleMaker (TNM) ROOT n-tuple analysis framework developed by Sezen Sekmen and Harrison Prosper. This program is a proof of principle of the ADL concept. The adl2tnm package is structured as follows,

Directory Description
bin location of adl2tnm.py
examples/monophoton ATLAS EXOT-2016-32 analysis
ATLASEXOT1704.0384_Delphes_adl2tnm.adl
DM_10_800_Delphes.root
examples/razorboost CMS razor boost analysis
razorboost_adl2tnm.adl
SUSY_T5tttt_CMSNANOAOD.root
examples/softdilepton CMS SUS-16-048 analysis
CMSSUS16048_adl2tnm.adl
pp13TeVhzz4l.root
downloads required code would be downloaded here

Installation

Install this package using the commands

  git clone https://github.com/hbprosper/adl2tnm
  cd adl2tnm
  source install.sh

and once per terminal session do

  source setup.(c)sh

Example

In this example, we shall try to run the CMS razor boost analysis, described in the ADL file

examples/razorboost/razorboost_adl2tnm.adl

on a 10,000-event CMS nano-AOD file called

examples/razorboost/SUSY_T5tttt_CMSNANOAOD.root

Go to the directory examples/razorboost and execute the following command

	mkvariables.py SUSY_T5tttt_CMSNANOAOD.root

This should produce a file called variables.txt listing all of the variables in the first tree (Events) found in the ROOT file. Now execute the command

	adl2tnm.py -a razor razorboost_adl2tnm.adl

This should create a directory called razor. Go to that directory and build the analyzer program razor using

   cd razor
   make
   source setup.(c)sh

List, in the file filelist.txt, the names of the files to be read by razor, e.g., as follows,

	ls -1 ../SUSY_T5tttt_CMSNANOAOD.root > filelist.txt
./razor | tee summary.dat

to run the program. You will see several "no dictionary" warnings about complicated types that treestream dutifully ignores! More importantly, you should see a file called summary.dat when the program completes containing cut-flow summaries of the analysis.

About

A transpiler that converts the description of a particle physics analysis using an analysis description language (ADL) to a C++ program.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published