Rivet analyses referenceCLEO_1986_I230961$J/\psi$ spectrum in $\Upsilon(4S)$ decaysExperiment: CLEO (CESR) Inspire ID: 230961 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the $J/\psi$ spectrum in $\Upsilon(4S)$ decays by the CLEO collaboration. Source code: CLEO_1986_I230961.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief J/psi spectrum in Upsilon(4S) decays
9 class CLEO_1986_I230961 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(CLEO_1986_I230961);
14
15
16 /// @name Analysis methods
17 /// @{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21 // projections
22 declare(UnstableParticles(Cuts::pid==300553), "UFS");
23 // histos
24 book(_h,2,1,1);
25 }
26
27 /// Recursively walk the decay tree to find decay products of @a p
28 void findDecayProducts(Particle mother, Particles& unstable) {
29 for(const Particle& p: mother.children()) {
30 const int id = abs(p.pid());
31 if (id == 443) {
32 unstable.push_back(p);
33 }
34 else if(!p.children().empty()) {
35 findDecayProducts(p, unstable);
36 }
37 }
38 }
39
40
41 /// Perform the per-event analysis
42 void analyze(const Event& event) {
43 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
44 for (const Particle& ups : ufs.particles()) {
45 Particles unstable;
46 // Find the decay products we want
47 findDecayProducts(ups,unstable);
48 LorentzTransform cms_boost;
49 if (ups.p3().mod() > 0.001) {
50 cms_boost = LorentzTransform::mkFrameTransformFromBeta(ups.mom().betaVec());
51 }
52 for (const Particle& p : unstable) {
53 const double modp = cms_boost.transform(p.mom()).p3().mod();
54 _h->fill(modp);
55 }
56 }
57 }
58
59
60 /// Normalise histograms etc., after the run
61 void finalize() {
62 normalize(_h, 1.0, false);
63 }
64
65 /// @}
66
67
68 /// @name Histograms
69 /// @{
70 Histo1DPtr _h;
71 /// @}
72
73
74 };
75
76
77 RIVET_DECLARE_PLUGIN(CLEO_1986_I230961);
78
79}
|