SlideShare a Scribd company logo
1 of 30
Download to read offline
Eduardo Rodrigues, Henry Schreiner
University of Cincinnati , Princeton University
Particles and decays
in the Scikit-HEP project
IRIS-HEP AS workshop, 19th June 2019
PDG particle data
and identification codes
Parse decay files, describe
and convert particle decays
between digital
representations
IRIS-HEP AS Workshop, 19th June 2019 2/22Henry Schreiner and Eduardo Rodrigues
The grand picture – the Scikit-HEP project
InteroperabilityReproducibility
Collaboration
 Create an ecosystem for particle physics data analysis in Python
 Initiative to improve the interoperability between HEP tools
and the scientific ecosystem in Python
- Expand the typical toolkitset for particle physicists
- Set common APIs and definitions to ease “cross-talk”
 Initiative to build a community of developers and users
- Community-driven and community-oriented project
 Effort to improve discoverability of relevant tools
Sustainability
IRIS-HEP AS Workshop, 19th June 2019 3/22Henry Schreiner and Eduardo Rodrigues
Who uses (some of) Scikit-HEP ?
PDG particle data
and identification codes
IRIS-HEP AS Workshop, 19th June 2019 5/22Henry Schreiner and Eduardo Rodrigues
Particle package – motivation
 The Particle Data Group (PDG) provides a downloadable table of particle masses, widths, charges
and Monte Carlo particle ID numbers (PDG IDs)
- Most recent file here
 It also provided an experimental file with extended information (spin, quark content, P and C parities, etc.)
until 2008 only, see here (not widely known!)
 But anyone wanting to use these data, the only readily available, has to parse the file programmatically
 Why not make a Python package to deal with all these data, for everyone?
 The C++ HepPID and HepPDT libraries provide functions for processing particle ID codes
in the standard particle (aka PDG) numbering scheme
 Different event generators have their separate set of particle IDs: Pythia, EvtGen, etc.
 Again, why not make a package providing all functionality/conversions, Python-ically, for everyone?
IRIS-HEP AS Workshop, 19th June 2019 6/22Henry Schreiner and Eduardo Rodrigues
Particle package – overview
 Pythonic interface to
PDG particle data table
and
particle identification codes
 With extra goodies
 2 separate submodules
 Comprehensive documentation (docstrings)
 Continuous Integration (CI): extensive tests for excellent test coverage
- In packages such as these, tests should target both the code itself but also the physics it deals with!
 We use Azure DevOps
- Seamlessly test on Linux, macOS and Windows
IRIS-HEP AS Workshop, 19th June 2019 7/22Henry Schreiner and Eduardo Rodrigues
Particle package – PDG IDs module overview
 Process and query PDG IDs, and more – no look-up table needed
- Current version of package reflects the latest version of the HepPID & HepPDT utility functions defined in
the C++ HepPID and HepPDT versions 3.04.01
- It contains more functionality than that available in the C++ code … and minor fixes too
 Definition of a PDGID class, PDG ID literals,
and set of standalone HepPID functions to query PDG IDs
(is_meson, has_bottom, j_spin, charge, etc.)
- All PDGID class functions are available standalone
 PDG ID queries also available on the command line
 PDGID class
- Wrapper class for PDG IDs
- Behaves like an int, with extra goodies
- Large spectrum of properties and methods,
i.e. the functions defined in the HepPID and HepPDT
C++ libraries, with a Pythonic interface, and yet more
- To print them all:
IRIS-HEP AS Workshop, 19th June 2019 8/22Henry Schreiner and Eduardo Rodrigues
Particle package – particle module overview
 Simple and natural API to deal with the PDG particle data table, with powerful look-up and search utilities
 Definition of a Particle class and particle name literals
- Typical queries should be, and are, 1-liners
 Advanced usage: ability to specify or build a particle data table, conversion tools
 Particle / PDG ID searches available on the command line too
IRIS-HEP AS Workshop, 19th June 2019 9/22Henry Schreiner and Eduardo Rodrigues
Particle package – data files
 All data files stored under particle/data/
 PDG particle data files
- Original PDG data files, which are in a fixed-width format
- Code uses “digested forms” of the PDG files, stored as CSV, for optimised querying
- Latest PDG data used by default (2019 at present)
- Advanced usage: user can load older PDG table, load a “user table” with new particles, append to default table
 Other data files
- CSV file for mapping of PDG IDs to particle LaTeX names
…
…
IRIS-HEP AS Workshop, 19th June 2019 10/22Henry Schreiner and Eduardo Rodrigues
Particle package – particle look-up
 Particle class
- Standard look-up via from_pdgid(…)
- Various other from_X(…)
methods exist
 - Large spectrum of
properties and methods:
- Get particle properties
- Deal with underlying particle table
- Powerful search engine …
 Particle literals
- Easily recognizable names for manipulations,
e.g. in plots
IRIS-HEP AS Workshop, 19th June 2019 11/22Henry Schreiner and Eduardo Rodrigues
Particle package – powerful particle search
 Particle.find(…) – search a single match (exception raised if multiple particles match the search specifications)
 Particle.findall(…) – search a list of candidates
 Powerful search methods
that can query any particle property!
 One-line queries
 E.g., trivially find all pseudoscalar charm mesons:
IRIS-HEP AS Workshop, 19th June 2019 12/22Henry Schreiner and Eduardo Rodrigues
Particle package – future directions & developments
 Addition of particle IDs and names relevant to other MC programs
- (Yes, not consistent across programs!)
- Useful IDs such as those used in PYTHIA, Geant and EvtGen
 Bring in other communities where Particle is / can be relevant
- Ongoing discussions with astroparticle physics community
- Particle IDs used in EPOS, CORSIKA, DpmJet, QGSJet, Sybill, UrQMD, …
 Ongoing discussions with PDG group
- Provide the right tool
- Can we provide more?
- Stay tuned …
Parse decay files, describe and
convert particle decays
between digital representations
IRIS-HEP AS Workshop, 19th June 2019 14/22Henry Schreiner and Eduardo Rodrigues
DecayLanguage package – motivation and overview
Motivation
 Ability to describe decay-tree-like structures
 Provide a translation of decay amplitude models from AmpGen to GooFit
- Idea is to generalise this to other decay descriptions
 Any experiment uses event generators which, among many things, need to describe particle decay chains
 Programs such as EvtGen rely on so-called .dec decay files
 Many experiments need decay data files
 Why not make a Python package to deal with decay files, for everyone?
Overview
 Tools to parse decay files and programmatically manipulate them, query, display information
- Descriptions and parsing built atop the Lark parser
 Tools to translate decay amplitude models from AmpGen to GooFit, and manipulate them
Library and set of applications for fitting and
generating
multi-body particle decays using the isobar model
IRIS-HEP AS Workshop, 19th June 2019 15/22Henry Schreiner and Eduardo Rodrigues
DecayLanguage package – decay files
“Master file” DECAY.DEC
 Gigantic file defining decay modes for all relevant particles,
including decay model specifications
 LHCb example:
~ 450 particle decays, thousands of decay modes,
over 11k lines in total
User .dec files
 Needed to produce specific MC samples
 Typically contain a single decay chain
(except if defining inclusive samples)
Define dm 0.507e12
...
Alias B0sig B0
Alias anti-B0sig anti-B0
ChargeConj B0sig anti-B0sig
...
Decay pi0
0.988228297 gamma gamma PHSP;
0.011738247 e+ e- gamma PI0_DALITZ;
0.000033392 e+ e+ e- e- PHSP;
0.000000065 e+ e- PHSP;
Enddecay
...
CDecay tau+
...
# Decay file for [B_c+ -> (B_s0 -> K+ K-) pi+]cc
Alias B_c+sig B_c+
Alias B_c-sig B_c-
ChargeConj B_c+sig B_c-sig
Alias MyB_s0 B_s0
Alias Myanti-B_s0 anti-B_s0
ChargeConj MyB_s0 Myanti-B_s0
Decay B_c+sig
1.000 MyB_s0 pi+ PHOTOS PHSP;
Enddecay
CDecay B_c-sig
Decay MyB_s0
1.000 K+ K- SSD_CP 20.e12 0.1 1.0 0.04 9.6 -0.8 8.4 -0.6;
Enddecay
CDecay Myanti-B_s0
IRIS-HEP AS Workshop, 19th June 2019 16/22Henry Schreiner and Eduardo Rodrigues
DecayLanguage package – decay file parsing and display
 Parsing should be simple
- Expert users can configure parser choice and settings, etc.
 Parsing should be (reasonably) fast
- Example of LHCb’s master DECAY.DEC file:
Over 11k lines in total, ~ 450 particle decays, ~60 charge-conjugate decays created on-the-fly (‘CDecay’ statements),
thousands of decay modes
 After parsing, many queries are possible
 One can also visualise decay chains … 
IRIS-HEP AS Workshop, 19th June 2019 17/22Henry Schreiner and Eduardo Rodrigues
Decay chain – simplest view with no sub-decays shown
Decay D*+
0.6770 D0 pi+ VSS;
0.3070 D+ pi0 VSS;
0.0160 D+ gamma VSP_PWAVE;
Enddecay
Decay D*-
0.6770 anti-D0 pi- VSS;
0.3070 D- pi0 VSS;
0.0160 D- gamma VSP_PWAVE;
Enddecay
Decay D0
1.0 K- pi+ PHSP;
Enddecay
Decay D+
1.0 K- pi+ pi+ pi0 PHSP;
Enddecay
Decay pi0
0.988228297 gamma gamma PHSP;
0.011738247 e+ e- gamma PI0_DALITZ;
0.000033392 e+ e+ e- e- PHSP;
0.000000065 e+ e- PHSP;
Enddecay
(Considered by itself, this file in in fact incomplete,
as there are no instructions on how to decay the anti-D0 and the D-.
Good enough for illustration purposes, though.)
IRIS-HEP AS Workshop, 19th June 2019 18/22Henry Schreiner and Eduardo Rodrigues
Decay chain – p0 decays displayed
IRIS-HEP AS Workshop, 19th June 2019 19/22Henry Schreiner and Eduardo Rodrigues
Decay chain – full view
IRIS-HEP AS Workshop, 19th June 2019 20/22Henry Schreiner and Eduardo Rodrigues
DecayLanguage package – conversion of decay models / representations
 Decay chains
- A universal modelling of decay chains would profit many use cases,
e.g. description of components for amplitude analyses
 Present code understands AmpGen syntax and can generate code for the GooFit fitter
 Note:
makes use of the Particle package
IRIS-HEP AS Workshop, 19th June 2019 21/22Henry Schreiner and Eduardo Rodrigues
DecayLanguage package – future directions & developments
Decay files
 Streamline and enhance the .dec parser
- Ex.: syntax such as
p.find_decay_chains(final_state=[‘K+’, ‘K-’, ‘pi+’, ‘pi-’], extra_particles=[‘pi0’])
could be a neat/trivial way to query the master DECAY.DEC and
“find all decay chains leading to either ‘K+ K- pi+ pi-’ or ‘K+ K- pi+ pi- pi0’”
 Provide a universal description and visualisation of decay trees (a lot done on this in the last week …)
- We already have customers interested, e.g. visualisation of decays in pyhepmc
Decay models / representations
 Implement more backend formats: GooFit in Python, etc.
 Longer term – implement decay logic inside model descriptions
- Provide a reference for other packages
IRIS-HEP AS Workshop, 19th June 2019 22/22Henry Schreiner and Eduardo Rodrigues
Interested ? Want to try it ?
Particle
 GitHub: https://github.com/scikit-hep/particle/
 Releases: PyPI
 Kindly recognise software work – cite us:
DecayLanguage
 GitHub: https://github.com/scikit-hep/decaylanguage
 Releases: PyPI
Scikit-HEP project
 GitHub: https://github.com/scikit-hep/
 Website: http://scikit-hep.org/
 Get in touch: http://scikit-hep.org/get-in-touch.html
See interactive demos:
- Particle
- DecayLanguage
1/4
AmpGen is a library for tting and
generating multibody particle decays.
Takes a decay chain representation and
converts into fast, low-level code.
Fairly agnostic about the types of particles in
the initial / nal state (pseudoscalars, NEW
fermions, photons ...)
No hard limit on number of particles in the
nal state, practically, more than about six
bodies is a dicult.
Classic three-body (pseudoscalar) decays are
a two-body problem (A Dalitz plot).
Four-body decays are a ve-dimensional
problem =⇒ only unbinned ts are practical.
Speed is critical as already have O(106)
candidates in many channels, and expecting
10 → 50× these yields by 2030.
For a typical four-body amplitude, can
perform ∼ 106evaluations/s/core on consumer
laptop.
Part of the GooFit organisation on GitHub.
High Level Code
Low Level Code
Decay chain representation
Decay descriptors:
2/4
More on the user interface
User species couplings between dierent particles, either partially or as full decay chains, for
example:
D0{K*(892)bar0,rho(770)0}
Couples a D0 meson to a pair of vectors, then if you add the couplings:
K*(892)bar0{K-,pi+}
K*(892)bar0{K0S0,pi0}
K*(892)bar0{K0L0,pi0}
rho(770){pi+,pi-}
You can generate the amplitude coupling the D0 meson to the various nal states.
You can add additional orbital couplings as
D0[P]{K*(892)bar0,rho(770)0}
D0[D]{K*(892)bar0,rho(770)0}
Which will be coherently summed to give the total amplitude, mod-squared to give the
dierential rate:
P(ψ)dψ ∝
i
giAi(ψ)
2
dψ (1)
3/4
Developments this year
Big development is the inclusion of spin-half
particles in the initial/nal state.
Have to deal with additional spin-indicies in
the probability / need to incoherently sum the
dierent spin congurations.
In general, this leads to a rate equation that
looks like (for an initial state polarised as ˆρ
P (ψ, ˆρ) dψ =
ll
glgl
imm
(δmm +σmm ˆρ)Al
mi(ψ) Al
m i(ψ)
∗
(2)
A tricky thing to calculate (and normalise)
eciently!
Toy examples
Λb → Λpp with intermediate spin-3/4
contributions:
2.5 3 3.5 4 4.5
mΛp [GeV/c2
]
0
0.5
1
1.5
2
2.5
3
3.5
4
4.5
×103
Entries/(0.03GeV/c2
)
2 2.5 3 3.5 4 4.5
mpp [GeV/c2
]
0
2
4
6
8
10
12
14
16
18
20
22
24
×103
Entries/(0.03GeV/c2
)
B → pppp
10
20
30
40
50
10 15
sppp
8
10
12
14
16
18
sppp
4/4
Future developments
With some minor modications, can generate Cuda kernels that can be integrated into GooFit
Evaluate amplitude D0 → K∗
2 (1430)0 [K−π+] π0 on 8.4 million events with 1 CPU core (i7-8550U
CPU @ 1.80GHz) vs 1 GPU (GeForce GTX 1050M)
GPU version is about a factor of two faster than the OpenMP version (i.e. using 8 cores rather
than 1 for the CPU version). Further tuning of the code generator has given another factor of
2 → 3 compared to what is shown here.
1 2 3
sK−π+ GeV2
/c4
0.5
1
1.5
2
2.5
3
sK−π0GeV2
/c4
CPU ∼ 1300ms
1 2 3
sK−π+ GeV2
/c4
0.5
1
1.5
2
2.5
3
sK−π0GeV2
/c4
GPU ∼ 89ms
Additional notes
Cincinnati
• Future work in GooFit: line shapes/spinfactor system, 𝐾 𝑠 𝜋𝜋, support AmpGen baryonic
decays - may not be done in a year
• Daniel Vieira starts in October
Princeton - Henry
• ROOT Conda-Forge
• Some further work on fitting (GooFit and others)
1/1Henry Schreiner Other projects June 19, 2019
Back-up
IRIS-HEP AS Workshop, 19th June 2019 24/22Henry Schreiner and Eduardo Rodrigues
 PDGID literals
- Provide (PDGID class) aliases
for the most common particles,
with easily recognisable names
 All is consistent. Ex.:
Particle package – PDG identification code literals
 Literals: handy way to manipulate things with human-readable names
IRIS-HEP AS Workshop, 19th June 2019 25/22Henry Schreiner and Eduardo Rodrigues
DecayLanguage package – Lark parser grammar for decay files
start : _NEWLINE? (line _NEWLINE)+ (End _NEWLINE)?
?line : define | pythia_def | alias | chargeconj | commands | decay | cdecay | setlspw
pythia_def : PythiaBothParam LABEL : LABEL = (LABEL | SIGNED_NUMBER)
setlspw : SetLineshapePW label label label value
cdecay : CDecay label
define : Define label value
alias : Alias label label
chargeconj : ChargeConj label label
?commands : global_photos
global_photos : boolean_photos
boolean_photos : yesPhotos - yes
| noPhotos - no
decay : Decay particle _NEWLINE decayline+ Enddecay
decayline : value particle* photos? model _NEWLINE // There is always a ; here
value : SIGNED_NUMBER
photos : PHOTOS
label : LABEL
particle : LABEL // Add full particle parsing here
model : MODEL_NAME model_options?
model_options : (value | LABEL)+
%import common.WS_INLINE
%import common.SIGNED_NUMBER
// New lines filter our comments too, and multiple new lines
_NEWLINE: ( /r?n[t ]*/ | COMMENT )+
MODEL_NAME.2 : BaryonPCR|BTO3PI_CP|BTOSLLALI|BTOSLLBALL|BTOXSGAMMA|BTOXSLL| ...
LABEL : /[a-zA-Z0-9/-+*_()']+/
COMMENT : /[;#][^n]*/
// We should ignore comments
%ignore COMMENT
// Disregard spaces in text
%ignore WS_INLINE
 Decay file parser
grammar:
decfile.lark !
 This file is enough
to parse and
understand
decay files

More Related Content

What's hot

IRIS-HEP: Boost-histogram and Hist
IRIS-HEP: Boost-histogram and HistIRIS-HEP: Boost-histogram and Hist
IRIS-HEP: Boost-histogram and HistHenry Schreiner
 
IRIS-HEP Retreat: Boost-Histogram Roadmap
IRIS-HEP Retreat: Boost-Histogram RoadmapIRIS-HEP Retreat: Boost-Histogram Roadmap
IRIS-HEP Retreat: Boost-Histogram RoadmapHenry Schreiner
 
PEARC17: Modernizing GooFit: A Case Study
PEARC17: Modernizing GooFit: A Case StudyPEARC17: Modernizing GooFit: A Case Study
PEARC17: Modernizing GooFit: A Case StudyHenry Schreiner
 
PyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming PackagesPyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming PackagesHenry Schreiner
 
CHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram librariesCHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram librariesHenry Schreiner
 
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big DataABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big DataHitoshi Sato
 
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合Hitoshi Sato
 
Building Software Ecosystems for AI Cloud using Singularity HPC Container
Building Software Ecosystems for AI Cloud using Singularity HPC ContainerBuilding Software Ecosystems for AI Cloud using Singularity HPC Container
Building Software Ecosystems for AI Cloud using Singularity HPC ContainerHitoshi Sato
 
Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11corehard_by
 
Japan Lustre User Group 2014
Japan Lustre User Group 2014Japan Lustre User Group 2014
Japan Lustre User Group 2014Hitoshi Sato
 
150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentation150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentationTakayuki Nuimura
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話Kohei Tokunaga
 
GPU Accelerated Data Science with RAPIDS - ODSC West 2020
GPU Accelerated Data Science with RAPIDS - ODSC West 2020GPU Accelerated Data Science with RAPIDS - ODSC West 2020
GPU Accelerated Data Science with RAPIDS - ODSC West 2020John Zedlewski
 
Jupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at ScaleJupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at ScaleMatthias Bussonnier
 
Graph operations in Git version control system
Graph operations in Git version control systemGraph operations in Git version control system
Graph operations in Git version control systemJakub Narębski
 

What's hot (20)

IRIS-HEP: Boost-histogram and Hist
IRIS-HEP: Boost-histogram and HistIRIS-HEP: Boost-histogram and Hist
IRIS-HEP: Boost-histogram and Hist
 
IRIS-HEP Retreat: Boost-Histogram Roadmap
IRIS-HEP Retreat: Boost-Histogram RoadmapIRIS-HEP Retreat: Boost-Histogram Roadmap
IRIS-HEP Retreat: Boost-Histogram Roadmap
 
PEARC17: Modernizing GooFit: A Case Study
PEARC17: Modernizing GooFit: A Case StudyPEARC17: Modernizing GooFit: A Case Study
PEARC17: Modernizing GooFit: A Case Study
 
PyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming PackagesPyHEP 2019: Python Histogramming Packages
PyHEP 2019: Python Histogramming Packages
 
PyHEP 2019: Python 3.8
PyHEP 2019: Python 3.8PyHEP 2019: Python 3.8
PyHEP 2019: Python 3.8
 
CHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram librariesCHEP 2019: Recent developments in histogram libraries
CHEP 2019: Recent developments in histogram libraries
 
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big DataABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
ABCI: AI Bridging Cloud Infrastructure for Scalable AI/Big Data
 
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
AI橋渡しクラウド(ABCI)における高性能計算とAI/ビッグデータ処理の融合
 
Building Software Ecosystems for AI Cloud using Singularity HPC Container
Building Software Ecosystems for AI Cloud using Singularity HPC ContainerBuilding Software Ecosystems for AI Cloud using Singularity HPC Container
Building Software Ecosystems for AI Cloud using Singularity HPC Container
 
Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11Mixing C++ & Python II: Pybind11
Mixing C++ & Python II: Pybind11
 
Japan Lustre User Group 2014
Japan Lustre User Group 2014Japan Lustre User Group 2014
Japan Lustre User Group 2014
 
150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentation150810 ilts workshop_handson_presentation
150810 ilts workshop_handson_presentation
 
BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話BuildKitでLazy Pullを有効にしてビルドを早くする話
BuildKitでLazy Pullを有効にしてビルドを早くする話
 
Using HDF5 and Python: The H5py module
Using HDF5 and Python: The H5py moduleUsing HDF5 and Python: The H5py module
Using HDF5 and Python: The H5py module
 
GPU Accelerated Data Science with RAPIDS - ODSC West 2020
GPU Accelerated Data Science with RAPIDS - ODSC West 2020GPU Accelerated Data Science with RAPIDS - ODSC West 2020
GPU Accelerated Data Science with RAPIDS - ODSC West 2020
 
Implementation of HDF-EOS5 and HDF5 into NCL
Implementation of HDF-EOS5 and HDF5 into NCLImplementation of HDF-EOS5 and HDF5 into NCL
Implementation of HDF-EOS5 and HDF5 into NCL
 
Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL
Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCLVisualizing and Analyzing HDF-EOS5 and HDF5 data with NCL
Visualizing and Analyzing HDF-EOS5 and HDF5 data with NCL
 
Jupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at ScaleJupyter, A Platform for Data Science at Scale
Jupyter, A Platform for Data Science at Scale
 
Graph operations in Git version control system
Graph operations in Git version control systemGraph operations in Git version control system
Graph operations in Git version control system
 
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
MAVRL Workshop 2014 - Python Materials Genomics (pymatgen)
 

Similar to 2019 IRIS-HEP AS workshop: Particles and decays

Delivering Agile Data Science on Openshift - Red Hat Summit 2019
Delivering Agile Data Science on Openshift  - Red Hat Summit 2019Delivering Agile Data Science on Openshift  - Red Hat Summit 2019
Delivering Agile Data Science on Openshift - Red Hat Summit 2019John Archer
 
3rd 3DDRESD: DRESD Future Plan 0809
3rd 3DDRESD: DRESD Future Plan 08093rd 3DDRESD: DRESD Future Plan 0809
3rd 3DDRESD: DRESD Future Plan 0809Marco Santambrogio
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021Gérard Dupont
 
Connecting GLIMR with the BIDS initiative
Connecting GLIMR with the BIDS initiativeConnecting GLIMR with the BIDS initiative
Connecting GLIMR with the BIDS initiativeRobert Oostenveld
 
Scientific Computing @ Fred Hutch
Scientific Computing @ Fred HutchScientific Computing @ Fred Hutch
Scientific Computing @ Fred HutchDirk Petersen
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)IJERD Editor
 
5th Content Providers Community Call
5th Content Providers Community Call5th Content Providers Community Call
5th Content Providers Community CallOpenAIRE
 
NordForsk Open Access Reykjavik 14-15/8-2014:Rda
NordForsk Open Access Reykjavik 14-15/8-2014:RdaNordForsk Open Access Reykjavik 14-15/8-2014:Rda
NordForsk Open Access Reykjavik 14-15/8-2014:RdaNordForsk
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational WorkflowsCarole Goble
 
ownR platform extended technical introduction
ownR platform extended technical introductionownR platform extended technical introduction
ownR platform extended technical introductionFunctional Analytics
 
ownR extended technical introduction
ownR extended technical introductionownR extended technical introduction
ownR extended technical introductionFunctional Analytics
 
ArrayUDF: User-Defined Scientific Data Analysis on Arrays
ArrayUDF: User-Defined Scientific Data Analysis on ArraysArrayUDF: User-Defined Scientific Data Analysis on Arrays
ArrayUDF: User-Defined Scientific Data Analysis on ArraysGoon83
 
FIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software ComponentsFIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software ComponentsFIWARE
 
Software tools for high-throughput materials data generation and data mining
Software tools for high-throughput materials data generation and data miningSoftware tools for high-throughput materials data generation and data mining
Software tools for high-throughput materials data generation and data miningAnubhav Jain
 
Software tools to facilitate materials science research
Software tools to facilitate materials science researchSoftware tools to facilitate materials science research
Software tools to facilitate materials science researchAnubhav Jain
 
Linked Open Data (LOD) part 2
Linked Open Data (LOD)  part 2Linked Open Data (LOD)  part 2
Linked Open Data (LOD) part 2IPLODProject
 
FAIR Workflows and Research Objects get a Workout
FAIR Workflows and Research Objects get a Workout FAIR Workflows and Research Objects get a Workout
FAIR Workflows and Research Objects get a Workout Carole Goble
 
PaNOSC Overview - ExPaNDS kick-off meeting - September 2019
PaNOSC Overview - ExPaNDS kick-off meeting - September 2019PaNOSC Overview - ExPaNDS kick-off meeting - September 2019
PaNOSC Overview - ExPaNDS kick-off meeting - September 2019PaNOSC
 

Similar to 2019 IRIS-HEP AS workshop: Particles and decays (20)

Delivering Agile Data Science on Openshift - Red Hat Summit 2019
Delivering Agile Data Science on Openshift  - Red Hat Summit 2019Delivering Agile Data Science on Openshift  - Red Hat Summit 2019
Delivering Agile Data Science on Openshift - Red Hat Summit 2019
 
3rd 3DDRESD: DRESD Future Plan 0809
3rd 3DDRESD: DRESD Future Plan 08093rd 3DDRESD: DRESD Future Plan 0809
3rd 3DDRESD: DRESD Future Plan 0809
 
Tds — big science dec 2021
Tds — big science dec 2021Tds — big science dec 2021
Tds — big science dec 2021
 
Connecting GLIMR with the BIDS initiative
Connecting GLIMR with the BIDS initiativeConnecting GLIMR with the BIDS initiative
Connecting GLIMR with the BIDS initiative
 
Scientific Computing @ Fred Hutch
Scientific Computing @ Fred HutchScientific Computing @ Fred Hutch
Scientific Computing @ Fred Hutch
 
International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)International Journal of Engineering Research and Development (IJERD)
International Journal of Engineering Research and Development (IJERD)
 
5th Content Providers Community Call
5th Content Providers Community Call5th Content Providers Community Call
5th Content Providers Community Call
 
NordForsk Open Access Reykjavik 14-15/8-2014:Rda
NordForsk Open Access Reykjavik 14-15/8-2014:RdaNordForsk Open Access Reykjavik 14-15/8-2014:Rda
NordForsk Open Access Reykjavik 14-15/8-2014:Rda
 
Distributed Deep Learning + others for Spark Meetup
Distributed Deep Learning + others for Spark MeetupDistributed Deep Learning + others for Spark Meetup
Distributed Deep Learning + others for Spark Meetup
 
FAIR Computational Workflows
FAIR Computational WorkflowsFAIR Computational Workflows
FAIR Computational Workflows
 
ownR platform extended technical introduction
ownR platform extended technical introductionownR platform extended technical introduction
ownR platform extended technical introduction
 
ownR extended technical introduction
ownR extended technical introductionownR extended technical introduction
ownR extended technical introduction
 
ArrayUDF: User-Defined Scientific Data Analysis on Arrays
ArrayUDF: User-Defined Scientific Data Analysis on ArraysArrayUDF: User-Defined Scientific Data Analysis on Arrays
ArrayUDF: User-Defined Scientific Data Analysis on Arrays
 
FIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software ComponentsFIWARE Global Summit - IDS Implementation with FIWARE Software Components
FIWARE Global Summit - IDS Implementation with FIWARE Software Components
 
Software tools for high-throughput materials data generation and data mining
Software tools for high-throughput materials data generation and data miningSoftware tools for high-throughput materials data generation and data mining
Software tools for high-throughput materials data generation and data mining
 
Deep Hybrid DataCloud
Deep Hybrid DataCloudDeep Hybrid DataCloud
Deep Hybrid DataCloud
 
Software tools to facilitate materials science research
Software tools to facilitate materials science researchSoftware tools to facilitate materials science research
Software tools to facilitate materials science research
 
Linked Open Data (LOD) part 2
Linked Open Data (LOD)  part 2Linked Open Data (LOD)  part 2
Linked Open Data (LOD) part 2
 
FAIR Workflows and Research Objects get a Workout
FAIR Workflows and Research Objects get a Workout FAIR Workflows and Research Objects get a Workout
FAIR Workflows and Research Objects get a Workout
 
PaNOSC Overview - ExPaNDS kick-off meeting - September 2019
PaNOSC Overview - ExPaNDS kick-off meeting - September 2019PaNOSC Overview - ExPaNDS kick-off meeting - September 2019
PaNOSC Overview - ExPaNDS kick-off meeting - September 2019
 

More from Henry Schreiner

Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Henry Schreiner
 
Princeton RSE Peer network first meeting
Princeton RSE Peer network first meetingPrinceton RSE Peer network first meeting
Princeton RSE Peer network first meetingHenry Schreiner
 
Software Quality Assurance Tooling 2023
Software Quality Assurance Tooling 2023Software Quality Assurance Tooling 2023
Software Quality Assurance Tooling 2023Henry Schreiner
 
Princeton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance ToolingPrinceton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance ToolingHenry Schreiner
 
What's new in Python 3.11
What's new in Python 3.11What's new in Python 3.11
What's new in Python 3.11Henry Schreiner
 
Everything you didn't know you needed
Everything you didn't know you neededEverything you didn't know you needed
Everything you didn't know you neededHenry Schreiner
 
SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...
SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...
SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...Henry Schreiner
 
PyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packaging
PyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packagingPyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packaging
PyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packagingHenry Schreiner
 
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsPyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsHenry Schreiner
 
boost-histogram / Hist: PyHEP Topical meeting
boost-histogram / Hist: PyHEP Topical meetingboost-histogram / Hist: PyHEP Topical meeting
boost-histogram / Hist: PyHEP Topical meetingHenry Schreiner
 
Digital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meetingDigital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meetingHenry Schreiner
 
HOW 2019: Machine Learning for the Primary Vertex Reconstruction
HOW 2019: Machine Learning for the Primary Vertex ReconstructionHOW 2019: Machine Learning for the Primary Vertex Reconstruction
HOW 2019: Machine Learning for the Primary Vertex ReconstructionHenry Schreiner
 
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHenry Schreiner
 
ACAT 2019: A hybrid deep learning approach to vertexing
ACAT 2019: A hybrid deep learning approach to vertexingACAT 2019: A hybrid deep learning approach to vertexing
ACAT 2019: A hybrid deep learning approach to vertexingHenry Schreiner
 
2019 CtD: A hybrid deep learning approach to vertexing
2019 CtD: A hybrid deep learning approach to vertexing2019 CtD: A hybrid deep learning approach to vertexing
2019 CtD: A hybrid deep learning approach to vertexingHenry Schreiner
 
2019 IML workshop: A hybrid deep learning approach to vertexing
2019 IML workshop: A hybrid deep learning approach to vertexing2019 IML workshop: A hybrid deep learning approach to vertexing
2019 IML workshop: A hybrid deep learning approach to vertexingHenry Schreiner
 
LHCb Computing Workshop 2018: PV finding with CNNs
LHCb Computing Workshop 2018: PV finding with CNNsLHCb Computing Workshop 2018: PV finding with CNNs
LHCb Computing Workshop 2018: PV finding with CNNsHenry Schreiner
 

More from Henry Schreiner (19)

Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024Software Quality Assurance Tooling - Wintersession 2024
Software Quality Assurance Tooling - Wintersession 2024
 
Princeton RSE Peer network first meeting
Princeton RSE Peer network first meetingPrinceton RSE Peer network first meeting
Princeton RSE Peer network first meeting
 
Software Quality Assurance Tooling 2023
Software Quality Assurance Tooling 2023Software Quality Assurance Tooling 2023
Software Quality Assurance Tooling 2023
 
Princeton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance ToolingPrinceton Wintersession: Software Quality Assurance Tooling
Princeton Wintersession: Software Quality Assurance Tooling
 
What's new in Python 3.11
What's new in Python 3.11What's new in Python 3.11
What's new in Python 3.11
 
Everything you didn't know you needed
Everything you didn't know you neededEverything you didn't know you needed
Everything you didn't know you needed
 
SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...
SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...
SciPy22 - Building binary extensions with pybind11, scikit build, and cibuild...
 
SciPy 2022 Scikit-HEP
SciPy 2022 Scikit-HEPSciPy 2022 Scikit-HEP
SciPy 2022 Scikit-HEP
 
PyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packaging
PyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packagingPyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packaging
PyCon 2022 -Scikit-HEP Developer Pages: Guidelines for modern packaging
 
PyCon2022 - Building Python Extensions
PyCon2022 - Building Python ExtensionsPyCon2022 - Building Python Extensions
PyCon2022 - Building Python Extensions
 
boost-histogram / Hist: PyHEP Topical meeting
boost-histogram / Hist: PyHEP Topical meetingboost-histogram / Hist: PyHEP Topical meeting
boost-histogram / Hist: PyHEP Topical meeting
 
Digital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meetingDigital RSE: automated code quality checks - RSE group meeting
Digital RSE: automated code quality checks - RSE group meeting
 
CMake best practices
CMake best practicesCMake best practices
CMake best practices
 
HOW 2019: Machine Learning for the Primary Vertex Reconstruction
HOW 2019: Machine Learning for the Primary Vertex ReconstructionHOW 2019: Machine Learning for the Primary Vertex Reconstruction
HOW 2019: Machine Learning for the Primary Vertex Reconstruction
 
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutesHOW 2019: A complete reproducible ROOT environment in under 5 minutes
HOW 2019: A complete reproducible ROOT environment in under 5 minutes
 
ACAT 2019: A hybrid deep learning approach to vertexing
ACAT 2019: A hybrid deep learning approach to vertexingACAT 2019: A hybrid deep learning approach to vertexing
ACAT 2019: A hybrid deep learning approach to vertexing
 
2019 CtD: A hybrid deep learning approach to vertexing
2019 CtD: A hybrid deep learning approach to vertexing2019 CtD: A hybrid deep learning approach to vertexing
2019 CtD: A hybrid deep learning approach to vertexing
 
2019 IML workshop: A hybrid deep learning approach to vertexing
2019 IML workshop: A hybrid deep learning approach to vertexing2019 IML workshop: A hybrid deep learning approach to vertexing
2019 IML workshop: A hybrid deep learning approach to vertexing
 
LHCb Computing Workshop 2018: PV finding with CNNs
LHCb Computing Workshop 2018: PV finding with CNNsLHCb Computing Workshop 2018: PV finding with CNNs
LHCb Computing Workshop 2018: PV finding with CNNs
 

Recently uploaded

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxNavinnSomaal
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxhariprasad279825
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DaySri Ambati
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):comworks
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsPixlogix Infotech
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024Stephanie Beckett
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsMiki Katsuragi
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenHervé Boutemy
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyAlfredo García Lavilla
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024Lonnie McRorey
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningLars Bell
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationSlibray Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupFlorian Wilhelm
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionDilum Bandara
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Commit University
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii SoldatenkoFwdays
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubKalema Edgar
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfAddepto
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebUiPathCommunity
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brandgvaughan
 

Recently uploaded (20)

SAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptxSAP Build Work Zone - Overview L2-L3.pptx
SAP Build Work Zone - Overview L2-L3.pptx
 
Artificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptxArtificial intelligence in cctv survelliance.pptx
Artificial intelligence in cctv survelliance.pptx
 
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo DayH2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
H2O.ai CEO/Founder: Sri Ambati Keynote at Wells Fargo Day
 
CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):CloudStudio User manual (basic edition):
CloudStudio User manual (basic edition):
 
The Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and ConsThe Ultimate Guide to Choosing WordPress Pros and Cons
The Ultimate Guide to Choosing WordPress Pros and Cons
 
What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024What's New in Teams Calling, Meetings and Devices March 2024
What's New in Teams Calling, Meetings and Devices March 2024
 
Vertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering TipsVertex AI Gemini Prompt Engineering Tips
Vertex AI Gemini Prompt Engineering Tips
 
DevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache MavenDevoxxFR 2024 Reproducible Builds with Apache Maven
DevoxxFR 2024 Reproducible Builds with Apache Maven
 
Commit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easyCommit 2024 - Secret Management made easy
Commit 2024 - Secret Management made easy
 
TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024TeamStation AI System Report LATAM IT Salaries 2024
TeamStation AI System Report LATAM IT Salaries 2024
 
DSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine TuningDSPy a system for AI to Write Prompts and Do Fine Tuning
DSPy a system for AI to Write Prompts and Do Fine Tuning
 
Connect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck PresentationConnect Wave/ connectwave Pitch Deck Presentation
Connect Wave/ connectwave Pitch Deck Presentation
 
Streamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project SetupStreamlining Python Development: A Guide to a Modern Project Setup
Streamlining Python Development: A Guide to a Modern Project Setup
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!Nell’iperspazio con Rocket: il Framework Web di Rust!
Nell’iperspazio con Rocket: il Framework Web di Rust!
 
"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko"Debugging python applications inside k8s environment", Andrii Soldatenko
"Debugging python applications inside k8s environment", Andrii Soldatenko
 
Unleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding ClubUnleash Your Potential - Namagunga Girls Coding Club
Unleash Your Potential - Namagunga Girls Coding Club
 
Gen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdfGen AI in Business - Global Trends Report 2024.pdf
Gen AI in Business - Global Trends Report 2024.pdf
 
Dev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio WebDev Dives: Streamline document processing with UiPath Studio Web
Dev Dives: Streamline document processing with UiPath Studio Web
 
WordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your BrandWordPress Websites for Engineers: Elevate Your Brand
WordPress Websites for Engineers: Elevate Your Brand
 

2019 IRIS-HEP AS workshop: Particles and decays

  • 1. Eduardo Rodrigues, Henry Schreiner University of Cincinnati , Princeton University Particles and decays in the Scikit-HEP project IRIS-HEP AS workshop, 19th June 2019 PDG particle data and identification codes Parse decay files, describe and convert particle decays between digital representations
  • 2. IRIS-HEP AS Workshop, 19th June 2019 2/22Henry Schreiner and Eduardo Rodrigues The grand picture – the Scikit-HEP project InteroperabilityReproducibility Collaboration  Create an ecosystem for particle physics data analysis in Python  Initiative to improve the interoperability between HEP tools and the scientific ecosystem in Python - Expand the typical toolkitset for particle physicists - Set common APIs and definitions to ease “cross-talk”  Initiative to build a community of developers and users - Community-driven and community-oriented project  Effort to improve discoverability of relevant tools Sustainability
  • 3. IRIS-HEP AS Workshop, 19th June 2019 3/22Henry Schreiner and Eduardo Rodrigues Who uses (some of) Scikit-HEP ?
  • 4. PDG particle data and identification codes
  • 5. IRIS-HEP AS Workshop, 19th June 2019 5/22Henry Schreiner and Eduardo Rodrigues Particle package – motivation  The Particle Data Group (PDG) provides a downloadable table of particle masses, widths, charges and Monte Carlo particle ID numbers (PDG IDs) - Most recent file here  It also provided an experimental file with extended information (spin, quark content, P and C parities, etc.) until 2008 only, see here (not widely known!)  But anyone wanting to use these data, the only readily available, has to parse the file programmatically  Why not make a Python package to deal with all these data, for everyone?  The C++ HepPID and HepPDT libraries provide functions for processing particle ID codes in the standard particle (aka PDG) numbering scheme  Different event generators have their separate set of particle IDs: Pythia, EvtGen, etc.  Again, why not make a package providing all functionality/conversions, Python-ically, for everyone?
  • 6. IRIS-HEP AS Workshop, 19th June 2019 6/22Henry Schreiner and Eduardo Rodrigues Particle package – overview  Pythonic interface to PDG particle data table and particle identification codes  With extra goodies  2 separate submodules  Comprehensive documentation (docstrings)  Continuous Integration (CI): extensive tests for excellent test coverage - In packages such as these, tests should target both the code itself but also the physics it deals with!  We use Azure DevOps - Seamlessly test on Linux, macOS and Windows
  • 7. IRIS-HEP AS Workshop, 19th June 2019 7/22Henry Schreiner and Eduardo Rodrigues Particle package – PDG IDs module overview  Process and query PDG IDs, and more – no look-up table needed - Current version of package reflects the latest version of the HepPID & HepPDT utility functions defined in the C++ HepPID and HepPDT versions 3.04.01 - It contains more functionality than that available in the C++ code … and minor fixes too  Definition of a PDGID class, PDG ID literals, and set of standalone HepPID functions to query PDG IDs (is_meson, has_bottom, j_spin, charge, etc.) - All PDGID class functions are available standalone  PDG ID queries also available on the command line  PDGID class - Wrapper class for PDG IDs - Behaves like an int, with extra goodies - Large spectrum of properties and methods, i.e. the functions defined in the HepPID and HepPDT C++ libraries, with a Pythonic interface, and yet more - To print them all:
  • 8. IRIS-HEP AS Workshop, 19th June 2019 8/22Henry Schreiner and Eduardo Rodrigues Particle package – particle module overview  Simple and natural API to deal with the PDG particle data table, with powerful look-up and search utilities  Definition of a Particle class and particle name literals - Typical queries should be, and are, 1-liners  Advanced usage: ability to specify or build a particle data table, conversion tools  Particle / PDG ID searches available on the command line too
  • 9. IRIS-HEP AS Workshop, 19th June 2019 9/22Henry Schreiner and Eduardo Rodrigues Particle package – data files  All data files stored under particle/data/  PDG particle data files - Original PDG data files, which are in a fixed-width format - Code uses “digested forms” of the PDG files, stored as CSV, for optimised querying - Latest PDG data used by default (2019 at present) - Advanced usage: user can load older PDG table, load a “user table” with new particles, append to default table  Other data files - CSV file for mapping of PDG IDs to particle LaTeX names … …
  • 10. IRIS-HEP AS Workshop, 19th June 2019 10/22Henry Schreiner and Eduardo Rodrigues Particle package – particle look-up  Particle class - Standard look-up via from_pdgid(…) - Various other from_X(…) methods exist  - Large spectrum of properties and methods: - Get particle properties - Deal with underlying particle table - Powerful search engine …  Particle literals - Easily recognizable names for manipulations, e.g. in plots
  • 11. IRIS-HEP AS Workshop, 19th June 2019 11/22Henry Schreiner and Eduardo Rodrigues Particle package – powerful particle search  Particle.find(…) – search a single match (exception raised if multiple particles match the search specifications)  Particle.findall(…) – search a list of candidates  Powerful search methods that can query any particle property!  One-line queries  E.g., trivially find all pseudoscalar charm mesons:
  • 12. IRIS-HEP AS Workshop, 19th June 2019 12/22Henry Schreiner and Eduardo Rodrigues Particle package – future directions & developments  Addition of particle IDs and names relevant to other MC programs - (Yes, not consistent across programs!) - Useful IDs such as those used in PYTHIA, Geant and EvtGen  Bring in other communities where Particle is / can be relevant - Ongoing discussions with astroparticle physics community - Particle IDs used in EPOS, CORSIKA, DpmJet, QGSJet, Sybill, UrQMD, …  Ongoing discussions with PDG group - Provide the right tool - Can we provide more? - Stay tuned …
  • 13. Parse decay files, describe and convert particle decays between digital representations
  • 14. IRIS-HEP AS Workshop, 19th June 2019 14/22Henry Schreiner and Eduardo Rodrigues DecayLanguage package – motivation and overview Motivation  Ability to describe decay-tree-like structures  Provide a translation of decay amplitude models from AmpGen to GooFit - Idea is to generalise this to other decay descriptions  Any experiment uses event generators which, among many things, need to describe particle decay chains  Programs such as EvtGen rely on so-called .dec decay files  Many experiments need decay data files  Why not make a Python package to deal with decay files, for everyone? Overview  Tools to parse decay files and programmatically manipulate them, query, display information - Descriptions and parsing built atop the Lark parser  Tools to translate decay amplitude models from AmpGen to GooFit, and manipulate them Library and set of applications for fitting and generating multi-body particle decays using the isobar model
  • 15. IRIS-HEP AS Workshop, 19th June 2019 15/22Henry Schreiner and Eduardo Rodrigues DecayLanguage package – decay files “Master file” DECAY.DEC  Gigantic file defining decay modes for all relevant particles, including decay model specifications  LHCb example: ~ 450 particle decays, thousands of decay modes, over 11k lines in total User .dec files  Needed to produce specific MC samples  Typically contain a single decay chain (except if defining inclusive samples) Define dm 0.507e12 ... Alias B0sig B0 Alias anti-B0sig anti-B0 ChargeConj B0sig anti-B0sig ... Decay pi0 0.988228297 gamma gamma PHSP; 0.011738247 e+ e- gamma PI0_DALITZ; 0.000033392 e+ e+ e- e- PHSP; 0.000000065 e+ e- PHSP; Enddecay ... CDecay tau+ ... # Decay file for [B_c+ -> (B_s0 -> K+ K-) pi+]cc Alias B_c+sig B_c+ Alias B_c-sig B_c- ChargeConj B_c+sig B_c-sig Alias MyB_s0 B_s0 Alias Myanti-B_s0 anti-B_s0 ChargeConj MyB_s0 Myanti-B_s0 Decay B_c+sig 1.000 MyB_s0 pi+ PHOTOS PHSP; Enddecay CDecay B_c-sig Decay MyB_s0 1.000 K+ K- SSD_CP 20.e12 0.1 1.0 0.04 9.6 -0.8 8.4 -0.6; Enddecay CDecay Myanti-B_s0
  • 16. IRIS-HEP AS Workshop, 19th June 2019 16/22Henry Schreiner and Eduardo Rodrigues DecayLanguage package – decay file parsing and display  Parsing should be simple - Expert users can configure parser choice and settings, etc.  Parsing should be (reasonably) fast - Example of LHCb’s master DECAY.DEC file: Over 11k lines in total, ~ 450 particle decays, ~60 charge-conjugate decays created on-the-fly (‘CDecay’ statements), thousands of decay modes  After parsing, many queries are possible  One can also visualise decay chains … 
  • 17. IRIS-HEP AS Workshop, 19th June 2019 17/22Henry Schreiner and Eduardo Rodrigues Decay chain – simplest view with no sub-decays shown Decay D*+ 0.6770 D0 pi+ VSS; 0.3070 D+ pi0 VSS; 0.0160 D+ gamma VSP_PWAVE; Enddecay Decay D*- 0.6770 anti-D0 pi- VSS; 0.3070 D- pi0 VSS; 0.0160 D- gamma VSP_PWAVE; Enddecay Decay D0 1.0 K- pi+ PHSP; Enddecay Decay D+ 1.0 K- pi+ pi+ pi0 PHSP; Enddecay Decay pi0 0.988228297 gamma gamma PHSP; 0.011738247 e+ e- gamma PI0_DALITZ; 0.000033392 e+ e+ e- e- PHSP; 0.000000065 e+ e- PHSP; Enddecay (Considered by itself, this file in in fact incomplete, as there are no instructions on how to decay the anti-D0 and the D-. Good enough for illustration purposes, though.)
  • 18. IRIS-HEP AS Workshop, 19th June 2019 18/22Henry Schreiner and Eduardo Rodrigues Decay chain – p0 decays displayed
  • 19. IRIS-HEP AS Workshop, 19th June 2019 19/22Henry Schreiner and Eduardo Rodrigues Decay chain – full view
  • 20. IRIS-HEP AS Workshop, 19th June 2019 20/22Henry Schreiner and Eduardo Rodrigues DecayLanguage package – conversion of decay models / representations  Decay chains - A universal modelling of decay chains would profit many use cases, e.g. description of components for amplitude analyses  Present code understands AmpGen syntax and can generate code for the GooFit fitter  Note: makes use of the Particle package
  • 21. IRIS-HEP AS Workshop, 19th June 2019 21/22Henry Schreiner and Eduardo Rodrigues DecayLanguage package – future directions & developments Decay files  Streamline and enhance the .dec parser - Ex.: syntax such as p.find_decay_chains(final_state=[‘K+’, ‘K-’, ‘pi+’, ‘pi-’], extra_particles=[‘pi0’]) could be a neat/trivial way to query the master DECAY.DEC and “find all decay chains leading to either ‘K+ K- pi+ pi-’ or ‘K+ K- pi+ pi- pi0’”  Provide a universal description and visualisation of decay trees (a lot done on this in the last week …) - We already have customers interested, e.g. visualisation of decays in pyhepmc Decay models / representations  Implement more backend formats: GooFit in Python, etc.  Longer term – implement decay logic inside model descriptions - Provide a reference for other packages
  • 22. IRIS-HEP AS Workshop, 19th June 2019 22/22Henry Schreiner and Eduardo Rodrigues Interested ? Want to try it ? Particle  GitHub: https://github.com/scikit-hep/particle/  Releases: PyPI  Kindly recognise software work – cite us: DecayLanguage  GitHub: https://github.com/scikit-hep/decaylanguage  Releases: PyPI Scikit-HEP project  GitHub: https://github.com/scikit-hep/  Website: http://scikit-hep.org/  Get in touch: http://scikit-hep.org/get-in-touch.html See interactive demos: - Particle - DecayLanguage
  • 23. 1/4 AmpGen is a library for tting and generating multibody particle decays. Takes a decay chain representation and converts into fast, low-level code. Fairly agnostic about the types of particles in the initial / nal state (pseudoscalars, NEW fermions, photons ...) No hard limit on number of particles in the nal state, practically, more than about six bodies is a dicult. Classic three-body (pseudoscalar) decays are a two-body problem (A Dalitz plot). Four-body decays are a ve-dimensional problem =⇒ only unbinned ts are practical. Speed is critical as already have O(106) candidates in many channels, and expecting 10 → 50× these yields by 2030. For a typical four-body amplitude, can perform ∼ 106evaluations/s/core on consumer laptop. Part of the GooFit organisation on GitHub. High Level Code Low Level Code Decay chain representation Decay descriptors:
  • 24. 2/4 More on the user interface User species couplings between dierent particles, either partially or as full decay chains, for example: D0{K*(892)bar0,rho(770)0} Couples a D0 meson to a pair of vectors, then if you add the couplings: K*(892)bar0{K-,pi+} K*(892)bar0{K0S0,pi0} K*(892)bar0{K0L0,pi0} rho(770){pi+,pi-} You can generate the amplitude coupling the D0 meson to the various nal states. You can add additional orbital couplings as D0[P]{K*(892)bar0,rho(770)0} D0[D]{K*(892)bar0,rho(770)0} Which will be coherently summed to give the total amplitude, mod-squared to give the dierential rate: P(ψ)dψ ∝ i giAi(ψ) 2 dψ (1)
  • 25. 3/4 Developments this year Big development is the inclusion of spin-half particles in the initial/nal state. Have to deal with additional spin-indicies in the probability / need to incoherently sum the dierent spin congurations. In general, this leads to a rate equation that looks like (for an initial state polarised as ˆρ P (ψ, ˆρ) dψ = ll glgl imm (δmm +σmm ˆρ)Al mi(ψ) Al m i(ψ) ∗ (2) A tricky thing to calculate (and normalise) eciently! Toy examples Λb → Λpp with intermediate spin-3/4 contributions: 2.5 3 3.5 4 4.5 mΛp [GeV/c2 ] 0 0.5 1 1.5 2 2.5 3 3.5 4 4.5 ×103 Entries/(0.03GeV/c2 ) 2 2.5 3 3.5 4 4.5 mpp [GeV/c2 ] 0 2 4 6 8 10 12 14 16 18 20 22 24 ×103 Entries/(0.03GeV/c2 ) B → pppp 10 20 30 40 50 10 15 sppp 8 10 12 14 16 18 sppp
  • 26. 4/4 Future developments With some minor modications, can generate Cuda kernels that can be integrated into GooFit Evaluate amplitude D0 → K∗ 2 (1430)0 [K−π+] π0 on 8.4 million events with 1 CPU core (i7-8550U CPU @ 1.80GHz) vs 1 GPU (GeForce GTX 1050M) GPU version is about a factor of two faster than the OpenMP version (i.e. using 8 cores rather than 1 for the CPU version). Further tuning of the code generator has given another factor of 2 → 3 compared to what is shown here. 1 2 3 sK−π+ GeV2 /c4 0.5 1 1.5 2 2.5 3 sK−π0GeV2 /c4 CPU ∼ 1300ms 1 2 3 sK−π+ GeV2 /c4 0.5 1 1.5 2 2.5 3 sK−π0GeV2 /c4 GPU ∼ 89ms
  • 27. Additional notes Cincinnati • Future work in GooFit: line shapes/spinfactor system, 𝐾 𝑠 𝜋𝜋, support AmpGen baryonic decays - may not be done in a year • Daniel Vieira starts in October Princeton - Henry • ROOT Conda-Forge • Some further work on fitting (GooFit and others) 1/1Henry Schreiner Other projects June 19, 2019
  • 29. IRIS-HEP AS Workshop, 19th June 2019 24/22Henry Schreiner and Eduardo Rodrigues  PDGID literals - Provide (PDGID class) aliases for the most common particles, with easily recognisable names  All is consistent. Ex.: Particle package – PDG identification code literals  Literals: handy way to manipulate things with human-readable names
  • 30. IRIS-HEP AS Workshop, 19th June 2019 25/22Henry Schreiner and Eduardo Rodrigues DecayLanguage package – Lark parser grammar for decay files start : _NEWLINE? (line _NEWLINE)+ (End _NEWLINE)? ?line : define | pythia_def | alias | chargeconj | commands | decay | cdecay | setlspw pythia_def : PythiaBothParam LABEL : LABEL = (LABEL | SIGNED_NUMBER) setlspw : SetLineshapePW label label label value cdecay : CDecay label define : Define label value alias : Alias label label chargeconj : ChargeConj label label ?commands : global_photos global_photos : boolean_photos boolean_photos : yesPhotos - yes | noPhotos - no decay : Decay particle _NEWLINE decayline+ Enddecay decayline : value particle* photos? model _NEWLINE // There is always a ; here value : SIGNED_NUMBER photos : PHOTOS label : LABEL particle : LABEL // Add full particle parsing here model : MODEL_NAME model_options? model_options : (value | LABEL)+ %import common.WS_INLINE %import common.SIGNED_NUMBER // New lines filter our comments too, and multiple new lines _NEWLINE: ( /r?n[t ]*/ | COMMENT )+ MODEL_NAME.2 : BaryonPCR|BTO3PI_CP|BTOSLLALI|BTOSLLBALL|BTOXSGAMMA|BTOXSLL| ... LABEL : /[a-zA-Z0-9/-+*_()']+/ COMMENT : /[;#][^n]*/ // We should ignore comments %ignore COMMENT // Disregard spaces in text %ignore WS_INLINE  Decay file parser grammar: decfile.lark !  This file is enough to parse and understand decay files