Rivet analyses referenceBABAR_2007_I725377Inclusive $\Lambda_c^+$ Production in $e^+e^-$ Annihilation at $\sqrt{s}=10.54$ GeV and in $\Upsilon(4S)$ Decays.Experiment: BaBar (PEP-II) Inspire ID: 725377 Status: VALIDATED Authors:
Beam energies: (3.5, 8.0); (3.5, 7.9) GeV Run details:
Measurements of the total production rates and momentum distributions of the charmed baryon $\Lambda_c^+$ in $e^+e^- \to$ hadrons at a centre-of-mass energy of 10.54 GeV and in $\Upsilon(4S)$ decays. Source code: BABAR_2007_I725377.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/Beam.hh"
4#include "Rivet/Projections/UnstableParticles.hh"
5
6namespace Rivet {
7
8
9 /// @brief BABAR Lambda_c from fragmentation
10 ///
11 /// @author Peter Richardson
12 class BABAR_2007_I725377 : public Analysis {
13 public:
14
15 RIVET_DEFAULT_ANALYSIS_CTOR(BABAR_2007_I725377);
16
17
18 void init() {
19 declare(Beam(), "Beams");
20 declare(UnstableParticles(), "UFS");
21
22 book(_histOff ,1,1,1);
23 book(_sigmaOff ,2,1,1);
24 book(_histOn ,3,1,1);
25 book(_sigmaOn ,4,1,1);
26 }
27
28
29 void analyze(const Event& e) {
30 // Loop through unstable FS particles and look for charmed mesons/baryons
31 const UnstableParticles& ufs = apply<UnstableParticles>(e, "UFS");
32
33 const Beam beamproj = apply<Beam>(e, "Beams");
34 const ParticlePair& beams = beamproj.beams();
35 const FourMomentum mom_tot = beams.first.momentum() + beams.second.momentum();
36 const LorentzTransform cms_boost = LorentzTransform::mkFrameTransformFromBeta(mom_tot.betaVec());
37 const double s = sqr(beamproj.sqrtS());
38 const bool onresonance = fuzzyEquals(beamproj.sqrtS(), 10.58*GeV, 2E-3);
39
40 // Particle masses from PDGlive (accessed online 16. Nov. 2009).
41 for (const Particle& p : ufs.particles()) {
42 // Only looking at Lambda_c
43 if (p.abspid() != 4122) continue;
44 MSG_DEBUG("Lambda_c found");
45 const double mH2 = 5.22780; // 2.28646^2
46 const double mom = FourMomentum(cms_boost.transform(p.momentum())).p();
47 const double xp = mom/sqrt(s/4.0 - mH2);
48
49 if (onresonance) {
50 _histOn ->fill(xp);
51 _sigmaOn ->fill(Ecm);
52 } else {
53 _histOff ->fill(xp);
54 _sigmaOff->fill(0.5);
55 }
56 }
57 }
58
59
60 void finalize() {
61 scale(_sigmaOn , 1./sumOfWeights());
62 scale(_sigmaOff, 1./sumOfWeights());
63 scale(_histOn , 1./sumOfWeights());
64 scale(_histOff , 1./sumOfWeights());
65 }
66
67
68 private:
69
70 // Histograms for the continuum cross sections
71 BinnedHistoPtr<string> _sigmaOn;
72 Histo1DPtr _sigmaOff;
73 Histo1DPtr _histOn ;
74 Histo1DPtr _histOff ;
75 const string Ecm = "10.58";
76
77 };
78
79
80
81 RIVET_DECLARE_ALIASED_PLUGIN(BABAR_2007_I725377, BABAR_2007_S6895344);
82
83}
|