Dr Marc Paterno (Fermilab)
Future "Intensity Frontier" experiments at Fermilab are likely to be conducted by smaller collaborations, with fewer scientists, than is the case for recent "Energy Frontier" experiments. *art* is an event-processing framework designed with the needs of such experiments in mind. The authors have been involved with the design and implementation of frameworks for several experiments, including D0, BTeV, and CMS. Although many of these experiments' requirements were the same, they shared little effort, and even less code. This resulted in significant duplication of development effort. The *art* framework project is intended to avoid such duplication of effort for the experiments planned, and under consideration, at Fermilab. The *art* framework began as an evolution of the framework of the CMS experiment, and has since been heavily adapted for the needs of the intensity frontier experiments. Trade-offs have been made to simplify the code in order for it to be maintainable and usable by much smaller groups. The current users of *art* include mu2e, NOvA, g-2, and LArSoft (ArgoNeuT, MicroBooNE, LBNE-LAr). The *art* framework relies upon a number of external products (e.g., the Boost C++ library and Root); these products are built by the *art* team and deployed through a simplified UPS package deployment system. The *art* framework is itself deployed via the same mechanism, and is treated by the experiments using it as just another external product upon which their code relies. Because of the increasing importance of multi-core and many-core architectures, current development plans center around the migration of *art* to support parallel processing of independent events as well as to permit parallel processing within events.
We describe the art framework, current used by several planned and proposed Intensity Frontier experiments at Fermilab, and plans for its future development.
Christopher Green (Department of Physics)