The Nuclear and Particle Physics Software (NPPS) Group in BNL’s Physics Department is a consortium of experts on nuclear and high energy physics software and associated infrastructure, services and tools. The group participates in and supports the Laboratory’s NPP program, with a membership drawn largely from software and computing experts in the experiments on which BNL is a collaborator. The group’s goal is to consolidate and coordinate software efforts across the Department, sharing the knowledge, software and infrastructure consolidated within the group. The group’s activities include proposing and leading development and R&D efforts with both near and longer term objectives aligned with the strategic plan and vision of the Department, which includes strength in software and computing as part of BNL’s vision for technical and intellectual leadership in key HENP experiments.
The group gives top priority to a strong operation component, fulfilling deliverables and responsibilities to the experiments, with operational needs serving as a leading driver to development, and operations responsibilities complementing development responsibilities. The group also collaborates closely with software experts in the research programs of other groups; the team of NPPS collaborators is not limited to the group’s membership. The group emphasizes common efforts and common software, both internally and as a participant in common software activities in the wider HENP community, for example through strong participation in the HEP Software Foundation (HSF).
The NPPS group functions as an ensemble of dynamic, overlapping technical teams assembled to address specific objectives, undertake projects and cultivate commonality, e.g. a database team that is charged with delivering a conditions DB for one experiment and at the same time seeks opportunities to apply or adapt it in other experiments as well. Team members can come both from the NPPS group and from other groups. Group boundaries should be essentially invisible at the level of the technical team. Technical teams do not supersede or replace technical reporting lines in the experiments, which remain the primary technical reporting lines for group members. The team structure is the mechanism for ensuring the NPPS group operates in a bottom-up way driven by the needs of the experiments, engaging non group members in the activities of the group, attracting additional support and effort to its cross-cutting common projects, recognizing that common project work cannot come as an unsupported additional mandate to already overloaded people, and achieving efficiencies through common work.
A tenet of the group is the importance of supporting its software in operations as collaborative members of experiments. The group is concerned not only or even primarily with software development, but also with operations and support for the packages, services and tools developed by the group and used by the experiments.
The NPPS group aims to foster the engagement of BNL with wider NPP S&C projects, consortiums and open software communities, e.g. through a seminar series and hosting/organizing community-level meetings and workshops.
The NPPS group, as a consolidation of strong experimental software teams in both nuclear and particle physics, is unique among US Laboratories. The group seeks opportunities to draw on this strength and past successes and expand its reach for the benefit of US and international nuclear and particle physics programs. The focus of the group on common, cross-cutting projects allows it to present a strong case for support in an environment that strongly favors common cross-cutting efforts over ones focused on single experiments.
The NPPS Group Leader reports to the Physics Chair. The group is managed by a leadership team consisting of
Leadership team responsibilities include
Technical teams carry out the technical work of the group, each led by a team leader (or co-leaders where appropriate) responsible for the group’s activities and deliverables in the technical area, and for working with the group leadership to identify and develop new opportunities, projects and technical directions.
Technical reporting lines for experiment deliverables remain with the experiment. Consequently technical teams exist as essentially discussion forums until NPPS-directed common efforts over and above experiment-specific work materialize. At the discussion forum stage, the forums share expertise and explore common project opportunities.
Coordination with experiments and other stakeholders is via a coordination team consisting of the NPPS leadership team, lead contacts for the experiments and technical team leaders. A lead contact for each experimental group, identified by the experimental group, represents to NPPS the needs and interests of the experiment. The contact may be a member of either NPPS or the experimental group, and may be a NPPS leadership team member. Lead contacts are also established for other activities having important relation to NPPS, e.g. RACF, CSI, and substantial externally-funded projects.
Planning and coordination of NPPS activities is through meetings which are open to all. The leadership team meets on a regular basis for high level planning and group management purposes.
The group’s principal channel of e-communication is the
firstname.lastname@example.org mailing list. The list is open to all and everyone interested in NPP software is encouraged to join.
The group’s web presence is via this GitHub hosted website and materials linked herein. The group’s GitHub organization BNLNPPS will also be used for hosting code and resources emerging from the group.
Technical teams will organize their own meetings as needed, reporting to the group meeting periodically.
For meeting and event information see the appropriate sections of this site.
NPPS hosts and organizes topical meetings, workshops, tutorials etc., often collaboratively with others. NPPS personnel are involved in community activities through e.g. HSF.
NPPS collaborates with groups and organizations within and outside BNL, including