diff --git a/analyses/pluginLEP/OPAL_2004_I631361.cc b/analyses/pluginLEP/OPAL_2004_I631361.cc --- a/analyses/pluginLEP/OPAL_2004_I631361.cc +++ b/analyses/pluginLEP/OPAL_2004_I631361.cc @@ -1,119 +1,336 @@ // -*- C++ -*- #include "Rivet/Analysis.hh" #include "Rivet/Projections/FinalState.hh" #include "Rivet/Projections/ChargedFinalState.hh" +#include "Rivet/Projections/FastJets.hh" +#include "Rivet/Projections/HadronicFinalState.hh" +#include "Rivet/Jet.hh" +#include "Rivet/Tools/BinnedHistogram.hh" +#include "fastjet/JetDefinition.hh" + +namespace fastjet { + +class P_scheme : public JetDefinition::Recombiner { + public: + std::string description() const {return "";} + void recombine(const PseudoJet & pa, const PseudoJet & pb, + PseudoJet & pab) const { + PseudoJet tmp = pa + pb; + double E = sqrt(tmp.px()*tmp.px() + tmp.py()*tmp.py() + tmp.pz()*tmp.pz()); + pab.reset_momentum(tmp.px(), tmp.py(), tmp.pz(), E); + } + void preprocess(PseudoJet & p) const { + double E = sqrt(p.px()*p.px() + p.py()*p.py() + p.pz()*p.pz()); + p.reset_momentum(p.px(), p.py(), p.pz(), E); + } + ~P_scheme() { } +}; + +} namespace Rivet { class OPAL_2004_I631361 : public Analysis { public: /// Constructor OPAL_2004_I631361() - : Analysis("OPAL_2004_I631361"), _sumW(0.0) + : Analysis("OPAL_2004_I631361"), _mode(0), _sumW(0.0), _sumWEbin(7,0.) { } /// @name Analysis methods //@{ + int getEbin(double E_glue) { + int ih = -1; + if (inRange(E_glue/GeV, 5.0, 5.5)) { + ih = 0; + } else if (inRange(E_glue/GeV, 5.5, 6.5)) { + ih = 1; + } else if (inRange(E_glue/GeV, 6.5, 7.5)) { + ih = 2; + } else if (inRange(E_glue/GeV, 7.5, 9.5)) { + ih = 3; + } else if (inRange(E_glue/GeV, 9.5, 13.0)) { + ih = 4; + } else if (inRange(E_glue/GeV, 13.0, 16.0)) { + ih = 5; + } else if (inRange(E_glue/GeV, 16.0, 20.0)) { + ih = 6; + } + assert(ih >= 0); + return ih; + } + void init() { - declare(FinalState(), "FS"); - declare(ChargedFinalState(), "CFS"); - int ih(0), iy(0); - if (inRange(0.5*sqrtS()/GeV, 5.0, 5.5)) { - ih = 1; - iy = 1; - } else if (inRange(0.5*sqrtS()/GeV, 5.5, 6.5)) { - ih = 1; - iy = 2; - } else if (inRange(0.5*sqrtS()/GeV, 6.5, 7.5)) { - ih = 1; - iy = 3; - } else if (inRange(0.5*sqrtS()/GeV, 7.5, 9.5)) { - ih = 2; - iy = 1; - } else if (inRange(0.5*sqrtS()/GeV, 9.5, 13.0)) { - ih = 2; - iy = 2; - } else if (inRange(0.5*sqrtS()/GeV, 13.0, 16.0)) { - ih = 3; - iy = 1; - } else if (inRange(0.5*sqrtS()/GeV, 16.0, 20.0)) { - ih = 3; - iy = 2; + // Get options from the new option system + _mode = 0; + if ( getOption("PROCESS") == "GG" ) _mode = 0; + if ( getOption("PROCESS") == "QQ" ) _mode = 1; + // projections we need for both cases + const FinalState fs; + addProjection(fs, "FS"); + const ChargedFinalState cfs; + addProjection(cfs, "CFS"); + // additional projections for q qbar + if(_mode==1) { + addProjection(HadronicFinalState(fs), "HFS"); + addProjection(HadronicFinalState(cfs), "HCFS"); } - assert(ih>0); - _h_chMult = bookHisto1D(ih,1,iy); - if(ih==3) - _h_chFragFunc = bookHisto1D(5,1,iy); - else - _h_chFragFunc = NULL; + // book the histograms + if(_mode==0) { + int ih(0), iy(0); + if (inRange(0.5*sqrtS()/GeV, 5.0, 5.5)) { + ih = 1; + iy = 1; + } else if (inRange(0.5*sqrtS()/GeV, 5.5, 6.5)) { + ih = 1; + iy = 2; + } else if (inRange(0.5*sqrtS()/GeV, 6.5, 7.5)) { + ih = 1; + iy = 3; + } else if (inRange(0.5*sqrtS()/GeV, 7.5, 9.5)) { + ih = 2; + iy = 1; + } else if (inRange(0.5*sqrtS()/GeV, 9.5, 13.0)) { + ih = 2; + iy = 2; + } else if (inRange(0.5*sqrtS()/GeV, 13.0, 16.0)) { + ih = 3; + iy = 1; + } else if (inRange(0.5*sqrtS()/GeV, 16.0, 20.0)) { + ih = 3; + iy = 2; + } + assert(ih>0); + _h_chMult_gg = bookHisto1D(ih,1,iy); + if(ih==3) + _h_chFragFunc_gg = bookHisto1D(5,1,iy); + else + _h_chFragFunc_gg = NULL; + } + else { + _h_chMult_qq.addHistogram(5.0, 5.5, bookHisto1D(1,1,1)); + _h_chMult_qq.addHistogram(5.5, 6.5, bookHisto1D(1,1,2)); + _h_chMult_qq.addHistogram(6.5, 7.5, bookHisto1D(1,1,3)); + _h_chMult_qq.addHistogram(7.5, 9.5, bookHisto1D(2,1,1)); + _h_chMult_qq.addHistogram(9.5, 13.0, bookHisto1D(2,1,2)); + _h_chMult_qq.addHistogram(13.0, 16.0, bookHisto1D(3,1,1)); + _h_chMult_qq.addHistogram(16.0, 20.0, bookHisto1D(3,1,2)); + + _h_chFragFunc_qq.addHistogram(13.0, 16.0, bookHisto1D(5,1,1)); + _h_chFragFunc_qq.addHistogram(16.0, 20.0, bookHisto1D(5,1,2)); + } } /// Perform the per-event analysis void analyze(const Event& event) { const double weight = event.weight(); - // find the initial gluons - ParticleVector initial; - for (const GenParticle* p : Rivet::particles(event.genEvent())) { - const GenVertex* pv = p->production_vertex(); - const PdgId pid = p->pdg_id(); - if(pid!=21) continue; - bool passed = false; - for (const GenParticle* pp : particles_in(pv)) { + // gg mode + if(_mode==0) { + // find the initial gluons + ParticleVector initial; + for (const GenParticle* p : Rivet::particles(event.genEvent())) { + const GenVertex* pv = p->production_vertex(); + const PdgId pid = p->pdg_id(); + if(pid!=21) continue; + bool passed = false; + for (const GenParticle* pp : particles_in(pv)) { const PdgId ppid = abs(pp->pdg_id()); passed = (ppid == PID::ELECTRON || ppid == PID::HIGGS || ppid == PID::ZBOSON || ppid == PID::GAMMA); if(passed) break; + } + if(passed) initial.push_back(Particle(*p)); } - if(passed) initial.push_back(Particle(*p)); + if(initial.size()!=2) vetoEvent; + // use the direction for the event axis + Vector3 axis = initial[0].momentum().p3().unit(); + // fill histograms + const Particles& chps = applyProjection(event, "CFS").particles(); + unsigned int nMult[2] = {0,0}; + _sumW += 2.*weight; + // distribution + foreach(const Particle& p, chps) { + double xE = 2.*p.E()/sqrtS(); + if(_h_chFragFunc_gg) _h_chFragFunc_gg->fill(xE, weight); + if(p.momentum().p3().dot(axis)>0.) + ++nMult[0]; + else + ++nMult[1]; + } + // multiplcities in jet + _h_chMult_gg->fill(nMult[0],weight); + _h_chMult_gg->fill(nMult[1],weight); } - if(initial.size()!=2) vetoEvent; - // use the direction for the event axis - Vector3 axis = initial[0].momentum().p3().unit(); - // fill histograms - const Particles& chps = applyProjection(event, "CFS").particles(); - unsigned int nMult[2] = {0,0}; - _sumW += 2.*weight; - // distribution - foreach(const Particle& p, chps) { - double xE = 2.*p.E()/sqrtS(); - if(_h_chFragFunc) _h_chFragFunc->fill(xE, weight); - if(p.momentum().p3().dot(axis)>0.) - ++nMult[0]; - else - ++nMult[1]; + // qqbar mode + else { + // cut on the number of charged particles + const Particles& chParticles = applyProjection(event, "CFS").particles(); + if(chParticles.size() < 5) vetoEvent; + // cluster the jets + const Particles& particles = applyProjection(event, "FS").particles(); + fastjet::JetDefinition ee_kt_def(fastjet::ee_kt_algorithm, &p_scheme); + PseudoJets pParticles; + foreach(Particle p, particles) { + PseudoJet temp = p.pseudojet(); + if(p.fromBottom()) { + temp.set_user_index(5); + } + pParticles.push_back(temp); + } + fastjet::ClusterSequence cluster(pParticles, ee_kt_def); + // rescale energys to just keep the directions of the jets + // and keep track of b tags + PseudoJets pJets = sorted_by_E(cluster.exclusive_jets_up_to(3)); + if(pJets.size() < 3) vetoEvent; + array dirs; + for(int i=0; i<3; i++) { + dirs[i] = Vector3(pJets[i].px(),pJets[i].py(),pJets[i].pz()).unit(); + } + array bTagged; + Jets jets; + for(int i=0; i<3; i++) { + double Ejet = sqrtS()*sin(angle(dirs[(i+1)%3],dirs[(i+2)%3])) / + (sin(angle(dirs[i],dirs[(i+1)%3])) + sin(angle(dirs[i],dirs[(i+2)%3])) + sin(angle(dirs[(i+1)%3],dirs[(i+2)%3]))); + jets.push_back(FourMomentum(Ejet,Ejet*dirs[i].x(),Ejet*dirs[i].y(),Ejet*dirs[i].z())); + bTagged[i] = false; + foreach(PseudoJet particle, pJets[i].constituents()) { + if(particle.user_index() > 1 and !bTagged[i]) { + bTagged[i] = true; + } + } + } + + int QUARK1 = 0, QUARK2 = 1, GLUON = 2; + + if(jets[QUARK2].E() > jets[QUARK1].E()) swap(QUARK1, QUARK2); + if(jets[GLUON].E() > jets[QUARK1].E()) swap(QUARK1, GLUON); + if(!bTagged[QUARK2]) { + if(!bTagged[GLUON]) vetoEvent; + else swap(QUARK2, GLUON); + } + if(bTagged[GLUON]) vetoEvent; + + // exclude collinear or soft jets + double k1 = jets[QUARK1].E()*min(angle(jets[QUARK1].momentum(),jets[QUARK2].momentum()), + angle(jets[QUARK1].momentum(),jets[GLUON].momentum())); + double k2 = jets[QUARK2].E()*min(angle(jets[QUARK2].momentum(),jets[QUARK1].momentum()), + angle(jets[QUARK2].momentum(),jets[GLUON].momentum())); + if(k1<8.0*GeV || k2<8.0*GeV) vetoEvent; + + double sqg = (jets[QUARK1].momentum()+jets[GLUON].momentum()).mass2(); + double sgq = (jets[QUARK2].momentum()+jets[GLUON].momentum()).mass2(); + double s = (jets[QUARK1].momentum()+jets[QUARK2].momentum()+jets[GLUON].momentum()).mass2(); + + double Eg = 0.5*sqrt(sqg*sgq/s); + + if(Eg < 5.0 || Eg > 20.0) { vetoEvent; } + else if(Eg > 9.5) { + //requirements for experimental reconstructability raise as energy raises + if(!bTagged[QUARK1]) { + vetoEvent; + } + } + + // all cuts applied, increment sum of weights + _sumWEbin[getEbin(Eg)] += weight; + + + // transform to frame with event in y-z and glue jet in z direction + Matrix3 glueTOz(jets[GLUON].momentum().vector3(), Vector3(0,0,1)); + Vector3 transQuark = glueTOz*jets[QUARK2].momentum().vector3(); + Matrix3 quarksTOyz(Vector3(transQuark.x(), transQuark.y(), 0), Vector3(0,1,0)); + + // work out transformation to symmetric frame + array x_cm; + array x_cm_y; + array x_cm_z; + array x_pr; + for(int i=0; i<3; i++) { + x_cm[i] = 2*jets[i].E()/sqrt(s); + Vector3 p_transf = quarksTOyz*glueTOz*jets[i].p3(); + x_cm_y[i] = 2*p_transf.y()/sqrt(s); + x_cm_z[i] = 2*p_transf.z()/sqrt(s); + } + x_pr[GLUON] = sqrt(4*(1-x_cm[QUARK1])*(1-x_cm[QUARK2])/(3+x_cm[GLUON])); + x_pr[QUARK1] = x_pr[GLUON]/(1-x_cm[QUARK1]); + x_pr[QUARK2] = x_pr[GLUON]/(1-x_cm[QUARK2]); + double gamma = (x_pr[QUARK1] + x_pr[GLUON] + x_pr[QUARK2])/2; + double beta_z = x_pr[GLUON]/(gamma*x_cm[GLUON]) - 1; + double beta_y = (x_pr[QUARK2]/gamma - x_cm[QUARK2] - beta_z*x_cm_z[QUARK2])/x_cm_y[QUARK2]; + + LorentzTransform toSymmetric = LorentzTransform::mkObjTransformFromBeta(Vector3(0.,beta_y,beta_z)). + postMult(quarksTOyz*glueTOz); + + FourMomentum transGlue = toSymmetric.transform(jets[GLUON].momentum()); + double cutAngle = angle(toSymmetric.transform(jets[QUARK2].momentum()), transGlue)/2; + + int nCh = 0; + foreach(const Particle& chP, chParticles ) { + FourMomentum pSymmFrame = toSymmetric.transform(FourMomentum(chP.p3().mod(), chP.px(), chP.py(), chP.pz())); + if(angle(pSymmFrame, transGlue) < cutAngle) { + _h_chFragFunc_qq.fill(Eg, pSymmFrame.E()*sin(cutAngle)/Eg, weight); + nCh++; + } + } + _h_chMult_qq.fill(Eg, nCh, weight); } - // multiplcities in jet - _h_chMult->fill(nMult[0],weight); - _h_chMult->fill(nMult[1],weight); } /// Normalise histograms etc., after the run void finalize() { - normalize(_h_chMult); - if(_h_chFragFunc) scale(_h_chFragFunc, 1./_sumW); + if(_mode==0) { + normalize(_h_chMult_gg); + if(_h_chFragFunc_gg) scale(_h_chFragFunc_gg, 1./_sumW); + } + else { + foreach(Histo1DPtr hist, _h_chMult_qq.getHistograms()) { + normalize(hist); + } + for(int i=0; i<2; i++) { + if(!isZero(_sumWEbin[i+5])) { + scale(_h_chFragFunc_qq.getHistograms()[i], 1./_sumWEbin[i+5]); + } + } + } } //@} private: + // the mode + unsigned int _mode; + double _sumW; /// @name Histograms //@{ - Histo1DPtr _h_chMult; - Histo1DPtr _h_chFragFunc; + Histo1DPtr _h_chMult_gg; + Histo1DPtr _h_chFragFunc_gg; + //@} + + + // Data members like post-cuts event weight counters go here + vector _sumWEbin; + + // p scheme jet definition + fastjet::P_scheme p_scheme; + + /// @name Histograms + //@{ + BinnedHistogram _h_chMult_qq; + BinnedHistogram _h_chFragFunc_qq; //@} }; // The hook for the plugin system DECLARE_RIVET_PLUGIN(OPAL_2004_I631361); } diff --git a/analyses/pluginLEP/OPAL_2004_I631361.info b/analyses/pluginLEP/OPAL_2004_I631361.info --- a/analyses/pluginLEP/OPAL_2004_I631361.info +++ b/analyses/pluginLEP/OPAL_2004_I631361.info @@ -1,38 +1,43 @@ Name: OPAL_2004_I631361 Year: 2004 Summary: Gluon jet charged multiplicities and fragmentation functions Experiment: OPAL Collider: LEP InspireID: 631361 Status: VALIDATED Authors: - Daniel Reichelt References: - Phys. Rev. D69, 032002,2004 - hep-ex/0310048 RunInfo: - The fictional $e^+e^-\to gg$ process is required. + The fictional $e^+e^-\to gg$ process NumEvents: 100000 NeedCrossSection: no Beams: [e+, e- ] -Energies: [10.50,11.96,13.96,16.86,21.84,28.48,35.44] +Energies: [10.50,11.96,13.96,16.86,21.84,28.48,35.44,91,2] +Options: + - PROCESS=GG,QQ NeedCrossSection: False Description: - ' Measurement of gluon jet properties using the jet boost algorithm, a technique to select unbiased samples of gluon jets in $e^+e^-$ annihilation, i.e. gluon jets free of biases introduced by event selection or jet finding criteria. This analysis requires the fictional $e^+e^-\to g g $ process to be used due to the corrections applied to the data. It allows the study of gluon jet properties. This analysis can be used for tuning etc..' + ' Measurement of gluon jet properties using the jet boost algorithm, a technique to select unbiased samples of gluon jets in $e^+e^-$ annihilation, i.e. gluon jets free of biases introduced by event selection or jet finding criteria. +Two modes are provided, the prefer option is to produce the fictional $e^+e^-\to g g $ process to be used due to the corrections applied to the data, PROCESS=GG. +The original analysis technique to extract gluon jets from hadronic $e^+e^-$ events using $e^+e^-\to q\bar{q}$ events, PROCESS=QQ, +is also provided but cannot be used for tuning as the data has been corrected for impurities, however it is still useful qualitatively in order to check the properties of gluon jets in the original way in which there were measured rather than using a fictitious process.' BibKey: Abbiendi:2004gh BibTeX: '@article{Abbiendi:2004gh, author = "Abbiendi, G. and others", title = "{Experimental studies of unbiased gluon jets from $e^{+} e^{-}$ annihilations using the jet boost algorithm}", collaboration = "OPAL", journal = "Phys. Rev.", volume = "D69", year = "2004", pages = "032002", doi = "10.1103/PhysRevD.69.032002", eprint = "hep-ex/0310048", archivePrefix = "arXiv", primaryClass = "hep-ex", reportNumber = "CERN-EP-2004-067", SLACcitation = "%%CITATION = HEP-EX/0310048;%%" }' diff --git a/analyses/pluginLEP/OPAL_2004_I631361_qq.cc b/analyses/pluginLEP/OPAL_2004_I631361_qq.cc deleted file mode 100644 --- a/analyses/pluginLEP/OPAL_2004_I631361_qq.cc +++ /dev/null @@ -1,241 +0,0 @@ -// -*- C++ -*- -#include "Rivet/Analysis.hh" -#include "Rivet/Projections/FinalState.hh" -#include "Rivet/Projections/ChargedFinalState.hh" -#include "Rivet/Projections/FastJets.hh" -#include "Rivet/Projections/HadronicFinalState.hh" -#include "Rivet/Jet.hh" -#include "Rivet/Tools/BinnedHistogram.hh" -#include "fastjet/JetDefinition.hh" - -namespace fastjet { - -class P_scheme : public JetDefinition::Recombiner { - public: - std::string description() const {return "";} - void recombine(const PseudoJet & pa, const PseudoJet & pb, - PseudoJet & pab) const { - PseudoJet tmp = pa + pb; - double E = sqrt(tmp.px()*tmp.px() + tmp.py()*tmp.py() + tmp.pz()*tmp.pz()); - pab.reset_momentum(tmp.px(), tmp.py(), tmp.pz(), E); - } - void preprocess(PseudoJet & p) const { - double E = sqrt(p.px()*p.px() + p.py()*p.py() + p.pz()*p.pz()); - p.reset_momentum(p.px(), p.py(), p.pz(), E); - } - ~P_scheme() { } -}; - -} - -namespace Rivet { - - class OPAL_2004_I631361_qq : public Analysis { - public: - - /// Constructor - OPAL_2004_I631361_qq() - : Analysis("OPAL_2004_I631361_qq"), _sumWEbin(7,0.) - { } - - /// @name Analysis methods - //@{ - int getEbin(double E_glue) { - int ih = -1; - if (inRange(E_glue/GeV, 5.0, 5.5)) { - ih = 0; - } else if (inRange(E_glue/GeV, 5.5, 6.5)) { - ih = 1; - } else if (inRange(E_glue/GeV, 6.5, 7.5)) { - ih = 2; - } else if (inRange(E_glue/GeV, 7.5, 9.5)) { - ih = 3; - } else if (inRange(E_glue/GeV, 9.5, 13.0)) { - ih = 4; - } else if (inRange(E_glue/GeV, 13.0, 16.0)) { - ih = 5; - } else if (inRange(E_glue/GeV, 16.0, 20.0)) { - ih = 6; - } - assert(ih >= 0); - return ih; - } - - /// Book histograms and initialise projections before the run - void init() { - - const FinalState fs; - addProjection(fs, "FS"); - addProjection(HadronicFinalState(fs), "HFS"); - - const ChargedFinalState cfs; - addProjection(cfs, "CFS"); - addProjection(HadronicFinalState(cfs), "HCFS"); - - _h_chMult.addHistogram(5.0, 5.5, bookHisto1D(1,1,1)); - _h_chMult.addHistogram(5.5, 6.5, bookHisto1D(1,1,2)); - _h_chMult.addHistogram(6.5, 7.5, bookHisto1D(1,1,3)); - _h_chMult.addHistogram(7.5, 9.5, bookHisto1D(2,1,1)); - _h_chMult.addHistogram(9.5, 13.0, bookHisto1D(2,1,2)); - _h_chMult.addHistogram(13.0, 16.0, bookHisto1D(3,1,1)); - _h_chMult.addHistogram(16.0, 20.0, bookHisto1D(3,1,2)); - - _h_chFragFunc.addHistogram(13.0, 16.0, bookHisto1D(5,1,1)); - _h_chFragFunc.addHistogram(16.0, 20.0, bookHisto1D(5,1,2)); - - } - - - /// Perform the per-event analysis - void analyze(const Event& event) { - // cut on the number of charged particles - const Particles& chParticles = applyProjection(event, "CFS").particles(); - if(chParticles.size() < 5) vetoEvent; - // cluster the jets - const Particles& particles = applyProjection(event, "FS").particles(); - fastjet::JetDefinition ee_kt_def(fastjet::ee_kt_algorithm, &p_scheme); - PseudoJets pParticles; - foreach(Particle p, particles) { - PseudoJet temp = p.pseudojet(); - if(p.fromBottom()) { - temp.set_user_index(5); - } - pParticles.push_back(temp); - } - fastjet::ClusterSequence cluster(pParticles, ee_kt_def); - // rescale energys to just keep the directions of the jets - // and keep track of b tags - PseudoJets pJets = sorted_by_E(cluster.exclusive_jets_up_to(3)); - if(pJets.size() < 3) vetoEvent; - array dirs; - for(int i=0; i<3; i++) { - dirs[i] = Vector3(pJets[i].px(),pJets[i].py(),pJets[i].pz()).unit(); - } - array bTagged; - Jets jets; - for(int i=0; i<3; i++) { - double Ejet = sqrtS()*sin(angle(dirs[(i+1)%3],dirs[(i+2)%3])) / - (sin(angle(dirs[i],dirs[(i+1)%3])) + sin(angle(dirs[i],dirs[(i+2)%3])) + sin(angle(dirs[(i+1)%3],dirs[(i+2)%3]))); - jets.push_back(FourMomentum(Ejet,Ejet*dirs[i].x(),Ejet*dirs[i].y(),Ejet*dirs[i].z())); - bTagged[i] = false; - foreach(PseudoJet particle, pJets[i].constituents()) { - if(particle.user_index() > 1 and !bTagged[i]) { - bTagged[i] = true; - } - } - } - - int QUARK1 = 0, QUARK2 = 1, GLUON = 2; - - if(jets[QUARK2].E() > jets[QUARK1].E()) swap(QUARK1, QUARK2); - if(jets[GLUON].E() > jets[QUARK1].E()) swap(QUARK1, GLUON); - if(!bTagged[QUARK2]) { - if(!bTagged[GLUON]) vetoEvent; - else swap(QUARK2, GLUON); - } - if(bTagged[GLUON]) vetoEvent; - - // exclude collinear or soft jets - double k1 = jets[QUARK1].E()*min(angle(jets[QUARK1].momentum(),jets[QUARK2].momentum()), - angle(jets[QUARK1].momentum(),jets[GLUON].momentum())); - double k2 = jets[QUARK2].E()*min(angle(jets[QUARK2].momentum(),jets[QUARK1].momentum()), - angle(jets[QUARK2].momentum(),jets[GLUON].momentum())); - if(k1<8.0*GeV || k2<8.0*GeV) vetoEvent; - - double sqg = (jets[QUARK1].momentum()+jets[GLUON].momentum()).mass2(); - double sgq = (jets[QUARK2].momentum()+jets[GLUON].momentum()).mass2(); - double s = (jets[QUARK1].momentum()+jets[QUARK2].momentum()+jets[GLUON].momentum()).mass2(); - - double Eg = 0.5*sqrt(sqg*sgq/s); - - if(Eg < 5.0 || Eg > 20.0) { vetoEvent; } - else if(Eg > 9.5) { - //requirements for experimental reconstructability raise as energy raises - if(!bTagged[QUARK1]) { - vetoEvent; - } - } - - // all cuts applied, increment sum of weights - const double weight = event.weight(); - _sumWEbin[getEbin(Eg)] += weight; - - - // transform to frame with event in y-z and glue jet in z direction - Matrix3 glueTOz(jets[GLUON].momentum().vector3(), Vector3(0,0,1)); - Vector3 transQuark = glueTOz*jets[QUARK2].momentum().vector3(); - Matrix3 quarksTOyz(Vector3(transQuark.x(), transQuark.y(), 0), Vector3(0,1,0)); - - // work out transformation to symmetric frame - array x_cm; - array x_cm_y; - array x_cm_z; - array x_pr; - for(int i=0; i<3; i++) { - x_cm[i] = 2*jets[i].E()/sqrt(s); - Vector3 p_transf = quarksTOyz*glueTOz*jets[i].p3(); - x_cm_y[i] = 2*p_transf.y()/sqrt(s); - x_cm_z[i] = 2*p_transf.z()/sqrt(s); - } - x_pr[GLUON] = sqrt(4*(1-x_cm[QUARK1])*(1-x_cm[QUARK2])/(3+x_cm[GLUON])); - x_pr[QUARK1] = x_pr[GLUON]/(1-x_cm[QUARK1]); - x_pr[QUARK2] = x_pr[GLUON]/(1-x_cm[QUARK2]); - double gamma = (x_pr[QUARK1] + x_pr[GLUON] + x_pr[QUARK2])/2; - double beta_z = x_pr[GLUON]/(gamma*x_cm[GLUON]) - 1; - double beta_y = (x_pr[QUARK2]/gamma - x_cm[QUARK2] - beta_z*x_cm_z[QUARK2])/x_cm_y[QUARK2]; - - LorentzTransform toSymmetric = LorentzTransform::mkObjTransformFromBeta(Vector3(0.,beta_y,beta_z)). - postMult(quarksTOyz*glueTOz); - - FourMomentum transGlue = toSymmetric.transform(jets[GLUON].momentum()); - double cutAngle = angle(toSymmetric.transform(jets[QUARK2].momentum()), transGlue)/2; - - int nCh = 0; - foreach(const Particle& chP, chParticles ) { - FourMomentum pSymmFrame = toSymmetric.transform(FourMomentum(chP.p3().mod(), chP.px(), chP.py(), chP.pz())); - if(angle(pSymmFrame, transGlue) < cutAngle) { - _h_chFragFunc.fill(Eg, pSymmFrame.E()*sin(cutAngle)/Eg, weight); - nCh++; - } - } - _h_chMult.fill(Eg, nCh, weight); - } - - /// Normalise histograms etc., after the run - void finalize() { - - foreach(Histo1DPtr hist, _h_chMult.getHistograms()) { - normalize(hist); - } - for(int i=0; i<2; i++) { - if(!isZero(_sumWEbin[i+5])) { - scale(_h_chFragFunc.getHistograms()[i], 1./_sumWEbin[i+5]); - } - } - } - - //@} - - - private: - - // Data members like post-cuts event weight counters go here - vector _sumWEbin; - - // p scheme jet definition - fastjet::P_scheme p_scheme; - - /// @name Histograms - //@{ - BinnedHistogram _h_chMult; - BinnedHistogram _h_chFragFunc; - //@} - - - }; - - - - // The hook for the plugin system - DECLARE_RIVET_PLUGIN(OPAL_2004_I631361_qq); -} diff --git a/analyses/pluginLEP/OPAL_2004_I631361_qq.info b/analyses/pluginLEP/OPAL_2004_I631361_qq.info deleted file mode 100644 --- a/analyses/pluginLEP/OPAL_2004_I631361_qq.info +++ /dev/null @@ -1,38 +0,0 @@ -Name: OPAL_2004_I631361_qq -Year: 2004 -Summary: Gluon jet charged multiplicities and fragmentation functions -Experiment: OPAL -Collider: LEP -InspireID: 631361 -Status: VALIDATED -Authors: - - Daniel Reichelt -References: - - Phys. Rev. D69, 032002,2004 - - hep-ex/0310048 -RunInfo: - $e^+e^-\to q\bar q$. -NumEvents: 100000 -NeedCrossSection: no -Beams: [e+, e- ] -Energies: [91.2] -NeedCrossSection: False -Description: - ' Measurement of gluon jet properties using the jet boost algorithm, a technique to select unbiased samples of gluon jets in $e^+e^-$ annihilation, i.e. gluon jets free of biases introduced by event selection or jet finding criteria. This analysis uses the original analysis technique to extract gluon jets from hadronic $e^+e^-$ events. It cannot therefore be used for tuning as the data has been corrected for impurities, however it is still useful qualitatively in order to check the properties of gluon jets in the original way in which there were measured rather than using a fictitious process.' -BibKey: Abbiendi:2004gh -BibTeX: '@article{Abbiendi:2004gh, - author = "Abbiendi, G. and others", - title = "{Experimental studies of unbiased gluon jets from $e^{+} - e^{-}$ annihilations using the jet boost algorithm}", - collaboration = "OPAL", - journal = "Phys. Rev.", - volume = "D69", - year = "2004", - pages = "032002", - doi = "10.1103/PhysRevD.69.032002", - eprint = "hep-ex/0310048", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - reportNumber = "CERN-EP-2004-067", - SLACcitation = "%%CITATION = HEP-EX/0310048;%%" -}' diff --git a/analyses/pluginLEP/OPAL_2004_I631361_qq.plot b/analyses/pluginLEP/OPAL_2004_I631361_qq.plot deleted file mode 100644 --- a/analyses/pluginLEP/OPAL_2004_I631361_qq.plot +++ /dev/null @@ -1,75 +0,0 @@ -# BEGIN PLOT /OPAL_2004_I631361_qq/d01-x01-y01 -Title=Charged particle multiplicity, $E^*_g=5.25~\mathrm{GeV}$ -XLabel=$n^\mathrm{ch.}_\mathrm{gluon}$ -YLabel=$P(n^\mathrm{ch.}_\mathrm{gluon})$ -LogX=0 -LogY=0 -LogZ=0 -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d01-x01-y02 -Title=Charged particle multiplicity, $E^*_g=5.98~\mathrm{GeV}$ -XLabel=$n^\mathrm{ch.}_\mathrm{gluon}$ -YLabel=$P(n^\mathrm{ch.}_\mathrm{gluon})$ -LogX=0 -LogY=0 -LogZ=0 -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d01-x01-y03 -Title=Charged particle multiplicity, $E^*_g=6.98~\mathrm{GeV}$ -XLabel=$n^\mathrm{ch.}_\mathrm{gluon}$ -YLabel=$P(n^\mathrm{ch.}_\mathrm{gluon})$ -LogX=0 -LogY=0 -LogZ=0 -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d02-x01-y01 -Title=Charged particle multiplicity, $E^*_g=8.43~\mathrm{GeV}$ -XLabel=$n^\mathrm{ch.}_\mathrm{gluon}$ -YLabel=$P(n^\mathrm{ch.}_\mathrm{gluon})$ -LogX=0 -LogY=0 -LogZ=0 -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d02-x01-y02 -Title=Charged particle multiplicity, $E^*_g=10.92~\mathrm{GeV}$ -XLabel=$n^\mathrm{ch.}_\mathrm{gluon}$ -YLabel=$P(n^\mathrm{ch.}_\mathrm{gluon})$ -LogX=0 -LogY=0 -LogZ=0 -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d03-x01-y01 -Title=Charged particle multiplicity, $E^*_g=14.24~\mathrm{GeV}$ -XLabel=$n^\mathrm{ch.}_\mathrm{gluon}$ -YLabel=$P(n^\mathrm{ch.}_\mathrm{gluon})$ -LogX=0 -LogY=0 -LogZ=0 -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d03-x01-y02 -Title=Charged particle multiplicity, $E^*_g=17.72~\mathrm{GeV}$ -XLabel=$n^\mathrm{ch.}_\mathrm{gluon}$ -YLabel=$P(n^\mathrm{ch.}_\mathrm{gluon})$ -LogX=0 -LogY=0 -LogZ=0 -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d05-x01-y01 -Title=Charged particle fragmentation function, $E^*_g=14.24~\mathrm{GeV}$ -XLabel=$x^*_\mathrm{E}$ -YLabel=$\frac{1}{N}\frac{\mathop{dn^\mathrm{ch.}_\mathrm{gluon}}}{\mathop{dx^*_\mathrm{E}}}$ -# END PLOT - -# BEGIN PLOT /OPAL_2004_I631361_qq/d05-x01-y02 -Title=Charged particle fragmentation function, $E^*_g=17.72~\mathrm{GeV}$ -XLabel=$x^*_\mathrm{E}$ -YLabel=$\frac{1}{N}\frac{\mathop{dn^\mathrm{ch.}_\mathrm{gluon}}}{\mathop{dx^*_\mathrm{E}}}$ -# END PLOT - diff --git a/analyses/pluginLEP/OPAL_2004_I631361_qq.yoda b/analyses/pluginLEP/OPAL_2004_I631361_qq.yoda deleted file mode 100644 --- a/analyses/pluginLEP/OPAL_2004_I631361_qq.yoda +++ /dev/null @@ -1,284 +0,0 @@ -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d01-x01-y01 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d01-x01-y01 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -0.000000e+00 5.000000e-01 5.000000e-01 3.600000e-03 3.710795e-03 3.710795e-03 -1.000000e+00 5.000000e-01 5.000000e-01 2.660000e-02 7.116881e-03 7.116881e-03 -2.000000e+00 5.000000e-01 5.000000e-01 8.080000e-02 1.037545e-02 1.037545e-02 -3.000000e+00 5.000000e-01 5.000000e-01 1.490000e-01 1.028251e-02 1.028251e-02 -4.000000e+00 5.000000e-01 5.000000e-01 1.982000e-01 8.563294e-03 8.563294e-03 -5.000000e+00 5.000000e-01 5.000000e-01 1.990000e-01 1.341641e-02 1.341641e-02 -6.000000e+00 5.000000e-01 5.000000e-01 1.540000e-01 1.166190e-02 1.166190e-02 -7.000000e+00 5.000000e-01 5.000000e-01 1.000000e-01 7.481310e-03 7.481310e-03 -8.000000e+00 5.000000e-01 5.000000e-01 5.450000e-02 5.693856e-03 5.693856e-03 -9.000000e+00 5.000000e-01 5.000000e-01 2.300000e-02 2.418677e-03 2.418677e-03 -1.000000e+01 5.000000e-01 5.000000e-01 7.900000e-03 1.697056e-03 1.697056e-03 -1.100000e+01 5.000000e-01 5.000000e-01 2.320000e-03 8.459905e-04 8.459905e-04 -1.200000e+01 5.000000e-01 5.000000e-01 4.100000e-04 4.964877e-04 4.964877e-04 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d01-x01-y02 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d01-x01-y02 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -0.000000e+00 5.000000e-01 5.000000e-01 2.500000e-03 2.549510e-03 2.549510e-03 -1.000000e+00 5.000000e-01 5.000000e-01 1.900000e-02 4.237924e-03 4.237924e-03 -2.000000e+00 5.000000e-01 5.000000e-01 6.180000e-02 5.458938e-03 5.458938e-03 -3.000000e+00 5.000000e-01 5.000000e-01 1.186000e-01 6.365532e-03 6.365532e-03 -4.000000e+00 5.000000e-01 5.000000e-01 1.794000e-01 6.395311e-03 6.395311e-03 -5.000000e+00 5.000000e-01 5.000000e-01 1.935000e-01 6.660330e-03 6.660330e-03 -6.000000e+00 5.000000e-01 5.000000e-01 1.769000e-01 7.294518e-03 7.294518e-03 -7.000000e+00 5.000000e-01 5.000000e-01 1.236000e-01 6.010824e-03 6.010824e-03 -8.000000e+00 5.000000e-01 5.000000e-01 7.100000e-02 3.764306e-03 3.764306e-03 -9.000000e+00 5.000000e-01 5.000000e-01 3.300000e-02 2.758623e-03 2.758623e-03 -1.000000e+01 5.000000e-01 5.000000e-01 1.390000e-02 2.109502e-03 2.109502e-03 -1.100000e+01 5.000000e-01 5.000000e-01 5.000000e-03 1.565248e-03 1.565248e-03 -1.200000e+01 5.000000e-01 5.000000e-01 1.290000e-03 8.586617e-04 8.586617e-04 -1.300000e+01 5.000000e-01 5.000000e-01 3.400000e-04 3.488553e-04 3.488553e-04 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d01-x01-y03 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d01-x01-y03 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -0.000000e+00 5.000000e-01 5.000000e-01 1.900000e-03 1.941649e-03 1.941649e-03 -1.000000e+00 5.000000e-01 5.000000e-01 1.170000e-02 6.987131e-03 6.987131e-03 -2.000000e+00 5.000000e-01 5.000000e-01 4.270000e-02 6.109828e-03 6.109828e-03 -3.000000e+00 5.000000e-01 5.000000e-01 9.430000e-02 8.628441e-03 8.628441e-03 -4.000000e+00 5.000000e-01 5.000000e-01 1.494000e-01 1.118258e-02 1.118258e-02 -5.000000e+00 5.000000e-01 5.000000e-01 1.857000e-01 1.053945e-02 1.053945e-02 -6.000000e+00 5.000000e-01 5.000000e-01 1.803000e-01 9.264988e-03 9.264988e-03 -7.000000e+00 5.000000e-01 5.000000e-01 1.422000e-01 8.405355e-03 8.405355e-03 -8.000000e+00 5.000000e-01 5.000000e-01 9.610000e-02 7.766595e-03 7.766595e-03 -9.000000e+00 5.000000e-01 5.000000e-01 5.430000e-02 6.041523e-03 6.041523e-03 -1.000000e+01 5.000000e-01 5.000000e-01 2.560000e-02 4.031129e-03 4.031129e-03 -1.100000e+01 5.000000e-01 5.000000e-01 1.060000e-02 2.282542e-03 2.282542e-03 -1.200000e+01 5.000000e-01 5.000000e-01 3.900000e-03 1.220656e-03 1.220656e-03 -1.300000e+01 5.000000e-01 5.000000e-01 9.400000e-04 6.981404e-04 6.981404e-04 -1.400000e+01 5.000000e-01 5.000000e-01 1.700000e-04 2.404163e-04 2.404163e-04 -1.500000e+01 5.000000e-01 5.000000e-01 1.700000e-04 1.802776e-04 1.802776e-04 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d02-x01-y01 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d02-x01-y01 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -0.000000e+00 5.000000e-01 5.000000e-01 1.200000e-03 1.236932e-03 1.236932e-03 -1.000000e+00 5.000000e-01 5.000000e-01 6.900000e-03 6.675328e-03 6.675328e-03 -2.000000e+00 5.000000e-01 5.000000e-01 2.800000e-02 7.736924e-03 7.736924e-03 -3.000000e+00 5.000000e-01 5.000000e-01 6.460000e-02 8.321658e-03 8.321658e-03 -4.000000e+00 5.000000e-01 5.000000e-01 1.157000e-01 8.276473e-03 8.276473e-03 -5.000000e+00 5.000000e-01 5.000000e-01 1.621000e-01 9.964437e-03 9.964437e-03 -6.000000e+00 5.000000e-01 5.000000e-01 1.783000e-01 9.082401e-03 9.082401e-03 -7.000000e+00 5.000000e-01 5.000000e-01 1.632000e-01 9.706184e-03 9.706184e-03 -8.000000e+00 5.000000e-01 5.000000e-01 1.207000e-01 8.276473e-03 8.276473e-03 -9.000000e+00 5.000000e-01 5.000000e-01 7.560000e-02 7.111259e-03 7.111259e-03 -1.000000e+01 5.000000e-01 5.000000e-01 4.430000e-02 5.700877e-03 5.700877e-03 -1.100000e+01 5.000000e-01 5.000000e-01 2.260000e-02 3.257299e-03 3.257299e-03 -1.200000e+01 5.000000e-01 5.000000e-01 1.030000e-02 2.154066e-03 2.154066e-03 -1.300000e+01 5.000000e-01 5.000000e-01 4.400000e-03 1.341641e-03 1.341641e-03 -1.400000e+01 5.000000e-01 5.000000e-01 1.410000e-03 8.300602e-04 8.300602e-04 -1.500000e+01 5.000000e-01 5.000000e-01 4.800000e-04 3.883298e-04 3.883298e-04 -1.600000e+01 5.000000e-01 5.000000e-01 1.900000e-04 1.655295e-04 1.655295e-04 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d02-x01-y02 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d02-x01-y02 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -0.000000e+00 5.000000e-01 5.000000e-01 8.000000e-04 8.944272e-04 8.944272e-04 -1.000000e+00 5.000000e-01 5.000000e-01 4.700000e-03 4.850773e-03 4.850773e-03 -2.000000e+00 5.000000e-01 5.000000e-01 1.520000e-02 5.470832e-03 5.470832e-03 -3.000000e+00 5.000000e-01 5.000000e-01 3.730000e-02 6.747592e-03 6.747592e-03 -4.000000e+00 5.000000e-01 5.000000e-01 7.490000e-02 8.627862e-03 8.627862e-03 -5.000000e+00 5.000000e-01 5.000000e-01 1.083000e-01 9.492102e-03 9.492102e-03 -6.000000e+00 5.000000e-01 5.000000e-01 1.419000e-01 1.145600e-02 1.145600e-02 -7.000000e+00 5.000000e-01 5.000000e-01 1.530000e-01 1.062544e-02 1.062544e-02 -8.000000e+00 5.000000e-01 5.000000e-01 1.428000e-01 1.058017e-02 1.058017e-02 -9.000000e+00 5.000000e-01 5.000000e-01 1.173000e-01 9.990495e-03 9.990495e-03 -1.000000e+01 5.000000e-01 5.000000e-01 8.620000e-02 8.780091e-03 8.780091e-03 -1.100000e+01 5.000000e-01 5.000000e-01 5.500000e-02 6.414047e-03 6.414047e-03 -1.200000e+01 5.000000e-01 5.000000e-01 3.200000e-02 4.669047e-03 4.669047e-03 -1.300000e+01 5.000000e-01 5.000000e-01 1.720000e-02 4.313931e-03 4.313931e-03 -1.400000e+01 5.000000e-01 5.000000e-01 7.400000e-03 2.483948e-03 2.483948e-03 -1.500000e+01 5.000000e-01 5.000000e-01 4.200000e-03 1.702939e-03 1.702939e-03 -1.600000e+01 5.000000e-01 5.000000e-01 1.100000e-03 1.208305e-03 1.208305e-03 -1.700000e+01 5.000000e-01 5.000000e-01 4.000000e-04 5.656854e-04 5.656854e-04 -1.800000e+01 5.000000e-01 5.000000e-01 1.800000e-04 2.545584e-04 2.545584e-04 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d03-x01-y01 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d03-x01-y01 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -0.000000e+00 5.000000e-01 5.000000e-01 1.000000e-04 1.414214e-04 1.414214e-04 -1.000000e+00 5.000000e-01 5.000000e-01 5.000000e-04 7.071068e-04 7.071068e-04 -2.000000e+00 5.000000e-01 5.000000e-01 6.800000e-03 4.560702e-03 4.560702e-03 -3.000000e+00 5.000000e-01 5.000000e-01 1.790000e-02 7.780103e-03 7.780103e-03 -4.000000e+00 5.000000e-01 5.000000e-01 3.630000e-02 1.110180e-02 1.110180e-02 -5.000000e+00 5.000000e-01 5.000000e-01 7.200000e-02 1.360147e-02 1.360147e-02 -6.000000e+00 5.000000e-01 5.000000e-01 9.900000e-02 1.431782e-02 1.431782e-02 -7.000000e+00 5.000000e-01 5.000000e-01 1.310000e-01 1.886796e-02 1.886796e-02 -8.000000e+00 5.000000e-01 5.000000e-01 1.370000e-01 1.720465e-02 1.720465e-02 -9.000000e+00 5.000000e-01 5.000000e-01 1.320000e-01 1.476482e-02 1.476482e-02 -1.000000e+01 5.000000e-01 5.000000e-01 1.160000e-01 1.708801e-02 1.708801e-02 -1.100000e+01 5.000000e-01 5.000000e-01 9.240000e-02 1.431782e-02 1.431782e-02 -1.200000e+01 5.000000e-01 5.000000e-01 6.700000e-02 1.341641e-02 1.341641e-02 -1.300000e+01 5.000000e-01 5.000000e-01 4.700000e-02 1.166190e-02 1.166190e-02 -1.400000e+01 5.000000e-01 5.000000e-01 2.500000e-02 9.219544e-03 9.219544e-03 -1.500000e+01 5.000000e-01 5.000000e-01 1.447000e-02 4.472136e-03 4.472136e-03 -1.600000e+01 5.000000e-01 5.000000e-01 5.100000e-03 4.338202e-03 4.338202e-03 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d03-x01-y02 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d03-x01-y02 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -0.000000e+00 5.000000e-01 5.000000e-01 4.000000e-05 4.123106e-05 4.123106e-05 -1.000000e+00 5.000000e-01 5.000000e-01 4.000000e-04 5.656854e-04 5.656854e-04 -2.000000e+00 5.000000e-01 5.000000e-01 1.300000e-03 1.838478e-03 1.838478e-03 -3.000000e+00 5.000000e-01 5.000000e-01 8.000000e-03 9.183137e-03 9.183137e-03 -4.000000e+00 5.000000e-01 5.000000e-01 1.800000e-02 1.702939e-02 1.702939e-02 -5.000000e+00 5.000000e-01 5.000000e-01 4.700000e-02 2.280351e-02 2.280351e-02 -6.000000e+00 5.000000e-01 5.000000e-01 6.700000e-02 2.983287e-02 2.983287e-02 -7.000000e+00 5.000000e-01 5.000000e-01 1.020000e-01 3.667424e-02 3.667424e-02 -8.000000e+00 5.000000e-01 5.000000e-01 1.030000e-01 3.701351e-02 3.701351e-02 -9.000000e+00 5.000000e-01 5.000000e-01 1.250000e-01 4.341659e-02 4.341659e-02 -1.000000e+01 5.000000e-01 5.000000e-01 1.430000e-01 3.860052e-02 3.860052e-02 -1.100000e+01 5.000000e-01 5.000000e-01 1.280000e-01 3.764306e-02 3.764306e-02 -1.200000e+01 5.000000e-01 5.000000e-01 1.530000e-01 5.968249e-02 5.968249e-02 -1.300000e+01 5.000000e-01 5.000000e-01 5.400000e-02 5.015974e-02 5.015974e-02 -1.400000e+01 5.000000e-01 5.000000e-01 2.200000e-02 2.842534e-02 2.842534e-02 -1.500000e+01 5.000000e-01 5.000000e-01 1.700000e-02 2.140093e-02 2.140093e-02 -1.600000e+01 5.000000e-01 5.000000e-01 1.000000e-02 1.345362e-02 1.345362e-02 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d04-x01-y01 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d04-x01-y01 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -5.250000e+00 0.000000e+00 0.000000e+00 4.803000e+00 5.575841e-02 5.575841e-02 -5.980000e+00 0.000000e+00 0.000000e+00 5.190000e+00 6.887670e-02 6.887670e-02 -6.980000e+00 0.000000e+00 0.000000e+00 5.677000e+00 7.984986e-02 7.984986e-02 -8.430000e+00 0.000000e+00 0.000000e+00 6.291000e+00 9.486833e-02 9.486833e-02 -1.092000e+01 0.000000e+00 0.000000e+00 7.378000e+00 9.885848e-02 9.885848e-02 -1.424000e+01 0.000000e+00 0.000000e+00 8.620000e+00 1.640122e-01 1.640122e-01 -1.772000e+01 0.000000e+00 0.000000e+00 9.520000e+00 4.459821e-01 4.459821e-01 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d04-x01-y02 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d04-x01-y02 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -5.250000e+00 0.000000e+00 0.000000e+00 9.528000e-01 9.202717e-03 9.202717e-03 -5.980000e+00 0.000000e+00 0.000000e+00 9.560000e-01 1.118034e-02 1.118034e-02 -6.980000e+00 0.000000e+00 0.000000e+00 9.630000e-01 1.118034e-02 1.118034e-02 -8.430000e+00 0.000000e+00 0.000000e+00 9.700000e-01 1.118034e-02 1.118034e-02 -1.092000e+01 0.000000e+00 0.000000e+00 9.890000e-01 1.170470e-02 1.170470e-02 -1.424000e+01 0.000000e+00 0.000000e+00 9.880000e-01 1.581139e-02 1.581139e-02 -1.772000e+01 0.000000e+00 0.000000e+00 9.730000e-01 2.983287e-02 2.983287e-02 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d04-x01-y03 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d04-x01-y03 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -5.250000e+00 0.000000e+00 0.000000e+00 8.630000e-01 2.154066e-02 2.154066e-02 -5.980000e+00 0.000000e+00 0.000000e+00 8.700000e-01 2.765863e-02 2.765863e-02 -6.980000e+00 0.000000e+00 0.000000e+00 8.910000e-01 2.668333e-02 2.668333e-02 -8.430000e+00 0.000000e+00 0.000000e+00 9.150000e-01 2.745906e-02 2.745906e-02 -1.092000e+01 0.000000e+00 0.000000e+00 9.640000e-01 2.863564e-02 2.863564e-02 -1.424000e+01 0.000000e+00 0.000000e+00 9.600000e-01 4.401136e-02 4.401136e-02 -1.772000e+01 0.000000e+00 0.000000e+00 9.140000e-01 8.077747e-02 8.077747e-02 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d05-x01-y01 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d05-x01-y01 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -5.000000e-03 5.000000e-03 5.000000e-03 4.900000e+00 4.850773e+00 4.850773e+00 -1.500000e-02 5.000000e-03 5.000000e-03 1.047000e+02 6.519202e+00 6.519202e+00 -2.500000e-02 5.000000e-03 5.000000e-03 1.314000e+02 8.765843e+00 8.765843e+00 -3.500000e-02 5.000000e-03 5.000000e-03 9.340000e+01 8.417244e+00 8.417244e+00 -4.500000e-02 5.000000e-03 5.000000e-03 8.900000e+01 7.615773e+00 7.615773e+00 -5.500000e-02 5.000000e-03 5.000000e-03 6.180000e+01 9.213577e+00 9.213577e+00 -6.500000e-02 5.000000e-03 5.000000e-03 5.540000e+01 8.149233e+00 8.149233e+00 -7.500000e-02 5.000000e-03 5.000000e-03 5.470000e+01 6.449806e+00 6.449806e+00 -8.500000e-02 5.000000e-03 5.000000e-03 4.110000e+01 5.420332e+00 5.420332e+00 -9.500000e-02 5.000000e-03 5.000000e-03 3.390000e+01 4.545327e+00 4.545327e+00 -1.100000e-01 1.000000e-02 1.000000e-02 2.700000e+01 4.071855e+00 4.071855e+00 -1.300000e-01 1.000000e-02 1.000000e-02 1.590000e+01 3.224903e+00 3.224903e+00 -1.500000e-01 1.000000e-02 1.000000e-02 1.470000e+01 3.162278e+00 3.162278e+00 -1.700000e-01 1.000000e-02 1.000000e-02 1.020000e+01 2.236068e+00 2.236068e+00 -1.900000e-01 1.000000e-02 1.000000e-02 7.600000e+00 1.389244e+00 1.389244e+00 -2.250000e-01 2.500000e-02 2.500000e-02 4.750000e+00 9.666437e-01 9.666437e-01 -2.750000e-01 2.500000e-02 2.500000e-02 1.960000e+00 7.130919e-01 7.130919e-01 -3.500000e-01 5.000000e-02 5.000000e-02 6.600000e-01 5.080354e-01 5.080354e-01 -4.500000e-01 5.000000e-02 5.000000e-02 1.900000e-01 1.523155e-01 1.523155e-01 -5.500000e-01 5.000000e-02 5.000000e-02 1.600000e-01 1.188276e-01 1.188276e-01 -7.000000e-01 1.000000e-01 1.000000e-01 1.400000e-02 1.664332e-02 1.664332e-02 -9.000000e-01 1.000000e-01 1.000000e-01 2.000000e-04 2.828427e-04 2.828427e-04 -END YODA_SCATTER2D_V2 - -BEGIN YODA_SCATTER2D_V2 /REF/OPAL_2004_I631361_qq/d05-x01-y02 -IsRef: 1 -Path: /REF/OPAL_2004_I631361_qq/d05-x01-y02 -Title: ~ -Type: Scatter2D ---- -# xval xerr- xerr+ yval yerr- yerr+ -5.000000e-03 5.000000e-03 5.000000e-03 2.710000e+01 9.021086e+00 9.021086e+00 -1.500000e-02 5.000000e-03 5.000000e-03 1.550000e+02 2.140093e+01 2.140093e+01 -2.500000e-02 5.000000e-03 5.000000e-03 1.280000e+02 2.024846e+01 2.024846e+01 -3.500000e-02 5.000000e-03 5.000000e-03 1.100000e+02 1.835756e+01 1.835756e+01 -4.500000e-02 5.000000e-03 5.000000e-03 1.060000e+02 2.624881e+01 2.624881e+01 -5.500000e-02 5.000000e-03 5.000000e-03 8.300000e+01 2.247221e+01 2.247221e+01 -6.500000e-02 5.000000e-03 5.000000e-03 7.600000e+01 1.746425e+01 1.746425e+01 -7.500000e-02 5.000000e-03 5.000000e-03 4.600000e+01 1.615549e+01 1.615549e+01 -8.500000e-02 5.000000e-03 5.000000e-03 5.000000e+01 1.523155e+01 1.523155e+01 -9.500000e-02 5.000000e-03 5.000000e-03 4.800000e+01 1.868154e+01 1.868154e+01 -1.100000e-01 1.000000e-02 1.000000e-02 2.400000e+01 1.529706e+01 1.529706e+01 -1.300000e-01 1.000000e-02 1.000000e-02 1.820000e+01 6.462198e+00 6.462198e+00 -1.500000e-01 1.000000e-02 1.000000e-02 1.110000e+01 3.580503e+00 3.580503e+00 -1.700000e-01 1.000000e-02 1.000000e-02 1.050000e+01 3.858756e+00 3.858756e+00 -1.900000e-01 1.000000e-02 1.000000e-02 5.400000e+00 4.554119e+00 4.554119e+00 -2.250000e-01 2.500000e-02 2.500000e-02 4.200000e+00 3.178050e+00 3.178050e+00 -2.750000e-01 2.500000e-02 2.500000e-02 2.600000e+00 1.431782e+00 1.431782e+00 -3.500000e-01 5.000000e-02 5.000000e-02 7.100000e-01 7.300685e-01 7.300685e-01 -4.500000e-01 5.000000e-02 5.000000e-02 1.400000e-01 1.523155e-01 1.523155e-01 -5.500000e-01 5.000000e-02 5.000000e-02 2.900000e-02 3.178050e-02 3.178050e-02 -7.000000e-01 1.000000e-01 1.000000e-01 1.200000e-02 1.697056e-02 1.697056e-02 -END YODA_SCATTER2D_V2