Rivet analyses referenceTOPAZ_1997_I454183Measurement of charged particle multiplicity vs thrust at $E_{\text{CMS}}=57.8$ GeVExperiment: TOPAZ (Tristan) Inspire ID: 454183 Status: UNVALIDATED Authors:
Beam energies: (28.9, 28.9) GeV Run details:
Measurement of the charged particle multiplicity as a function of thrust at 57.8 GeV by the TOPAZ collaboration. Source code: TOPAZ_1997_I454183.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/ChargedFinalState.hh"
4#include "Rivet/Projections/Thrust.hh"
5
6namespace Rivet {
7
8
9 /// @brief N charged vs thrust
10 class TOPAZ_1997_I454183 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(TOPAZ_1997_I454183);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22
23 // Initialise and register projections
24 ChargedFinalState cfs;
25 declare(cfs , "CFS");
26 declare(Thrust(cfs), "Thrust");
27
28 // Book histograms
29 book(_p_charged ,3,1,1);
30 book(_c_ncharged,1,1,1);
31
32 }
33
34
35 /// Perform the per-event analysis
36 void analyze(const Event& event) {
37 // First, veto on leptonic events by requiring at least 5 charged FS particles
38 const ChargedFinalState& cfs = apply<ChargedFinalState>(event, "CFS");
39 const size_t numParticles = cfs.particles().size();
40 // Even if we only generate hadronic events, we still need a cut on numCharged >= 2.
41 if (numParticles < 5) {
42 MSG_DEBUG("Failed leptonic event cut");
43 vetoEvent;
44 }
45 MSG_DEBUG("Passed leptonic event cut");
46
47 // thrust
48 const Thrust& thrust = apply<Thrust>(event, "Thrust");
49 _c_ncharged->fill("57.8",cfs.particles().size());
50 size_t idx = pTAxis.index(-log(1.-thrust.thrust()));
51 string label = idx>0 && idx <= _p_charged->xEdges().size() ? _p_charged->xEdges()[idx-1] : "OTHER";
52 _p_charged->fill(label,cfs.particles().size());
53 }
54
55
56 /// Normalise histograms etc., after the run
57 void finalize() {
58 scale(_c_ncharged,1./sumOfWeights());
59 }
60
61 /// @}
62
63
64 /// @name Histograms
65 /// @{
66 BinnedProfilePtr<string> _p_charged;
67 BinnedProfilePtr<string> _c_ncharged;
68 YODA::Axis<double> pTAxis{1.24,1.58,1.9,2.36,2.66,3.02,3.24,3.46};
69 /// @}
70
71
72 };
73
74
75 RIVET_DECLARE_PLUGIN(TOPAZ_1997_I454183);
76
77
78}
|