Heppy A lightweight python event processing framework for high-energy physics Colin Bernet, IPNL/IN2P3.

Slides:



Advertisements
Similar presentations
Section 6.2. Record data by magnetizing the binary code on the surface of a disk. Data area is reusable Allows for both sequential and direct access file.
Advertisements

Programming Types of Testing.
16/13/2015 3:30 AM6/13/2015 3:30 AM6/13/2015 3:30 AMIntroduction to Software Development What is a computer? A computer system contains: Central Processing.
Executable XML Present by 吳昆澤. Outline  Introduction  Simkin  Jelly  o:XML  Conclusion.
Chapter 2: Impact of Machine Architectures What is the Relationship Between Programs, Programming Languages, and Computers.
Scripting Languages CS351 – Programming Paradigms.
FCC Software Status Report from a User’s Perspective Colin Bernet (IPNL), Benedikt Hegner (CERN) 14 January
1 Outline 7.1 Introduction 7.2 Implementing a Time Abstract Data Type with a Class 7.3 Special Attributes 7.4Controlling Access to Attributes 7.4.1Get.
Principles of Procedural Programming
Object Oriented Software Development 1. Introduction to C# and Visual Studio.
Python for S60 SmartPhones PostPC Workshop Fall 2006 Amnon Dekel.
Python Introduction.
FCC Software Status Report from a User’s Perspective Colin Bernet (IPNL) 18 March 2015 Code Contributors: Michele De Gruttola, Benedikt Hegner, Clément.
Groovy WHAT IS IT? HOW DOES IT WORK? IS IT USEFUL?
ROOT An object oriented HEP analysis framework.. Computing in Physics Physics = experimental science =>Experiments (e.g. at CERN) Planning phase Physics.
CSCI 224 Introduction to Java Programming. Course Objectives  Learn the Java programming language: Syntax, Idioms Patterns, Styles  Become comfortable.
Christopher Jeffers August 2012
OpenAlea An OpenSource platform for plant modeling C. Pradal, S. Dufour-Kowalski, F. Boudon, C. Fournier, C. Godin.
Unit tests, Integration tests Physics tests Andrea Dotti, Gunter Folger, Pere Mato CERN – PH/SFT Geant4 workshop 2012.
Introduction to ASP.NET MIS 324 Professor Sandvig.
Java Analysis Studio Status Update 12 May 2000 Altas Software Week Tony Johnson
JAS3 + AIDA LC Simulations Workshop SLAC 19 th May 2003.
Capture-Replay Mocks Scandinavian Developer Conference 4 th April 2011 Geoff Bache.
Python: An Introduction
LC Software Workshop, May 2009, CERN P. Mato /CERN.
Python – Part 1 Python Programming Language 1. What is Python? High-level language Interpreted – easy to test and use interactively Object-oriented Open-source.
Event View G. Watts (UW) O. Harris (UW). Philosophy EventView Goals Object Identification & Interpretation Is that a jet or an electron? Is that jet a.
An Introduction to Designing and Executing Workflows with Taverna Aleksandra Pawlik materials by: Katy Wolstencroft University of Manchester.
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
A (very brief) intro to Eclipse Boyana Norris June 4, 2009.
Version 5. ¿What is PAF? PAF is a tool to easily and quickly implement… …distributed analysis over ROOT trees. …by hiding as much as possible the inherent.
The basics of the programming process The development of programming languages to improve software development Programming languages that the average user.
6th Feb 2003SCT DAQ analysis development 1 SCT analysis framework Work by:Alan Barr, Matt Palmer, Dave Robinson Almost all slides originally produced by.
Java Analysis Studio - Status CHEP 98 - September 1998 Tony Johnson - SLAC Jonas Gifford + Kevin Garwood - University of Victoria.
Siena Computational Crystallography School 2005
OCR GCSE Computing © Hodder Education 2013 Slide 1 OCR GCSE Computing Python programming 1: Introduction.
Programming Errors. Errors of different types Syntax errors – easiest to fix, found by compiler or interpreter Semantic errors – logic errors, found by.
PHP vs. Python. Similarities are interpreted, high level languages with dynamic typing are Open Source are supported by large developer communities are.
Liverpool Experience of MDC 1 MAP (and in our belief any system which attempts to be scaleable to 1000s of nodes) broadcasts the code to all the nodes.
Software Development Introduction
A python-based testing infrastructure Colin Bernet (IPNL)
The Development Process Compilation. Compilation - Dr. Craig A. Struble 2 Programming Process Problem Solving Phase We will spend significant time on.
Observing the Current System Benefits Can see how the system actually works in practice Can ask people to explain what they are doing – to gain a clear.
GLAST 1 Event Display VRVS meeting Glast software collaboration Pisa experience with ROOT N Lumb and G Spandre INFN-Pisa.
Analysis experience at GSIAF Marian Ivanov. HEP data analysis ● Typical HEP data analysis (physic analysis, calibration, alignment) and any statistical.
F Ankara 1/63. How it was in the beginning 2/63.
1 G4UIRoot Isidro González ALICE ROOT /10/2002.
20 October 2005 LCG Generator Services monthly meeting, CERN Validation of GENSER & News on GENSER Alexander Toropin LCG Generator Services monthly meeting.
Axel Naumann, DØ University of Nijmegen, The Netherlands 6/20/2001 Dutch Morning Meeting 1 From n-Tuples to b-Tags ?
Introduction to FCC Software FCC Istanbul 11 March, 2016 Alice Robson (CERN/UNIGE) on behalf of / with thanks to the FCC software group.
Why do F77 always spoil the landscape ?. Several ideas … slide 2.
Analysis Model Zhengyun You University of California Irvine Mu2e Computing Review March 5-6, 2015 Mu2e-doc-5227.
Modularization of Geant4 Dynamic loading of modules Configurable build using CMake Pere Mato Witek Pokorski
MAUS Status A. Dobbs CM43 29 th October Contents MAUS Overview Infrastructure Geometry and CDB Detector Updates CKOV EMR KL TOF Tracker Global Tracking.
CSCE 343 – Programming Language Concepts Welcome!.
Status of Analysis Software for FCC-ee Studies Colin Bernet (IPNL) FCC-ee Higgs Workshop 24th of September,
Analysing FCC Data Files in SWAN
papas: CMS single particle tuning
PyTimber & CO M. Betz, R. De Maria, M. Fitterer, C. Hernalsteens, T. Levens Install: $ pip install pytimber Sources:
CMPT 120 Topic: Python Modules.
Comments from MarlinReco users in Asia
FCC Software Status Readiness for FCC-ee Physics
A (very brief) intro to Eclipse
European Organization for Nuclear Research
Big Data Analytics: HW#3
For -G7 programing language Teacher / Shamsa Hassan Alhassouni.
Detecting and Resolving Model Errors
Get your ETL flow under statistical process control
Java Analysis Studio - Status
Functions, Procedures, and Abstraction
Presentation transcript:

heppy A lightweight python event processing framework for high-energy physics Colin Bernet, IPNL/IN2P3

Why python? Very large user base Super easy to learn Light & short code Good performance – usually drives C or C++ modules Feature rich – massive and easy-to-use standard library Dynamic typing – good for multichannel analyses – code highly reusable Productivity x 5-10 w/r C++ Forget about ROOT CINT The « glue » between everything Just a lot of fun!

Why not python? Some arguments against it: It would be slow No compilation?? Still another language to learn – C++ was enough of a pain in But in fact: Usually drives c or c++ libraries Huge amount of time gained – flexibility, high-level tools, code reusability, terse syntax Lots of checks done at runtime – Run, get exceptions, fix them Takes less than a few days to become efficient, and you will love this one

Heppy Python-based event processor for HEP – Input: TTree – Output: e.g. a flat ntuple for statistical analysis – Lightweight : ~2000 lines of code GitHub: – Heppy: – Heppy_fcc: Documentation for FCC: –

Users and Developers Used in major CMS analyses – H  ZZ  4 leptons – H  ττ – ttH  leptons – SUSY searches (≥0 leptons) – Top standard model analyses – W mass measurement – Particle flow performance measurements And for the FCC already! – CERN team TLEP analyses arxiv: Core framework developers – C. B. (CMS), 2011 – Giovanni Petrucciani (CMS), 2014 – Andrea Rizzi (CMS), 2014 – Non-CMS people welcome Lots of new features being proposed and explored at the moment.

Short demo if network allows To get started, follow: – The python tutorial if not yet done (5 hours) – The FCC heppy documentation (1 hour)