Pierre-Antoine Delsart Kurtis L. Geerlings & Joey Huston

Slides:



Advertisements
Similar presentations
Requirements for a UI Test Framework Stanislaw Wozniak Bernie Miles.
Advertisements

Intel® performance analyze tools Nikita Panov Idrisov Renat.
TUPEC057 Advances With Merlin – A Beam Tracking Code J. Molson, R.J. Barlow, H.L. Owen, A. Toader MERLIN is a.
Types of Data SimTracks: generated particles SimHits: energy depositions in a detector volume Digis: Single-channel pieces of the detector’s raw binary.
Core Application Software Activities Ian Fisk US-CMS Physics Meeting April 20, 2001.
Usage of the Python Programming Language in the CMS Experiment Rick Wilkinson (Caltech), Benedikt Hegner (CERN) On behalf of CMS Offline & Computing 1.
FCC Software Status Report from a User’s Perspective Colin Bernet (IPNL) 18 March 2015 Code Contributors: Michele De Gruttola, Benedikt Hegner, Clément.
Starting Chapter 4 Starting. 1 Course Outline* Covered in first half until Dr. Li takes over. JAVA and OO: Review what is Object Oriented Programming.
Bob Jacobsen August 6 Informal discussion of BaBar software BaBar offline code’s ecological niche Set of non-overlapping idioms Event - our software bus?
Advanced PI Calculation Engine Makes Complex PI Calculations Easy! Use of EDICTvb for Multi-Plant Advanced PI Calculations Dane OverfieldEXELE Information.
Grob Systems, Inc., the customer, requires an industrial computer system that will have a function of acquiring raw data, processing the data, presenting.
FLUKA GUI Status FLUKA Meeting CERN, 10/7/2006.
Introduction Advantages/ disadvantages Code examples Speed Summary Running on the AOD Analysis Platforms 1/11/2007 Andrew Mehta.
1 Control Software (CAT) Introduction USB Interface implementation Calorimeter Electronics Upgrade Meeting Frédéric Machefert Wednesday 5 th May, 2010.
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.
Update on the new reconstruction software F. Noferini E. Fermi center INFN CNAF EEE Analysis Meeting - 15/06/20151.
A Technical Validation Module for the offline Auger-Lecce, 17 September 2009  Design  The SValidStore Module  Example  Scripting  Status.
Framework for MDO Studies Amitay Isaacs Center for Aerospace System Design and Engineering IIT Bombay.
Object Oriented Software Development
9-13/9/03 Atlas Overview WeekPeter Sherwood 1 Atlfast, Artemis and Atlantis What, Where and How.
1 Software tools for GLC studies Akiya Miyamoto KEK 20 April, 2004 Representing ACFA-Sim Group
JETS 1 Konstantinos Kousouris Fermilab USCMS JTERM III.
Argonne Jamboree January 2010 Esteban Fullana AOD example analysis.
Java Analysis Studio and the hep.lcd class library Mike Ronan - LBNL Joanne Bogart, Gary Bower, Tony Johnson - SLAC Nick Sinev - Oregon Don Benton - U.
CBM ECAL simulation status Prokudin Mikhail ITEP.
MVC WITH CODEIGNITER Presented By Bhanu Priya.
Calibration hits in Jets A proposal for a package analyzing calibration hits inside reconstructed jets Pierre–Antoine Delsart Mohsen Kharzad & Rachid Mazini.
INFSO-RI Enabling Grids for E-sciencE Using of GANGA interface for Athena applications A. Zalite / PNPI.
David Berge – CAT Physics Meeting – 9 May Summary Hadronic Calibration Workshop 3 day workshop 14 to 16 March 2008 in Tucson, Arizona
DZero Monte Carlo Production Ideas for CMS Greg Graham Fermilab CD/CMS 1/16/01 CMS Production Meeting.
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.
VIEWS b.ppt-1 Managing Intelligent Decision Support Networks in Biosurveillance PHIN 2008, Session G1, August 27, 2008 Mohammad Hashemian, MS, Zaruhi.
Joe Foster 1 This talk extends the one I gave in 2006 called Visualizing Data with ROOT. –
CU Student Organizer Trey McAlhany CPSC 482 Mobile Software Development Clemson University April 7, 2015.
An AOD analysis example Esteban Fullana Torregrosa High Energy Physics Division Argonne National Laboratory.
Status of Analysis Software for FCC-ee Studies Colin Bernet (IPNL) FCC-ee Higgs Workshop 24th of September,
HYDRA Framework. Setup of software environment Setup of software environment Using the documentation Using the documentation How to compile a program.
Update on the new reconstruction software F. Noferini E. Fermi center INFN CNAF EEE Analysis Meeting - 28/09/20151.
Interaction and Animation on Geolocalization Based Network Topology by Engin Arslan.
Cake PHP – OOPS approach for PHP
Skimming in Zztop Ricardo – SLT meeting.
CMPT 201 Computer Science II for Engineers
AOD example analysis Argonne Jamboree January 2010
Dispatcher Phoenix Is…
Software Architecture ATAM Process Presentation
CMS High Level Trigger Configuration Management
Introduction to Advanced Java Programming
FCC Software Status Readiness for FCC-ee Physics
Outline SOAP and Web Services in relation to Distributed Objects
Spark Presentation.
T2 Jet Reconstruction Studies
Outline SOAP and Web Services in relation to Distributed Objects
Introduction to Systems Analysis and Design
Welcome to E-Prime E-Prime refers to the Experimenter’s Prime (best) development studio for the creation of computerized behavioral research. E-Prime is.
Use of Mathematics using Technology (Maltlab)
Linear Collider Simulation Tools
Chapter 2: The Linux System Part 1
What's New in eCognition 9
Peter Loch University of Arizona Tucson, Arizona USA
Jupiter and Satellites
Dtk-tools Benoit Raybaud, Research Software Manager.
Linear Collider Simulation Tools
ROOT Support and Developments at FNAL
What's New in eCognition 9
Peter Loch University of Arizona Tucson, Arizona USA
Web Application Development Using PHP
Presentation transcript:

Pierre-Antoine Delsart Kurtis L. Geerlings & Joey Huston SpartyJet Generic routines for Jet analysis (this is Sparty!) Pierre-Antoine Delsart LAPP (IN2P3, Annecy) Kurtis L. Geerlings & Joey Huston Michigan State University

Introduction Goal : Give physicists a common set of c++ routines to ease : analysis with jets Jet algorithm comparison Jet algorithm development We created it trying to make it Fast to run (no need of heavy framework, compiled code) Easy to use (driven through ROOT scripts) Flexible (adapt to any input – allow in-depth analysis)

How it works Design inspired by Atlas Jet software SpartyJet Objects Jet ~HepLorentzVector with constituents JetMomentMap : associate any quantity to a jet JetCollection Algorithm flow Input Classes Interfaces to read any kind of input into SpartyJet format Jet Sequence classes Each jet algo is a sequence of operation (preselection, jet finding, moment calculation, etc...) on a jet list Output classes ROOT Ntuple Everything is very modular ⇒ flexible We provide wrapper class/functions (JetBuilder ,getJets()) ⇒ easy to use

Main Classes Reads a input collection of 4-vectors initial jets list InputMaker Main Classes fillInput(int eventn, Jet::jet_list_t &inputList) Reads a input collection of 4-vectors initial jets list JetAlgorithm addTool(JetTool * tool); execute(Jet::jet_list_t &inputJets, Jet::jet_list_t &outputJets); Example implementation : passes jets list through a list of JetTools NtupleInputMaker TextInputMaker HepMCInput StdHepInput NtupleMaker addJetVar(std::string jetname); set_data(std::string jetname, Jet::jet_list_t &theJets); Handle ntuple creation for arbitrary number of jet collection identified by names.

Main Classes Reads a input collection of 4-vectors initial jets list InputMaker Main Classes fillInput(int eventn, Jet::jet_list_t &inputList) Reads a input collection of 4-vectors initial jets list JetAlgorithm JetTool a base class. addTool(JetTool * tool); execute(Jet::jet_list_t &inputJets, Jet::jet_list_t &outputJets); Example implementation : execute(Jet::jet_list_t &inputJets) passes jets list through a list of JetTools modifies the input jet list NtupleInputMaker Example sequence : TextInputMaker JetTool JetSelectorTool HepMCInput jets list StdHepInput MinBiasInserterTool jets list JetKtFinderTool jets list JetSelectorTool NtupleMaker addJetVar(std::string jetname); set_data(std::string jetname, Jet::jet_list_t &theJets); The only place where jet algs are actually implemented. Simply inherit from JetTool and plug implementation in execute() Handle ntuple creation for arbitrary number of jet collection identified by names.

Example of use 1st step : configure input - All code is compiled into libraries loadable into ROOT - Easiest way of running : through ROOT scripts 1st step : configure input // This is the main class JetBuilder builder; // configure an interface to the tree -------------- NtupleInputMaker input(NtupleInputMaker::EtaPhiPtE_vector_float); // give variable names input.set_prefix("cl_"); input.set_suffix("_caltopo"); input.set_variables("eta","phi","pt","e"); input.set_n_name("nc"); input.set_masslessMode(true); // consider clusters as massless // Give a name to input : input.set_name("InputJet"); // give input file and tree names input.setFileTree("data/AtlasClustersJ5.root", "CollectionTree"); // Finally assign input class to the builder builder.configure_input((InputMaker*)&input); // ------------------------------------------------ Instanciate a builder class Configure an input class (set variable names, TTree and file name) Associate input class to JetBuilder

Example of use II 2nd step : schedule jet algorithms 3rd step : Run // Schedule 2 algorithms -------------------------------- // instanciate a jet finder tool, configure it and add it to the builder atlas::FastKtTool * fastkt = new atlas::FastKtTool("FastKt"); fastkt->simple_config("Standard",0.7) ; builder.add_default_alg(fastkt); atlas::ConeFinderTool * coneF = new atlas::ConeFinderTool("ConeFinder"); coneF->set_config(0.7,2*GeV,0.5); builder.add_default_alg(coneF); // ------------------------------------------------ 3rd step : Run // Other settings --------------------------------- // configure min Pt cuts for input and output jets builder.set_default_cut(0,2*GeV); // Give final file and tree name builder.configure_output("myTree","out.root"); // ------------------------------------------------ // Run !! ------------------------------------------ builder.process_events(10);

What’s available now List of Algorithms : CDF JetClu MidPoint ATLAS standard algorithms: Cone Kt (fast version) D0 Cone Pythia’s CellJet FastJet algorithms ( from G. Salam, and M. Cacciari) FastKt Seedless Cone (SISCone) - Will be the core software for jet algorithms of CMS, CDF, Atlas (before 2008) ... (maybe D0?) - SpartyJet has full support for algorithms and Jet areas + all variants, fully parameterizable

What’s available now List of Algorithms : CDF JetClu MidPoint ATLAS standard algorithms: Cone Kt (fast version) D0 Cone Pythia’s CellJet FastJet algorithms ( from G. Salam, and M. Cacciari) FastKt Seedless Cone (SISCone) - Will be the core software for jet algorithms of CMS, CDF, Atlas (before 2008) ... (maybe D0?) - SpartyJet has full support for algorithms and Jet areas Also Available : Jet Moment framework jet Areas, angular moment Ysplitter eventshape framework Jets constituents Timing + all variants, fully parameterizable

Working with SpartyJet SpartyJet Interactive (recommended) We provide : ROOT scripts examples PyROOT scripts example ROOT dictionaries : access to any class from ROOT session SpartyJet standalone We provide Makefiles to compile standalone executables Analyzing SpartyJet results Results are simple ROOT ntuple We provide analysis/visualization scripts Developing with SpartyJet Skeleton class for adding one’s own jet algorithm Source code is provided, hopefully readable ... feel free to hack...

Illustrations Multiple Pt distribution Many algorithms Sample used : J5 Dijets events

Event visualization : jets positions

Jet constituents and jets positions J5 sample with min-bias Phi Eta

Snowmass Jet Potential Eta Phi

Future plans SpartyJet is already used in Atlas and CDF We plan to have it accepted as Official analysis tool in Atlas Official tool in CDF The core software is stable We're working improving some aspects : Adding moments, event shapes Developing Jet algorithms Visualization tools : working on a simple GUI 'Live' jet finding

Jets exploration is made easy thanks to SpartyJet Try it out ! Jets exploration is made easy thanks to SpartyJet Documentation, downloads: www.pa.msu.edu/~huston/SpartyJet/SpartyJet.html Questions/Comments are very welcome ! contact the authors