Rivet analyses


title: D0_2004_I659398

Run II jet azimuthal decorrelation analysis

Experiment: D0 (Tevatron Run 2)

Inspire ID: 659398

Status: VALIDATED

Authors: - Lars Sonnenschein

References: - Phys. Rev. Lett., 94, 221801 (2005) - arXiv: hep-ex/0409040

Beams: p- p+

Beam energies: (980.0, 980.0)GeV

Run details: - QCD events in ppbar interactions at $\sqrt{s} = 1960$ GeV.

Correlations in the azimuthal angle between the two largest pT jets have been measured using the D0 detector in ppbar collisions at 1960~GeV. The analysis is based on an inclusive dijet event sample in the central rapidity region. The correlations are determined for four different pT intervals.

Source code:D0_2004_I659398.cc

```c++ // -- C++ --

include "Rivet/Analysis.hh"

include "Rivet/Projections/FastJets.hh"

include "Rivet/Projections/MissingMomentum.hh"

include "Rivet/Projections/VetoedFinalState.hh"

include "Rivet/Projections/VisibleFinalState.hh"

namespace Rivet {

/// @brief D0 Run II angular correlations in di-jet events /// @author Lars Sonnenschein /// /// Measurement of angular correlations in di-jet events. /// /// @par Run conditions /// @arg \f$ \sqrt{s} = \f$ 1960 GeV /// @arg Run with generic QCD events. /// @arg Several \f$ p_\perp^\text{min} \f$ cutoffs are probably required to fill the histograms: /// @arg \f$ p_\perp^\text{min} = \f$ 50, 75, 100, 150 GeV for the four pT ranges respecively /// class D0_2004_I659398 : public Analysis { public:

RIVET_DEFAULT_ANALYSIS_CTOR(D0_2004_I659398);


/// @name Analysis methods
/// @{

void init() {
  // Final state for jets, mET etc.
  const FinalState fs(Cuts::abseta < 3.0);
  declare(fs, "FS");
  // Veto neutrinos, and muons with pT above 1.0 GeV
  VetoedFinalState vfs(fs);
  vfs.vetoNeutrinos();
  vfs.addVetoPairDetail(PID::MUON, 1.0 * GeV, DBL_MAX);
  declare(vfs, "VFS");
  declare(FastJets(vfs, JetAlg::D0ILCONE, 0.7), "Jets");
  declare(MissingMomentum(vfs), "CalMET");

  // Book histograms
  book(_histJetAzimuth_pTmax75_100, 1, 2, 1);
  book(_histJetAzimuth_pTmax100_130, 2, 2, 1);
  book(_histJetAzimuth_pTmax130_180, 3, 2, 1);
  book(_histJetAzimuth_pTmax180_, 4, 2, 1);
}


/// Do the analysis
void analyze(const Event& event) {

  // Analyse and print some info
  const JetFinder& jetpro = apply<JetFinder>(event, "Jets");
  MSG_DEBUG("Jet multiplicity before any pT cut = " << jetpro.size());

  const Jets jets = jetpro.jetsByPt(Cuts::pT > 40.0 * GeV);
  if (jets.size() >= 2) {
    MSG_DEBUG("Jet multiplicity after pT > 40 GeV cut = " << jets.size());
  }
  else
    vetoEvent;

  const double rap1 = jets[0].absrap();
  const double rap2 = jets[1].absrap();
  if (rap1 > 0.5 || rap2 > 0.5) {
    vetoEvent;
  }
  MSG_DEBUG("Jet eta and pT requirements fulfilled");
  const double pT1 = jets[0].pT();

  const MissingMomentum& caloMissEt = apply<MissingMomentum>(event, "CalMET");
  MSG_DEBUG("Missing vector Et = " << caloMissEt.vectorEt() / GeV << " GeV");
  if (caloMissEt.vectorEt().mod() > 0.7 * pT1) {
    MSG_DEBUG("Vetoing event with too much missing ET: " << caloMissEt.vectorEt() / GeV << " GeV > "
                                                         << 0.7 * pT1 / GeV << " GeV");
    vetoEvent;
  }

  if (pT1 / GeV >= 75.0) {
    const double dphi = deltaPhi(jets[0].phi(), jets[1].phi());
    if (inRange(pT1 / GeV, 75.0, 100.0)) {
      _histJetAzimuth_pTmax75_100->fill(dphi);
    }
    else if (inRange(pT1 / GeV, 100.0, 130.0)) {
      _histJetAzimuth_pTmax100_130->fill(dphi);
    }
    else if (inRange(pT1 / GeV, 130.0, 180.0)) {
      _histJetAzimuth_pTmax130_180->fill(dphi);
    }
    else if (pT1 / GeV > 180.0) {
      _histJetAzimuth_pTmax180_->fill(dphi);
    }
  }
}


// Finalize
void finalize() {
  // Normalize histograms to unit area
  normalize(_histJetAzimuth_pTmax75_100);
  normalize(_histJetAzimuth_pTmax100_130);
  normalize(_histJetAzimuth_pTmax130_180);
  normalize(_histJetAzimuth_pTmax180_);
}

/// @}

private:

/// @name Histograms
/// @{
Histo1DPtr _histJetAzimuth_pTmax75_100;
Histo1DPtr _histJetAzimuth_pTmax100_130;
Histo1DPtr _histJetAzimuth_pTmax130_180;
Histo1DPtr _histJetAzimuth_pTmax180_;
/// @}

};

RIVET_DECLARE_ALIASED_PLUGIN(D0_2004_I659398, D0_2004_S5992206);

} ```

Aliases: - D0_2004_S5992206