Rivet analyses referenceLHCB_2012_I1107645$\chi_{c}$ production at 7 TeVExperiment: LHCB (LHC) Inspire ID: 1107645 Status: VALIDATED Authors:
Beam energies: (3500.0, 3500.0) GeV Run details:
Differential cross section for the production of $\chi_{c(0,1,2)}$ production using their decay to J/$\psi$ and a photon. Source code: LHCB_2012_I1107645.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/UnstableParticles.hh"
4
5namespace Rivet {
6
7
8 /// @brief chi_c production at 7 TeV
9 class LHCB_2012_I1107645 : public Analysis {
10 public:
11
12 /// Constructor
13 RIVET_DEFAULT_ANALYSIS_CTOR(LHCB_2012_I1107645);
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 for(unsigned int ix=0;ix<2;++ix) {
23 book(_h_pT[ix],"TMP/pT_"+toString(ix),refData(1,1,1));
24 }
25 }
26
27
28 /// Perform the per-event analysis
29 void analyze(const Event& event) {
30
31 // Final state of unstable particles to get particle spectra
32 const UnstableParticles& ufs = apply<UnstableParticles>(event, "UFS");
33
34 for (const Particle& p : ufs.particles(Cuts::pid==443 ||
35 Cuts::pid==10441 ||
36 Cuts::pid==20443 ||
37 Cuts::pid==445)) {
38 // prompt only
39 if(p.fromBottom()) continue;
40 // J/psi as a reference
41 if(p.pid()==443) {
42 double absrap=p.absrap();
43 if(absrap>2. && absrap<4.5) _h_pT[1]->fill(p.perp());
44 }
45 else {
46 Particle Jpsi;
47 if(p.children()[0].pid()==22 && p.children()[1].pid()==443) {
48 Jpsi=p.children()[1];
49 }
50 else if(p.children()[1].pid()==22 && p.children()[0].pid()==443) {
51 Jpsi=p.children()[0];
52 }
53 else
54 continue;
55 double absrap=Jpsi.absrap();
56 if(absrap<2. || absrap>4.5) continue;
57 _h_pT[0]->fill(Jpsi.perp());
58 }
59 }
60 }
61
62
63 /// Normalise histograms etc., after the run
64 void finalize() {
65 // compute fraction
66 Estimate1DPtr tmp;
67 book(tmp,1,1,1);
68 efficiency(_h_pT[0],_h_pT[1],tmp);
69 }
70
71 /// @}
72
73
74 /// @name Histograms
75 /// @{
76 Histo1DPtr _h_pT[2];
77 /// @}
78
79
80 };
81
82
83 RIVET_DECLARE_PLUGIN(LHCB_2012_I1107645);
84
85}
|