rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### HERA_2015_I1353667

Combined H1/ZEUS $D^*$ production cross-sections in DIS
Experiment: H1/ZEUS (HERA)
Inspire ID: 1353667
Status: UNVALIDATED
Authors:
• Andy Buckley
References:
• JHEP 1509 (2015) 149
• DOI:10.1007/JHEP09(2015)149
• DESY-15-037
• arxiv:1503.06042
• http://www-h1.desy.de/publications/htmlsplit/DESY-15-037.long.poster.html
Beams: p+ e-, p+ e+
Beam energies: (159.0, 159.0) GeV
Run details:
• Inclusive DIS events. $Q^2$ cut must be lower than 1.5 $\text{GeV}^2$.

H1 and ZEUS combined differential cross-sections for inclusive $D^{*\pm}$ production in deep-inelastic $ep$ scattering at HERA. The cross-sections are combined in the common visible phase-space region of photon virtuality $Q^2 > 5 \text{GeV}^2$, electron inelasticity $0.02 < y < 0.7$, and the $D^{*\pm}$ meson's transverse momentum $p_T(D^*) > 1.5 \text{GeV}$ and pseudorapidity $|\eta(D^*)| < 1.5$. The combination procedure takes into account all correlations. Double-differential cross sections $d2\sigma/dQ^2 dy$ are combined with earlier $D^{∗\pm}$ data, extending the kinematic range down to $Q^2 > 1.5 \text{GeV}^2$.

Source code: HERA_2015_I1353667.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 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/DISKinematics.hh" #include "Rivet/Projections/UnstableParticles.hh" namespace Rivet { /// @brief Combined H1/ZEUS D* production cross-sections in DIS class HERA_2015_I1353667 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(HERA_2015_I1353667); /// @name Analysis methods //@{ /// Book histograms and initialise projections before the run void init() { // Initialise and register projections // declare(FinalState(Cuts::abseta < 5 && Cuts::pT > 100*MeV), "FS"); // FinalState fs; declare(DISKinematics(), "Kinematics"); declare(UnstableParticles(), "Dstars"); //Cuts::abspid == PID::DSTARPLUS // Book histograms book(_h_pTD, 1, 1, 1); book(_h_etaD, 2, 1, 1); book(_h_zD, 3, 1, 1); book(_h_Q2, 4, 1, 1); book(_h_y, 5, 1, 1); book(_h_Q2y, 6, 1, 1); } /// Perform the per-event analysis void analyze(const Event& event) { // Determine kinematics, including event orientation const DISKinematics& kin = apply(event, "Kinematics"); //const int orientation = kin.orientation(); // Q2 and inelasticity cuts if (!inRange(kin.Q2(), 1.5*GeV2, 1000*GeV2)) vetoEvent; if (!inRange(kin.y(), 0.02, 0.7)) vetoEvent; // D* reconstruction const Particles unstables = apply(event, "Dstars") .particles(Cuts::pT > 1.5*GeV && Cuts::abseta < 1.5); const Particles dstars = filter_select(unstables, [](const Particle& p){ return p.abspid() == PID::DSTARPLUS; }); if (dstars.empty()) vetoEvent; MSG_DEBUG("#D* = " << dstars.size()); const Particle& dstar = dstars.front(); const double zD = (dstar.E() - dstar.pz()) / (2*kin.beamLepton().E()*kin.y()); // Single-differential histograms with higher low-Q2 cut if (kin.Q2() > 5*GeV2) { _h_pTD->fill(dstar.pT()/GeV); _h_etaD->fill(dstar.eta()); _h_zD->fill(zD/GeV); _h_Q2->fill(kin.Q2()/GeV2); _h_y->fill(kin.y()); } // // Double-differential (y,Q2) histograms // _h_Q2y->fill(kin.Q2()/GeV2, kin.y()); } /// Normalise histograms etc., after the run void finalize() { const double sf = crossSection()/nanobarn/sumOfWeights(); scale(_h_pTD, sf); scale(_h_etaD, sf); scale(_h_zD, sf); scale(_h_Q2, sf); scale(_h_y, sf); } //@} /// @name Histograms //@{ Histo1DPtr _h_pTD, _h_etaD, _h_zD, _h_Q2, _h_y; Histo2DPtr _h_Q2y; //@} }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(HERA_2015_I1353667); }