Rivet analyses


title: CDF_1988_I263320

CDF transverse momentum distributions at 630 GeV and 1800 GeV.

Experiment: CDF (Tevatron Run I)

Inspire ID: 263320

Status: VALIDATED

Authors: - Christophe Vaillant - Andy Buckley

References: - Phys.Rev.Lett.61:1819,1988 - DOI: 10.1103/PhysRevLett.61.1819

Beams: p- p+

Beam energies: (900.0, 900.0); (315.0, 315.0)GeV

Run details: - QCD min bias events at $\sqrt{s} = 630$ GeV and 1800 GeV, $|\eta| < 1.0$.

Transverse momentum distributions at 630 GeV and 1800 GeV based on data from the CDF experiment at the Tevatron collider.

Source code:CDF_1988_I263320.cc

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

include "Rivet/Analysis.hh"

include "Rivet/Projections/ChargedFinalState.hh"

include "Rivet/Projections/TriggerCDFRun0Run1.hh"

namespace Rivet {

/// @brief CDF track \f$ p_\perp \f$ distributions at 630 and 1800 GeV class CDF_1988_I263320 : public Analysis { public:

RIVET_DEFAULT_ANALYSIS_CTOR(CDF_1988_I263320);


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

/// Book histograms and set up projections
void init() {
  // Set up projections
  declare(TriggerCDFRun0Run1(), "Trigger");
  const ChargedFinalState cfs(Cuts::abseta < 1.0 && Cuts::pT >= 0.4 * GeV);
  declare(cfs, "CFS");

  // Book histo
  _axis[0] = YODA::Axis<double>{0.4,   0.45,   0.5, 0.55, 0.6,  0.65, 0.7, 0.75, 0.8, 0.85, 0.9,
                                0.95,  1.0125, 1.1, 1.2,  1.3,  1.4,  1.5, 1.6,  1.7, 1.8,  1.9,
                                2.0,   2.1,    2.2, 2.3,  2.4,  2.5,  2.6, 2.7,  2.8, 2.9,  3.0,
                                3.025, 3.2,    3.4, 3.6,  3.8,  4.0,  4.2, 4.4,  4.6, 4.8,  5.05,
                                5.4,   5.8,    6.2, 6.6,  7.15, 8.25, 9.75};
  _axis[1] = YODA::Axis<double>{0.4, 0.45, 0.5,    0.55, 0.6, 0.65, 0.7, 0.75, 0.8, 0.85,
                                0.9, 0.95, 1.0125, 1.1,  1.2, 1.3,  1.4, 1.5,  1.6, 1.7,
                                1.8, 1.9,  2.025,  2.2,  2.4, 2.6,  2.8, 3.2,  3.8};

  for (double eVal : allowedEnergies()) {
    size_t ih = eVal < 1000.;
    if (isCompatibleWithSqrtS(eVal)) _sqs = ih;

    book(_h[ih], 1 + ih, 1, 1);
  }
  raiseBeamErrorIf(_sqs > 1);
}


/// Do the analysis
void analyze(const Event& event) {
  if (_edges.empty()) _edges = _h[_sqs]->xEdges();
  // Trigger
  const bool trigger = apply<TriggerCDFRun0Run1>(event, "Trigger").minBiasDecision();
  if (!trigger) vetoEvent;

  const FinalState& trackfs = apply<ChargedFinalState>(event, "CFS");
  for (Particle p : trackfs.particles()) {
    const double pt = p.pT() / GeV;
    // Effective weight for d3sig/dp3 = weight / ( Delta eta * 2pi * pt ), with Delta(eta) = 2
    const double eff_weight = 1.0 / (2 * 2 * TWOPI * pt);
    _h[_sqs]->fill(map2string(pt), eff_weight);
  }
}


string map2string(const double value) const {
  const size_t idx = _axis[_sqs].index(value);
  if (idx && idx < _edges.size() + 1) return _edges[idx - 1];
  return "OTHER";
}

/// Scale histos
void finalize() {
  scale(_h, crossSectionPerEvent() / millibarn);
  for (size_t ih = 0; ih < 2; ++ih) {
    for (auto& b : _h[ih]->bins()) {
      b.scaleW(1.0 / _axis[ih].width(b.index()));
    }
  }
}

/// @}

private:

/// Histo
BinnedHistoPtr<string> _h[2];
YODA::Axis<double> _axis[2];
vector<string> _edges;
size_t _sqs = 2;

};

RIVET_DECLARE_ALIASED_PLUGIN(CDF_1988_I263320, CDF_1988_S1865951);

} ```

Aliases: - CDF_1988_S1865951