rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

CDF_2002_I567774

CDF Run 1 charged multiplicity measurement
Experiment: CDF (Tevatron Run 1)
Inspire ID: 567774
Status: VALIDATED
Authors:
  • Hendrik Hoeth
References: Beams: p- p+
Beam energies: (315.0, 315.0); (900.0, 900.0) GeV
Run details:
  • QCD events at $\sqrt{s} = 630$ and 1800 GeV. Beam energy must be specified as analysis option "ENERGY" when rivet-merge'ing samples.

A study of $p\bar{p}$ collisions at $\sqrt{s} = 1800$ and 630 GeV collected using a minimum bias trigger in which the data set is divided into two classes corresponding to `soft' and `hard' interactions. For each subsample, the analysis includes measurements of the multiplicity, transverse momentum (pT) spectra, and the average pT and event-by-event pT dispersion as a function of multiplicity. A comparison of results shows distinct differences in the behavior of the two samples as a function of the center of mass energy. The properties of the soft sample are invariant as a function of c.m. energy. It should be noticed that minimum bias tunings of PYTHIA made by ATLAS in early 2010, which used this among all other available data from CDF and from ATLAS at 900 GeV and 7 TeV, found an unavoidable tension between this data and the rest. Accordingly, this data was excluded from the fits. Whether this reflects a problem with this dataset or with the PYTHIA MPI model is a judgement for users to make! Beam energy must be specified (in GeV) as analysis option "ENERGY" when rivet-merging samples.

Source code: CDF_2002_I567774.cc
  1// -*- C++ -*-
  2#include "Rivet/Analysis.hh"
  3#include "Rivet/Projections/Beam.hh"
  4#include "Rivet/Projections/ChargedFinalState.hh"
  5#include "Rivet/Projections/TriggerCDFRun0Run1.hh"
  6
  7namespace Rivet {
  8
  9
 10  /// @brief CDF Run I charged multiplicity measurement
 11  ///
 12  /// @author Hendrik Hoeth
 13  ///
 14  /// This analysis measures the charged multiplicity distribution
 15  /// in minimum bias events at two different center-of-mass energies:
 16  /// \f$ \sqrt{s} = \f$ 630 and 1800 GeV.
 17  ///
 18  /// Particles with c*tau > 10 mm are considered stable, i.e. they
 19  /// are reconstructed and their decay products removed. Selection
 20  /// cuts are |eta|<1 and pT>0.4 GeV.
 21  ///
 22  /// @par Run conditions
 23  ///
 24  /// @arg Two different beam energies: \f$ \sqrt{s} = \$f 630 & 1800 GeV
 25  /// @arg Run with generic QCD events.
 26  /// @arg Set particles with c*tau > 10 mm stable
 27  class CDF_2002_I567774 : public Analysis {
 28  public:
 29
 30    RIVET_DEFAULT_ANALYSIS_CTOR(CDF_2002_I567774);
 31
 32
 33    /// @name Analysis methods
 34    /// @{
 35
 36    /// Book projections and histograms
 37    void init() {
 38      declare(TriggerCDFRun0Run1(), "Trigger");
 39      const ChargedFinalState cfs(Cuts::abseta < 1.0 && Cuts::pT >= 0.4*GeV);
 40      declare(cfs, "FS");
 41
 42      // Histos
 43      if (isCompatibleWithSqrtS(630*GeV)) {
 44        book(_hist_multiplicity  ,1, 1, 1);
 45        book(_hist_pt_vs_multiplicity  ,3, 1, 1);
 46      } else if (isCompatibleWithSqrtS(1800*GeV)) {
 47        book(_hist_multiplicity ,2, 1, 1);
 48        book(_hist_pt_vs_multiplicity ,4, 1, 1);
 49      }
 50      book(_sumWTrig, "sumWTrig");
 51
 52    }
 53
 54
 55    /// Do the analysis
 56    void analyze(const Event& evt) {
 57      // Trigger
 58      const bool trigger = apply<TriggerCDFRun0Run1>(evt, "Trigger").minBiasDecision();
 59      if (!trigger) vetoEvent;
 60      _sumWTrig->fill();
 61
 62      // Get beam energy and tracks
 63      const ChargedFinalState& fs = apply<ChargedFinalState>(evt, "FS");
 64      const size_t numParticles = fs.particles().size();
 65
 66      // Fill histos of charged multiplicity distributions
 67      _hist_multiplicity->fill(numParticles);
 68
 69      // Fill histos for <pT> vs. charged multiplicity
 70      for (const Particle& p : fs.particles()) {
 71        const double pT = p.pT();
 72        _hist_pt_vs_multiplicity->fill(numParticles, pT/GeV);
 73      }
 74
 75    }
 76
 77
 78    void finalize() {
 79      // This normalisation is NOT a cross-section.
 80      // In the paper the x-axes (!) of the histograms are
 81      // scaled such that they can put both energies in the
 82      // same plot. Of course this affects the area, too.
 83      // Since we want to plot the actual multiplicity, we
 84      // scale the x-axes back and have to adjust the areas
 85      // accordingly. The scale factors are given in the
 86      // legend of the plot in the paper. Have a look at
 87      // figure 1 and everything immediately becomes clear.
 88      // DON'T TRY TO REPAIR THIS, YOU WILL BREAK IT.
 89      if (isCompatibleWithSqrtS(630*GeV)) {
 90        normalize(_hist_multiplicity, 3.21167); // fixed norm OK
 91      } else if (isCompatibleWithSqrtS(1800*GeV)) {
 92        normalize(_hist_multiplicity, 4.19121); // fixed norm OK
 93      }
 94    }
 95
 96    /// @}
 97
 98
 99  private:
100
101    /// Counter
102    CounterPtr _sumWTrig;
103
104    /// @name Histos
105    /// @{
106    Histo1DPtr _hist_multiplicity;
107    Profile1DPtr _hist_pt_vs_multiplicity;
108    /// @}
109
110  };
111
112
113
114  RIVET_DECLARE_ALIASED_PLUGIN(CDF_2002_I567774, CDF_2002_S4796047);
115
116}