Skip to main content
Log in

Advancements in software developments

  • Regular Article - Experimental Physics
  • Published:
The European Physical Journal A Aims and scope Submit manuscript

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.

This is a preview of subscription content, log in via an institution to check access.

Access this article

Price excludes VAT (USA)
Tax calculation will be finalised during checkout.

Instant access to the full article PDF.

Institutional subscriptions

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9

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

  1. A. Boston et al., AGATA PSA review chapter (Topical Issue xref). https://link.springer.com/journal/10050/topicalCollection AC_7c4e6a5494d6fa3624a6b34de562c441

  2. 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

  3. A. Gadea et al., Nucl. Inst. and Meth. A 654, 88 (2011). https://doi.org/10.1016/j.nima.2011.06.004

    Article  ADS  Google Scholar 

  4. C. Domingo-Pardo et al., Nucl. Inst. and Meth. A 694, 297 (2012). https://doi.org/10.1016/j.nima.2012.08.039

    Article  ADS  Google Scholar 

  5. E. Clément et al., Nucl. Inst. and Meth. A 855, 1 (2017). https://doi.org/10.1016/j.nima.2017.02.063

    Article  ADS  Google Scholar 

  6. J. Valiente-Dobón et al., Nucl. Inst. and Meth. A 1049, 168040 (2023). https://doi.org/10.1016/j.nima.2023.168040

    Article  Google Scholar 

  7. J. Collado et al., AGATA Phase 2 Advancements on Front-End Electronics (Topical Issue xref). https://link.springer.com/journal/10050/topicalCollection/AC_7c4e6a5494d6fa3624a6b34de562c441

  8. X. Grave, et al., 14th IEEE-NPSS Real Time Conference, 5 (2005) https://doi.org/10.1109/RTC.2005.1547454

  9. The AGAPRO library, https://gitlab.in2p3.fr/ip2i_gamma/agapro

  10. The ADF library, https://gitlab.in2p3.fr/ip2i_gamma/adf

  11. M. Bellato et al., J. Instrum. 8, P07003 (2013). https://doi.org/10.1088/1748-0221/8/07/P07003

    Article  Google Scholar 

  12. B. Bruyneel et al., Eur. Phys. J. A 49, 61 (2013). https://link.springer.com/article/10.1140/epja/i2013-13061-4

  13. S. Akkoyun et al., Nucl. Inst. and Meth. A 668, 26 (2012). https://doi.org/10.1016/j.nima.2011.11.081

    Article  ADS  Google Scholar 

  14. 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

  15. Boost C++ Libraries, http://www.boost.org

  16. R. Brun, F. Rademakers, Nucl. Inst. and Meth. A 389, 81 (1997). https://doi.org/10.1016/S0168-9002(97)00048-X

    Article  ADS  Google Scholar 

  17. M. Abadi, et al., “TensorFlow: Large-scale machine learning on heterogeneous systems,” (2015) https://www.tensorflow.org/

  18. F. Chollet et al., “ Keras,” (2015). https://keras.io

  19. 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

  20. 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

  21. flatbuffers, https://google.github.io/flatbuffers

  22. D. Merkel, Linux journal 2014, 2 (2014). https://dl.acm.org/doi/10.5555/2600239.2600241

  23. G. M. Kurtzer, et al., “Singularity,” (2021) https://doi.org/10.5281/zenodo.4667718

  24. J. Postel, User Datagram Protocol (UDP), Tech. Rep. (1980) https://www.rfc-editor.org/info/std6

  25. E. Eddy, W., Transmission Control Protocol (TCP), Tech. Rep. (2022) https://www.rfc-editor.org/info/std7

  26. T. Bova, T. Krivoruchka, Reliable UDP Protocol, Tech. Rep. (1999) https://datatracker.ietf.org/doc/draft-ietf-sigtran-reliable-udp/00/

  27. A. Buerger, private communication

  28. 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

  29. 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

  30. V. Brigljevic, et al., in Conference for Computing in High-Energy and Nuclear Physics (2003) http://cds.cern.ch/record/687845

  31. PostgreSQL, https://www.postgresql.org

  32. T. Bray, et al., “ Extensible markup language (xml) 1.0 (fifth edition),” (2008) http://www.w3.org/TR/REC-xml

  33. Memcached, https://memcached.org

  34. Redis, https://redis.com

  35. 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

  36. D. Bazzacco, private communication

  37. The GammaWare library, https://gitlab.in2p3.fr/IPNL_GAMMA/gammaware

  38. 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

  39. X. Fabian et al., Nucl. Inst. and Meth. A 986, 164750 (2021). https://doi.org/10.1016/j.nima.2020.164750

    Article  Google Scholar 

  40. European Open Science Cloud, https://eosc-portal.eu

  41. M.R. Crusoe et al., Commun. ACM 65, 54–63 (2022). https://doi.org/10.1145/3486897

    Article  Google Scholar 

  42. H. Geissel et al., Nucl. Inst. and Meth. B 204, 71 (2003). https://doi.org/10.1016/S0168-583X(02)01893-1

    Article  ADS  Google Scholar 

  43. M. Winkler et al., Nucl. Inst. and Meth. B 266, 4183 (2008). https://doi.org/10.1016/j.nimb.2008.05.073

    Article  ADS  Google Scholar 

  44. A. Stefanini et al., Nuc. Phys. A 701, 217 (2002). https://doi.org/10.1016/S0375-9474(01)01578-0

    Article  Google Scholar 

  45. S. Szilner et al., Phys. Rev. C 76, 024604 (2007). https://doi.org/10.1103/PhysRevC.76.024604

    Article  ADS  Google Scholar 

  46. M. Rejmund et al., Nucl. Inst. and Meth. A 646, 184 (2011). https://doi.org/10.1016/j.nima.2011.05.007

    Article  ADS  Google Scholar 

  47. Y.H. Kim et al., Eur. Phys. J. A 53, 162 (2017). https://doi.org/10.1140/epja/i2017-12353-y

    Article  ADS  Google Scholar 

  48. M. Assié et al., Nucl. Inst. and Meth. A 1014, 165743 (2021). https://doi.org/10.1016/j.nima.2021.165743

    Article  Google Scholar 

  49. The VAMOS library, https://gitlab.in2p3.fr/VAMOS/libvamos

  50. The PRISMA library, https://baltig.infn.it/prisma/prisma_library

  51. A. Matta et al., J. Phys. G: Nucl. Part. Phys. 43, 045113 (2016). https://doi.org/10.1088/0954-3899/43/4/045113

    Article  ADS  Google Scholar 

  52. AgaSpy, https://gitlab.in2p3.fr/IPNL_GAMMA/AgaSpy

  53. L. Legeard, “Gru (ganil root utilities),” https://gitlab.in2p3.fr/Ganil-acq/Analysis/gru

  54. Grid File Access Library, https://gitlab.cern.ch/dmc/gfal2-bindings

  55. Jupyter Notebooks, https://jupyter.org

  56. Hierarchical Data Format, https://www.hdfgroup.org/solutions/hdf5

  57. The pandas development team, https://doi.org/10.5281/zenodo.3509134“pandas-dev/pandas: Pandas,” (2020)

  58. RStudio Team, “Rstudio: Integrated development environment for r,” http://www.rstudio.com/

  59. M. Zaharia et al., Commun. ACM 59, 56–65 (2016). https://doi.org/10.1145/2934664

    Article  Google Scholar 

  60. Apache Software Foundation, “Hadoop,” https://hadoop.apache.org

  61. M. Cromaz et al., Nucl. Inst. and Meth. A 462, 519 (2001). https://doi.org/10.1016/S0168-9002(00)01126-8

  62. 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

  63. InfluxDB, https://www.influxdata.com/

  64. Grafana, https://grafana.com

  65. Elasticsearch, https://www.elastic.co/fr/elasticsearch

  66. S. Hochreiter, J. Schmidhuber, Neural Computation 9, 1735 (1997). https://dl.acm.org/doi/10.1162/neco.1997.9.8.1735

  67. M.D. Wilkinson et al., Scientific Data 3, 160018 (2016). https://doi.org/10.1038/sdata.2016.18

    Article  Google Scholar 

  68. Rucio, https://rucio.cern.ch

  69. The EURO-LABS project, https://web.infn.it/EURO-LABS

  70. S. Chacon, B. Straub, Pro git (Apress, 2014) https://link.springer.com/book/10.1007/978-1-4842-0076-6

  71. GitHub, https://github.com

  72. GitLab, https://about.gitlab.com

  73. Cppcheck, https://cppcheck.sourceforge.io

  74. SonarQube, https://www.sonarsource.com/products/sonarqube

  75. Valgrind, https://valgrind.org

  76. E. Calore, D. Bazzacco, F. Recchia, Nucl. Inst. and Meth. A 719, 1 (2013). https://doi.org/10.1016/j.nima.2013.04.018

    Article  ADS  Google Scholar 

  77. A. Lopez-Martens et al., Nucl. Inst. and Meth. A 533, 454 (2004). https://doi.org/10.1016/j.nima.2004.06.154

    Article  ADS  Google Scholar 

  78. CMake, https://cmake.org

  79. R. Jabbari et al., in Proceedings of the Scientific Workshop Proceedings of XP2016 (2016) https://doi.org/10.1145/2962695.2962707

  80. Software Heritage, https://www.softwareheritage.org

  81. Modular Assembly Quality Analyser and Optimizer: MAQAO, http://www.maqao.org

  82. Control of Accuracy and Debugging for Numerical Applications: CADNA, http://cadna.lip6.fr

Download references

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

Authors

Corresponding author

Correspondence to O. Stézowski.

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.

Reprints and permissions

About this article

Check for updates. Verify currency and authenticity via CrossMark

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

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1140/epja/s10050-023-01025-4

Navigation