Event Reconstruction in the NOvA Experiment

Event Reconstruction in the NOvA Experiment


The NOvA experiment observes oscillations in two channels (electron-neutrino appearance and muon-neutrino disappearance) using a predominantly muon-neutrino NuMI beam. The Near Detector records multiple overlapping neutrino interactions in each event and the Far Detector has a large background of cosmic rays due to being located on the surface. The oscillation analyses rely on the accurate reconstruction of neutrino interactions in order to precisely measure the neutrino energy and identify the neutrino flavor and interaction mode. Similarly, measurements of neutrino cross sections using the Near Detector require accurate identification of the particle content of each interaction. A series of pattern recognition techniques have been developed to split event records into individual spatially and temporally separated interactions, to estimate the interaction vertex, and to isolate and classify individual particles within the event. This combination of methods to achieve full event reconstruction in the NOvA detectors has discussed.


I Introduction

The NOvA (NuMI Off-axis Appearance) far detector (FD) is 810 km from the NuMI production target and positioned 14 mrad off-axis from the NuMI beam, resulting in a narrow-band neutrino flux peaked around 2 GeV (1). The NOvA near detector (ND) is located approximately 1 km from the NuMI production target, off-axis such that the peak of the neutrino flux matches that of the far detector. Both detectors are functionally identical, segmented, tracking calorimeters. The basic unit of the NOvA detectors is a long highly reflective white polyvinyl chloride (PVC) cell of cross sectional size 3.9cm by 6.6cm filled with liquid-scintillator. The detectors are designed to provide sufficient sampling of hadronic and electromagnetic showers to allow efficient separation of the charged current (CC) interaction signals from the neutral current (NC) interaction backgrounds. There are several physics goals in the NOvA experiment. These are observation of the oscillation of muon neutrinos to electron neutrinos, neutrino mass ordering and CP violation in neutrinos. In addition to that, there are searches for sterile neutrinos, supernova, and neutrino cross section measurements in the ND.

The analyses goals of the NOvA experiment require detailed reconstruction of the neutrino interactions. The signature of events (individual fundamental interactions) looks different for different interactions. The charged current interaction produces an electromagnetic shower electron. Whereas charged current interactions produce a muon as a narrow track along its trajectory rather than shower (Fig.1). The more difficult is neutral current interactions with a single . The decays to two photons and these photons produces electromagnetic showers that can be difficult to distinguish from electrons. Photons travel some distance (the photon conversion distance is 38 cm (6 planes)) before converting into an pair which produce scintillation light. Therefore we have developed different kinds of reconstruction tools in the NOvA experiment for different purposes. The full chain of reconstruction is outlined in the following sections. The NOvA detectors collect raw data from the read out, referred to as cellhits (activity on a particular cell), it saves information about plane, cell, time and charge information about the hits. Spatial and temporal correlation between the hits are clustered together into different groups called “slices” which is the foundation for all later reconstruction stages explained in section II. Next, a modified Hough transform is applied to identify prominent straight-line features in a slice that serve as seeds (Section III). Then, the Hough lines are used to reconstruct a global 3D neutrino interaction vertex using an Elastic Arms algorithm (Section IV). The vertex is then used as a seed to a “fuzzy k-mean” algorithm that produces prongs (a collection of cell hits with a start point and direction) which contain the activity of particles in the event (Section V). Using the slicing and fuzzy k-mean algorithm, the Break Point Fitter (BPF) algorithm makes reconstructed 3D tracks under each of the three particle assumptions (muon, proton, and pion) for each Fuzzy-K 3D prong (Section VI). Another tracking algorithm, based on a Kalman filter generates reconstructed tracks from individual slices and the goal of the tracking is to trace the trajectory of individual particles that deposit energy in the detector. This is especially useful in identifying particles that do not create large electromagnetic or hadronic showers, such as muons (Section VII). Identification of neutrino interactions based on their topology without the need for detailed reconstruction is done by means of a Convolutional Visual Network (CVN) (Section VIII). Similarly CVN is used for particle identification (Section IX).

Figure 1: CC neutrino interaction with long muon (top). CC neutrino interaction with electron shower (middle), Neutral current (bottom).

Ii Isolating Neutrino Interactions

NOvA collects data in the form of packet of hits in 550 microsecond readout windows for the entire detector. However, physics interactions take place within a shorter time period. In the FD which is located on the surface, the primary concern is separating 50-70 cosmic rays in a 550 microsecond readout windows. where as ND is expected to separate 5 neutrino interactions in each 10 microsecond neutrino beam window. The beam spill (the length of time within which we expect neutrino interactions from the beam to occur) is only within the window of 10 microseconds and the time outside the beam spill allows us to do background determination. All those collected hits can be divided into two groups of hits: signal and noise. To separate accurately the signal hits from the noise hits and further separates the signal hits into clusters of hits that originate from different sources, we use an expanding, density-based clustering algorithm (DBSCAN) described in (2) which makes use of space and time information. In the DBSCAN algorithm, there are two types points: core and border. The minimum number of neighbors (pairs whose distance is below a threshold) is defined as core points whereas border points have less than the minimum number of neighbors, but are allowed to be included in the group of hits (clusters) if and only if they are the neighbor of a core point. The algorithm makes clusters by expanding the cluster around the core points. Points that do not belong to these categories are treated as noise. This algorithm takes as input a pair of cell hits and calculates a distance metric in space and time defined as


where is the timing resolution for the quadratic sum of two hits (time resolution for FD is 10 and for ND is ), is a distance penalty, is the time in nanoseconds between hits, and are the distances in centimeters between hits in each view. For hits in the same view , while for hits in opposite views = .

The slicing algorithm, called “Slicer”, requires that each slice contain a single interaction. The performance of the slicer is determined from two metrics: efficiency and purity.


In far detector cosmic simulations, slicing was found to have an efficiency and purity of 99.3%, whereas for the near detector neutrino simulations slicing had a efficiency of 94.4% and a purity of 98.5% (3).

Iii Identifying Lines with Multi-Hough Transform

After slicing, the next step is to identify lines in each slice using a modified Hough transform algorithm (4). This algorithm takes as input pairs of points characterized as a straight line passing through them and parameterized in polar co-ordinates () where is the perpendicular distance from the line to the origin and is the angle between and the x-axis. The algorithm make lines and fits in each detector view separately. The line passing through each pair of hit points in the slice creates a Gaussian smear vote


where , and d is the distance between the two hits. A Hough map is created by filling the phase space with votes and the peak in the map is identified as the line of interest. To create new lines to the Hough map, we use an iterative method. First, we remove the last peak results of hough space and from the rest of the list we look for a new hough map. This continues until we can not find any more peaks in a hough space above threshold. The metrics used to check the performance of this algorithm is the dominant Hough lines that pass and form intersections near the primary vertex of the slice.

The performance for the Far Detector is within an average of 6.9 (NC), 4.1 ( CC), and 2.7 ( CC) cm of the vertex whereas the average distance for the secondary hough line is 9.9 (NC), 8.2 ( CC), and 8.8 ( CC) cm (3).

Iv Identification of Vertex using Elastic-Arm

After slicing and the Hough algorithm, the next reconstruction stage is to run an elastic arm algorithm on each slice to find the primary neutrino interaction point. The output of the algorithm is a global 3D vertex point by seeding the lines made by the Hough algorithm. The single point in a slice where the prong arms meet is the vertex. An “elastic arms” (also called as “deformable templates”) is a straight line defined by polar angle and azimuthal angle such that the location of the arm originated at () with a distance s in Cartesian coordinates is


To best describe the event topology, the Elastic Arm algorithm (5) finds the parameters () by minimizing an energy function of the form


where and are the total number of arms and hits in slice, respectively. measures distance between cell hit and arm . This is computed as the perpendicular distance from the hit to the projection of the arm in the detectors two 2D views, given by


is a normalized factor (half of the cell depth/ = 0.9 cm), is the likelihood that hit i associated with arm a is assumed proportional to and the noise is assumed to be a constant factor


is range of influence of each arm, is a measure of the distance between the vertex and the first hit on arm a, and and control the penalty terms. The first term in equation 6 measures the goodness of fit between the hits and the arms and it minimizes when arm passes through the hits. The second term is a penalty for hits not associated with any arm. The third is a penalty term for arms whose first hit is far from the vertex location. This term is very important while finding a vertex position for NC events where two photons are produced from after traveling some distance in the NOvA detector. The likelihood for a photon to travel a distance d before converting is proportional to , where (30 cm), leads to a penalty term.


For all the verticies, arms are seeded and the directions are scanned and minimize the energy cost function mentioned in equation 6. The minimization heavily depends on the performance of multi-hough algorithm and uses ROOT’s MINUIT class. The fit procedure is initialized with low values of to avoid local minima in the energy cost function, and is gradually tuned up to reach on the final vertex point in the slice.

The vertex resolutions of a events tell us the performances of both Multi-Hough and Elastic Arms algorithms which is 11.6 (about 2 NOvA cells), 10.9, and 28.8 cm for CC, CC, and NC events respectively.

V Formation of Prong with Fuzzy k-Means

The next step of the reconstruction chain is the formation of prongs (clusters of hits with a start point and direction. We use a possibilistic fuzzy-k means algorithm [(6), (7)] for assigning a prong membership to each cell hit within the slice. The term “possibilistic” means the sum of each hit’s membership across all prongs is not required to be unity, which allows for outlier hits to be treated as noise. This algorithm works very well on separating the noise hits. The “fuzzines” allows a hit to belong to more then one prong. Fuzzy-k makes prongs separately in the XZ and YZ views using the cell hits in a slice, so it starts with a 2D view and furthermore it matches between the two views and produces 3D prong. The algorithm considers the vertex from Elastic Arms as the origin of the event in both views of the detector and the cell hits within the slice appear as peaks of deposited energy in a 1-D angular space around that vertex. Uncertainty is assigned as a function of distance from the vertex. The line connecting a cell hit to the vertex forms an angle with respect to z-direction of detector ranging from to . The uncertainty of this angle is modeled after the multiple scattering of 1-2 GeV muons and electrons associated with each cell hit based on its distance from the vertex. To find the prongs in angular space we seeded prong to find minima in densed cell hit, using the density matrix w:




Associating each cell hit with a prong starts with assuming there is only one prong centered on the densest cell hit region in angular space and then prong centers are added and updated using the iterative method. The distance from each cell hit to the prong center is calculated as


and the prong membership is assigned with


where a is the number of prong centers in the slice. m is a measure of fuzziness of prongs and is set to 2 to allow membership to be shared between prongs. is a normalization factor which represents the expected spread of hits around the prong center. Furthermore, the prong centers are updated with:


Prong angles are updated and additional prongs are added until all cellhits have at least a 1% membership in a prong at the maximum number of prong seeds has been reached. Prongs with significant membership overlaps are merged. Prongs with large spatial gaps that indicate two colinear particles are split.

At the end of the prong formation stage there is a set of 2D prongs for each view of the NOvA detector. The next stage in the process is two match prongs between views in order to form 3D prongs. Matching involves comparing the energy profile of a prong in each view. A Kuiper metric is used to find the best match for the prong, where and are the largest negative or positive distances between the profiles respectively (Fig. 2 and 3).

Figure 2: A simulated CC quasi-elastic interaction in the FD with completed 3D prong reconstruction from the fuzzy-k means algorithm. The reconstructed prong outlined as electron (red) and as proton (green) in each view and the corresponding energy profile histograms used to compute the suitable 3D prong matches is shown in Fig.3 (8).
Figure 3: Cumulative energy profile as a function of path length along a prong for perspective 3D match candidates shown in Fig 2. The prongs are in the XZ (vertical planes) view (red curves) and for the YZ (horizonal planes) view (blue curves). The upper-left and lower-right panels show the preferred matches with similar energy profiles that result in the green and red track respectively. The off-diagonal elements illustrate the difference in energy profile shape for the wrong combinations (8).

The performance of this algorithm is based on the completeness for hits produced by the primary lepton in charged current (CC) interactions. For CC events, the average completeness is 88%: 95% for quasi-elastic events and 86% for non-quasi-elastic events. For CC events, these numbers are 93%, 98%, and 92% respectively.

Vi Tracking of Particle with Break Point Fitter

Starting with Fuzzy-K 3D prongs and an Elastic Arm vertex, a trajectory of the particle is constructed using multiple coulomb scattering is approximated with a straight line fit and energy loss along the path of each 3D prongs due to deposition of cell hits. The expected energy loss is summed, walking back from the end of the track to the vertex. Moving from the vertex back to the end of the track, scattering planes are inserted based on a multiple scattering model. While walking forward along the trajectory, the expected amount of Coulomb scattering is given by.


where is the particle velocity in units of c, p is the particle momentum and x is the distance traveled by a charged particle. When the expected scattering angle becomes more than some tolerance value, we place a scattering plane half a step back. This continues until the end of the track is reached. It is assumed that the kinetic energy of the particle is zero at this point.

Figure 4: Schematic representation of the track model used by BPF. The track is allowed to scatter through the angles at the scattering planes indicated by the dashed vertical lines.


Next, the particle’s trajectory is constructed using the Break Point Fitter (BPF) algorithm which first assumes that particles are traversing along the z-axis of an Cartesian coordinate system as shown in Fig.4. The track location at each position in z has associated value () in x and y direction each with an associated uncertainty . As the track propagates through the cells, it is allowed to scatter at several no. of locations (m) among the different no. of planes (n) and all these locations of scattering planes are arbitrary. The trajectory of the track at the position and measurement plane can be expressed as


where a and b are the intercept and slope of the initial track direction, is the scattering angle (small) at the scattering plane, and is the Heaviside function which ensures that only the upstream scattering angles where affect the trajectory at the measurement plane. To optimize these parameters, we define a goodness of fit as


where is the error on the measurement, is the uncertainty in the scattering angle calculated for each scattering plane j, and is the expected scattering angle at the scattering plane.

The final results is a reconstructed 3D track under each of the three particle assumptions (muon, proton and pion) for each Fuzzy-K 3D prong. 

Vii Kalman Track

Another useful algorithm which reconstructs tracks from individual slices and is widely used in the NOvA’s muon neutrino disappearance analysis is the Kalman algorithm (9). This algorithm takes input as clusters of hits formed from the Slicer algorithm and forms tracks in the two detector views (XZ and YZ) separately. Each view produces 2D tracks which are later matched to produce a single 3D track. To create 2D tracks, seeding is done where the seed is a segment of the track and formed from pair of hits that are separated by less than 4 cells. The seed is propagated using a Kalman filter to extend the track and add any additional hits from next cell using the current value of the track position and slope that are consistent with the track. Once a hit is added to the track the position of the track, direction, slope and intercept is updated for the new measurement and the process is continues until no more hits can be added to the track. The propagation process starts from the downstream end of the detector, toward the upstream direction, because in the downstream end the particles emerging from the interaction should be the most separated from each other. Track propagation is continued as long as it did not get any consistent hit and the probability of a gap existing in a track from one hit to the next is less than 0.0001. Once the track propagates to the upstream, propagation is reversed to go downstream to pick up any missing hits from the initial propagation. To find a good track, there is a optimization of track based on maximizing the efficiency of reconstructing long tracks (muons), with rejecting the poor reconstructed track.

Once all the 2D tracks have been made in each view independently, matching the two views of 2D track is based on the score metic which measures the overlap of 2D track in z-direction in both views. The score metric is defined as:


Matching starts from lowest value of S and progresses to higher values. The track merging process is performed iteratively until no more 2D tracks can be matched together to form a 3D track.

Viii Classification of Events using CVN

NOvA’s event classification is based on the Deep Convolutional Network in the “image recognition” style called Convolutional Visual Network (CVN). CVN was designed and trained using the Caffe (10) framework which is a collection of libraries and methods to train Convolutional Neural Networks (CNNs). CVN was trained on approximately 4.7 million simulated neutrino interactions and all cosmic ray interactions coming from data taken at the far detector. The network is trained on the two views of calibrated hits in the form of pixel maps (A mapping of data from the detector view into an NxN matrix of values corresponding to pixel contents). The information from each view is then combined in the final layers of the network as shown in Fig .5. The convolutional layers apply learned kernels of given dimensions to the image and their output is of the same dimensions as the input image. The pooling layers are functionally identical to convolutional layers but focus on reducing the size of the output. The final stage is the fully connected layer, where the features extracted by the previous layers have been turned into sets of variables and weights which are fed through a multi-layer perception.

Figure 5: CVN input

The output of CVN is a vector of scores running from 0 to 1 which can be interpreted as a probability of each categories ( CC, CC, CC, NC, Cosmic etc.) where 0 is most likely background events and 1 is for signal events. The result of the CVN event classifier for CC and CC with the various NuMI beam backgrounds are shown in Fig. 6.

Figure 6: CC Classifier output (left) and CC Classifier output (right) and comparison contains simulated events only for appearing CC interactions (violet), surviving CC (green), NC (blue), and NuMI beam CC interactions (magenta).

Implementation of CVN in the NOvA experiment increased the effective exposure by 30% compared to traditional event identification methods in NOvA’s appearance analysis (11).

Ix Classification of Particle using CVN

Another technique we are developing at NOvA is one which classifies classify individual particles within an event. This effort is ongoing within NOvA, but I will discuss some initial results. This algorithm is more or less similar to event classification which is completely decoupled from traditional reconstruction chain, but it employs the FuzzyK prong discussed in section V . These prongs are constructed and matched between views using traditional reconstruction. The CVN network classifies particles based on the contribution of individual particle. The particle classification network uses four views in total, two of the full event and two of the individual prong with the additional hits removed which requires additional layer of network than our usual two layer of event classifier shown in Fig. 7 and 8.

Figure 7: The Schematic diagram shows four views, first two from left are full event in two views and are removed hit from individual prongs.
Figure 8: The network is trained on two dimensional views of the event’s calibrated hits and as well as removed hit from individual prongs. At the end the information of each view is then combined in the final layers of the network.

The network was trained on the five different particles (electron, gamma, muon, pion and proton) as shown in Fig 9. where initial results tells us there is a nice separation of electromagnetic and hadronic activity in the detector.

Figure 9: Co-relation matrix between true ID and CVN ID shows for different particles trained using CVN network and the color represent Efficiency (left) and purity (right) and text represent the percentage of co-relation.

X Summary

The traditional reconstruction methods used by NOvA have proven to be an effective means of identifying particles of interest and reconstructing their kinematics. We have shown that the efficiency of this process can be further enhanced through the use of novel techniques such as machine learning and computer vision. This increased efficiency has resulted in an effective 30% increase to our neutrino exposure. That number stands to grow as we continue to develop these technologies.

Xi Acknowledgments

This work was supported by the US Department of Energy; the US National Science Foundation; the Department of Science and Technology, India; the European Research Council; the MSMT CR, Czech Republic; the RAS, RMES, and RFBR, Russia; CNPq and FAPEG, Brazil; and the State and University of Minnesota. We are grateful for the contributions of the staffs of the University of Minnesota module assembly facility and NOvA FD Laboratory, Argonne National Laboratory, and Fer- milab. Fermilab is operated by Fermi Research Alliance, LLC under Contract No. DE-AC02-07CH11359 with the U.S. Department of Energy, Office of Science, Office of High Energy Physics.


  1. NOvA Technical Design Report, FERMILAB-DESIGN-2007-01.
  2. M Ester and H Kriegel and J Sander and X Xu, “A density-based algorithm for discovering clusters in large spatial databases with noise.”, Kdd 96, 226-231 (1996).
  3. M. Baird et al., J. Phys.: Conf. Ser. 664 072035 (2016).
  4. L. Fernandes and M. Oliveira. Real time line detection through an improved hough transform voting scheme. Pattern Recognition, 41:299–314, 2008.
  5. Mattias Ohlsson. Extensions and explorations of the elastic arms algorithm. Com- puter Physics Communications, 77(1):19 – 32, 1993.
  6. R. Krishnapuram, J.M. Keller, A possibilistic approach to clustering, IEEE Trans. Fuzzy Syst. 1 (1993) 98110.
  7. M.-S. Yang, K.-L. Wu, Unsupervised possibilistic clustering, Pattern Recognition, 39 (2006), pp. 521.
  8. E. Niner, Ph.D. Thesis, Indiana University (2015).
  9. R. Fruhwirth, Nucl.Instrum.Meth. A262 (1987) 444.
  10. Y. Jia, et al., Caffe: Convolutional architecture for fast feature embedding, [arXiv:1408.5093].
  11. A. Aurisano et.al, J. Instrum. 11, P09001 (2016).
Comments 0
Request Comment
You are adding the first comment!
How to quickly get a good reply:
  • Give credit where it’s due by listing out the positive aspects of a paper before getting into which changes should be made.
  • Be specific in your critique, and provide supporting evidence with appropriate references to substantiate general statements.
  • Your comment should inspire ideas to flow and help the author improves the paper.

The better we are at sharing our knowledge with each other, the faster we move forward.
The feedback must be of minimum 40 characters and the title a minimum of 5 characters
Add comment
Loading ...
This is a comment super asjknd jkasnjk adsnkj
The feedback must be of minumum 40 characters
The feedback must be of minumum 40 characters

You are asking your first question!
How to quickly get a good answer:
  • Keep your question short and to the point
  • Check for grammar or spelling errors.
  • Phrase it like a question
Test description