Namespace: Quantities

namespace quantities

Functions

ROOT::RDF::RNode DeltaPhi(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2)

This function calculates the spatial distance in the x-y-plane ( \(\Delta\phi\)) between two Lorentz vectors.

Note

For the calculation the ROOT::Math::VectorUtil::DeltaPhi() function is used which already takes care of the periodicity of the azimuthal angle.

Parameters:
  • df – input dataframe

  • outputname – name of the output column containing the \(\Delta\phi\) value

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

Returns:

a new dataframe with the new column

ROOT::RDF::RNode DeltaEta(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2)

This function calculates the difference in pseudorapidity ( \(\Delta\eta\)) between two Lorentz vectors.

Note

The calculation is a simple subtraction of the eta components: \(\eta_1 - \eta_2\).

Parameters:
  • df – input dataframe

  • outputname – name of the output column containing the \(\Delta\eta\) value

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

Returns:

a new dataframe with the new column

ROOT::RDF::RNode DeltaR(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2)

This function calculates the spatial distance in the \(\eta\)- \(\phi\)-plane ( \(\Delta R\)) between two Lorentz vectors. It is defined as.

\[ \Delta R = \sqrt{(\eta_1 - \eta_2)^2 + (\phi_1 - \phi_2)^2} \]
where \(\eta_1\) and \(\phi_1\) are from the first Lorentz vector and \(\eta_2\) and \(\phi_2\) are from the second Lorentz vector.

Parameters:
  • df – input dataframe

  • outputname – name of the output column containing the \(\Delta R\) value

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

Returns:

a new dataframe with the new column

ROOT::RDF::RNode PairHemisphere(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2)

This function checks the hemisphere of a pair of particles. If both particles are in the same hemisphere (both positive/negative \(\eta\)), the quantity is set to 1, otherwise it is set to 0.

Parameters:
  • df – name of the dataframe

  • outputname – name of the output column containing the hemisphere value

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

Returns:

a new dataframe with the new column

ROOT::RDF::RNode PzetaMissVis(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2, const std::string &vector_3)

This function calculates the quantity pZetaMissVis from the two leptons in the event and the MET vector. The variable is defined as:

\[ D_\zeta = p_\zeta^\text{miss} - 0.85 p_\zeta^\text{vis} \qquad p_\zeta^\text{miss} = \vec{p}_\text{T}^\text{miss} \cdot \hat{\zeta} \qquad p_\zeta^\text{vis} = (\vec{p}_\text{T}^{p_1} + \vec{p}_\text{T}^{p_2}) \cdot \hat{\zeta} \]
where \(\vec{p}_\text{T}^{p_{1,2}}\) corresponds to the transverse momentum vector of the first (second) lepton and \(\hat{\zeta}\) to the bisectional direction between the two leptons in the transverse plane.

For more information check: D. Jang, “Search for MSSM Higgs decaying to tau pairs in pp collision at √s=1.96 TeV at CDF”. PhD thesis, Rutgers University,

  1. FERMILAB-THESIS-2006-11.

Parameters:
  • df – the input dataframe

  • outputname – the name of the output column containing the PzetaMissVis value

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

  • vector_3 – name of the column containing the third Lorentz vector (MET vector)

Returns:

a new dataframe with the new column

ROOT::RDF::RNode TransverseMass(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2)

This function calculates the transverse mass \(m_T\) of a two particle system, where both particles are massless. The transverse mass is defined as:

\[ m_{T} = \sqrt{2 \cdot p_{T,1} \cdot p_{T,2} \cdot (1-\cos(\Delta\phi))} \]

where \(\Delta\phi\) is the azimuthal angle between the two particles.

Note

The transverse mass is usually used to estimate the mass of the W boson based on a lepton (particle 1) and the missing transverse energy as the neutrino (particle 2).

Parameters:
  • df – input dataframe

  • outputname – name of the output column containing the \(m_T\) value

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

Returns:

a new dataframe with the new column

ROOT::RDF::RNode TransverseMass(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2, const std::string &vector_3)

This function calculates the total transverse mass for a dilepton system plus MET. This is usually used to estimate the Higgs to \(\tau\tau\) decay where multiple neutrinos are involved and estimated via the MET vector. The total transverse mass is defined as:

\[ m_{T}^{tot} = \sqrt{m_{T}^2(p_{1},E_{T}^{miss}) + m_{T}^2(p_{2},E_{T}^{miss}) + m_{T}^2(p_{1},p_2) } \]
where \( m_{T}^2 \) is the transverse mass, \( p_{1}\) and \( p_{2}\) are the lepton Lorentz vectors and \(E_{T}^{miss}\) is the missing energy.

Parameters:
  • df – input dataframe

  • outputname – name of the output column containing the total transverse mass

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

  • vector_3 – name of the column containing the third Lorentz vector (usually the missing transverse energy vector)

Returns:

a new dataframe with the new column

ROOT::RDF::RNode CollinearApproxMtt(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2, const std::string &vector_3)

This function calculates collinear mass approximation. It is defined through two equations, assuming, that neutrinos of \(\tau\) decays fly into the same direction as visible decay products:

\[ p(\tau_{i}) = (1 + x_{\tau_{i}^{vis}}) \cdot p(\tau_{i}^{vis}), \qquad i = 1,2 \]
where \( p(...)\) represents the Lorentz vectors of the \(\tau\) leptons \(\tau_{1}\) and \(\tau_{2}\). The fractions \(x_{\tau_{i}^{vis}}\) are the additional amount of neutrino contributions, relative to the visible decay products. This means, the missing transverse energy vector \(\vec{p}_{T}^{miss}\) can be computed as follows:
\[ \vec{p}_{T}^{miss} = x_{\tau_{1}^{vis}} \cdot \vec{p}_{T}(\tau_{1}^{vis}) + x_{\tau_{2}^{vis}} \cdot \vec{p}_{T}(\tau_{2}^{vis}) \]
This set of equations in turn allows to determine the values \(x_{\tau_{i}^{vis}}\). Example for \(i=1\):
\[ x_{\tau_{1}^{vis}} = \frac{p_{T}^{miss}}{p_{T}(\tau_{1}^{vis})} \cdot \frac{\sin(\phi_{\tau_{2}^{vis}} - \phi_{miss})}{\sin(\phi_{\tau_{2}^{vis}} - \phi_{\tau_{1}^{vis}})} \]
The collinear mass approximation is then computed from the sum of the full \(\tau\) Lorentz vectors \(p(\tau_{i})\).

Parameters:
  • df – input dataframe

  • outputname – name of the output column containing the approximanted collinear mass

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

  • vector_3 – name of the column containing the third Lorentz vector (MET vector)

Returns:

a new dataframe with the new column

ROOT::RDF::RNode FastMtt(ROOT::RDF::RNode df, const std::string &outputname, const std::string &pt_1, const std::string &pt_2, const std::string &eta_1, const std::string &eta_2, const std::string &phi_1, const std::string &phi_2, const std::string &mass_1, const std::string &mass_2, const std::string &met_pt, const std::string &met_phi, const std::string &met_cov_xx, const std::string &met_cov_xy, const std::string &met_cov_yy, const std::string &decay_mode_1, const std::string &decay_mode_2, const std::string &finalstate)

This function calculates the FastMTT Lorentz vector as an estimate for H \((\tau\tau)\) based on the information from both reconstructed leptons and the reconstructed MET. The implementation is based on https://github.com/SVfit/ClassicSVfit/tree/fastMTT_19_02_2019.

Parameters:
  • df – input dataframe

  • outputname – name of the output column containing the FastMtt Lorentz vector

  • pt_1 – name of the column containing the \(p_T\) of the first particle

  • pt_2 – name of the column containing the \(p_T\) of the second particle

  • eta_1 – name of the column containing the \(\eta\) of the first particle

  • eta_2 – name of the column containing the \(\eta\) of the second particle

  • phi_1 – name of the column containing the \(\phi\) of the first particle

  • phi_2 – name of the column containing the \(\phi\) of the second particle

  • mass_1 – name of the column containing the mass of the first particle

  • mass_2 – name of the column containing the mass of the second particle

  • met_pt – name of the column containing MET \(p_T\)

  • met_phi – name of the column containing MET \(\phi\)

  • met_cov_xx – name of the column containing the MET covariance XX

  • met_cov_xy – name of the column containing the MET covariance XY

  • met_cov_yy – name of the column containing the MET covariance YY

  • decay_mode_1 – name of the column containing the decay mode of the first particle

  • decay_mode_2 – name of the column containing the decay mode of the second particle

  • finalstate – definition of the di-tau final state decay, supported are “mt”, “et”, “tt”, “em”

Returns:

a new dataframe with the new column

ROOT::RDF::RNode deltaPhi_WH(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2, const std::string &vector_3)

This function calculates the deltaPhi between the lepton from a W boson and the visible Higgs boson decay products.

Parameters:
  • df – input dataframe

  • outputname – name of the new column containing the deltaR value

  • vector_1 – name of the column containing the first Lorentz vector

  • vector_2 – name of the column containing the second Lorentz vector

  • vector_3 – name of the column containing the third Lorentz vector

Returns:

a new dataframe with the new column

ROOT::RDF::RNode pt_W(ROOT::RDF::RNode df, const std::string &outputname, const std::vector<std::string> &vectors)

This function estimates the pt of the W boson from the visible lepton Lorentz vector, the MET Lorentz vector and the neutrino Lorentz vector component from the Higgs system.

Parameters:
  • df – input dataframe

  • outputname – name of the new column containing the pt value

  • vectors – vector with three names of the columns containing the required Lorentz vectors

Returns:

a new dataframe with the new column