rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### CMS_2011_I954992

Exclusive photon-photon production of muon pairs in proton-proton collisions at $\sqrt{s} = 7$ TeV
Experiment: CMS (LHC)
Inspire ID: 954992
Status: VALIDATED
Authors:
• David d'Enterria
• Jonathan Hollar
• Sercan Sen
References:
Beams: p+ p+
Beam energies: (3500.0, 3500.0) GeV
Run details:
• gamma gamma TO mu+ mu- process.

A measurement of the exclusive two-photon production of muon pairs in proton-proton collisions at at a centre-of-mass energy 7 TeV with the final state $p \mu^+ \mu^- p$, is reported using data corresponding to an integrated luminosity of 40 pb$^-1$ collected in 2010. The measured cross section is obtained with a fit to the dimuon $p_T$ distribution for muon pairs with invariant mass greater than 11.5 GeV with each muon $p_T > 4$ GeV and $|\eta| < 2.1$.

Source code: CMS_2011_I954992.cc
  1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/ChargedFinalState.hh" #include "Rivet/Projections/IdentifiedFinalState.hh" namespace Rivet { class CMS_2011_I954992 : public Analysis { public: CMS_2011_I954992() : Analysis("CMS_2011_I954992") { } public: void init() { ChargedFinalState cfs(Cuts::abseta < 2.4); declare(cfs,"CFS"); /// Get muons which pass the initial kinematic cuts IdentifiedFinalState muon_fs(Cuts::abseta < 2.1 && Cuts::pT > 4*GeV); muon_fs.acceptIdPair(PID::MUON); declare(muon_fs, "MUON_FS"); _h_sigma = bookHisto1D(1,1,1); } void analyze(const Event& event) { const double weight = event.weight(); const ChargedFinalState& cfs = apply(event, "CFS"); if (cfs.size() != 2) vetoEvent; // no other charged particles in 2.4 const Particles& muonFS = apply(event, "MUON_FS").particles(); if (muonFS.size() != 2) vetoEvent; if (charge(muonFS[0]) != charge(muonFS[1])) { const double dimuon_mass = (muonFS[0].momentum() + muonFS[1].momentum()).mass(); const double v_angle = muonFS[0].momentum().angle(muonFS[1].momentum()); const double dPhi = deltaPhi(muonFS[0], muonFS[1]); const double deltaPt = fabs(muonFS[0].pT() - muonFS[1].pT()); if (dimuon_mass >= 11.5*GeV && v_angle < 0.95*PI && dPhi > 0.9*PI && deltaPt < 1.*GeV ) { _h_sigma->fill(sqrtS()/GeV, weight); } } } /// Normalise histograms etc., after the run void finalize() { scale(_h_sigma, crossSection()/picobarn/sumOfWeights()); } private: Histo1DPtr _h_sigma; }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(CMS_2011_I954992); }