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
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
// -*- 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_S1865951 : public Analysis {
  public:

    RIVET_DEFAULT_ANALYSIS_CTOR(CDF_1988_S1865951);


    /// @name Analysis methods
    //@{

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

      // Book histo
      if (isCompatibleWithSqrtS(1800)) {
        book(_hist_pt ,1, 1, 1);
      } else if (isCompatibleWithSqrtS(630)) {
        book(_hist_pt ,2, 1, 1);
      }

      book(_sumWTrig, "sumWTrig");

    }


    /// Do the analysis
    void analyze(const Event& event) {
      // Trigger
      const bool trigger = apply<TriggerCDFRun0Run1>(event, "Trigger").minBiasDecision();
      if (!trigger) vetoEvent;
      _sumWTrig->fill();

      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);
        _hist_pt->fill(pt, eff_weight);
      }
    }


    /// Scale histos
    void finalize() {
      scale(_hist_pt, crossSectionPerEvent()/millibarn);
    }

    //@}


  private:

    /// Counter
    CounterPtr _sumWTrig;

    /// Histo
    Histo1DPtr _hist_pt;

  };



  RIVET_DECLARE_ALIASED_PLUGIN(CDF_1988_S1865951, CDF_1988_I263320);

}