Running Art Tutorial: Difference between revisions

From Mu2eWiki
Jump to navigation Jump to search
Line 18: Line 18:


== Exercises ==
== Exercises ==
The majority of the session time should be spent performing exercises, which you link or embed in the session page.
NB: these are just suggestions, please add/remove/edit as you see fit. Link these to actual exercises
* Each exercise should have a title; ie ''Create a histogram of the reconstructed Ce momentum''
* test docker using some standard containers (helloworld, bash, ...)
* Exercises may be chained (ie the output of the first is used as input to the next), but in that case make sure the output is also part of the downloads, so people who failed at step 1 can continue with the subsequent steps.  Design this so that a failed step 1 does not overwrite the downloaded file that is the input to step 2.
* start an interactive docker session using the tutorial container, and explore the structure of Offline
* Some steps may take considerable processing time.  In that case, have your attendees perform a short version (ie process 10 events), and provide the full output (ie histograms from 10^5 events) as part of the session download for subsequent steps.
* run the mu2e executable directly from the release in the tutorial container
* Each exercise should take between 5 and 15 minutes to complete.  Count on your attendees taking twice as much time as would an experienced person.
* create a satellite release on top of the tutorial release
* Start each exercise by bringing the exercise up on the main screen and going through its intro.
* edit some configuration in your satellite to change the art behavior: debug-config, print, etc
* Perform each step of the exercise on the screen, describing any decisions or issues involved as you do it.  Check with your audience to make sure most (preferably all) have finished each step before going on to the next.  If someone seems stuck, assign a session helper to help them individually and move on.
* create a partial-checkout release of a single package from Offline
* It's OK to provide more exercises than most people will complete during the tutorial; they can be completed as homework.
** compile and link the package and rerun the mu2e app
* Explore the JobConfig scripts for various kinds of mu2e production jobs
* Run some simple production jobs
** Primary Particle generation and simulation
** Mixing
** reconstruction
* setup and run generateFcl to prepare for grid running
* run mu2eProdSys --dryrun
 
== Session Organization Guideline ==
== Session Organization Guideline ==
* Encourage your attendees to ask questions if they are unsure what to do.
* Encourage your attendees to ask questions if they are unsure what to do.

Revision as of 23:47, 29 May 2019

Tutorial Session Goal

In this Tutorial you will learn how to run the Mu2e 'art' framework executable (mu2e), both interactively and on the grid.

Session Prerequisites and Advance Preparation

Session Introduction

Mu2e Offline is a collection of code and scripts used for simulation, reconstruction and analysis of Mu2e data. Offline is kept in a git repository. It depends on external software provided through cvmfs (Cern virtual machine file system). Users interact with Offline in several ways, with more or less of the code resident in your local working area. Art is a software framework for running modular code with lots of run-time configurability. Art is controlled by scripts in a dedicated configuration language called fhicl (.fcl suffix).

This tutorial will cover creating the local environment to work with Offline, how to build and run several different kinds of art jobs, and how to use the mu2e job tools to divide large projects into many separate jobs, and how to run those jobs in parallel on Fermigrid or the OSG (open science grid).

Exercises

NB: these are just suggestions, please add/remove/edit as you see fit. Link these to actual exercises

  • test docker using some standard containers (helloworld, bash, ...)
  • start an interactive docker session using the tutorial container, and explore the structure of Offline
  • run the mu2e executable directly from the release in the tutorial container
  • create a satellite release on top of the tutorial release
  • edit some configuration in your satellite to change the art behavior: debug-config, print, etc
  • create a partial-checkout release of a single package from Offline
    • compile and link the package and rerun the mu2e app
  • Explore the JobConfig scripts for various kinds of mu2e production jobs
  • Run some simple production jobs
    • Primary Particle generation and simulation
    • Mixing
    • reconstruction
  • setup and run generateFcl to prepare for grid running
  • run mu2eProdSys --dryrun

Session Organization Guideline

  • Encourage your attendees to ask questions if they are unsure what to do.
  • You may or may not have session helpers, who have already performed the tutorial
  • If someone finishes a step or exercise early, have them look around for neighbors that need help.
  • If someone is stuck, have them raise their hand to get help.

Reference Materials

  • Use this place to add inks to reference materials.