Rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

Event shapes for 22, 35 and 44 GeV
Inspire ID: 447560
Status: VALIDATED
Authors:
• Holger Schulz
References:
Beams: e- e+
Beam energies: (11.0, 11.0); (17.5, 17.5); (22.0, 22.0) GeV
Run details:
• Z->hadronic final states, bbar contributions have been corrected for as well as ISR

Thrust, Jet Mass and Broadenings, Y23 for 35 and 44 GeV and only Y23 at 22 GeV.

  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 111 112 113 114 115 116 117 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/Thrust.hh" #include "Rivet/Projections/FastJets.hh" #include "Rivet/Projections/Hemispheres.hh" #include "Rivet/Projections/ChargedFinalState.hh" namespace Rivet { class JADE_1998_S3612880 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(JADE_1998_S3612880); /// Book histograms and initialise projections before the run void init() { const ChargedFinalState cfs(Cuts::pT > 0.1*GeV); declare(cfs, "CFS"); declare(FastJets(cfs, FastJets::DURHAM, 0.7), "DurhamJets"); // Thrust const Thrust thrust(cfs); declare(thrust, "Thrust"); declare(Hemispheres(thrust), "Hemispheres"); // Histos int offset = 0; switch (int(sqrtS()/GeV)) { case 44: offset = 0; _h_thrust = bookHisto1D( 2+offset, 1, 1); _h_MH = bookHisto1D( 3 + offset, 1, 1); _h_BT = bookHisto1D( 4 + offset, 1, 1); _h_BW = bookHisto1D( 5 + offset, 1, 1); _h_y23 = bookHisto1D(10, 1, 1); break; case 35: offset = 4; _h_thrust = bookHisto1D( 2+offset, 1, 1); _h_MH = bookHisto1D( 3 + offset, 1, 1); _h_BT = bookHisto1D( 4 + offset, 1, 1); _h_BW = bookHisto1D( 5 + offset, 1, 1); _h_y23 = bookHisto1D(11, 1, 1); break; case 22: _h_y23 = bookHisto1D(12, 1, 1); break; } } /// Perform the per-event analysis void analyze(const Event& event) { const double weight = event.weight(); const ChargedFinalState& cfs = apply(event, "CFS"); // JADE hadronic event selection if (cfs.particles().size() < 3 ) vetoEvent; const Thrust& thrust = apply(event, "Thrust"); const Vector3 & thrustAxis = thrust.thrustAxis (); double theta = thrustAxis.theta(); if ( fabs(cos(theta)) >= 0.8 ) { MSG_DEBUG("Failed thrust angle cut: " << fabs(cos(theta))); vetoEvent; } /// @todo Evis, pmiss, pbal const Hemispheres& hemi = apply(event, "Hemispheres"); const FastJets& durjet = apply(event, "DurhamJets"); const double y23 = durjet.clusterSeq()->exclusive_ymerge_max(2); // Make sure we don't run into a segfault by trying to fill non-existing histos int s = int(sqrtS()/GeV); if (s == 44 || s == 35) { _h_thrust->fill(1. - thrust.thrust(), weight); _h_MH->fill(sqrt(hemi.scaledM2high()), weight); _h_BT->fill(hemi.Bsum(), weight); _h_BW->fill(hemi.Bmax(), weight); } _h_y23->fill(y23, weight); } /// Normalise histograms etc., after the run void finalize() { // Make sure we don't try to normalise non-existing histos const int s = int(sqrtS()/GeV); if (s == 44 || s == 35) { normalize(_h_thrust); normalize(_h_MH); normalize(_h_BT); normalize(_h_BW); } normalize(_h_y23); } //@} private: Histo1DPtr _h_thrust, _h_MH, _h_BT, _h_BW, _h_y23; }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(JADE_1998_S3612880); }