Rivet analyses referenceCLEOII_1994_I373188Hadronic Mass in τ−→3π−2π+π0ντExperiment: CLEOII (CESR) Inspire ID: 373188 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the invariant mass spectrum of the K−η system in τ→3π−2π+π0ντ measured by CLEO at CESR. Source code: CLEOII_1994_I373188.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief tau -> (5pi)-pi0
9 class CLEOII_1994_I373188 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(CLEOII_1994_I373188);
14
15
16 /// @name Analysis methods
17 /// @{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21 declare(UnstableParticles(), "UFS");
22 book(_hist, 1, 1, 1);
23 }
24
25 void findDecayProducts(const Particle & mother,
26 unsigned int & nstable,
27 Particles& pim, Particles& pi0) {
28 for(const Particle & p : mother.children()) {
29 long id = p.abspid();
30 if (id == PID::PI0 ) {
31 pi0.push_back(p);
32 ++nstable;
33 }
34 else if (abs(id) == PID::PIPLUS) {
35 pim.push_back(p);
36 ++nstable;
37 }
38 else if ( !p.children().empty() ) {
39 findDecayProducts(p, nstable, pim,pi0);
40 }
41 else
42 ++nstable;
43 }
44 }
45
46 /// Perform the per-event analysis
47 void analyze(const Event& event) {
48 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
49 for (const Particle& p : ufs.particles(Cuts::abspid==PID::TAU)) {
50 Particles pi0,pim;
51 unsigned int nstable = 0;
52 // find the decay products we want
53 findDecayProducts(p, nstable, pim, pi0);
54 if (nstable != 7) continue;
55 // K eta
56 if (pim.size() == 5 && pi0.size() == 1) {
57 FourMomentum phad=pi0[0].momentum();
58 for(const Particle & p2: pim)
59 phad += p2.momentum();
60 _hist->fill(phad.mass());
61 }
62 }
63 }
64
65
66 /// Normalise histograms etc., after the run
67 void finalize() {
68 normalize(_hist);
69 }
70
71 /// @}
72
73
74 /// @name Histograms
75 /// @{
76 Histo1DPtr _hist;
77 /// @}
78
79
80 };
81
82
83 RIVET_DECLARE_PLUGIN(CLEOII_1994_I373188);
84
85}
|