rivet is hosted by Hepforge, IPPP Durham

Rivet analyses reference

CDF_1988_S1865951

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: Beams: p- p+
Beam energies: (315.0, 315.0); (900.0, 900.0) GeV
Run details:
  • QCD min bias events at $\sqrt{s} = 630$ GeV and 1800 GeV, $|\eta| < 1.0$. Beam energy must be specified as analysis option "ENERGY" when rivet-merge'ing samples.

Transverse momentum distributions at 630 GeV and 1800 GeV based on data from the CDF experiment at the Tevatron collider. Beam energy must be specified (in GeV) as analysis option "ENERGY" when rivet-merging samples.

Source code: CDF_1988_S1865951.cc
 1// -*- C++ -*-
 2#include "Rivet/Analysis.hh"
 3#include "Rivet/Projections/ChargedFinalState.hh"
 4#include "Rivet/Projections/TriggerCDFRun0Run1.hh"
 5
 6namespace Rivet {
 7
 8
 9  /// @brief CDF track \f$ p_\perp \f$ distributions at 630 and 1800 GeV
10  class CDF_1988_S1865951 : public Analysis {
11  public:
12
13    RIVET_DEFAULT_ANALYSIS_CTOR(CDF_1988_S1865951);
14
15
16    /// @name Analysis methods
17    //@{
18
19    /// Book histograms and set up projections
20    void init() {
21      // Set up projections
22      declare(TriggerCDFRun0Run1(), "Trigger");
23      const ChargedFinalState cfs((Cuts::etaIn(-1.0, 1.0) && Cuts::pT >=  0.4*GeV));
24      declare(cfs, "CFS");
25
26      // Book histo
27      if (isCompatibleWithSqrtS(1800)) {
28        book(_hist_pt ,1, 1, 1);
29      } else if (isCompatibleWithSqrtS(630)) {
30        book(_hist_pt ,2, 1, 1);
31      }
32
33      book(_sumWTrig, "sumWTrig");
34
35    }
36
37
38    /// Do the analysis
39    void analyze(const Event& event) {
40      // Trigger
41      const bool trigger = apply<TriggerCDFRun0Run1>(event, "Trigger").minBiasDecision();
42      if (!trigger) vetoEvent;
43      _sumWTrig->fill();
44
45      const FinalState& trackfs = apply<ChargedFinalState>(event, "CFS");
46      for (Particle p : trackfs.particles()) {
47        const double pt = p.pT()/GeV;
48        // Effective weight for d3sig/dp3 = weight / ( Delta eta * 2pi * pt ), with Delta(eta) = 2
49        const double eff_weight = 1.0/(2*2*TWOPI*pt);
50        _hist_pt->fill(pt, eff_weight);
51      }
52    }
53
54
55    /// Scale histos
56    void finalize() {
57      scale(_hist_pt, crossSectionPerEvent()/millibarn);
58    }
59
60    //@}
61
62
63  private:
64
65    /// Counter
66    CounterPtr _sumWTrig;
67
68    /// Histo
69    Histo1DPtr _hist_pt;
70
71  };
72
73
74
75  RIVET_DECLARE_ALIASED_PLUGIN(CDF_1988_S1865951, CDF_1988_I263320);
76
77}