rivet is hosted by Hepforge, IPPP Durham

## Rivet analyses reference

### CLEOII_1994_I373188

Hadronic Mass in $\tau^-\to 3\pi^-2\pi^+\pi^0\nu_\tau$
Experiment: CLEOII (CESR)
Inspire ID: 373188
Status: VALIDATED
Authors:
• Peter Richardson
References:
• Phys.Rev.Lett. 73 (1994) 934-938
Beams: * *
Beam energies: ANY
Run details:
• Tau production, can be any process but original data was in $e^+ e^-$ at the $\Upsilon(4S)$ resonance

Measurement of the invariant mass spectrum of the $K^-\eta$ system in $\tau\to 3\pi^-2\pi^+\pi^0\nu_\tau$ measured by CLEO at CESR.

Source code: CLEOII_1994_I373188.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 // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/UnstableParticles.hh" namespace Rivet { /// @brief tau -> (5pi)-pi0 class CLEOII_1994_I373188 : public Analysis { public: /// Constructor DEFAULT_RIVET_ANALYSIS_CTOR(CLEOII_1994_I373188); /// @name Analysis methods ///@{ /// Book histograms and initialise projections before the run void init() { declare(UnstableParticles(), "UFS"); book(_hist, 1, 1, 1); } void findDecayProducts(const Particle & mother, unsigned int & nstable, Particles& pim, Particles& pi0) { for(const Particle & p : mother.children()) { long id = p.abspid(); if (id == PID::PI0 ) { pi0.push_back(p); ++nstable; } else if (abs(id) == PID::PIPLUS) { pim.push_back(p); ++nstable; } else if ( !p.children().empty() ) { findDecayProducts(p, nstable, pim,pi0); } else ++nstable; } } /// Perform the per-event analysis void analyze(const Event& event) { const UnstableParticles& ufs = apply(event, "UFS"); for (const Particle& p : ufs.particles(Cuts::abspid==PID::TAU)) { Particles pi0,pim; unsigned int nstable = 0; // find the decay products we want findDecayProducts(p, nstable, pim, pi0); if (nstable != 7) continue; // K eta if (pim.size() == 5 && pi0.size() == 1) { FourMomentum phad=pi0[0].momentum(); for(const Particle & p2: pim) phad += p2.momentum(); _hist->fill(phad.mass()); } } } /// Normalise histograms etc., after the run void finalize() { normalize(_hist); } ///@} /// @name Histograms ///@{ Histo1DPtr _hist; ///@} }; DECLARE_RIVET_PLUGIN(CLEOII_1994_I373188); }