Draft Agenda – Last revised: 5/10/16

Real one is at:

22nd June (Day 1 of 2)

9:00 Welcome/goals of the workshop – Panagiotis (or Rob)

9:15 LArSoft steering group welcome – tbd

9:25 Layout of the day – Erica/Ruth

informing and gathering ideas

9:30 Recent relevant LArSoft efforts

  • Architecture – Gianluca
  • LArSoft Usability Project – Gianluca
  • other? The bigger list that Gianluca started with that there wasn’t time to do it all.

10:00 Maintaining balance in LArSoft: gate-keeping, usability, progress – Erica Snider

Process of contributing to LArSoft: Balancing gate-keeping with efficiency of use, ease of learning and satisfaction

10:30– break

11:00 Lessons learned from collaborative software development using Pandora – John Marshall

Pandora from the usability perspective, focusing on how a new person can quickly write code for Pandora

11:30 Documenting LArSoft for ease of use and learning  – Katherine Lato

  • General LArSoft Documentation
  • to Submit an Algorithm Writeup
  • – Slides from Andrzej Szelc

11:45  SpackDev: a new development environment for LArSoft – Jim Amundson

How SPACK fits in with what LArSoft is now doing.

12:15 Lunch – time to check email, other tasks

1:45 How art can help with efficiency of use, ease of learning and satisfaction – art team

2:15  – fcl file tricks and tools, dealing with deep fcl hierarchies. – Andrei Gaponenko or Kyle Knoepfel

2:45 -small group discussions on a variety of topics: balancing gate-keeping with efficiency, adding algorithms to, …

3:15 – break

3:30– 5:00 – Parallel groups

a) Using tips and techniques on your code

Doing individual work – Using tips and techniques learned today on your code – hands– on (with help from Gianluca, Saba, Marc’s team)

b)  LArLite/LArSoft integration demonstration

examples section of the workshop led by Marc, Chris and Kazu/Joe?

c) Discussion of Ideas

gathering and refining ideas for further work to consider.

6:00 Dinner – planned, pay your own way.

23rd June – Day 2 of 2

9:00 Why do code anaylsis? – Erica Snider

Architecture and design principles, purpose of analysis, levels of targets. Why it’s important to structure code and the benefits of code analysis.

9:45 Peer review: It’s not just for physics anymore! – Rob Kutschke

Code analysis process –

1) Making code analysis part of the culture

2) Experience with the PMA review

3) Strawman for the next steps

4) Invite discussion of 2) and 3).

5) Experience from other experiments

10:30 break

11:00 –Neutrino Simulation Applications for Liquid Argon-based Detectors – Robert Hatcher or Hans Wenzel (from Daniel Elvira’s group)

The talk will describe how GENIE, G4, LarSoft, art are integrated with each other, what each “module” does, and ends with a time performance study for LArIAT and DUNE where the relative time  performance numbers for each module are reported. May also show a couple of slides describing what our Physics and Detector Simulation Group (PDS) does, in what relates to GENIE, G4 development and support of the experiments.

11:30 – Performance analysis processes/tools – Chris Jones, Marc Paterno

12:00 Lunch

1:30 Code and performance analysis working groups

  • One possibility is to divide participants into groups of three who work through a review of their code as a team. People go through the analysis right then. Doing first one author’s code, then the next, then the next. This is a way to reinforce what was taught in the morning, as well as potentially find any issues with the code being analyzed.
  • Another possibility is a game – code analysis process – 3 people in a group with predefined input and known results. Game is to reduce the memory and time it takes to execute without changing the output. Prize for memory reduction, prize for time reduction.
  • Other ideas?

4:00 Close out reports


The lectures and working sessions are designed to engage the LArSoft community in improving their experiences using LArSoft. We’re interested in:

  1. Efficiency of use – tools operate quickly; workflows are as simple as possible to accomplish the tasks; tools are available to minimize repetitive tasks and make common tasks efficient
  2. Ease of learning – concise, well-written documentation; code and documentation are organized logically; common patterns are used and documented; ability to search code and documentation easily
  3. Satisfaction – users can get their jobs done quickly; users can easily contribute to overall product; the majority of time and effort is spent working on LArSoft and/or an experiment as opposed to trying to understand the framework, tools or environment issues


22nd June   DIR/ Comitium-WH2SE – Wilson Hall 2nd fl South East (8-5)

6/22 2:30 – 5:30

PPD/ Hornets Nest-WH8X- Wilson Hall 8th fl Crossover <>


morning – Theory Room (WH3NW)

afternoon – Hornets Nest

PPD/ Hornets Nest-WH8X- Wilson Hall 8th fl Crossover