|
[Rivet-svn] r2157 - in trunk: data/anainfo data/plotinfo src/Analysesblackhole at projects.hepforge.org blackhole at projects.hepforge.orgWed Dec 9 18:29:17 GMT 2009
Author: buckley Date: Wed Dec 9 18:29:17 2009 New Revision: 2157 Log: Gradually heading towards a validated form of the UA1 analysis: several plots not understood Modified: trunk/data/anainfo/UA1_1990_S2044935.info trunk/data/plotinfo/UA1_1990_S2044935.plot trunk/src/Analyses/UA1_1990_S2044935.cc trunk/src/Analyses/UA5_1988_S1867512.cc trunk/src/Analyses/UA5_1989_S1926373.cc Modified: trunk/data/anainfo/UA1_1990_S2044935.info ============================================================================== --- trunk/data/anainfo/UA1_1990_S2044935.info Wed Dec 9 16:13:53 2009 (r2156) +++ trunk/data/anainfo/UA1_1990_S2044935.info Wed Dec 9 18:29:17 2009 (r2157) @@ -6,10 +6,13 @@ SpiresID: 2044935 Status: UNVALIDATED Authors: + - Andy Buckley <andy.buckley at cern.ch> - Christophe Vaillant <c.l.j.j.vaillant at durham.ac.uk> References: - - "Nucl. Phys. B353: 261, 1990" -RunInfo: Generic QCD events at sqrtS = 63, 200, 500 and 900 GeV. -Description: Particle multiplicities, transverse momenta and transverse energy - distributions at the UA1 experiment, at energies of 200, 500 and 900 GeV - (with one plot at 63 GeV for comparison). + - "Nucl.Phys.B353:261,1990" +RunInfo: QCD min bias events at sqrtS = 63, 200, 500 and 900 GeV. +Description: + Particle multiplicities, transverse momenta and transverse energy + distributions at the UA1 experiment, at energies of 200, 500 and 900 GeV + (with one plot at 63 GeV for comparison). +Energies: [63, 200, 500, 900] Modified: trunk/data/plotinfo/UA1_1990_S2044935.plot ============================================================================== --- trunk/data/plotinfo/UA1_1990_S2044935.plot Wed Dec 9 16:13:53 2009 (r2156) +++ trunk/data/plotinfo/UA1_1990_S2044935.plot Wed Dec 9 18:29:17 2009 (r2157) @@ -1,107 +1,107 @@ # BEGIN PLOT /UA1_1990_S2044935/d01-x01-y01 -Title=Cross-section distribution at $\sqrt{s} = \unit{200}{\GeV}$ +Title=Multiplicity distribution at $\sqrt{s} = \unit{200}{\GeV}$ XLabel=$n_\text{ch}$ -YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{ n_\text{ch}}$ / mb +YLabel=$\mathrm{d}\sigma/\mathrm{d}{ n_\text{ch}}$ [mb] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d01-x01-y02 -Title=Cross-section distribution at $\sqrt{s} = \unit{500}{\GeV}$ +Title=Multiplicity distribution at $\sqrt{s} = \unit{500}{\GeV}$ XLabel=$n_\text{ch}$ -YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{ n_\text{ch}}$ / mb +YLabel=$\mathrm{d}\sigma/\mathrm{d}{ n_\text{ch}}$ [mb] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d01-x01-y03 -Title=Cross-section distribution at $\sqrt{s} = \unit{900}{\GeV}$ +Title=Multiplicity distribution at $\sqrt{s} = \unit{900}{\GeV}$ XLabel=$n_\text{ch}$ -YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{ n_\text{ch}}$ / mb +YLabel=$\mathrm{d}\sigma/\mathrm{d}{ n_\text{ch}}$ [mb] # END PLOT -# BEGIN PLOT /UA1_1990_S2044935/d02-x01-y01 -Title=Invariant cross section $\mathrm{E} \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ at $\eta =0$ and $\sqrt{s} = \unit{200}{\GeV}$ -XLabel=$p_{T}$ / GeV -YLabel=$E \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ / mb\,GeV$^{-2} +# BEGIN PLOT /UA1_1990_S2044935/d02-x01-y01 +Title=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ at $\eta =0$, $\sqrt{s} = \unit{200}{\GeV}$ +XLabel=$p_\perp$ [GeV] +YLabel=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ [\millibarn\,\inverse\squared\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d02-x01-y02 -Title=Invariant cross section $\mathrm{E} \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ at $\eta =0$ and $\sqrt{s} = \unit{500}{\GeV}$ -XLabel=$p_{T}$ / GeV -YLabel=$E \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ / mb\,GeV$^{-2} +Title=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ at $\eta =0$, $\sqrt{s} = \unit{500}{\GeV}$ +XLabel=$p_\perp$ [GeV] +YLabel=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ [\millibarn\,\inverse\squared\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d02-x01-y03 -Title=Invariant cross section $\mathrm{E} \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ at $\eta =0$ and $\sqrt{s} = \unit{900}{\GeV}$ -XLabel=$p_{T}$ / GeV -YLabel=$E \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ / mb\,GeV$^{-2} +Title=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ at $\eta =0$, $\sqrt{s} = \unit{900}{\GeV}$ +XLabel=$p_\perp$ [GeV] +YLabel=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ [\millibarn\,\inverse\squared\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d03-x01-y01 -Title=Cross section $\mathrm{E} \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ at $\eta =0$ and $\sqrt{s} = \unit{900}{\GeV}$ ($\mathrm{d}dn_\text{ch}/\mathrm{d}\eta = 0.8 \dots 4$) -XLabel=$p_{T}$ / GeV -YLabel=$E \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ / $\mu$b\,GeV$^{-2} +Title=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ at $\eta=0$, $\sqrt{s} = \unit{900}{\GeV}$ ($\mathrm{d}n_\text{ch}/\mathrm{d}\eta = 0.8 \dots 4$) +XLabel=$p_\perp$ [GeV] +YLabel=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ [\microbarn\,\inverse\squared\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d04-x01-y01 -Title=Cross section $\mathrm{E} \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ at $\eta =0$ and $\sqrt{s} = \unit{900}{\GeV}$ ($\mathrm{d}dn_\text{ch}/\mathrm{d}\eta = 4 \dots 8$) -XLabel=$p_{T}$ / GeV -YLabel=$E \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ / $\mu$b\,GeV$^{-2} +Title=Cross section $E \mathrm{d}^3\sigma/\mathrm{d}p^3$ at $\eta=0$, $\sqrt{s} = \unit{900}{\GeV}$ ($\mathrm{d}n_\text{ch}/\mathrm{d}\eta = 4 \dots 8$) +XLabel=$p_\perp$ [GeV] +YLabel=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ [\microbarn\,\inverse\squared\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d05-x01-y01 -Title=Cross section $\mathrm{E} \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ at $\eta =0$ and $\sqrt{s} = \unit{900}{\GeV}$ ($\mathrm{d}dn_\text{ch}/\mathrm{d}\eta > 8$) -XLabel=$p_{T}$ / GeV -YLabel=$E \mathrm{d}^{3}\sigma/\mathrm{d}p^{3}$ / $\mu$b\,GeV$^{-2} +Title=Cross section $E \mathrm{d}^3\sigma/\mathrm{d}p^3$ at $\eta=0$, $\sqrt{s} = \unit{900}{\GeV}$ ($\mathrm{d}n_\text{ch}/\mathrm{d}\eta > 8$) +XLabel=$p_\perp$ [GeV] +YLabel=$E \mathrm{d}^3\sigma/\mathrm{d}p^3$ [\microbarn\,\inverse\squared\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d06-x01-y01 -Title=$\langle p_{T} \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{200}{\GeV}$ +Title=$\langle p_\perp \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{200}{\GeV}$ XLabel=$n_\text{ch}$ -YLabel=$\langle p_{T} \rangle$ / GeV +YLabel=$\langle p_\perp \rangle$ [GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d07-x01-y01 -Title=$\langle p_{T} \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{900}{\GeV}$ +Title=$\langle p_\perp \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{900}{\GeV}$ XLabel=$n_\text{ch}$ -YLabel=$\langle p_{T} \rangle$ / GeV +YLabel=$\langle p_\perp \rangle$ [GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d08-x01-y01 -Title=$\langle p_{T} \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{63}{\GeV}$ +Title=$\langle p_\perp \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{63}{\GeV}$ XLabel=$n_\text{ch}$ -YLabel=$\langle p_{T} \rangle$ / GeV +YLabel=$\langle p_\perp \rangle$ [GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d09-x01-y01 Title=Transverse energy cross section at $\sqrt{s} = \unit{200}{\GeV}$ and $|\eta|<6$ -XLabel=$\Sigma E_T$ / GeV -YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{\Sigma E_{t}}$ / mb\,GeV$-1$ +XLabel=$\Sigma E_\perp$ [GeV] +YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{\Sigma E_\perp}$ [mb\,\inverse\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d10-x01-y01 Title=Transverse energy cross section at $\sqrt{s} = \unit{500}{\GeV}$ and $|\eta|<6$ -XLabel=$\Sigma E_T$ / GeV -YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{\Sigma E_{t}}$ / mb\,GeV$-1$ +XLabel=$\Sigma E_\perp$ [GeV] +YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{\Sigma E_\perp}$ [mb\,\inverse\GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d11-x01-y01 Title=Transverse energy cross section at $\sqrt{s} = \unit{900}{\GeV}$ and $|\eta|<6$ -XLabel=$\Sigma E_T$ / GeV -YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{\Sigma E_{t}}$ / mb\,GeV$-1$ +XLabel=$\Sigma E_\perp$ [GeV] +YLabel=$\mathrm{d}{\sigma}/\mathrm{d}{\Sigma E_\perp}$ [\unit{\millibarn \inverse\GeV}] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d12-x01-y01 -Title=$\langle \Sigma E_T \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{200}{\GeV}$ and $|\eta|<2.5$ +Title=$\langle \Sigma E_\perp \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{200}{\GeV}$ and $|\eta|<2.5$ XLabel=$n_\text{ch}$ -YLabel=$\Sigma E_T$ / GeV +YLabel=$\Sigma E_\perp$ [GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d12-x01-y02 -Title=$\langle \Sigma E_T \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{500}{\GeV}$ and $|\eta|<2.5$ +Title=$\langle \Sigma E_\perp \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{500}{\GeV}$ and $|\eta|<2.5$ XLabel=$n_\text{ch}$ -YLabel=$\Sigma E_T$ / GeV +YLabel=$\Sigma E_\perp$ [GeV] # END PLOT # BEGIN PLOT /UA1_1990_S2044935/d12-x01-y03 -Title=$\langle \Sigma E_T \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{900}{\GeV}$ and $|\eta|<2.5$ +Title=$\langle \Sigma E_\perp \rangle$ vs. $n_\text{ch}$ at $\sqrt{s} = \unit{900}{\GeV}$ and $|\eta|<2.5$ XLabel=$n_\text{ch}$ -YLabel=$\Sigma E_T$ / GeV +YLabel=$\Sigma E_\perp$ [GeV] # END PLOT Modified: trunk/src/Analyses/UA1_1990_S2044935.cc ============================================================================== --- trunk/src/Analyses/UA1_1990_S2044935.cc Wed Dec 9 16:13:53 2009 (r2156) +++ trunk/src/Analyses/UA1_1990_S2044935.cc Wed Dec 9 18:29:17 2009 (r2157) @@ -36,24 +36,30 @@ const FinalState calofs(-6.0, 6.0); addProjection(TotalVisibleMomentum(calofs), "Mom"); - _hist_Nch200 = bookHistogram1D(1,1,1); - _hist_Nch500 = bookHistogram1D(1,1,2); - _hist_Nch900 = bookHistogram1D(1,1,3); - _hist_Esigd3p200 = bookHistogram1D(2,1,1); - _hist_Esigd3p500 = bookHistogram1D(2,1,2); - _hist_Esigd3p900 = bookHistogram1D(2,1,3); - _hist_Esigd3p08 = bookHistogram1D(3,1,1); - _hist_Esigd3p40 = bookHistogram1D(4,1,1); - _hist_Esigd3p80 = bookHistogram1D(5,1,1); - _hist_Et200 = bookHistogram1D(9,1,1); - _hist_Et500 = bookHistogram1D(10,1,1); - _hist_Et900 = bookHistogram1D(11,1,1); - _hist_Pt63 = bookProfile1D(8,1,1); - _hist_Pt200 = bookProfile1D(6,1,1); - _hist_Pt900 = bookProfile1D(7,1,1); - _hist_Etavg200 = bookProfile1D(12,1,1); - _hist_Etavg500 = bookProfile1D(12,1,2); - _hist_Etavg900 = bookProfile1D(12,1,3); + if (fuzzyEquals(sqrtS()/GeV, 63)) { + _hist_Pt = bookProfile1D(8,1,1); + } else if (fuzzyEquals(sqrtS()/GeV, 200)) { + _hist_Nch = bookHistogram1D(1,1,1); + _hist_Esigd3p = bookHistogram1D(2,1,1); + _hist_Pt = bookProfile1D(6,1,1); + _hist_Et = bookHistogram1D(9,1,1); + _hist_Etavg = bookProfile1D(12,1,1); + } else if (fuzzyEquals(sqrtS()/GeV, 500)) { + _hist_Nch = bookHistogram1D(1,1,2); + _hist_Esigd3p = bookHistogram1D(2,1,2); + _hist_Et = bookHistogram1D(10,1,1); + _hist_Etavg = bookProfile1D(12,1,2); + } else if (fuzzyEquals(sqrtS()/GeV, 900)) { + _hist_Nch = bookHistogram1D(1,1,3); + _hist_Esigd3p = bookHistogram1D(2,1,3); + _hist_Pt = bookProfile1D(7,1,1); + _hist_Et = bookHistogram1D(11,1,1); + _hist_Etavg = bookProfile1D(12,1,3); + _hist_Esigd3p08 = bookHistogram1D(3,1,1); + _hist_Esigd3p40 = bookHistogram1D(4,1,1); + _hist_Esigd3p80 = bookHistogram1D(5,1,1); + } + } @@ -72,52 +78,37 @@ _sumwTrig += weight; // Use good central detector tracks - const double sqrtS = applyProjection<Beam>(event, "Beam").sqrtS(); const FinalState& cfs = applyProjection<FinalState>(event, "TrackFS"); const double Et = applyProjection<TotalVisibleMomentum>(event, "Mom").scalarET(); const unsigned int nch = cfs.size(); // Event level histos - if (fuzzyEquals(sqrtS/GeV, 200, 1E-4)) { - _hist_Nch200->fill(nch, weight); - _hist_Et200->fill(Et/GeV, weight); - } else if (fuzzyEquals(sqrtS/GeV, 500)) { - _hist_Nch500->fill(nch, weight); - _hist_Et500->fill(Et/GeV, weight); - } else if (fuzzyEquals(sqrtS/GeV, 900)) { - _hist_Nch900->fill(nch, weight); - _hist_Et900->fill(Et/GeV, weight); - } + _hist_Nch->fill(nch, weight); + _hist_Et->fill(Et/GeV, weight); + /// @todo Doesn't fit data + _hist_Etavg->fill(nch, Et/GeV, weight); // Particle/track level histos const double deta = 2 * 5.0; const double dphi = TWOPI; - const double dnch_deta = nch/5.0; //< @todo No factor of 2 for both sides? + const double dnch_deta = nch/deta; foreach (const Particle& p, cfs.particles()) { const double pt = p.momentum().pT(); const double scaled_weight = weight/(deta*dphi*pt/GeV); - if (fuzzyEquals(sqrtS/GeV, 63, 1E-3)) { - _hist_Pt63->fill(nch, pt/GeV, weight); - } else if (fuzzyEquals(sqrtS/GeV, 200, 1E-4)) { - _hist_Pt200->fill(nch, pt/GeV, weight); - _hist_Etavg200->fill(nch, Et/GeV, weight); - _hist_Esigd3p200->fill(pt/GeV, scaled_weight); - } else if (fuzzyEquals(sqrtS/GeV, 500)) { - _hist_Etavg500->fill(nch, Et/GeV, weight); - _hist_Esigd3p500->fill(pt/GeV, scaled_weight); - } else if (fuzzyEquals(sqrtS/GeV, 900)) { - _hist_Pt900->fill(nch, p.momentum().pT()/GeV, weight); - _hist_Etavg900->fill(nch, Et/GeV, weight); - _hist_Esigd3p900->fill(pt/GeV, scaled_weight); - // Also fill for specific dNch/deta ranges for 900 GeV - /// @todo Check normalisation factor: currently low by factor of ~10-20 + _hist_Pt->fill(nch, pt/GeV, weight); + if (!fuzzyEquals(sqrtS()/GeV, 63, 1E-3)) { + _hist_Esigd3p->fill(pt/GeV, scaled_weight); + } + // Also fill for specific dn/deta ranges at 900 GeV + /// @todo Doesn't fit data: are these really ranges in dNch/deta? Scale factors? + if (fuzzyEquals(sqrtS()/GeV, 900, 1E-3)) { if (inRange(dnch_deta, 0.8, 4.0)) { _sumwTrig08 += weight; _hist_Esigd3p08->fill(pt/GeV, scaled_weight); - } else if (dnch_deta > 4 && dnch_deta <= 8) { + } else if (inRange(dnch_deta, 4.0, 8)) { _sumwTrig40 += weight; _hist_Esigd3p40->fill(pt/GeV, scaled_weight); - } else if(dnch_deta > 8) { + } else if(dnch_deta > 8.0) { _sumwTrig80 += weight; _hist_Esigd3p80->fill(pt/GeV, scaled_weight); } @@ -128,26 +119,18 @@ void finalize() { - const double xsec = crossSection(); - if (_sumwTrig > 0) { - /// @todo Norm is low by factor of ~2: - normalize(_hist_Nch200, xsec/millibarn * _sumwTrig/sumOfWeights()); - normalize(_hist_Nch500, xsec/millibarn * _sumwTrig/sumOfWeights()); - normalize(_hist_Nch900, xsec/millibarn * _sumwTrig/sumOfWeights()); - // - scale(_hist_Esigd3p200, xsec/millibarn * 1/_sumwTrig); - scale(_hist_Esigd3p500, xsec/millibarn * 1/_sumwTrig); - scale(_hist_Esigd3p900, xsec/millibarn * 1/_sumwTrig); - // - /// @todo Norm is low by factor of ~20! - if (_sumwTrig08 > 0) scale(_hist_Esigd3p08, xsec/microbarn * 1/_sumwTrig08); - if (_sumwTrig40 > 0) scale(_hist_Esigd3p40, xsec/microbarn * 1/_sumwTrig40); - if (_sumwTrig80 > 0) scale(_hist_Esigd3p80, xsec/microbarn * 1/_sumwTrig80); - // - /// @todo Norm is too *high*! - normalize(_hist_Et200, xsec/millibarn * _sumwTrig/sumOfWeights()); - normalize(_hist_Et500, xsec/millibarn * _sumwTrig/sumOfWeights()); - normalize(_hist_Et900, xsec/millibarn * _sumwTrig/sumOfWeights()); + if (_sumwTrig <= 0) { + getLog() << Log::WARN << "No events passed the trigger!" << endl; + return; + } + const double xsec = crossSectionPerEvent(); + scale(_hist_Nch, 2*xsec/millibarn); //< Factor of 2 for Nch bin widths? + scale(_hist_Esigd3p, xsec/millibarn); + scale(_hist_Et, xsec/millibarn); + if (fuzzyEquals(sqrtS()/GeV, 900, 1E-3)) { + scale(_hist_Esigd3p08, xsec/microbarn); + scale(_hist_Esigd3p40, xsec/microbarn); + scale(_hist_Esigd3p80, xsec/microbarn); } } @@ -156,29 +139,21 @@ private: - /// Weight counters + /// @name Weight counters + //@{ double _sumwTrig, _sumwTrig08, _sumwTrig40, _sumwTrig80; - + //@} + /// @name Histogram collections //@{ - AIDA::IHistogram1D* _hist_Nch200; - AIDA::IHistogram1D* _hist_Nch500; - AIDA::IHistogram1D* _hist_Nch900; - AIDA::IHistogram1D* _hist_Esigd3p200; - AIDA::IHistogram1D* _hist_Esigd3p500; - AIDA::IHistogram1D* _hist_Esigd3p900; + AIDA::IHistogram1D* _hist_Nch; + AIDA::IHistogram1D* _hist_Esigd3p; AIDA::IHistogram1D* _hist_Esigd3p08; AIDA::IHistogram1D* _hist_Esigd3p40; AIDA::IHistogram1D* _hist_Esigd3p80; - AIDA::IProfile1D* _hist_Pt63; - AIDA::IProfile1D* _hist_Pt200; - AIDA::IProfile1D* _hist_Pt900; - AIDA::IProfile1D* _hist_Etavg200; - AIDA::IProfile1D* _hist_Etavg500; - AIDA::IProfile1D* _hist_Etavg900; - AIDA::IHistogram1D* _hist_Et200; - AIDA::IHistogram1D* _hist_Et500; - AIDA::IHistogram1D* _hist_Et900; + AIDA::IProfile1D* _hist_Pt; + AIDA::IProfile1D* _hist_Etavg; + AIDA::IHistogram1D* _hist_Et; //@} }; Modified: trunk/src/Analyses/UA5_1988_S1867512.cc ============================================================================== --- trunk/src/Analyses/UA5_1988_S1867512.cc Wed Dec 9 16:13:53 2009 (r2156) +++ trunk/src/Analyses/UA5_1988_S1867512.cc Wed Dec 9 18:29:17 2009 (r2157) @@ -10,22 +10,11 @@ namespace { + inline double cov_w_mean(int m, double m_mean, int n, double n_mean) { return (m - m_mean)*(n - n_mean); } - } - - class UA5_1988_S1867512 : public Analysis { - public: - - UA5_1988_S1867512() : Analysis("UA5_1988_S1867512") - { - setBeams(PROTON, ANTIPROTON); - _sumWPassed = 0; - } - - /// Calculate the correlation strength between two samples inline double c_str(int m, double m_mean, int n, double n_mean) { const double cov = cov_w_mean(m, m_mean, n, n_mean); @@ -36,6 +25,18 @@ return corr_strength; } + } + + + class UA5_1988_S1867512 : public Analysis { + public: + + UA5_1988_S1867512() : Analysis("UA5_1988_S1867512") + { + setBeams(PROTON, ANTIPROTON); + _sumWPassed = 0; + } + /// @name Analysis methods //@{ @@ -68,13 +69,13 @@ addProjection(ChargedFinalState(-4.0, -3.0), "CFS40B"); // Histogram booking, we have sqrt(s) = 200, 546 and 900 GeV - if (fuzzyEquals(sqrtS(), 200.0, 1E-4)) { + if (fuzzyEquals(sqrtS()/GeV, 200.0, 1E-4)) { _hist_correl_200 = bookProfile1D(2, 1, 1); _hist_correl_asym_200 = bookProfile1D(3, 1, 1); - } else if (fuzzyEquals(sqrtS(), 546.0, 1E-4)) { + } else if (fuzzyEquals(sqrtS()/GeV, 546.0, 1E-4)) { _hist_correl_546 = bookProfile1D(2, 1, 2); _hist_correl_asym_546 = bookProfile1D(3, 1, 2); - } else if (fuzzyEquals(sqrtS(), 900.0, 1E-4)) { + } else if (fuzzyEquals(sqrtS()/GeV, 900.0, 1E-4)) { _hist_correl_900 = bookProfile1D(2, 1, 3); _hist_correl_asym_900 = bookProfile1D(3, 1, 3); } Modified: trunk/src/Analyses/UA5_1989_S1926373.cc ============================================================================== --- trunk/src/Analyses/UA5_1989_S1926373.cc Wed Dec 9 16:13:53 2009 (r2156) +++ trunk/src/Analyses/UA5_1989_S1926373.cc Wed Dec 9 18:29:17 2009 (r2157) @@ -31,19 +31,22 @@ addProjection(ChargedFinalState(-3.0, 3.0), "CFS30"); addProjection(ChargedFinalState(-5.0, 5.0), "CFS50"); - // NB. _hist_nch{200,900} and _hist_nch{200,900}eta50 use the same data but different binning - _hist_nch200 = bookHistogram1D(1, 1, 1); - _hist_nch900 = bookHistogram1D(2, 1, 1); - _hist_nch200eta05 = bookHistogram1D(3, 1, 1); - _hist_nch200eta15 = bookHistogram1D(4, 1, 1); - _hist_nch200eta30 = bookHistogram1D(5, 1, 1); - _hist_nch200eta50 = bookHistogram1D(6, 1, 1); - _hist_nch900eta05 = bookHistogram1D(7, 1, 1); - _hist_nch900eta15 = bookHistogram1D(8, 1, 1); - _hist_nch900eta30 = bookHistogram1D(9, 1, 1); - _hist_nch900eta50 = bookHistogram1D(10, 1, 1); - _hist_mean_nch_200 = bookHistogram1D(11, 1, 1); - _hist_mean_nch_900 = bookHistogram1D(12, 1, 1); + // NB. _hist_nch and _hist_ncheta50 use the same data but different binning + if (fuzzyEquals(sqrtS()/GeV, 200, 1E-3)) { + _hist_nch = bookHistogram1D(1, 1, 1); + _hist_nch_eta05 = bookHistogram1D(3, 1, 1); + _hist_nch_eta15 = bookHistogram1D(4, 1, 1); + _hist_nch_eta30 = bookHistogram1D(5, 1, 1); + _hist_nch_eta50 = bookHistogram1D(6, 1, 1); + _hist_mean_nch = bookHistogram1D(11, 1, 1); + } else if (fuzzyEquals(sqrtS()/GeV, 900, 1E-3)) { + _hist_nch = bookHistogram1D(2, 1, 1); + _hist_nch_eta05 = bookHistogram1D(7, 1, 1); + _hist_nch_eta15 = bookHistogram1D(8, 1, 1); + _hist_nch_eta30 = bookHistogram1D(9, 1, 1); + _hist_nch_eta50 = bookHistogram1D(10, 1, 1); + _hist_mean_nch = bookHistogram1D(12, 1, 1); + } /// @todo Moments of distributions } @@ -66,39 +69,22 @@ const int numP50 = applyProjection<ChargedFinalState>(event, "CFS50").size(); // Fill histograms - if (fuzzyEquals(sqrtS/GeV, 200.0, 1E-4)) { - _hist_nch200->fill(numP50, weight); - _hist_nch200eta05->fill(numP05, weight); - _hist_nch200eta15->fill(numP15, weight); - _hist_nch200eta30->fill(numP30, weight); - _hist_nch200eta50->fill(numP50, weight); - _hist_mean_nch_200->fill(_hist_mean_nch_200->binMean(0), numP50); - } - else if (fuzzyEquals(sqrtS/GeV, 900.0, 1E-4)) { - _hist_nch900->fill(numP50, weight); - _hist_nch900eta05->fill(numP05, weight); - _hist_nch900eta15->fill(numP15, weight); - _hist_nch900eta30->fill(numP30, weight); - _hist_nch900eta50->fill(numP50, weight); - _hist_mean_nch_900->fill(_hist_mean_nch_900->binMean(0), numP50); - } - } - + _hist_nch->fill(numP50, weight); + _hist_nch_eta05->fill(numP05, weight); + _hist_nch_eta15->fill(numP15, weight); + _hist_nch_eta30->fill(numP30, weight); + _hist_nch_eta50->fill(numP50, weight); + _hist_mean_nch->fill(_hist_mean_nch->binMean(0), numP50); + } void finalize() { - scale(_hist_nch200, _sumWPassed); - scale(_hist_nch900, _sumWPassed); - scale(_hist_nch200eta05, _sumWPassed); - scale(_hist_nch200eta15, _sumWPassed); - scale(_hist_nch200eta30, _sumWPassed); - scale(_hist_nch200eta50, _sumWPassed); - scale(_hist_nch900eta05, _sumWPassed); - scale(_hist_nch900eta15, _sumWPassed); - scale(_hist_nch900eta30, _sumWPassed); - scale(_hist_nch900eta50, _sumWPassed); - scale(_hist_mean_nch_200, 1.0/_sumWPassed); - scale(_hist_mean_nch_900, 1.0/_sumWPassed); + scale(_hist_nch, _sumWPassed); + scale(_hist_nch_eta05, _sumWPassed); + scale(_hist_nch_eta15, _sumWPassed); + scale(_hist_nch_eta30, _sumWPassed); + scale(_hist_nch_eta50, _sumWPassed); + scale(_hist_mean_nch, 1.0/_sumWPassed); } //@} @@ -113,18 +99,12 @@ /// @name Histograms //@{ - AIDA::IHistogram1D* _hist_nch200; - AIDA::IHistogram1D* _hist_nch900; - AIDA::IHistogram1D* _hist_nch200eta05; - AIDA::IHistogram1D* _hist_nch200eta15; - AIDA::IHistogram1D* _hist_nch200eta30; - AIDA::IHistogram1D* _hist_nch200eta50; - AIDA::IHistogram1D* _hist_nch900eta05; - AIDA::IHistogram1D* _hist_nch900eta15; - AIDA::IHistogram1D* _hist_nch900eta30; - AIDA::IHistogram1D* _hist_nch900eta50; - AIDA::IHistogram1D* _hist_mean_nch_200; - AIDA::IHistogram1D* _hist_mean_nch_900; + AIDA::IHistogram1D* _hist_nch; + AIDA::IHistogram1D* _hist_nch_eta05; + AIDA::IHistogram1D* _hist_nch_eta15; + AIDA::IHistogram1D* _hist_nch_eta30; + AIDA::IHistogram1D* _hist_nch_eta50; + AIDA::IHistogram1D* _hist_mean_nch; //@} };
More information about the Rivet-svn mailing list |