Rivet analyses referenceCLEOII_1994_I371611Decay asymmetry in $\Lambda^+_c\to\Lambda^0 e^+ \nu_e$Experiment: CLEOII (CESR) Inspire ID: 371611 Status: VALIDATED Authors:
Beam energies: ANY Run details:
Measurement of the decay asymmetry in $\Lambda^+_c\to\Lambda^0 e^+ \nu_e$ by CLEOII. While this result is superseeded by later CLEO measurements it is one of the few to present the anglular distribution as well as the fitted asymmetry parameter. The product of assymetries $\alpha_{\Lambda_c^+}\alpha_\Lambda$ is extracted as that is what is measured not $\alpha_{\Lambda_c^+}$ and there has been a significant change in $\alpha_\Lambda$ since this paper was published Source code: CLEOII_1994_I371611.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief Lambda_c -> Lambda e+ nu_e asymmetry
9 class CLEOII_1994_I371611 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(CLEOII_1994_I371611);
14
15
16 /// @name Analysis methods
17 /// @{
18
19 /// Book histograms and initialise projections before the run
20 void init() {
21 // Initialise and register projections
22 declare(UnstableParticles(), "UFS" );
23
24 // Book histograms
25 book(_h_Lambda, 1,1,1);
26 }
27
28 void findChildren(Particle parent, int sign, unsigned int & npart,
29 Particles & lambda, Particles & e, Particles & nu) {
30 for(const Particle & child : parent.children()) {
31 if(child.pid()==sign*PID::LAMBDA) {
32 lambda.push_back(child);
33 ++npart;
34 }
35 else if(child.pid()==-sign*PID::EMINUS) {
36 e.push_back(child);
37 ++npart;
38 }
39 else if(child.pid()==sign*PID::NU_E) {
40 nu.push_back(child);
41 ++npart;
42 }
43 else if(!child.children().empty()) {
44 findChildren(child,sign,npart,lambda,e,nu);
45 }
46 else {
47 ++npart;
48 }
49 }
50 }
51
52 /// Perform the per-event analysis
53 void analyze(const Event& event) {
54 // loop over Lambda_c baryons
55 for( const Particle& Lambdac : apply<UnstableParticles>(event, "UFS").particles(Cuts::abspid==4122)) {
56 int sign = Lambdac.pid()/4122;
57 Particles lambda,e,nu;
58 unsigned int npart(0);
59 findChildren(Lambdac,sign,npart,lambda,e,nu);
60 if(npart!=3 || lambda.size()!=1 || e.size()!=1 || nu.size()!=1) continue;
61 Particle baryon2;
62 if(lambda[0].children()[0].pid()== sign*2212 &&
63 lambda[0].children()[1].pid()== -sign*211) {
64 baryon2 = lambda[0].children()[0];
65 }
66 else if(lambda[0].children()[1].pid()== sign*2212 &&
67 lambda[0].children()[0].pid()== -sign*211) {
68 baryon2 = lambda[0].children()[1];
69 }
70 else
71 continue;
72 // first boost to the Lambdac rest frame
73 LorentzTransform boost1 = LorentzTransform::mkFrameTransformFromBeta(Lambdac.momentum().betaVec());
74 FourMomentum pbaryon1 = boost1.transform(lambda[0].momentum());
75 FourMomentum pbaryon2 = boost1.transform(baryon2 .momentum());
76 // to lambda rest frame
77 LorentzTransform boost2 = LorentzTransform::mkFrameTransformFromBeta(pbaryon1.betaVec());
78 Vector3 axis = pbaryon1.p3().unit();
79 FourMomentum pp = boost2.transform(pbaryon2);
80 // calculate angle
81 double cTheta = pp.p3().unit().dot(axis);
82 _h_Lambda->fill(cTheta);
83 }
84 }
85
86 pair<double,double> calcAlpha(Histo1DPtr hist) {
87 if(hist->numEntries()==0.) return make_pair(0.,0.);
88 double sum1(0.),sum2(0.);
89 for (const auto& bin : hist->bins() ) {
90 double Oi = bin.sumW();
91 if(Oi==0.) continue;
92 double ai = 0.5*(bin.xMax()-bin.xMin());
93 double bi = 0.5*ai*(bin.xMax()+bin.xMin());
94 double Ei = bin.errW();
95 sum1 += sqr(bi/Ei);
96 sum2 += bi/sqr(Ei)*(Oi-ai);
97 }
98 return make_pair(sum2/sum1,sqrt(1./sum1));
99 }
100
101 /// Normalise histograms etc., after the run
102 void finalize() {
103 // asymmetry
104 normalize(_h_Lambda);
105 Estimate1DPtr _h_alpha;
106 book(_h_alpha,2,1,1);
107 pair<double,double> alpha = calcAlpha(_h_Lambda);
108 _h_alpha->bin(1).set(alpha.first, alpha.second);
109 }
110
111 /// @}
112
113
114 /// @name Histograms
115 /// @{
116 Histo1DPtr _h_Lambda;
117 /// @}
118
119
120 };
121
122
123 RIVET_DECLARE_PLUGIN(CLEOII_1994_I371611);
124
125}
|