Fermilab hosts first C++ school for next generation of particle physicists

Students learn the ropes of C++ at last week’s software school, hosted at Fermilab.

Colliding particle beams without the software know-how to interpret the collisions would be like conducting an archaeological dig without the tools to sift through the artifacts. Without a way to get to the data, you wouldn’t know what you were looking at.

Eager to keep future particle physicists well-equipped and up to date on the field’s chosen data analysis tools, Scientific Computing Division’s Liz Sexton-Kennedy and Sudhir Malik, now physics professor at University of Puerto Rico Mayagyez, organized Fermilab’s first C++ software school, which was held last week.

“C++ is the language of high-energy physics analysis and reconstruction,” Malik said. “There was no organized effort to teach it, so we started this school.”

Although software skills are crucial for simulating and interpreting particle physics data, physics graduate school programs don’t formally venture into the more utilitarian skill sets. Thus scientists take it upon themselves to learn C++ outside the classroom, either on their own or through discussions with their peers. Usually this self-education is absorbed through examples, whether or not the examples are flawed, Sexton-Kennedy said.

The school aimed to set its students straight.

It also looked to increase the numbers of particle physicists fluent in C++, a skill that is useful beyond particle physics. Fields outside academia highly value such expertise — enough that particle physicists are being lured away to jobs in industry.

“We would lose people who were good at both physics and C++,” Sexton-Kennedy said. “The few of us who stayed behind needed to teach the next generation.”

The next generation appears to have been waiting for just such an opportunity: Within two weeks of the C++ school opening registration, 80 students signed up. It was so popular that the co-organizers had to start a wait list.

The software school students include undergraduates, graduate students and postdocs, all of whom work on Fermilab experiments.

“We get most of the ideas for how to use software for event reconstruction for the LBNE near-detector reference design from these sessions,” said Xinchun Tian, a University of South Carolina postdoc working on the Long-Baseline Neutrino Experiment. “C++ is very useful for our research.”

University of Wisconsin physics professor Matt Herndon led the sessions. He was assisted by 13 people: Notre Dame University physics professor Mike Hildreth and volunteers from the SCD Scientific Software Infrastructure Department.

Malik and Sexton-Kennedy plan to make the school material available online.

“People have to take these tools seriously, and in high-energy physics, the skills mushroom around C++ software,” Malik said. “Students are learning C++ while growing up in the field.”

Leah Hesla

About 80 students signed up for the C++ software school at Fermilab. Photo: Cindy Arnold