FNAL Programming Reconstruction Software for Large Computing Projects Course Twiki

Brief description of the TWiki and course description

This TWiki describes and contains materials for a course on programing reconstruction software for large computing projects. The course is intended for graduate students and starting postdocs who have programming experience but have not developed software within the framework of a large computing project. The course focuses on programing reconstruction software using tracking reconstruction in C++ as an example. The course is otherwise general and applies to programing problems in any large experimental particle physics project.

Introduction to the course

The development of effective software for the reconstruction of datasets from large scale physics experiments is a complex collaborative effort between dedicated physicists and software engineers. Physicist effort is essential in that it brings knowledge of the design and physics purpose of the experiment as well as project manpower. However, most physicists do not have formal training in software design or experience in large and complex software projects. This can hamper central project goals, such as achieving the primary purpose of the software, and other considerations, such as working within processing power, memory and storage space limitations, code maintenance, and code transparency for users. This course is designed to train physicists from a practical standpoint in these issues in the format of a one-week intensive workshop. The course is primarily designed around programming examples performed in a group work setting. The course includes introductory reading, lectures and in class exercises. Together the daily exercises represent a complete project in reconstructing data.

As the initial primary instructor and course designer Prof. Matthew Herndon brings practical experience in the design and management of large-scale reconstruction software from the CDF and CMS experiments. Prof. Herndon’s primary experience has involved the CDF silicon tracking software where he was a primary author of the silicon hit building code, the forward silicon only tracking code and the version of the silicon tracking code used in the CDF online trigger. Also he was the convener of the CDF tracking group with overall management responsibility for the CDF tracking code. More recently he has worked on online muon tracking code at the CMS experiment. In addition, he has experience in the design of new courses including a course on experimental methods in particle physics.

Course prerequisites

  • Students should have experience in C++ programing.
  • Students should have familiarity with the process of compiling, linking and running programs in a UNIX environment
  • Students should have familiarity with the physics of charged particle trajectories in magnetic fields
  • Students must complete the pre course exercise. (available starting July 28th)

Documents and course software

Supplementary Materials

Issue tracking

Request for help can be submitted to the course issue tracker by using the New issue link . This requires that you log into redmine using your Fermilab services domain username and password.

Daily course pages

Day 0: Pre-course introduction and required exercise: click Day0

Day 1: Course activities and instructions: click Day1

Day 2: Course activities and instructions: click Day2

Day 3: Course activities and instructions: click Day3

Day 4: Course activities and instructions: click Day4

Day 5: Course activities and instructions: click Day5