Rivet analyses referenceCLEO_2000_I525698Mass distributions in $\tau^-\to K^-\pi^+\pi^-\nu_\tau$Experiment: CLEO (CESR) Inspire ID: 525698 Status: VALIDATED NOHEPDATA Authors:
Beam energies: ANY Run details:
Measurement of mass distributions in $\tau^-\to K^-\pi^+\pi^-\nu_\tau$. The background subtracted, corrected data were read from figure 2 in the paper. Source code: CLEO_2000_I525698.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4#include "Rivet/Projections/DecayedParticles.hh"
5
6namespace Rivet {
7
8
9 /// @brief tau -> K- pi+ pi- nu_tau
10 class CLEO_2000_I525698 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(CLEO_2000_I525698);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22 // Initialise and register projections
23 UnstableParticles ufs = UnstableParticles(Cuts::abspid==15);
24 declare(ufs, "UFS");
25 DecayedParticles TAU(ufs);
26 TAU.addStable(310);
27 TAU.addStable(111);
28 declare(TAU, "TAU");
29 // histogram
30 for (unsigned int ix=0;ix<3;++ix) {
31 book(_h[ix],1,1,1+ix);
32 }
33 }
34
35
36 /// Perform the per-event analysis
37 void analyze(const Event& event) {
38 DecayedParticles TAU = apply<DecayedParticles>(event, "TAU");
39 // loop over particles
40 for (unsigned int ix=0;ix<TAU.decaying().size();++ix) {
41 int sign = TAU.decaying()[ix].pid()>0 ? 1 : -1;
42 if (!(TAU.modeMatches(ix,4,mode ) || TAU.modeMatches(ix,4,modeCC))) continue;
43 const Particle & pip = TAU.decayProducts()[ix].at( 211*sign)[0];
44 const Particle & pim = TAU.decayProducts()[ix].at(-211*sign)[0];
45 const Particle & Km = TAU.decayProducts()[ix].at(-321*sign)[0];
46 _h[0]->fill((Km.mom()+pip.mom()+pim.mom()).mass());
47 _h[1]->fill((Km.mom()+pip.mom()).mass());
48 _h[2]->fill((pip.mom()+pim.mom()).mass());
49 }
50 }
51
52
53 /// Normalise histograms etc., after the run
54 void finalize() {
55 normalize(_h, 1.0, false);
56 }
57
58 /// @}
59
60
61 /// @name Histograms
62 /// @{
63 Histo1DPtr _h[3];
64 const map<PdgId,unsigned int> mode = { {-321,1}, { 211,1},{-211,1},{ 16,1}};
65 const map<PdgId,unsigned int> modeCC = { { 321,1}, {-211,1},{ 211,1},{-16,1}};
66 /// @}
67
68
69 };
70
71
72 RIVET_DECLARE_PLUGIN(CLEO_2000_I525698);
73
74}
|