Abstract
Presently, \(\gamma \)-ray tracking in germanium segmented detectors is realised by applying two advanced, complex algorithms. While they have already triggered an intensive R &D, they are still subject to further improvements. Running the common code for these core algorithms in both the online/real-time and offline data pipelines posed significant challenges. These were addressed in current production software, but also require continued attention in view of significant on-going paradigm shifts in both hardware and software technology. This review paper gives an overview of the various software components produced so far by the AGATA collaboration. It provides hints of what is foreseen for the next phases of the project up to its full configuration namely with 180 capsules in the array.
Similar content being viewed by others
Data Availability
This manuscript has associated data in a data repository. [Authors’ comment: Data access is governed by the AGATA Data Policy (https://www.agata.org/acc/data_policy)].
References
A. Boston et al., AGATA PSA review chapter (Topical Issue xref). https://link.springer.com/journal/10050/topicalCollection AC_7c4e6a5494d6fa3624a6b34de562c441
F. Crespi et al., AGATA: Performance of \(\gamma \)-ray tracking and associated algorithms (Topical Issue xref). https://link.springer.com/journal/10050/topicalCollection/AC_7c4e6a5494d6fa3624a6b34de562c441
A. Gadea et al., Nucl. Inst. and Meth. A 654, 88 (2011). https://doi.org/10.1016/j.nima.2011.06.004
C. Domingo-Pardo et al., Nucl. Inst. and Meth. A 694, 297 (2012). https://doi.org/10.1016/j.nima.2012.08.039
E. Clément et al., Nucl. Inst. and Meth. A 855, 1 (2017). https://doi.org/10.1016/j.nima.2017.02.063
J. Valiente-Dobón et al., Nucl. Inst. and Meth. A 1049, 168040 (2023). https://doi.org/10.1016/j.nima.2023.168040
J. Collado et al., AGATA Phase 2 Advancements on Front-End Electronics (Topical Issue xref). https://link.springer.com/journal/10050/topicalCollection/AC_7c4e6a5494d6fa3624a6b34de562c441
X. Grave, et al., 14th IEEE-NPSS Real Time Conference, 5 (2005) https://doi.org/10.1109/RTC.2005.1547454
The AGAPRO library, https://gitlab.in2p3.fr/ip2i_gamma/agapro
The ADF library, https://gitlab.in2p3.fr/ip2i_gamma/adf
M. Bellato et al., J. Instrum. 8, P07003 (2013). https://doi.org/10.1088/1748-0221/8/07/P07003
B. Bruyneel et al., Eur. Phys. J. A 49, 61 (2013). https://link.springer.com/article/10.1140/epja/i2013-13061-4
S. Akkoyun et al., Nucl. Inst. and Meth. A 668, 26 (2012). https://doi.org/10.1016/j.nima.2011.11.081
F. E. Canet et al., LNL Annual Report 2017 (2017) https://www1.lnl.infn.it/~annrep/read_ar/2017/contributions/pdfs/083_C_71_C066.pdf
Boost C++ Libraries, http://www.boost.org
R. Brun, F. Rademakers, Nucl. Inst. and Meth. A 389, 81 (1997). https://doi.org/10.1016/S0168-9002(97)00048-X
M. Abadi, et al., “TensorFlow: Large-scale machine learning on heterogeneous systems,” (2015) https://www.tensorflow.org/
F. Chollet et al., “ Keras,” (2015). https://keras.io
F. Pezoa, et al., in Proceedings of the 25th International Conference on World Wide Web (2016) pp. 263–273 https://dl.acm.org/doi/10.1145/2872427.2883029
K. Varda, Protocol Buffers: Google’s Data Interchange Format, Tech. Rep. (Google, 2008) http://google-opensource.blogspot.com/2008/07/protocol-buffers-googles-data.html
flatbuffers, https://google.github.io/flatbuffers
D. Merkel, Linux journal 2014, 2 (2014). https://dl.acm.org/doi/10.5555/2600239.2600241
G. M. Kurtzer, et al., “Singularity,” (2021) https://doi.org/10.5281/zenodo.4667718
J. Postel, User Datagram Protocol (UDP), Tech. Rep. (1980) https://www.rfc-editor.org/info/std6
E. Eddy, W., Transmission Control Protocol (TCP), Tech. Rep. (2022) https://www.rfc-editor.org/info/std7
T. Bova, T. Krivoruchka, Reliable UDP Protocol, Tech. Rep. (1999) https://datatracker.ietf.org/doc/draft-ietf-sigtran-reliable-udp/00/
A. Buerger, private communication
A. Korichi et al., Overview of the AGATA DAQ-box : a unified data acquisition system for different experimental conditions (Topical Issue xref). https://link.springer.com/journal/10050/topicalCollection/AC_7c4e6a5494d6fa3624a6b34de562c441
H. G. Essel, N. Kurz, in IEEE Conference on Real-Time Computer Applications in Nuclear Particle and Plasma Physics (1999) pp. 475–478 https://ieeexplore.ieee.org/document/842672
V. Brigljevic, et al., in Conference for Computing in High-Energy and Nuclear Physics (2003) http://cds.cern.ch/record/687845
PostgreSQL, https://www.postgresql.org
T. Bray, et al., “ Extensible markup language (xml) 1.0 (fifth edition),” (2008) http://www.w3.org/TR/REC-xml
Memcached, https://memcached.org
Redis, https://redis.com
T. Hobson et al., in IEEE/ACM 21st International Symposium on Cluster. Cloud and Internet Computing (CCGrid) 2021, 123–132 (2021). https://doi.org/10.1109/CCGrid51090.2021.00022
D. Bazzacco, private communication
The GammaWare library, https://gitlab.in2p3.fr/IPNL_GAMMA/gammaware
A. Paszke, et al., in Advances in Neural Information Processing Systems 32 (Curran Associates, Inc., 2019) pp. 8024–8035 http://papers.neurips.cc/paper/9015-pytorch-an-imperative-style-high-performance-deep-learning-library.pdf
X. Fabian et al., Nucl. Inst. and Meth. A 986, 164750 (2021). https://doi.org/10.1016/j.nima.2020.164750
European Open Science Cloud, https://eosc-portal.eu
M.R. Crusoe et al., Commun. ACM 65, 54–63 (2022). https://doi.org/10.1145/3486897
H. Geissel et al., Nucl. Inst. and Meth. B 204, 71 (2003). https://doi.org/10.1016/S0168-583X(02)01893-1
M. Winkler et al., Nucl. Inst. and Meth. B 266, 4183 (2008). https://doi.org/10.1016/j.nimb.2008.05.073
A. Stefanini et al., Nuc. Phys. A 701, 217 (2002). https://doi.org/10.1016/S0375-9474(01)01578-0
S. Szilner et al., Phys. Rev. C 76, 024604 (2007). https://doi.org/10.1103/PhysRevC.76.024604
M. Rejmund et al., Nucl. Inst. and Meth. A 646, 184 (2011). https://doi.org/10.1016/j.nima.2011.05.007
Y.H. Kim et al., Eur. Phys. J. A 53, 162 (2017). https://doi.org/10.1140/epja/i2017-12353-y
M. Assié et al., Nucl. Inst. and Meth. A 1014, 165743 (2021). https://doi.org/10.1016/j.nima.2021.165743
The VAMOS library, https://gitlab.in2p3.fr/VAMOS/libvamos
The PRISMA library, https://baltig.infn.it/prisma/prisma_library
A. Matta et al., J. Phys. G: Nucl. Part. Phys. 43, 045113 (2016). https://doi.org/10.1088/0954-3899/43/4/045113
L. Legeard, “Gru (ganil root utilities),” https://gitlab.in2p3.fr/Ganil-acq/Analysis/gru
Grid File Access Library, https://gitlab.cern.ch/dmc/gfal2-bindings
Jupyter Notebooks, https://jupyter.org
Hierarchical Data Format, https://www.hdfgroup.org/solutions/hdf5
The pandas development team, https://doi.org/10.5281/zenodo.3509134“pandas-dev/pandas: Pandas,” (2020)
RStudio Team, “Rstudio: Integrated development environment for r,” http://www.rstudio.com/
M. Zaharia et al., Commun. ACM 59, 56–65 (2016). https://doi.org/10.1145/2934664
Apache Software Foundation, “Hadoop,” https://hadoop.apache.org
M. Cromaz et al., Nucl. Inst. and Meth. A 462, 519 (2001). https://doi.org/10.1016/S0168-9002(00)01126-8
O. Stézowski, C. Finck, D. Prévost, Nucl. Inst. and Meth. A 424, 552 (1999). https://doi.org/10.1016/S0168-9002(98)01304-7
InfluxDB, https://www.influxdata.com/
Grafana, https://grafana.com
Elasticsearch, https://www.elastic.co/fr/elasticsearch
S. Hochreiter, J. Schmidhuber, Neural Computation 9, 1735 (1997). https://dl.acm.org/doi/10.1162/neco.1997.9.8.1735
M.D. Wilkinson et al., Scientific Data 3, 160018 (2016). https://doi.org/10.1038/sdata.2016.18
Rucio, https://rucio.cern.ch
The EURO-LABS project, https://web.infn.it/EURO-LABS
S. Chacon, B. Straub, Pro git (Apress, 2014) https://link.springer.com/book/10.1007/978-1-4842-0076-6
GitHub, https://github.com
GitLab, https://about.gitlab.com
Cppcheck, https://cppcheck.sourceforge.io
Valgrind, https://valgrind.org
E. Calore, D. Bazzacco, F. Recchia, Nucl. Inst. and Meth. A 719, 1 (2013). https://doi.org/10.1016/j.nima.2013.04.018
A. Lopez-Martens et al., Nucl. Inst. and Meth. A 533, 454 (2004). https://doi.org/10.1016/j.nima.2004.06.154
CMake, https://cmake.org
R. Jabbari et al., in Proceedings of the Scientific Workshop Proceedings of XP2016 (2016) https://doi.org/10.1145/2962695.2962707
Software Heritage, https://www.softwareheritage.org
Modular Assembly Quality Analyser and Optimizer: MAQAO, http://www.maqao.org
Control of Accuracy and Debugging for Numerical Applications: CADNA, http://cadna.lip6.fr
Acknowledgements
The authors would like to thank the whole AGATA collaboration. The production of all the essential bricks of software, their maintenance and optimisation is the result of a constant and tremendous amount of hard work involving a huge number of people in many European laboratories. Particular thanks go also to the skilled engineering and technical staff at the various host facilities for taking the additional charge of running the system during the physics campaigns. Part of this project has received financial support from the CNRS through the MITI interdisciplinary programs.
Author information
Authors and Affiliations
Corresponding author
Additional information
Communicated by Nicolas Alamanos.
Y. Aubert: Deceased.
X. Grave: The author is on leave from IJCLab-CNRS
Rights and permissions
Springer Nature or its licensor (e.g. a society or other partner) holds exclusive rights to this article under a publishing agreement with the author(s) or other rightsholder(s); author self-archiving of the accepted manuscript version of this article is solely governed by the terms of such publishing agreement and applicable law.
About this article
Cite this article
Stézowski, O., Dudouet, J., Goasduff, A. et al. Advancements in software developments. Eur. Phys. J. A 59, 119 (2023). https://doi.org/10.1140/epja/s10050-023-01025-4
Received:
Accepted:
Published:
DOI: https://doi.org/10.1140/epja/s10050-023-01025-4