Feb 22 – 27, 2010
Jaipur, India
Europe/Zurich timezone

WatchMan Project - Computer Aided Software Engineering applied to HEP Analysis Code Building for LHC

Feb 26, 2010, 2:50 PM
Jaipur, India

Jaipur, India

Jaipur, India
Parallel Talk Data Analysis - Algorithms and Tools Friday, 26 February - Data Analysis - Algorithms and Tools


Riccardo Maria Bianchi (Physikalisches Institut-Albert-Ludwigs-Universitaet Freiburg-Unk)


A lot of code written for high-level data analysis has many similar properties, e.g. reading out the data of given input files, data selection, overlap removal of physical objects, calculation of basic physical quantities and the output of the analysis results. Because of this, too many times, writing a new piece of code, one starts copying and pasting from old code, modyfing it then for specific purposes, ending up with a plethora of classes to maintain, debug and validate. Moreover nowadays the complexity of software frameworks of HEP experiments needs that the user gets many technical details before starting writing the code. Writing such code for each new analysis is error prone and time consuming. A solution of this problem is WatchMan, a "data analysis construction kit" and highly automated analysis code generator. WatchMan takes as inputs user-settings from a GUI or from a text-like steering file, and in few easy steps it dynamically generates the complete analysis code, ready to be run over data, locally or on the GRID. The package has been implemented in Python and C++, using CASE (Computer Aided Software Engineering) principles. As a first example we interfaced the tool to the framework of the ATLAS experiment and it has been used for various analyses in ATLAS by several users. The package is nevertheless independent of the experimental framework, and modular interfaces will be provided for other experiments as well.


  • Main Idea: Why Automating the Analysis Code Building? Concept, needs and advantages.
  • Layout of the package
  • User Interface: GUI, steering file, web interface
  • Customization by the User
  • Dynamical Code Building
  • Characteristics of the Generated Code
  • Validation of the Generated Code
  • Running the generated code locally and on the GRID
  • Output Ntuple file storing the results from the generated code
  • Modular Interfaces to Software Frameworks of HEP Experiments
  • Examples of Real Life Code Building: from realistic HEP analysis ideas to Analysis Code in few easy steps.

Primary authors

Dr Renaud Bruneliere (Physikalisches Institut-Albert-Ludwigs-Universitaet Freiburg-Unk) Riccardo Maria Bianchi (Physikalisches Institut-Albert-Ludwigs-Universitaet Freiburg-Unk) Dr Sascha Caron (Physikalisches Institut-Albert-Ludwigs-Universitaet Freiburg-Unk)

Presentation materials