Rivet analyses referenceBABAR_2005_I686354π+π− mass distribution in Y(4260)→J/ψπ+π−Experiment: BABAR (PEP-II) Inspire ID: 686354 Status: VALIDATED NOHEPDATA Authors:
Beam energies: ANY Run details:
Mass distribution in Y(4260)→J/ψπ+π− decays (Y(4260) is now ψ(4230)). The background subtracted data were read from figure 3 in the paper. There is no consensus as to the nature of the ψ(4230) cˉc state and therefore we taken its PDG code to be 9030443, i.e. the first unused code for an undetermined spin one cˉc state. This can be changed using the PID option if a different code is used by the event generator performing the simulation. Source code: BABAR_2005_I686354.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 Y(4260) -> pi+ pi_ J/psi
10 class BABAR_2005_I686354 : public Analysis {
11 public:
12
13 /// Constructor
14 RIVET_DEFAULT_ANALYSIS_CTOR(BABAR_2005_I686354);
15
16
17 /// @name Analysis methods
18 /// @{
19
20 /// Book histograms and initialise projections before the run
21 void init() {
22 _pid = getOption<int>("PID", 9030443);
23 // projections
24 UnstableParticles ufs = UnstableParticles(Cuts::abspid==_pid);
25 declare(ufs, "UFS");
26 DecayedParticles PSI(ufs);
27 PSI.addStable(443);
28 declare(PSI, "PSI");
29 // histograms
30 book(_h,1,1,1);
31 }
32
33
34 /// Perform the per-event analysis
35 void analyze(const Event& event) {
36 static const map<PdgId,unsigned int> & mode = { { 211,1}, {-211,1}, { 443,1}};
37 DecayedParticles PSI = apply<DecayedParticles>(event, "PSI");
38 for(unsigned int ix=0;ix<PSI.decaying().size();++ix) {
39 if (!PSI.modeMatches(ix,3,mode)) continue;
40 const Particle & pip = PSI.decayProducts()[ix].at( 211)[0];
41 const Particle & pim = PSI.decayProducts()[ix].at(-211)[0];
42 double mpipi = (pip.momentum()+pim.momentum()).mass();
43 _h->fill(mpipi);
44 }
45 }
46
47 /// Normalise histograms etc., after the run
48 void finalize() {
49 normalize(_h,1.,false);
50 }
51
52 /// @}
53
54
55 /// @name Histograms
56 /// @{
57 int _pid;
58 Histo1DPtr _h;
59 /// @}
60
61
62 };
63
64
65 RIVET_DECLARE_PLUGIN(BABAR_2005_I686354);
66
67}
|