Rivet analyses referenceL3_1992_I334954Event Shapes at LEPIExperiment: L3 (LEP) Inspire ID: 334954 Status: VALIDATED Authors:
Beam energies: (45.6, 45.6) GeV Run details:
Measurement of a range of event shapes by L3 at LEP1. One analysis specific observable and Fox-Wolfram moments not implemented. Source code: L3_1992_I334954.cc 1// -*- C++ -*-
2#include "Rivet/Analysis.hh"
3#include "Rivet/Projections/FastJets.hh"
4#include "Rivet/Projections/FinalState.hh"
5#include "Rivet/Projections/ChargedFinalState.hh"
6#include "Rivet/Projections/Sphericity.hh"
7#include "Rivet/Projections/Thrust.hh"
8#include "Rivet/Projections/Hemispheres.hh"
9#include "Rivet/Projections/ParisiTensor.hh"
10
11namespace Rivet {
12
13
14 /// @brief Event shapes at MZ
15 class L3_1992_I334954 : public Analysis {
16 public:
17
18 /// Constructor
19 RIVET_DEFAULT_ANALYSIS_CTOR(L3_1992_I334954);
20
21
22 /// @name Analysis methods
23 ///@{
24
25 /// Book histograms and initialise projections before the run
26 void init() {
27 // projections
28 const FinalState fs;
29 declare(fs, "FS");
30 const ChargedFinalState cfs;
31 declare(cfs, "CFS");
32 declare(Sphericity(fs), "Sphericity");
33 Thrust thrust(fs);
34 declare(thrust, "Thrust" );
35 declare(Hemispheres(thrust), "Hemispheres");
36 declare(ParisiTensor(fs), "Parisi");
37 declare(FastJets(cfs, FastJets::DURHAM, 0.7), "DurhamJets");
38 declare(FastJets(cfs, FastJets::JADE , 0.7), "JadeJets" );
39 // histograms
40 book(_histThrust , 1, 1, 1);
41 book(_histMajor , 2, 1, 1);
42 book(_histMinor , 3, 1, 1);
43 book(_histOblateness, 4, 1, 1);
44 book(_histJade , 6, 1, 1);
45 book(_histDurham , 7, 1, 1);
46 book(_histSphericity, 10, 1, 1);
47 book(_histAplanarity, 11, 1, 1);
48 book(_histC , 12, 1, 1);
49 book(_histD , 13, 1, 1);
50 book(_histMJetHeavy , 14, 1, 1);
51 book(_histMJetLight , 15, 1, 1);
52 book(_histMult , 16, 1, 1);
53 }
54
55
56 /// Perform the per-event analysis
57 void analyze(const Event& event) {
58 // 5 charged particles
59 const FinalState& cfs = apply<FinalState>(event, "CFS");
60 if(cfs.particles().size()<5) vetoEvent;
61 // charged particle mult
62 _histMult->fill(cfs.particles().size());
63 // Sphericity related
64 const Sphericity& sphericity = apply<Sphericity>(event, "Sphericity");
65 _histSphericity->fill(sphericity.sphericity());
66 _histAplanarity->fill(sphericity.aplanarity());
67 // thrust related
68 const Thrust& thrust = apply<Thrust>(event, "Thrust");
69 _histThrust ->fill(thrust.thrust());
70 _histMajor ->fill(thrust.thrustMajor());
71 _histMinor ->fill(thrust.thrustMinor());
72 _histOblateness->fill(thrust.oblateness());
73 // hemisphere related
74 const Hemispheres& hemi = apply<Hemispheres>(event, "Hemispheres");
75 _histMJetHeavy->fill(hemi.scaledM2high());
76 _histMJetLight->fill(hemi.scaledM2low());
77 // C and D
78 const ParisiTensor& parisi = apply<ParisiTensor>(event, "Parisi");
79 _histC->fill(parisi.C());
80 _histD->fill(parisi.D());
81 // jet rates
82 const FastJets& durjet = apply<FastJets>(event, "DurhamJets");
83 double y23 = durjet.clusterSeq()->exclusive_ymerge_max(2);
84 _histDurham->fill(y23);
85 const FastJets& jadejet = apply<FastJets>(event, "JadeJets");
86 y23 = jadejet.clusterSeq()->exclusive_ymerge_max(2);
87 _histJade->fill(y23);
88 }
89
90
91 /// Normalise histograms etc., after the run
92 void finalize() {
93 scale(_histThrust , 1./sumOfWeights());
94 scale(_histMajor , 1./sumOfWeights());
95 scale(_histMinor , 1./sumOfWeights());
96 scale(_histOblateness, 1./sumOfWeights());
97 scale(_histJade , 1./sumOfWeights());
98 scale(_histDurham , 1./sumOfWeights());
99 scale(_histSphericity, 1./sumOfWeights());
100 scale(_histAplanarity, 1./sumOfWeights());
101 scale(_histC , 1./sumOfWeights());
102 scale(_histD , 1./sumOfWeights());
103 scale(_histMJetHeavy , 1./sumOfWeights());
104 scale(_histMJetLight , 1./sumOfWeights());
105 // percentage and bin width
106 scale(_histMult, 100.*2./sumOfWeights());
107 // scale(, 1./sumOfWeights());
108 // scale(, 1./sumOfWeights());
109 }
110
111 ///@}
112
113
114 /// @name Histograms
115 ///@{
116 Histo1DPtr _histThrust, _histMajor, _histMinor, _histOblateness;
117 Histo1DPtr _histJade,_histDurham;
118 Histo1DPtr _histSphericity, _histAplanarity;
119 Histo1DPtr _histC, _histD;
120 Histo1DPtr _histMJetHeavy, _histMJetLight, _histMult;
121 ///@}
122
123
124 };
125
126
127 RIVET_DECLARE_PLUGIN(L3_1992_I334954);
128
129}
|