Rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### CDF_1993_S2742446

Angular distribution of prompt photon
Experiment: CDF (Tevatron Run 1)
Inspire ID: 354237
Status: UNVALIDATED
Authors:
• Frank Siegert
References:
Beams: p- p+
Beam energies: (900.0, 900.0) GeV
Run details:
• All prompt photon production processes in $p \bar{p}$ at 1800 GeV. Hadronisation should be switched off, because non-prompt photon production has been corrected for.

Data taken with the Collider Detector at Fermilab (CDF) during the 1988-1989 run of the Tevatron are used to measure the distribution of the center-of-mass (rest frame of the initial state partons) angle between isolated prompt photons and the beam direction. WARNING --- Implemented is the simplified c.m. definition given in the paper. The rise of the data and the MC predictions presented in the latter could not be reproduced.

Source code: CDF_1993_S2742446.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 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/FastJets.hh" #include "Rivet/Projections/LeadingParticlesFinalState.hh" #include "Rivet/Projections/VetoedFinalState.hh" namespace Rivet { /// @brief CDF class CDF_1993_S2742446 : public Analysis { public: CDF_1993_S2742446() : Analysis("CDF_1993_S2742446") { } public: void init() { // The photon selection has been corrected to pTmin=22 GeV (vs. 23 in the trigger) LeadingParticlesFinalState photonfs(FinalState(-0.9, 0.9, 22.0*GeV)); photonfs.addParticleId(PID::PHOTON); declare(photonfs, "LeadingPhoton"); // FS excluding the leading photon VetoedFinalState vfs(FinalState(-4.2, 4.2)); vfs.addVetoOnThisFinalState(photonfs); declare(vfs, "VFS"); // Jets declare(FastJets(vfs, FastJets::CDFJETCLU, 0.7), "Jets"); _h_costheta = bookHisto1D(1, 1, 1); } void analyze(const Event& event) { const double weight = event.weight(); Particles photons = apply(event, "LeadingPhoton").particles(); if (photons.size()!=1 || photons[0].pT()>45.0*GeV) { vetoEvent; } FourMomentum leadingPhoton = photons[0].momentum(); double eta_P = leadingPhoton.eta(); double phi_P = leadingPhoton.phi(); // photon isolation: less than 2 GeV EM E_T double Etsum=0.0; foreach (const Particle& p, apply(event, "VFS").particles()) { if (p.charge() != 0 && deltaR(eta_P, phi_P, p.eta(), p.phi()) < 0.7) Etsum += p.Et(); } if (Etsum > 2*GeV) vetoEvent; FourMomentum jetsum; Jets jets = apply(event, "Jets").jets(Cuts::pT > 10*GeV, cmpMomByPt); // Require at least one jet with pT>10 GeV if (jets.size()==0) vetoEvent; // Require the leading jet to be in the opposite (phi) hemisphere w.r.t. the photon if (jets[0].phi() - phi_P <= M_PI) vetoEvent; // sum all jets in the opposite hemisphere in phi from the photon foreach (const Jet& jet, jets) { if (fabs(jet.phi()-phi_P) > M_PI) jetsum+=jet.momentum(); } // c.m. cuts, see Table 1 double etaboost = (jetsum.eta()+eta_P)/2.; if (!inRange(etaboost, -1.2, 1.2)) vetoEvent; double etastar = (jetsum.eta()-eta_P)/2.; if (!inRange(etastar, -1.1, 1.1)) vetoEvent; double pstar = photons[0].pT()*cosh(etastar); if (!inRange(pstar, 27.8, 47.0)) vetoEvent; const double costheta = fabs(tanh((eta_P-jetsum.eta())/2.0)); if (!inRange(costheta, 0., 0.8)) vetoEvent; // Fill histo _h_costheta->fill(costheta, weight); } void finalize() { /// @todo Take fixed norm direct from ref histo normalize(_h_costheta, 1.4271); // fixed norm ok } private: Histo1DPtr _h_costheta; }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(CDF_1993_S2742446); }