Rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### CDF_2009_S8436959

Measurement of the inclusive isolated prompt photon cross-section
Experiment: CDF (Tevatron Run 2)
Inspire ID: 834437
Status: VALIDATED
Authors:
• Frank Siegert
References:
Beams: p- p+
Beam energies: (980.0, 980.0) GeV
Run details:
• $\gamma$ + jet processes in ppbar collisions at $\sqrt{s} = 1960$ GeV. Minimum pT cut on the photon in the analysis is 30 GeV.

A measurement of the cross section for the inclusive production of isolated photons. The measurement covers the pseudorapidity region $|\eta^\gamma|<1.0$ and the transverse energy range $E_T^\gamma>30$ GeV and is based on 2.5 fb$^{-1}$ of integrated luminosity. The cross section is measured differential in $E_\perp(\gamma)$.

Source code: CDF_2009_S8436959.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 78 79 80 81 82 83 84 85 86 87 88 89 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/LeadingParticlesFinalState.hh" namespace Rivet { /// @brief CDF inclusive isolated prompt photon cross-section class CDF_2009_S8436959 : public Analysis { public: /// @name Constructors etc. //@{ /// Constructor CDF_2009_S8436959() : Analysis("CDF_2009_S8436959") { } //@} public: /// @name Analysis methods //@{ /// Book histograms and initialise projections before the run void init() { FinalState fs; declare(fs, "FS"); LeadingParticlesFinalState photonfs(FinalState(-1.0, 1.0, 30.0*GeV)); photonfs.addParticleId(PID::PHOTON); declare(photonfs, "LeadingPhoton"); _h_Et_photon = bookHisto1D(1, 1, 1); } /// Perform the per-event analysis void analyze(const Event& event) { const double weight = event.weight(); Particles fs = apply(event, "FS").particles(); Particles photons = apply(event, "LeadingPhoton").particles(); if (photons.size()!=1) { vetoEvent; } FourMomentum leadingPhoton = photons[0].momentum(); double eta_P = leadingPhoton.eta(); double phi_P = leadingPhoton.phi(); FourMomentum mom_in_cone; foreach (const Particle& p, fs) { if (deltaR(eta_P, phi_P, p.eta(), p.phi()) < 0.4) { mom_in_cone += p.momentum(); } } if ( (mom_in_cone.Et() - leadingPhoton.Et()) > 2.0*GeV) { vetoEvent; } _h_Et_photon->fill(leadingPhoton.Et(), weight); } /// Normalise histograms etc., after the run void finalize() { scale(_h_Et_photon, crossSection()/sumOfWeights()/2.0); } //@} private: /// @name Histograms //@{ Histo1DPtr _h_Et_photon; //@} }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(CDF_2009_S8436959); }