art/LArSoft Course

US/Central
CDF Big Room

CDF Big Room

Description
The art and LArSoft development teams will present a one-week course on the use of art and LArSoft this August 3-7, at Fermilab. The goal of the course is to help newcomers to art and LArSoft along the path to becoming able to contribute to their experiment's code, or to the shared LArSoft software. Note: We have now 50 registrants for the workshop, Please email Saba Sehrish (ssehrish@fnal.gov) and Marc Paterno (paterno@fnal.gov) to be waitlisted.
Draft Schedule
Instructions for each Session
Prerequisites
Updating using git pull
Participants
  • Aaron Epps
  • Andrew Furmanski
  • Anthony Palladino
  • Barnali Chowdhury
  • Biswaranjan Behera
  • Carlos Escobar
  • Celio Adrega de Moura
  • Christian Farnese
  • Cristiana Principato
  • Daisy Kalra
  • Daniele Gibin
  • David Sweigart
  • Diana Patricia Mendez Mendez
  • Dominic Brailsford
  • Dorota Stefan
  • Elena Gramellini
  • Elizabeth Worcester
  • Erika Catano Mur
  • Ernesto Kemp
  • Filippo Varanini
  • Gabriel Santucci
  • Gleb Sinev
  • Gustavo Valdiviesso
  • Jason Bono
  • Jenny Holzbauer
  • Jonathan Paley
  • Justin Vasel
  • Kuldeep Maan
  • Laura Kelton
  • Lisa Goodenough
  • Marco Del Tutto
  • Matthias Luethi
  • Nitin Yadav
  • Patrick Tsang
  • Piotr Płoński
  • Ranjan Dharmapalan
  • Robert Murrells
  • Robert Sulej
  • Robin Bjorkquist
  • Sepideh Shahsavarani
  • Serhan Tufanli
  • Shaokai Yang
  • Shruti Shrestha
  • SUDESHNA GANGULY
  • Tammy Walton
  • Thales Vieira
  • Tingjun Yang
  • Tracy Usher
  • Wanwei Wu
  • Wes Gohn
  • Xiaoyue Li
    • C++ Review: Basics of C++ CDF Big Room

      CDF Big Room

      The goal of Monday morning is to get students up to speed on some of the critical
      parts of C++ upon which we will rely for the entire course. We will introduce
      some of the basics of good coding practice. This first morning is NOT intended as an introduction to C++ for
      those who do not meet the prerequisites described at https://cdcvs.fnal.gov/redmine/projects/art-larsoft-course/wiki/Prerequisites.

    • 9:50 AM
      Break CDF Big Room

      CDF Big Room

    • C++ Review: Basics of Resource Management CDF Big Room

      CDF Big Room

      The goal of Monday morning is to get students up to speed on some of the critical
      parts of C++ upon which we will rely for the entire course. We will introduce
      some of the basics of good coding practice. This first morning is NOT intended as an introduction to C++ for
      those who do not meet the prerequisites described at https://cdcvs.fnal.gov/redmine/projects/art-larsoft-course/wiki/Prerequisites.

    • 10:50 AM
      Break CDF Big Room

      CDF Big Room

    • C++ Review: Basic data structures CDF Big Room

      CDF Big Room

      The goal of Monday morning is to get students up to speed on some of the critical
      parts of C++ upon which we will rely for the entire course. We will introduce
      some of the basics of good coding practice. This first morning is NOT intended as an introduction to C++ for
      those who do not meet the prerequisites described at https://cdcvs.fnal.gov/redmine/projects/art-larsoft-course/wiki/Prerequisites.

    • 11:50 AM
      Lunch break CDF Big Room

      CDF Big Room

    • Introduction to art: Framework introduction CDF Big Room

      CDF Big Room

      The goal of Monday afternoon is to introduce people to the parts of the framework,
      and to the environment in which framework programs are run.

    • Introduction to art: Setup for using art CDF Big Room

      CDF Big Room

      The goal of Monday afternoon is to introduce people to the parts of the framework,
      and to the environment in which framework programs are run.

    • 2:50 PM
      Break CDF Big Room

      CDF Big Room

    • Introduction to art: Setting up for development of experiment code CDF Big Room

      CDF Big Room

      The goal of Monday afternoon is to introduce people to the parts of the framework,
      and to the environment in which framework programs are run.

    • art modules: More module interface CDF Big Room

      CDF Big Room

      The goal of Tuesday morning is to understand the full interface of an art module, and how they are created and configured.

    • 9:40 AM
      Break CDF Big Room

      CDF Big Room

    • art modules: Details of module configuration CDF Big Room

      CDF Big Room

      The goal of Tuesday morning is to understand the full interface of an art module, and how they are created and configured.

    • 11:00 AM
      Break CDF Big Room

      CDF Big Room

    • art modules: Multiple instances of a module CDF Big Room

      CDF Big Room

      The goal of Tuesday morning is to understand the full interface of an art module, and how they are created and configured.

    • 11:50 AM
      Lunch Break CDF Big Room

      CDF Big Room

    • Beginning analysis with art: Using existing data products CDF Big Room

      CDF Big Room

      The goal of Tuesday afternoon is to familiarize people with the development environment,
      in the context of starting to analyze data (i.e. making histograms) in the art
      setting.

    • Beginning analysis with art: Making histograms I CDF Big Room

      CDF Big Room

      The goal of Tuesday afternoon is to familiarize people with the development environment,
      in the context of starting to analyze data (i.e. making histograms) in the art
      setting.

    • 2:20 PM
      Break CDF Big Room

      CDF Big Room

    • Beginning analysis with art: Making histograms II CDF Big Room

      CDF Big Room

      The goal of Tuesday afternoon is to familiarize people with the development environment,
      in the context of starting to analyze data (i.e. making histograms) in the art
      setting.

    • 3:20 PM
      Break CDF Big Room

      CDF Big Room

    • Beginning analysis with art: Running multiple modules CDF Big Room

      CDF Big Room

      The goal of Tuesday afternoon is to familiarize people with the development environment,
      in the context of starting to analyze data (i.e. making histograms) in the art
      setting.

    • Producers and data products: Creating a producer CDF Big Room

      CDF Big Room

      The goal of Wednesday is to introduce people to writing producers, using good
      software development practices: iterative code development, writing modular
      code, and testing. We also introduce the creation of new data products.

    • 9:50 AM
      Break CDF Big Room

      CDF Big Room

    • Producers and data products: Inventing a new data product CDF Big Room

      CDF Big Room

      The goal of Wednesday is to introduce people to writing producers, using good
      software development practices: iterative code development, writing modular
      code, and testing. We also introduce the creation of new data products.

    • 10:50 AM
      Break CDF Big Room

      CDF Big Room

    • Producers and data products: Controlling output CDF Big Room

      CDF Big Room

      The goal of Wednesday is to introduce people to writing producers, using good
      software development practices: iterative code development, writing modular
      code, and testing. We also introduce the creation of new data products.

    • 11:50 AM
      Lunch Break CDF Big Room

      CDF Big Room

    • Algorithm development: Introducing iterative algorithm development CDF Big Room

      CDF Big Room

    • 1:50 PM
      Break CDF Big Room

      CDF Big Room

    • Algorithm development: Completing an algorithm and improving it CDF Big Room

      CDF Big Room

    • 3:50 PM
      Break CDF Big Room

      CDF Big Room

    • Algorithm development: Summary CDF Big Room

      CDF Big Room

    • Advanced features of art: Some additional art facilities CDF Big Room

      CDF Big Room

      The goal of Thursday morning is to gain more experience in modularity .

      This includes the development of a set of algorithms (only need two) that
      need to be split up between modules. This extends the previous day’s work.
      Introduce people to some of the more advanced framework tools (association
      collections, FindOne and FindMany smart query objects, services), as well as
      the art command line.

    • 9:50 AM
      Break CDF Big Room

      CDF Big Room

    • Advanced features of art: Using Assns and smart query objects CDF Big Room

      CDF Big Room

      The goal of Thursday morning is to gain more experience in modularity .

      This includes the development of a set of algorithms (only need two) that
      need to be split up between modules. This extends the previous day’s work.
      Introduce people to some of the more advanced framework tools (association
      collections, FindOne and FindMany smart query objects, services), as well as
      the art command line.

    • 10:50 AM
      Break CDF Big Room

      CDF Big Room

    • Advanced features of art: Creating Assns CDF Big Room

      CDF Big Room

      The goal of Thursday morning is to gain more experience in modularity .

      This includes the development of a set of algorithms (only need two) that
      need to be split up between modules. This extends the previous day’s work.
      Introduce people to some of the more advanced framework tools (association
      collections, FindOne and FindMany smart query objects, services), as well as
      the art command line.

    • 11:50 AM
      Lunch Break CDF Big Room

      CDF Big Room

    • Advanced features of art: Good art workflow CDF Big Room

      CDF Big Room

      The goal of Thursday morning is to gain more experience in modularity .

      This includes the development of a set of algorithms (only need two) that
      need to be split up between modules. This extends the previous day’s work.
      Introduce people to some of the more advanced framework tools (association
      collections, FindOne and FindMany smart query objects, services), as well as
      the art command line.

    • 1:50 PM
      Break CDF Big Room

      CDF Big Room

    • Class suspended for NOvA Wine & Cheese
    • Debugging: Introduction to gdb CDF Big Room

      CDF Big Room

      The goal of this session to introduce
      the use of some software development tools: a debugger and Valgrind.

      slides
    • Introduction to LArSoft CDF Big Room

      CDF Big Room

      This session will cover what is LArSoft and its specific data structures; we will
      describe the structure and working of a LArTPC detector, and translation of
      physics observables to data structures. Students will learn how to run a simple
      LArSoft example.

      slides
    • 10:15 AM
      Break CDF Big Room

      CDF Big Room

    • Introduction to LArSoft code and work environment CDF Big Room

      CDF Big Room

      This session will describe LArSoft code organization and different repositories.
      The lecture will briefly cover mrb, cmake, gitflow, etc. Students will learn how
      to get/build/test LArSoft code using mrb.

      slides
    • 11:45 AM
      Lunch Break CDF Big Room

      CDF Big Room

    • How to develop in LArSoft CDF Big Room

      CDF Big Room

      In this session, students will learn how to make changes in the code, and how to
      contribute new code. Students will follow instructions to work on an analysis
      task in LArSoft environment.
      Hands-on working session: Setup the build environment. Checkout the analysis
      example code, modify, build, run tests.

      slides
    • LArSoft algorithms and services CDF Big Room

      CDF Big Room

      In this session, we will discuss the design principles of LArSoft.
      We will demonstrate application of LArSoft design principles to actual code. we
      will briefly describe LArSoft simulation, reconstruction and analysis algorithms.
      We will introduce the services available in LArSoft focusing on the services
      needed to complete the exercise.
      Exercise to develop a simple new algorithm and module within LArSoft, build
      and run it.

      slides
    • 3:00 PM
      Break CDF Big Room

      CDF Big Room

    • Using LArSoft for detector simulation and event generation CDF Big Room

      CDF Big Room

      How to configure/describe detector to LArSoft, how to change existing detector
      specific geometries and response functions. How do you make use of G4, GENIE
      in LArSoft? How to use event display in LArSoft?
      Wrap up and concluding presentation: Current directions and ideas for the
      future.

      slides
      • 4:00 PM
        Break