Rivet analyses
High-mass CC Drell-Yan at 13 TeV
Experiment: ATLAS (LHC)
Inspire ID: 2895869
Status: VALIDATED
Authors: - Maximilian Jaffke - Tim Frederik Beumker - Frank Ellinghaus
References: - Expt page: ATLAS-STDM-2018-41 - JHEP 07 (2025) 026 - DOI:10.1007/JHEP07(2025)026 - arXiv: 2502.21088
Beams: p+ p+
Beam energies: (6500.0, 6500.0)GeV
Run details: - W → ℓν (ℓ = e, μ) events at $\sqrt{s} = 13$~TeV
This paper presents a first measurement of the cross-section for the charged-current Drell–Yan process pp → W± → ℓ±ν above the resonance region, where ℓ is an electron or muon. The measurement is performed for transverse masses, mTW, between 200 GeV and 5000 GeV, using a sample of 140~fb−1 of pp collision data at a centre-of-mass energy of $\sqrt{s}$ = 13 TeV collected by the ATLAS detector at the LHC during 2015–2018. The data are presented single differentially in transverse mass and double differentially in transverse mass and absolute lepton pseudorapidity. A test of lepton flavour universality shows no significant deviations from the Standard Model. The electron and muon channel measurements are combined to achieve a total experimental precision of 3% at low mTW. The single- and double differential W-boson charge asymmetries are evaluated from the measurements. A comparison to next-to-next-to-leading-order perturbative QCD predictions using several recent parton distribution functions and including next-to-leading-order electroweak effects indicates the potential of the data to constrain parton distribution functions. The data are also used to constrain four fermion operators in the Standard Model Effective Field Theory formalism, in particular the lepton-quark operator Wilson coefficient cℓq(3).
Source
code:ATLAS_2025_I2895869.cc
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/FinalState.hh"
#include "Rivet/Projections/InvisibleFinalState.hh"
#include "Rivet/Projections/LeptonFinder.hh"
#include "Rivet/Projections/PromptFinalState.hh"
namespace Rivet {
/// @brief High-mass CC Drell-Yan at 13 TeV
class ATLAS_2025_I2895869 : public Analysis {
public:
/// Constructor
RIVET_DEFAULT_ANALYSIS_CTOR(ATLAS_2025_I2895869);
void init() {
//Mode selection for Electron and Muon
_mode = 0;
if ( getOption("LMODE") == "EL" ) _mode = 0;
if ( getOption("LMODE") == "MU" ) _mode = 1;
const Cut lcut = Cuts::pT > 65*GeV && Cuts::abseta < 2.4;
const Cut ncut = Cuts::pT > 85*GeV;
FinalState nfs(ncut);
PromptFinalState lepton(Cuts::abspid ==(_mode ? PID::MUON : PID::ELECTRON));
declare(lepton, "Lepton");
PromptFinalState photons(Cuts::abspid == PID::PHOTON);
declare(photons, "Photons");
declare(InvisibleFinalState(OnlyPrompt::YES), "InvFS");
LeptonFinder lf(lepton, photons, 0.1, lcut);
declare(lf, "Leptons");
const vector<double> mll_bins{200., 300., 425., 600., 900., 2000. };
book(_h_etaLpDres, mll_bins);
book(_h_etaLmDres, mll_bins);
book(_h_etaLpmDres, mll_bins);
size_t ch = _mode ? 18 : 0; //channel offset Mu or E
for(size_t i = 0; i < _h_etaLpDres->numBins(); ++i) {
book(_h_etaLpDres->bin(i+1), 12 + ch + i, 1, 2);
book(_h_etaLmDres->bin(i+1), 17 + ch + i, 1, 2);
book(_h_etaLpmDres->bin(i+1), 22 + ch + i, 1, 2);
}
book(_h_Lp_mtwDres, 9 + ch, 1, 2);
book(_h_Lm_mtwDres, 10 + ch, 1, 2);
book(_h_Lpm_mtwDres, 11 + ch, 1, 2);
}
/// Perform the per-event analysis
void analyze(const Event& event) {
const Particles& ne = apply<InvisibleFinalState>(event, "InvFS").particles();
if (ne.empty()) vetoEvent;
const Particle& n = ne[0];
P4 pmiss = n.mom();
const Particles& ls = apply<LeptonFinder>(event, "Leptons").particles();
if (ls.size() != 1) vetoEvent;
const Particle& l = ls[0];
if (mT(l.mom(), pmiss) < 200*GeV) vetoEvent;
if (mT(l.mom(), pmiss) > 5000*GeV) vetoEvent;
_h_Lpm_mtwDres->fill(mT(l.mom(), pmiss)/GeV);
_h_etaLpmDres->fill(mT(l.mom(), pmiss)/GeV, l.abseta()/GeV);
if(l.charge() > 0) {
_h_etaLpDres->fill(mT(l.mom(), pmiss)/GeV, l.abseta()/GeV);
_h_Lp_mtwDres->fill(mT(l.mom(), pmiss)/GeV);
}
else if(l.charge() < 0) {
_h_etaLmDres->fill(mT(l.mom(), pmiss)/GeV, l.abseta()/GeV);
_h_Lm_mtwDres->fill(mT(l.mom(), pmiss)/GeV);
}
}
/// Normalise histograms etc., after the run
void finalize() {
scale(_h_Lp_mtwDres, crossSectionPerEvent()/picobarn);
scale(_h_Lm_mtwDres, crossSectionPerEvent()/picobarn);
scale(_h_Lpm_mtwDres, crossSectionPerEvent()/picobarn);
scale(_h_etaLpDres, crossSectionPerEvent()/picobarn);
scale(_h_etaLmDres, crossSectionPerEvent()/picobarn);
scale(_h_etaLpmDres, crossSectionPerEvent()/picobarn);
divByGroupWidth(_h_etaLpDres);
divByGroupWidth(_h_etaLmDres);
divByGroupWidth(_h_etaLpmDres);
}
/// @}
size_t _mode;
/// @name Histograms
/// @{
/// @}
Histo1DPtr _h_Lp_mtwDres;
Histo1DPtr _h_Lm_mtwDres;
Histo1DPtr _h_Lpm_mtwDres;
Histo1DGroupPtr _h_etaLpDres;
Histo1DGroupPtr _h_etaLmDres;
Histo1DGroupPtr _h_etaLpmDres;
};
RIVET_DECLARE_PLUGIN(ATLAS_2025_I2895869);
}