Single/Double Neutrino Reconstruction¶
This module is related to the analytical neutrino reconstruction algorithm published under 1305.1878v2.
The paper discuses an analytical approach to reconstructing single and double neutrino momenta in the context of top-quark decay modes.
Based on the event’s missing transverse energy, leptons and b-quarks, possible neutrinos are modeled using ellipses.
In the single neutrino case, possible neutrino solutions are constrained by selecting the lowest
, given the W-boson, top-quark and neutrino masses.
As for the double neutrino case, pairs of b-quarks and leptons are used to model two ellipses, where the intersection of these indicates possible neutrino candidates.
The module is a complete reimplementation of the pre-existant source code provided by the authors in native C++ and CUDA, thus enhacing the computational speeds of the algorithm, making it viable for machine learning purposes. Similar to other modules of this package, input arguments are split into combined and separate particle tensors, without incurring performance penalities.
Single Neutrino Reconstruction¶
- pyc.NuSol.Polar.Nu(pmu_b, pmu_mu, met_phi, masses, sigma, null=10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino solution 3-vector.list[1]: The resulting chi2 value of the respective neutrino candidate.
- Parameters:
pmu_b (torch.tensor) – The four vector of the b-quark/b-jet (pt, eta, phi, e)
pmu_mu (torch.tensor) – The four vector of the lepton matched to the b-quark/b-jet (pt, eta, phi, e)
met_phi (torch.tensor) – The scalar value of missing transverse energy and the azimuthal angle.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
sigma (torch.tensor) – An uncertainty matrix of the missing transverse energy resolution of the event (example: [[100, 0, 0, 100]])
null (float) – An adjustable parameter indicating the cut-off chi2 values.
- Return list[torch.tensor]:
List of solutions and associated chi2 values.
- pyc.NuSol.Polar.Nu(pt_b, eta_b, phi_b, e_b, pt_mu, eta_mu, phi_mu, e_mu, met, phi, masses, sigma, float null = 10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino solution 3-vector.list[1]: The resulting chi2 value of the respective neutrino candidate.
- Parameters:
pt_b (torch.tensor) – The transverse momenta of the b-quark/jet.
eta_b (torch.tensor) – The pseudo-rapidity of the b-quark/jet.
phi_b (torch.tensor) – The Azimuthal angle of the b-quark/jet.
e_b (torch.tensor) – The energy of the b-quark/jet.
pt_mu (torch.tensor) – The transverse momenta of the matched lepton.
eta_mu (torch.tensor) – The pseudo-rapidity of the matched lepton.
phi_mu (torch.tensor) – The Azimuthal angle of the matched lepton.
e_mu (torch.tensor) – The energy of the matched lepton.
met (torch.tensor) – The scalar value of the missing transverse energy.
phi (torch.tensor) – The azimuthal angle of the missing transverse energy.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
sigma (torch.tensor) – An uncertainty matrix of the missing transverse energy resolution of the event (example: [[100, 0, 0, 100]])
null (float) – An adjustable parameter indicating the cut-off chi2 values.
- Return list[torch.tensor]:
List of solutions and associated chi2 values.
- pyc.NuSol.Cartesian.Nu(pmc_b, pmc_mu, met_xy, masses, sigma, null=10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino solution 3-vector.list[1]: The resulting chi2 value of the respective neutrino candidate.
- Parameters:
pmc_b (torch.tensor) – The four vector of the b-quark/b-jet (px, py, pz, e)
pmc_mu (torch.tensor) – The four vector of the lepton matched to the b-quark/b-jet (px, py, pz, e)
met_xy (torch.tensor) – The scalar value of missing transverse energy in the x and y direction of the detector.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
sigma (torch.tensor) – An uncertainty matrix of the missing transverse energy resolution of the event (example: [[100, 0, 0, 100]])
null (float) – An adjustable parameter indicating the cut-off chi2 values.
- Return list[torch.tensor]:
List of solutions and associated chi2 values.
- pyc.NuSol.Cartesian.Nu(px_b, py_b, pz_b, e_b, px_mu, py_mu, pz_mu, e_mu, met_x, met_y, masses, sigma, float null = 10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino solution 3-vector.list[1]: The resulting chi2 value of the respective neutrino candidate.
- Parameters:
px_b (torch.tensor) – The momenta of the b-quark/jet in the x direction.
py_b (torch.tensor) – The momenta of the b-quark/jet in the y direction.
pz_b (torch.tensor) – The momenta of the b-quark/jet in the z direction.
e_b (torch.tensor) – The energy of the b-quark/jet.
px_mu (torch.tensor) – The momenta of the matched lepton in the x direction.
py_mu (torch.tensor) – The momenta of the matched lepton in the y direction.
pz_mu (torch.tensor) – The momenta of the matched lepton in the z direction.
e_mu (torch.tensor) – The energy of the matched lepton.
met_x (torch.tensor) – The missing transverse energy in the x direction.
met_y (torch.tensor) – The missing transverse energy in the y direction.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
sigma (torch.tensor) – An uncertainty matrix of the missing transverse energy resolution of the event (example: [[100, 0, 0, 100]])
null (float) – An adjustable parameter indicating the cut-off chi2 values.
- Return list[torch.tensor]:
List of solutions and associated chi2 values.
Double Neutrino Reconstruction¶
- pyc.NuSol.Polar.NuNu(pmu_b1, pmu_b2, pmu_mu1, pmu_mu2, met_phi, masses, null=10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton pairs. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino 3-vector solutions for the first b-quark/jet and lepton pair.list[1]: Candidate neutrino 3-vector solutions for the second b-quark/jet and lepton pair.list[2]: Diagonal distance values for the respective solution pairs.list[3]: The normal vector used to derive the neutrino 3-vectors (n_perp).list[4]: The perpendicular neutrino 3-vector solution set for the first b-quark/jet and lepton pair (H_perp1).list[5]: The perpendicular neutrino 3-vector solution set for the second b-quark/jet and lepton pair (H_perp2).list[6]: A boolean mask indicating no solutions were found given the specified null limit.
- Parameters:
pmu_b1 (torch.tensor) – The four vector of the first b-quark/b-jet (pt, eta, phi, e)
pmu_b2 (torch.tensor) – The four vector of the second b-quark/b-jet (pt, eta, phi, e)
pmu_mu1 (torch.tensor) – The four vector of the first lepton matched to the b-quark/b-jet (pt, eta, phi, e)
pmu_mu2 (torch.tensor) – The four vector of the second lepton matched to the b-quark/b-jet (pt, eta, phi, e)
met_phi (torch.tensor) – The scalar value of missing transverse energy and the azimuthal angle.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
null (float) – An adjustable parameter indicating the cut-off distance value.
- Return list[torch.tensor]:
List of neutrino solutions.
- pyc.NuSol.Polar.NuNu(pt_b1, eta_b1, phi_b1, e_b1, pt_b2, eta_b2, phi_b2, e_b2, pt_mu1, eta_mu1, phi_mu1, e_mu1, pt_mu2, eta_mu2, phi_mu2, e_mu2, met, phi, masses, null=10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton pairs. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino 3-vector solutions for the first b-quark/jet and lepton pair.list[1]: Candidate neutrino 3-vector solutions for the second b-quark/jet and lepton pair.list[2]: Diagonal distance values for the respective solution pairs.list[3]: The normal vector used to derive the neutrino 3-vectors (n_perp).list[4]: The perpendicular neutrino 3-vector solution set for the first b-quark/jet and lepton pair (H_perp1).list[5]: The perpendicular neutrino 3-vector solution set for the second b-quark/jet and lepton pair (H_perp2).list[6]: A boolean mask indicating no solutions were found given the specified null limit.
- Parameters:
pt_b1 (torch.tensor) – The transverse momenta of the b-quark/jet.
eta_b1 (torch.tensor) – The pseudo-rapidity of the b-quark/jet.
phi_b1 (torch.tensor) – The Azimuthal angle of the b-quark/jet.
e_b1 (torch.tensor) – The energy of the b-quark/jet.
pt_b2 (torch.tensor) – The transverse momenta of the b-quark/jet.
eta_b2 (torch.tensor) – The pseudo-rapidity of the b-quark/jet.
phi_b2 (torch.tensor) – The Azimuthal angle of the b-quark/jet.
e_b2 (torch.tensor) – The energy of the b-quark/jet.
pt_mu1 (torch.tensor) – The transverse momenta of the matched lepton.
eta_mu1 (torch.tensor) – The pseudo-rapidity of the matched lepton.
phi_mu1 (torch.tensor) – The Azimuthal angle of the matched lepton.
e_mu1 (torch.tensor) – The energy of the matched lepton.
pt_mu2 (torch.tensor) – The transverse momenta of the matched lepton.
eta_mu2 (torch.tensor) – The pseudo-rapidity of the matched lepton.
phi_mu2 (torch.tensor) – The Azimuthal angle of the matched lepton.
e_mu2 (torch.tensor) – The energy of the matched lepton.
met (torch.tensor) – The scalar value of the missing transverse energy.
phi (torch.tensor) – The azimuthal angle of the missing transverse energy.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
null (float) – An adjustable parameter indicating the cut-off distance value.
- Return list[torch.tensor]:
List of neutrino solutions.
- pyc.NuSol.Cartesian.NuNu(pmc_b1, pmc_b2, pmc_mu1, pmc_mu2, met_xy, masses, null=10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton pairs. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino 3-vector solutions for the first b-quark/jet and lepton pair.list[1]: Candidate neutrino 3-vector solutions for the second b-quark/jet and lepton pair.list[2]: Diagonal distance values for the respective solution pairs.list[3]: The normal vector used to derive the neutrino 3-vectors (n_perp).list[4]: The perpendicular neutrino 3-vector solution set for the first b-quark/jet and lepton pair (H_perp1).list[5]: The perpendicular neutrino 3-vector solution set for the second b-quark/jet and lepton pair (H_perp2).list[6]: A boolean mask indicating no solutions were found given the specified null limit.
- Parameters:
pmc_b1 (torch.tensor) – The four vector of the first b-quark/b-jet (px, py, pz, e)
pmc_b2 (torch.tensor) – The four vector of the second b-quark/b-jet (px, py, pz, e)
pmc_mu1 (torch.tensor) – The four vector of the first lepton matched to the b-quark/b-jet (px, py, pz, e)
pmc_mu2 (torch.tensor) – The four vector of the second lepton matched to the b-quark/b-jet (px, py, pz, e)
met_xy (torch.tensor) – The scalar value of missing transverse energy in the x and y direction of the detector.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
null (float) – An adjustable parameter indicating the cut-off distance value.
- Return list[torch.tensor]:
List of neutrino solutions.
- pyc.NuSol.Cartesian.NuNu(px_b1, py_b1, pz_b1, e_b1, px_b2, py_b2, pz_b2, e_b2, px_mu1, py_mu1, pz_mu1, e_mu1, px_mu2, py_mu2, pz_mu2, e_mu2, met_x, met_y, masses, null=10e-10) list[torch.tensor]¶
Computes candidate neutrino 3-vector solutions of a given b-quark/jet and matched lepton pairs. The return type is a list of tensors, with the following index values:
list[0]: Candidate neutrino 3-vector solutions for the first b-quark/jet and lepton pair.list[1]: Candidate neutrino 3-vector solutions for the second b-quark/jet and lepton pair.list[2]: Diagonal distance values for the respective solution pairs.list[3]: The normal vector used to derive the neutrino 3-vectors (n_perp).list[4]: The perpendicular neutrino 3-vector solution set for the first b-quark/jet and lepton pair (H_perp1).list[5]: The perpendicular neutrino 3-vector solution set for the second b-quark/jet and lepton pair (H_perp2).list[6]: A boolean mask indicating no solutions were found given the specified null limit.
- Parameters:
px_b1 (torch.tensor) – The momenta of the b-quark/jet in the x direction.
py_b11 (torch.tensor) – The momenta of the b-quark/jet in the y direction.
pz_b1 (torch.tensor) – The momenta of the b-quark/jet in the z direction.
e_b1 (torch.tensor) – The energy of the b-quark/jet.
px_b2 (torch.tensor) – The momenta of the matched lepton in the x direction.
py_b2 (torch.tensor) – The momenta of the matched lepton in the y direction.
pz_b2 (torch.tensor) – The momenta of the matched lepton in the z direction.
e_b2 (torch.tensor) – The energy of the matched lepton.
px_mu1 (torch.tensor) – The momenta of the b-quark/jet in the x direction.
py_mu1 (torch.tensor) – The momenta of the b-quark/jet in the y direction.
pz_mu1 (torch.tensor) – The momenta of the b-quark/jet in the z direction.
e_mu1 (torch.tensor) – The energy of the b-quark/jet.
px_mu2 (torch.tensor) – The momenta of the matched lepton in the x direction.
py_mu2 (torch.tensor) – The momenta of the matched lepton in the y direction.
pz_mu2 (torch.tensor) – The momenta of the matched lepton in the z direction.
e_mu2 (torch.tensor) – The energy of the matched lepton.
met_x (torch.tensor) – The missing transverse energy in the x direction.
met_y (torch.tensor) – The missing transverse energy in the y direction.
masses (torch.tensor) – The masses of the W-boson (80.385 GeV), top-quark (172.62 GeV), neutrino (0 GeV).
null (float) – An adjustable parameter indicating the cut-off distance value.
- Return list[torch.tensor]:
List of neutrino solutions.