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 to0.- 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
pZetaMissVisfrom 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,
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
-
ROOT::RDF::RNode DeltaPhi(ROOT::RDF::RNode df, const std::string &outputname, const std::string &vector_1, const std::string &vector_2)