The code for the paper "Adversarially Learned Anomaly Detection on CMS Open Data: re-discovering the top quark"
We apply an Adversarially Learned Anomaly Detection (ALAD) algorithm to the problem of detecting new physics processes in proton-proton collisions at the Large Hadron Collider. Anomaly detection based on ALAD matches performances reached by Variational Autoencoders, with a substantial improvement in some cases. Training the ALAD algorithm on 4.4 fb-1 of 8 TeV CMS Open Data, we show how a data-driven anomaly detection and characterization would work in real life, re-discovering the top quark by identifying the main features of the t-tbar experimental signature at the LHC.READ FULL TEXT VIEW PDF
With the high requirements of automation in the era of Industry 4.0, ano...
Monitoring gas turbine combustors health, in particular, early detecting...
The 'Clever Hans' effect occurs when the learned model produces correct
This paper analyzes and compares a classical and a variational autoencod...
Exploiting the rapid advances in probabilistic inference, in particular
This paper describes the use of neural networks to enhance simulations f...
In this paper, we attack the anomaly detection problem by directly model...
The code for the paper "Adversarially Learned Anomaly Detection on CMS Open Data: re-discovering the top quark"
CERN’s Large Hadron Collider (LHC) delivers proton-proton collisions in unique experimental conditions. Not only it accelerates protons to an unprecedented energy (6.5 TeV for each proton beam). It also operates at the highest collision frequency, producing one proton-beam crossing (an "event") every 25 nsec. By recording the information of every sensor, the two LHC multipurpose detectors, ATLAS and CMS, generate MB of data for each interesting event. The LHC big data problem consists in the incapability of storing each event, that would require writing TB/sec. In order to deal with this limitation, a typical LHC detector is equipped with a real-time event selection system, the trigger.
The need of a trigger system for data taking has important consequences downstream. In particular, it naturally shapes the data analysis strategy for many searches for new physics phenomena (new particles, new forces, etc.) into a hypothesis test [ATLAS:2011tau]
: one specifies a signal hypothesis upfront (in fact, as upfront as the trigger system) and tests the presence of the predicted kind of events (the experimental signature) on top of a background from known physics processes, against the alternative hypothesis (i.e., known physics processes alone). From a data-science perspective, this corresponds to a supervised strategy. This procedure was very successful so far, thanks to well established signal hypotheses to test (e.g., the existence of the Higgs boson). On the other hand, following this paradigm didn’t produce so far any evidence for new-physics signals. While this is teaching us a lot about our Universe,111
For instance, the amount of information derived from this large number of "unsuccessful" searches has put to question the concept of "natural" new physics models, such as low scale supersymmetry. Considering that the generally prevailing pre-LHC view of particle physics was based on two pillars (the Higgs boson and low-scale natural supersymmetry), these experimental results are shaping our understanding of microscopic physics as much as, and probably even more than, the discovery of the Higgs boson.it also raises questions on the applied methodology.
Recent works have proposed strategies, mainly based on Machine Learning (ML), to relax the underlying assumptions of a typical experimental analysis[Weisser:2016cnc, vae_lhc, DAgnolo:2018cun, DeSimone:2018efk, Farina:2018fyg, Collins:2018epr, Blance:2019ibf, Hajer:2018kqm, Heimel:2018mkt, Collins:2019jip, DAgnolo:2019vbw], extending traditional unsupervised searches performed at colliders [Aaron:2008aa, Aaltonen:2008vt, Abazov:2011ma, CMS-PAS-EXO-14-016, Aaboud:2018ufy]. While many of these works focus on off-line data analysis, Ref. [vae_lhc] advocates the need to also perform an on-line event selection with anomaly detection techniques, in order to be able to save a fraction of new physics events even when the underlying new physics scenario was unforeseen (and no dedicated trigger algorithm was put in place). Selected anomalous events could then be visually inspected (as done with the CMS exotica hotline data stream on early LHC runs in 2010-2012) or be given as input to off-line unsupervised analyses, following any of the strategies suggested in literature.
In this paper, we extend the work of Ref. [vae_lhc] in two directions: (i) we identify anomalies using an Adversarially Learned Anomaly Detection (ALAD) algorithm [alad], which combines the strength of generative adversarial networks [gan, anogan] with that of autoencoders [kingma2014auto, an2015variational, ae_anomaly]; (ii) we demonstrate how the anomaly detection would work in real life, using the ALAD algorithm to re-discover the top quark. To this purpose we use real LHC data, released by the CMS experiment on the CERN Open Data portal [cms-opendata]
. Our implementation of the ALAD model in TensorFlow[TF], derived from the original code of Ref. [alad], is available on GitHub [alad_lhc_code].
This paper is structured as follows: the ALAD algorithm is described in Section 2. Its performance is assessed in Section 3, repeating the study of Ref. [vae_lhc]. In Section 4 we use an ALAD algorithm to re-discover the top quark on a fraction of the CMS 2012 Open Data (described in Appendix A). Conclusions are given in Section 5.
The ALAD algorithm is a kind of Generative Adversarial Network (GAN) [gan]
specifically designed for anomaly detection. The basic idea underlying GANs is that two artificial neural networks compete against each other during training, as shown in Fig.1. One network, the generator , learns to generate new samples in the data space (e.g., proton-proton collisions in our case) aiming to resemble the samples in the training set. The other network, the discriminator , tries to distinguish real samples from generated ones, returning the score of a given sample to be real, as opposed of being generated by . Both and are expressed as neural networks, which are trained against each other in a saddle-point problem:
where is the distribution over the data space and is the distribution over the latent space . The solution to this problem will have the property , where is the distribution induced by the generator [gan]. The training typically involves alternating gradient descent on the parameters of and to maximize for (treating as fixed) and to minimize for (treating as fixed).
Deep learning for anomaly detection [anogan] is usually discussed in the context of (variational) autoencoders [kingma2014auto, an2015variational]. With autoencoders (cf. Fig. 1), one projects the input to a point of a latent-space through an encoder network . An approximation of the input information is then reconstructed through the decoder network, . The intuition is that the decoder can only reconstruct the input from the latent space representation if . Therefore, the reconstruction for an anomalous sample, which belongs to a different distribution, would typically have a higher reconstruction loss. One can then use a metric
defining the output-to-input distance (e.g., the one used in the reconstruction loss function) to derive an anomaly-score:
While this is not directly possible with GANs, since a generated doesn’t correspond to a specific , several GAN-based solutions have been proposed that would be suitable for anomaly detection, as for instance in Refs. [anogan, CreswellB16b, WuBSG16, alad, gherbi:hal-02421274].
In this work, we focus on the ALAD method [alad], built upon the use of bidirectional-GANs (BiGAN) [bigan]. As shown in Fig. 1, a BiGAN model adds an encoder to the GAN construction. This encoder is trained simultaneously to the generator. The saddle point problem in Eq.(1) is then extended as follows:
where is a modified discriminator, taking inputs from both the and . Provided there is convergence to the global minimum, the solution has the distribution matching property , where one defines and [bigan]. To help reaching full convergence, the ALAD model is equipped with two additional discriminators: and . The former discriminator together with the value function
enforces the cycle-consistency condition . The latter is added to further regularize the latent space through a similar value function:
enforcing the cycle condition . The ALAD training objective consists in solving:
Having multiple outputs at hand, one can associate the ALAD algorithm to several anomaly-score definitions. Following Ref. [alad], we consider the following four anomaly scores:
A "Logits" score, defined as:.
A "Features" score, defined as: , where are the activation values in the last hidden layer of .
The distance between an input and its reconstructed output : .
The distance between an input and its reconstructed output : .
We first apply this model to the problem described in Ref [vae_lhc], in order to obtain a direct comparison with VAE-based anomaly detection. Then, we apply this model to real LHC data (2012 CMS Open Data), showing how anomaly detection could guide physicists to discover and characterize new processes.
We consider a sample of simulated LHC collisions, pre-filtered by requiring the presence of a muon with large transverse momentum () 222 As common for collider physics, we use a Cartesian coordinate system with the
As common for collider physics, we use a Cartesian coordinate system with theaxis oriented along the beam axis, the axis on the horizontal plane, and the axis oriented upward. The and axes define the transverse plane, while the axis identifies the longitudinal direction. The azimuth angle is computed with respect to the axis. The polar angle is used to compute the pseudorapidity . The transverse momentum () is the projection of the particle momentum on the (, ) plane. We fix units such that . and isolated from other particles. Proton-proton collision events at a center-of-mass energy TeV are generated with the PYTHIA8 event-generation library [pythia8.2]. The generated events are further processed with the DELPHES library [delphes] to model the detector response. Subsequently the DELPHES particle-flow (PF) algorithm is applied to obtain a list of reconstructed particles for each event, the so-called PF candidates.
Events are filtered requiring GeV and isolation 333A definition of isolation is provided in Appendix A. . Each collision event is represented by 21 physics-motivated high-level features (see Ref. [vae_lhc]). These input features are pre-processed before being fed to the ALAD algorithm. The discrete quantities 444 is the charge of the lepton; IsEle is a flag set to 1 (0) if the lepton is an electron (muon); and are the muon and electron multiplicities, respectively. (, and
) are represented through one-hot encoding. The other features are standardized to a zero median and unit variance. The resulting vector, containing the one-hot encoded and continuous features, has a dimension of 39 and is given as input to the ALAD algorithm.
The sample, available on Zenodo [Zenodo_mpp], consists of the following Standard Model (SM) processes:
Inclusive boson production: , with being a charged lepton [cerri_olmo_2020_3675199].
Inclusive boson production: [cerri_olmo_2020_3675203].
Multijet production from Quantum Chromodynamic (QCD) interaction [cerri_olmo_2020_3675210].
A SM cocktail is assembled from a weighted mixture of those four processes, with weights given by the production cross section. This cocktail’s composition is given in Table 1.
We train our ALAD model on this SM cocktail and subsequently apply it to a test dataset, containing a mixture of SM events and events of physics beyond the Standard Model (BSM). In particular, we consider the following BSM datasets, also available on Zenodo:
A leptoquark with mass 80 GeV, decaying to a quark and a lepton: [cerri_olmo_2020_3675196].
A neutral scalar boson with mass 50 GeV, decaying to two off-shell bosons, each forced to decay to two leptons: [cerri_olmo_2020_3675159].
A scalar boson with mass 60 GeV, decaying to two leptons: [cerri_olmo_2020_3675190].
A charged scalar boson with mass 60 GeV, decaying to a lepton and a neutrino: [cerri_olmo_2020_3675178].
As a starting point, we consider the ALAD architecture [alad] used for the KDD99 dataset, which has similar dimensionality as our input feature vector. In this configuration, both the and
discriminators take as input the concatenation of the two input vectors, which is processed by the network up to the single output node, activated by a sigmoid function. The
discriminator has one dense layer for each of the two inputs. The two intermediate representations are concatenated and passed to another dense layer and then to a single output node with sigmoid activation, as for the other discriminators. The hidden nodes of the generator are activated by ReLU functions[relu], while Leaky ReLU [leakyRelu] are used for all the other nodes. The slope parameter of the Leaky ReLU function is fixed to 0.2. The network is optimized using the Adam [adam] minimizer and minibatches of 50 events each. The training is regularized using dropout layers in the three discriminators.
Starting from this baseline architecture, we adjust the architecture hyperparameters one by one, repeating the training while maximizing a figure of merit for anomaly detection efficiency. We perform this exercise using as anomalies the benchmark models described in Ref.[vae_lhc] and looking for a configuration that performs well on all of them. To quantify performance, we consider both the area under the receiver operating characteristic (ROC) curve and the positive likelihood ratio . We define the as the ratio between the BSM signal efficiency, i.e., the true positive rate (TPR), and the SM background efficiency, i.e., the false positive rate (FPR). The training is performed on half of the available SM events (3.4M events), leaving the other half of the SM events and the BSM samples for validation. From the resulting anomaly scores, we compute the ROC curve and compare it to the results of the VAE in Ref. [vae_lhc]. We further quantify the algorithm performance considering the values corresponding to an FPR of .
The optimized architecture, adapted from Ref. [alad], is summarized in Table 2. This architecture is used for all subsequent studies. We consider as hyperparameters the number of hidden layers in the five networks, the number of nodes in each hidden layer, and the dimensionality of the latent space, represented in the table by the size of the output layer.
|Number of hidden layers||2|
|Number of hidden layers||2|
|Number of hidden layers||2|
|Only on x|
|Only on z|
|Concatenate x and x’|
|Number of hidden layers||1|
|Concatenate z and z’|
|Number of hidden layers||1|
|Optimizer||Adam (, )|
|Leaky ReLU slope||0.2|
|Weight, bias init.||Xavier Initializer, Constant(0)|
Having trained the ALAD on the training dataset, we compute the anomaly scores for the validation samples as well as for the four BSM samples, where each BSM process has samples. Figure 2 shows the ROC curves of each BSM benchmark process, for the four considered anomaly scores. The best VAE result from Ref. [vae_lhc] is also shown for comparison. In the rest of this paper, we use the score as the anomaly score. Similar results would have been obtained using any of the other three anomaly scores. Figure 3 compares the distribution for each BSM process with the SM cocktail. One can clearly see that all BSM processes have an increased probability in the high-score regime compared to the SM cocktail. We further verified that the anomaly score distributions obtained on the SM-cocktail training and validation sets are consistent. This test excludes the occurrence of over-training issues.
The ALAD algorithm outperforms the VAE by a substantial margin on the sample, providing similar performance overall, and in particular for FPR , the working point chosen as a reference in Ref. [vae_lhc]. We verified that the uncertainty on the TPR at fixed FPR, computed with the Agresti–Coull interval[Agresti], is negligible when compared to the observed differences between ALAD and VAE ROC curves, i.e., the difference is statistically significant.
The left plot in Fig. 4 provides a comparison across different BSM models. As for the VAE, ALAD performs better on and than for the other two BSM processes. The right plot in Figure 4 shows the values as a function of the FPR ones. The peaks at a SM efficiency of for all four BSM processes and is basically constant for smaller SM-efficiency values.
In order to test the performance of ALAD on real data, and in general to show how an anomaly detection technique could guide physicists to a discovery in a data-driven manner, we consider a scenario in which collision data from the LHC are available, but no previous knowledge about the existence of the top quark is at hand. The list of known SM processes contributing to a dataset with one isolated high- lepton would then include production, production and QCD multijet events, neglecting more rare processes such as diboson production. Top-quark pair production, the "unknown anomalous process", represents of the total dataset.
We consider a fraction of LHC events collected by the CMS experiment in 2012 and corresponding to an integrated luminosity of about 4.4 fb at a center-of-mass energy TeV. For each collision event in the dataset, we compute a vector of physics-motivated high-level features, which we give as input to ALAD for training and inference. Details on the dataset, event content, and data processing can be found in Appendix A.
We select events applying the following requirements:
At least one lepton with GeV and PF isolation within .
At least two jets with within .
This selection is tuned to reduce the expected QCD multijet contamination to a negligible level, which avoids problems with the small size of the available QCD simulated dataset. This selection should not be seen as a limiting factor for the generality of the study: in real life, one would apply multiple sets of selection requirements on different triggers, in order to define multiple datasets on which different anomaly detection analyses would run.
Our goal is to employ ALAD to isolate events as due to a rare (and pretended to be) unknown process in the selected dataset. Unlike the case discussed in Ref [vae_lhc] and Section 3
, we are not necessarily interested in a pre-defined algorithm to run on a trigger system. Given an input dataset, we want to isolate its outlier events without explicitly specifying which tail of which kinematic feature one should look at. Because of this, we don’t split the data into a training and a validation dataset. Instead, we run the training on the full dataset. The training is performed fixing the ALAD architecture to the values shown in Table2. In our procedure, we implicitly rely on the assumption that the anomalous events are rare, so that their modeling is not accurately learned by the ALAD algorithm.
In order to evaluate the ALAD performance, we show in Fig. 5 the ROC and curves on labelled Monte Carlo (MC) simulated data, considering the sample as the signal anomaly and the SM and
production as the background. An event is classified as anomalous whenever theanomaly score is above a given threshold. The threshold is set such that the fraction of selected events is about . The anomaly selection results in a factor-20 enhancement of the contribution over the SM background, for the anomaly-defining FPR threshold.
Figure 6 shows the distributions of a subset of the input quantities before and after anomaly selection (see Appendix A): , , , and . These are the quantities that will become relevant in the rest of the discussion. The corresponding distributions for MC simulated events are shown in Figure 7, where the contribution to the selected anomalous data is highlighted. At this stage, we don’t attempt a direct comparison of simulated distributions to data, since we couldn’t apply the many energy scale and resolution corrections, normally applied for CMS studies. Anyhow, such a comparison is not required for our data-driven definition of anomalous events.
In order to quantify the impact of the applied anomaly selection on a given quantity, we consider the bin-by-bin fraction of accepted events. We identify this differential quantity as anomaly selection transfer function (ASTF). When compared to the expectation from simulated MC data, the dependence of ASTF values on certain quantities allows one to characterize the nature of the anomaly, indicating in which range of which quantity the anomalies cluster together.
Figure 8 shows the ASTF for the data and the simulated SM processes ( and production) defining the background data. The comparison between the data and the background ASTF suggests the presence of an unforeseen class of events, clustering at large number of jets. An excess of anomalies is observed at large jet multiplicity, which also induces an excess of anomalies at large values of and . Notably, a large fraction of anomalous events has jets originating from quarks. This is the first time that a MC simulation enters our analysis. We stress the fact that this comparison between data and simulation is qualitative. At this stage, we don’t need the MC-predicted ASTF values to agree with data in absence of a signal, since we are not attempting a background estimate like those performed in data-driven searches at the LHC. For us, it is sufficient to observe qualitative differences in the dependence of ASTFs on specific features. Nevertheless, a qualitative difference like those we observe in Fig. 8 could still be induced by systematic differences between data and simulation. That would still be an anomaly, but not of the kind that would lead to a discovery. In our case, we do know that the observed discrepancy is too large to be explained by a wrong modeling of and events, given the level of accuracy reached by the CMS simulation software in Run I. In a real-life situation, one would have to run further checks to exclude this possibility.
Starting from the ASTF plots of Fig. 8, we define a post-processing selection (PPS), aiming to isolate a subset of anomalous events in which the residual SM background could be suppressed. In particular, we require and . Figure 9 shows the distributions of some of the considered features after the PPS. According to MC expectations, almost all background events should be rejected. The same should apply to background events in data. Instead, a much larger number of events is observed. This discrepancy points to the presence of an additional process, characterized by many jets (particularly coming from jets). As a closure test, we verified that the agreement between the observed distributions in data and the expectation from MC simulation is restored once the contribution is taken into account.
In summary, the full procedure consists of the following steps:
Define an input dataset with an event representation which is as generic as possible.
Train the ALAD (or any other anomaly detection algorithm) on it.
Isolate a fraction of the events, by applying a threshold on the anomaly score.
Study the ASTF on as many quantities as possible, in order to define a post-processing selection that allows one to isolate the anomaly.
(Optionally) once a pure sample of anomalies is isolated, a visual inspection of the events could also guide the investigation, as already suggested in Ref.[vae_lhc].
At this stage, one would gain an intuition about the nature of the new rare process. For instance, one could study the ASTF distribution using as a reference quantity on the axis the run period at which an event was taken. Anomalies clustering on specific run periods would most likely be due to transient detector malfunctioning or experimental problems of other nature (e.g., a bug in the reconstruction software). If instead the significant ASTF ratios point to events with a lepton, large jet multiplicity, with an excess of b-jets, one might have discovered a new heavy particle decaying to leptons and b-jets. In a world with no previous knowledge of the top quark, some bright theorist would explain the anomaly proposing the existence of a third up-type quark with unprecedented heavy mass.
We presented an application of ALAD to the search for new physics at the LHC. Following the study presented in Ref. [vae_lhc], we show how this algorithm matches (and in some cases improves) the performance obtained with variational autoencoders. The ALAD architecture also offers practical advantages with respect to the VAE of Ref. [vae_lhc]. Besides providing an improved performance in some cases, it offers an easier training procedure. Good performance can be achieved using a standard MSE loss, unlike the VAE model in Ref. [vae_lhc], for which good performance was obtained only after a heavy customization of the loss function.
We train the ALAD algorithm on a sample of real data, obtained by processing part of the 2012 CMS Open data. On these events, we show how one could detect the presence of events, a population pretended to originate from a previously unknown process. Using the anomaly score of the trained ALAD algorithm, we define a post-selection procedure that let us isolate an almost pure subset of anomalous events. Furthermore, we present a strategy based on ASTF distributions to characterize the nature of an observed excess and we show its effectiveness on the specific example at hand. Further studies should be carried on to demonstrate the robustness of this strategy for more rare processes.
For the first time, our study shows with real LHC data that anomaly detection techniques can highlight the presence of rare phenomena in a data-driven manner. This result could help promoting a new class of data-driven studies in the next run of the LHC, possibly offering additional guidance in the search for new physics.
As already stressed in Ref [vae_lhc], the promotion of these algorithms to the trigger system of the LHC experiments could allow to mitigate for the limited bandwidth of the experiments. Unlike Ref [vae_lhc], the strategy presented in this paper would also require a substantial fraction of normal events to be saved (through pre-scaled triggers), in order to compute the ASTF ratios with sufficient precision. In this respect, there would be a cost in terms of trigger throughput, that could be compensated by foreseeing dedicated scouting streams [scouting1, scouting2, scouting3] with reduced event content, tailored to the computation of the ASTF ratios in offline analyses. Putting in place this strategy for the LHC Run III could be an interesting way to extend the physics reach of the LHC experiments.
This work was possible thanks to the commitment of the CMS collaboration to release its data and MC samples through the CERN Open Data portal. We would like to thank our CMS colleagues and the CERN Open Data team for their effort to promote open access to science. In particular, we thank Kati Lassila-Perini for her precious help.
This project is partially supported by the European Research Council (ERC) under the European Union’s Horizon 2020 research and innovation program (grant agreement n 772369) and by the United States Department of Energy, Office of High Energy Physics Research under Caltech Contract No. DE-SC0011925.
This work was conducted at “iBanks,” the AI GPU cluster at Caltech. We acknowledge NVIDIA, SuperMicro and the Kavli Foundation for their support of “iBanks.”
The re-discovery of the top quark, described in Section 4, is performed on a sample of real LHC collisions, collected by the CMS experiment and released on the CERN Open Data portal [cms-opendata]. The collision data correspond to the SingleMu dataset in the Run2012B period [data_singlemu]. This dataset results from the logic OR of many triggers requiring a reconstructed muon. Most of the events were collected by an inclusive isolated-muon trigger, with requirements very similar to those applied as a pre-selection in Section 3 [vae_lhc].
Once collected, the raw data recorded by the CMS detector were processed by a global event reconstruction algorithm, based on Particle Flow (PF) [particle_flow]. This processing step gives as output a list of so-called PF candidates (electrons, muons, photons, charged hadrons and neutral hadrons), reconstructed combining measurements from different detectors to achieve maximal accuracy.
While the ALAD training is performed directly on data, samples from MC simulation are also used in the study, in order to validate the model and its findings on a labelled sample. To this purpose, we considered samples of +jets [data-9863, data-9864, data-9865], +jets [data-7719, data-7721, data-7722, data-7723], and [data-9588] events. No sample of QCD multijet events was considered, since its contribution was found to be negligible after the baseline requirements on the muon and on two additional jets (see Section 4). These MC samples were generated by the CMS collaboration with different libraries and processed by a full Geant4 simulation [Agostinelli:2002hh]. The same reconstruction software used on data was applied to the output of the simulation, so that the same lists of PF candidates are available in this case.
Following a procedure similar to that of Ref. [vae_lhc], we take as input the lists of PF candidates and compute a set of physics motivated features, which are used as input to train the ALAD algorithm:
We consider 14 event-related quantities:
– The scalar sum of the transverse momenta () of all jets having GeV and .
– The invariant mass of all jets entering the sum.
– The number of jets entering the sum.
– The number of jets identified as originating from a quark.
– The missing transverse momentum defined as , where the sum goes over all PF candidates.
– The vector sum of the of all PF muons in the event having GeV.
– The combined invariant mass of all muons entering the above sum in .
– The number of muons entering the sum in .
– The vector sum of the of all PF electrons in the event having GeV.
– The combined invariant mass of all electrons entering the above sum in .
– The number of electrons entering the sum in .
– The number of all neutral hadron PF-candidates.
– The number of all charged hadron PF-candidates.
– The number of all photon PF-candidates.
We further consider 10 quantities, specific to the highest- lepton in the event:
– The lepton .
– The lepton pseudorapidity.
– The lepton charge (either or )
– The lepton isolation, defined as the ratio between the scalar sum of the of the other charged PF candidates with angular distance from the lepton, and the lepton .
– Same as but with the sum going over all neutral hadrons.
– Same as but with the sum going over all photons.
Iso – The total isolation given by .
– The combined transverse mass of the lepton and the system, which is given by
– The parallel component of with respect to the lepton.
– The orthogonal component of with respect to the lepton.
IsEle – A flag set to 1 if the lepton is an electron, 0 if it is a muon.