WatchMan From the coffee table... to the analysis code!! An automated Analysis Code Generator
|
|
|
WatchMan is
a new, very light, highly automated Python framework to easily and dynamically build Analysis Code from user settings. It's fully written in Python and it presents a mechanism of modular interface to create analysis software for different experiments or data formats.
The main idea behind WatchMan: from scribbles at the coffee table... to complete analysis code in few easy automated steps!
|
|
Please notice: this Wiki is under construction. So many new info will come soon...
Introduction
The
WatchMan package is a new framework for physics analysis.
The
new idea we put into this tool is the
high level of automatization in the creation of the Analysis Code. Basically, it is a
a generator of Analysys Code.
WatchMan is a framework, because provides all the tools to let the user to define his or her analysis, using his or her own private code and formulas, and to easily build interfaces to a whatever custom data file format.
So far three interfaces are been built: one for
Delphes files (Delphes is a fast detector simulation package), and two other ones targeted to the
ATLAS data files and framework. Other interface to other formats can easily added by users.
The package parses the text-like file where the user inserts his or her settings, and it returns the complete Analysis Code,
ready to be run, together with the scripts to run it, locally or on the Grid (
Grid launcher only for the ATLAS interface, up to now ).
Even if WatchMan is a comprehensive framework to implement Analysis Code, the automatically and dynamically generated code is completely
framework independent, so there is no hidden layers inside the code: all functions, all formulas and all cuts are there, dynamically written in the output generated code: then that is
easy to understand and
easy to validate.
Read more ...
Highlights
|
Analysis Code is automatically and dynamically generated from User Settings |
|
WatchMan has a modular structure, and interfaces for different data formats or software frameworks can be easily added |
|
So far interfaces for Delphes file format and for the ATLAS experiment data files have been built and added to the package |
|
You can generate analysis code for how many channels/analyses as you want, via a "Steering File" (with a GUI later...) |
|
You can work in a team: each member can develop his/her own analysis and then you can merge them to run them together |
|
The generated analysis code is clear, explicit, very easy to understand, without hidden layers, objects or functions |
|
You can select objects, perform overlap removal and select events, with or without skimming. |
|
For each channel/analysis you can change selection, overlap and event selection cuts independently, in a very simple way |
|
Besides a library of default formulas for cuts, it's extremely easy to add user-defined custom formulas |
|
The scripts to run the generated code are automatically generated as well, according to the user settings in the Steering File |
|
The analysis code can be launched automatically on Grid, with automatically generated scripts (only for ATLAS interface, up to now...) |
|
The output is a .root Ntuple (plain ROOT format) containing only one TTree |
|
The unique TTree in the Ntuple stores the output from ALL analyses |
|
In the TTree objects and events are stored only once, but they are all flagged with selection cuts they passed: efficient and storage-space-saver! |
|
Although containing the output from all the analyses, the generated Ntuple is indeed light and small |
Contacts:
- Based on an idea of Sascha Caron
- Designed and developed by:
- Riccardo-Maria Bianchi, <rbianchi@cern.ch>
- Renaud Bruneliere, <bruneli@cern.ch>
(WatchMan (C) 2008-2010 Riccardo-Maria Bianchi, Renaud Bruneliere, ( Physikalisches Institut, Freiburg Universitaet, Germany ))
--
RiccardoMariaBianchi - 15-Feb-2010 --
RiccardoMariaBianchi - 10-May-2010