Rivet analyses
Measurement of the differential cross section for inclusive dijet production as a function of ξ in 7 TeV proton-proton collisions.
Experiment: CMS (LHC)
Inspire ID: 1184941
Status: VALIDATED
Authors: - Sercan Sen - Alexander Proskuryakov
References: - arXiv: 1209.1805 - Submitted to Phys. Rev. D
Beams: p+ p+
Beam energies: (3500.0, 3500.0)GeV
Run details: - High statistics is needed to observe events in the lowest (xi) bin. Distributions are presented for hard QCD events (i.e. with $\hat{\pT}$ greater than 15 GeV) and diffractive-enhanced events.
Measurement of the differential cross section for inclusive dijet production as a function of ξ which approximates the fractional momentum loss of the scattered proton in single-diffraction events. The data used has a total integrated luminosity of 2.7 nb−1 collected during 2010 with low instantaneous luminosity. Events are selected with at least two jets in |η| < 4.4 with $\pT > 20$ GeV and all final states particles are used for the reconstruction of ξ.
Source
code:CMS_2012_I1184941.cc
// -*- C++ -*-
#include "Rivet/Analysis.hh"
#include "Rivet/Projections/FastJets.hh"
#include "Rivet/Projections/FinalState.hh"
namespace Rivet {
class CMS_2012_I1184941 : public Analysis {
public:
CMS_2012_I1184941()
: Analysis("CMS_2012_I1184941")
{ }
void init() {
FinalState fs;
declare(fs, "FS");
const FastJets jets(FinalState((Cuts::etaIn(-4.9, 4.9))), JetAlg::ANTIKT, 0.5);
declare(jets, "AntiKtJets05");
book(_h_xi ,1, 1, 1);
}
void analyze(const Event& event) {
double xiM = 0.;
double xiP = 0.;
const Jets jets = apply<FastJets>(event, "AntiKtJets05").jetsByPt(Cuts::pT > 20.*GeV);
if (jets.size() < 2) vetoEvent; // require a dijet system with a 20 GeV cut on both jets
if (fabs(jets[0].eta()) > 4.4 || fabs(jets[1].eta()) > 4.4) vetoEvent;
const FinalState& fsp = apply<FinalState>(event, "FS");
for (const Particle& p : fsp.particles(cmpMomByEta)) {
const double eta = p.eta();
const double energy = p.E();
const double costheta = cos(p.theta());
// Yes, they really correct to +/- infinity, using Pythia 8 ...
if (eta < 4.9) xiP += (energy + energy*costheta);
if (eta > -4.9 ) xiM += (energy - energy*costheta);
}
xiP = xiP / (sqrtS()/GeV);
xiM = xiM / (sqrtS()/GeV);
_h_xi->fill( xiM ); // Fill the histogram both with xiP and xiM, and get the average in the endjob.
_h_xi->fill( xiP );
}
void finalize() {
scale( _h_xi, crossSection()/microbarn/sumOfWeights() / 2.);
}
private:
Histo1DPtr _h_xi;
};
RIVET_DECLARE_PLUGIN(CMS_2012_I1184941);
}