Skip to main content
Log in

Reconstructing charged-particle trajectories in the PANDA Straw Tube Tracker using the LOcal Track Finder (LOTF) algorithm

  • Special Article – New Tools and Techniques
  • Published:
The European Physical Journal A Aims and scope Submit manuscript

Abstract

We present the LOcal Track Finder (lotf) algorithm, a method that performs charged-particle trajectory reconstruction using the Straw Tube Tracker, one of the central trackers of the antiProton ANnihilation at DArmstadt (PANDA) detector. The algorithm builds upon the neighboring relations of the tubes to connect individual hits and form track candidates. In addition, it uses a local fitting procedure to handle regions where several tracks overlap and utilizes a system of virtual nodes to reconstruct the z-information of the particle trajectories. We generated 30,000 events to assess the performance of our approach and compared its global track assignment efficiency with respect to two other track reconstruction methods. lotf has (1) an average of 85% of found tracks, (2) the largest number of Fully Pure tracks, (3) the lowest amount of incorrect reconstructions, and (4) is significantly faster than the other two approaches. Further, we compared the z-reconstruction performance with one of the two alternative methods and show that lotf improves the median z-error by a factor of 8.7. Finally, we tested our method using 3750 data sets composed of 4 events each, demonstrating that our approach handles cases in which events are mixed. The raw (without parallelization) average reconstruction rate is about 68,000 hits/s, which makes the present algorithm promising for online data selection and processing.

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.

Fig. 1
Fig. 2
Fig. 3
Fig. 4
Fig. 5
Fig. 6
Fig. 7
Fig. 8
Fig. 9
Fig. 10
Fig. 11
Fig. 12
Fig. 13
Fig. 14
Fig. 15
Fig. 16
Fig. 17
Fig. 18

Similar content being viewed by others

Availability of data and material

The simulated data sets underlying this paper are available upon request to the corresponding author.

Notes

  1. https://panda.gsi.de/.

  2. https://fair-center.eu/.

  3. In all this work, we only use the x–y and z–y plane to visualize the track reconstruction.

  4. The choice of using the z–y plane instead of the z-x plane is arbitrary, and has no impact on the reconstruction results.

  5. We used PandaRoot v12.0.1.

References

  1. B. Ketzer, The PANDA Collaboration, Int. J. Mod. Phys. A 21, 5675–5685 (2006)

    Article  ADS  Google Scholar 

  2. G. Barucca, The PANDA Collaboration, Eur. Phys. J. A 184, 57 (2021)

    Google Scholar 

  3. M. Durante et al., Phys. Scripta 033001, 94 (2019)

    Google Scholar 

  4. L. Frankfurt et al., Eur. Phys. J. A 171, 56 (2020)

    Google Scholar 

  5. W. Erni, The PANDA Collaboration. arXiv:0903.3905 (2009)

  6. R.E. Kalman, J. Basic Eng. 35–45, 82 (1960)

    Google Scholar 

  7. P.V. Hough, in Proc. of the International Conference on High Energy Accelerators and Instrumentation, pp. 554–556 (1959)

  8. L. Bianchi et al., J. Phys. Conf. Ser. 898, 072040 (2017)

    Article  Google Scholar 

  9. A. Alicke, T. Stockmanns, J. Ritman, EPJ Web Conf. 04002, 251 (2021)

    Google Scholar 

  10. W. Ikegami Andersson et al., Comput. Softw. Big Sci. 1–14, 5 (2021)

    Google Scholar 

  11. J. Regina, W. Ikegami Andersson, in Connecting the Dots and Workshop on Intelligent Trackers (2019). arXiv:1910.06086 [nucl-ex]

  12. A. Adinetz et al., Procedia Comput. Sci. 113–123, 29 (2014)

  13. M. Babai et al., Math. Morphol. Appl. Signal Image Process. 9082, 86–97 (2015)

    Google Scholar 

  14. M. Babai et al., Pattern Rcognit. 106, 107467 (2020)

    Article  Google Scholar 

  15. W. Esmail et al., arXiv:1910.07191 (2019)

  16. A. Akram, X. Ju, arXiv e-prints. arXiv:2208.12178 [hep-ex] (2022)

  17. Y. Liang et al., IEEE Trans. Nuclear Sci. 1331–1337, 64 (2017)

    Google Scholar 

  18. A. Herten, The PANDA Collaboration. in GPU Computing in High-Energy Physics, pp. 57–63 (2015)

  19. W. Ikegami Andersson, PhD thesis (Uppsala University, Department of Physics and Astronomy, 2020), p. 231. (ISBN: 978-91-513-0850-0)

  20. W. Erni, The PANDA Collaboration. Eur. Phys. J. A. Hadrons Nuclei 49(2), 25 (2013)

    Article  ADS  Google Scholar 

  21. C. Schwarz et al., J. Instrum. C02008, 7 (2012)

    Google Scholar 

  22. S. Spataro, The PANDA Collaboration, J. Phys. Conf. Ser. 032031, 331 (2011)

    Google Scholar 

  23. S. Agostinelli et al., Nuclear Instrum. Methods Phys. Res. Sect. A 250–303, 506 (2003)

    Google Scholar 

  24. J. Allison et al., IEEE Trans. Nuclear Sci. 270–278, 53 (2006)

    Google Scholar 

  25. J. Allison et al., Nuclear Instrum. Methods Phys. Res. Sect. A 186–225, 835 (2016)

    Google Scholar 

  26. W. Erni, The PANDA Collaboration. arXiv:1207.6581 (2012)

  27. J. Smyrski, Phys. Procedia 37. in Proceedings of the 2nd International Conference on Technology and Instrumentation in Particle Physics (TIPP 2011), pp. 85–95 (2012)

  28. J. Schumann, F.H. Aachen, Campus JÜlich, Bachelorarbeit, 2013. 84, BA (FH Aachen, Campus Jülich, 2013)

  29. J. Regina, PhD thesis (Uppsala University, Nuclear Physics, 2021), p. 246. (ISBN: 978-91-513-1373-3)

  30. R. Karabowicz, GSI Sci. Rep. 8, 12 (2010)

    Google Scholar 

  31. C. Hoppner et al., Nucl. Instrum. Methods A 518–525, 620 (2010). arXiv:0911.1008

    Google Scholar 

  32. M.H.F. Wilkinson, Image Vis. Comput. 426–435, 25 (2007)

    Google Scholar 

  33. M. Papenbrock, W. Ikegami Andersson, J. Regina, EPJ Web Conf. 245, 01029 (2020). (eds Doglioni, C. et al.)

  34. J. Regina, in Connecting the Dots Workshop Proceedings (2020)

  35. W. Erni, The PANDA Collaboration. arXiv:0810.1216 (2008)

  36. C.R. Harris et al., Nature 357–362, 585 (2020)

    Google Scholar 

  37. J.D. Hunter, Comput. Sci. Eng. 90–95, 9 (2007)

    Google Scholar 

  38. W. McKinney, in Proceedings of the 9th Python in Science Conference, eds. by S. van der Walt, J. Millman, pp. 56–61 (2010)

Download references

Acknowledgements

This paper is based on research developed in the DSSC Doctoral Training Programme. The authors would like to thank the referees whose comments greatly helped improve the quality of this manuscript. SG thanks Mohammad Babai for sharing his code, and for the very useful discussions throughout this work. SG also thanks the PANDA collaboration for the development of the PandaRoot software. SG acknowledges the use of the python packages numpy [36], matplotlib [37], and panda [38].

Funding

This work was funded by the Centre for Data Science and Systems’ Complexity, University of Groningen.

Author information

Authors and Affiliations

Authors

Consortia

Corresponding author

Correspondence to Simon Gazagnes.

Ethics declarations

Conflict of interest

Not applicable.

Code availability

The code of the lotf algorithm is available at https://github.com/sgazagnes/lotf.

Additional information

Communicated by Carlos Munoz Camacho.

A Algorithms

A Algorithms

In this section, we present the code of the algorithms used in the present work.

1.1 A.1 The connect phase

figure a

In Sect. 3.1.1, we briefly presented the connect phase. In this appendix, we present and detail the corresponding pseudocode in Algorithm 1. The function FindStartingHits looks for the edges of the track by extracting all nodes that belong to the inner- or outermost layer of the STT (the “limit layers”). Every time we find such a node, we define a new track candidate using the structure PathCandidate and set the current node as the tail of the track. Neighbors of this node are extracted and stored in the neighbors vector. We use a variable CurDir to determine the current orientation of the track, based on the layer of the nodes that have been added so far (layer 0 being the closest to the beam-target interaction point). The CurDir variable is either UP, DOWN, or SAME depending on whether the layer index difference of the two most recently added nodes is 1, \(-1\), or 0, respectively.

We connect neighboring activated tubes iteratively to a track using a loop that successively looks for the next available neighbors around the most recently added node. If we have a single activated tube, it is automatically connected to the track. Otherwise, we use the procedure SortPerLayer to sort all the available neighboring nodes based on their layer index. We then add only neighbors that are consistent with the track direction and are adjacent to each other (function AreConnected). If the layer configuration of all neighbors is too complex (i.e. we have neighbors on all different layers and the track direction is unclear), we pause the track reconstruction and store the current list of neighbors. Then, the track reconstruction is resumed during the fitting phase to resolve these complex cases.

The track reconstruction also stops when we have no more neighboring nodes in sight. For the latter case, we test whether the current track looks complete by testing if its tail node (the first node added) and head node (the last node added) are on layer limits. This criterion assumes that a track transiting through the entire STT volume or circling in it is finished. If a track has no more neighboring nodes but one of its extremities ends in the middle of the STT, we flag it as ongoing for later investigation. Indeed, there might exist another track candidate, not directly neighboring, that it can be connected to.

1.2 A.2 The fitting phase

figure b

Algorithm 2 details the steps described in Sect. 3.1.2. For all the tracks flagged as ongoing, we use a local fitting approach based on a system of anchor nodes to look for the next best node to add to the track. The function ExtractLast3Anc recovers the last three anchors in the track that are used to fit the parametric equation system for the x and y coordinates (function FitXYLine). The variables xPred and yPred are the predicted coordinates of the next nodes according to the parametric equations. For all the neighboring nodes, we compute the distance (labeled hitDist) between the node position and the predicted coordinates of the next hit using the function ComputeDist. Additionally, we use the anchors to determine the track direction (CurDir) which is derived based on the layers the anchors belong to (similar to the method used during the connect phase). Once we tested all the hits, we look for the best possible fit in the list by taking the node with the minimal distance while having a consistent direction with respect to the CurDir variable. This is done using the function FindBestHit. As detailed in Sect. 3.1.2, we set a criterion on the maximum distance acceptable such that the function returns \(-1\) if no neighboring nodes are sufficiently close to the predicted node position.

When a good node is found, if it already belongs to another track, we check whether these tracks should be merged using the function CheckMerging which computes the intersection angle between two tracks. If the CheckMerging test is successful (see Sect. 3.1.2), the fitting phase for this particular track is stopped, and both tracks are flagged as ToMerge such that no more hits are added.

On the other hand, if CheckMerging returns false, or if the best node found does not belong to any track, we connect this node to the current track. We repeat the steps above updating the list of neighbors to include the neighbors of the most recently added tube. The algorithm continues until the current track is flagged for merging, or until the list of next neighbors is empty.

1.3 A.3 z-reconstruction

In this section, we detail the pseudo-code for the procedures used for the z-reconstruction in Algorithm 3. The CorrectSkewedXY procedure is the function used to estimate the exact hit position along the tube (see Fig. 10). The procedure InterpolateZCoord is the function used at the end of the track reconstruction to fit a parametric line in the z-direction and re-estimate consistently the z coordinates of all the nodes in the track. The functioning of the two procedures is detailed in Sect. 3.2.

figure c

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

Gazagnes, S., Kalantar-Nayestanaki, N., Messchendorp, J.G. et al. Reconstructing charged-particle trajectories in the PANDA Straw Tube Tracker using the LOcal Track Finder (LOTF) algorithm. Eur. Phys. J. A 59, 100 (2023). https://doi.org/10.1140/epja/s10050-023-01005-8

Download citation

  • Received:

  • Accepted:

  • Published:

  • DOI: https://doi.org/10.1140/epja/s10050-023-01005-8

Navigation