|
[Rivet-svn] r2169 - in trunk: . data/anainfo src/Analysesblackhole at projects.hepforge.org blackhole at projects.hepforge.orgThu Dec 10 17:12:40 GMT 2009
Author: buckley Date: Thu Dec 10 17:12:40 2009 New Revision: 2169 Log: More min bias analysis tweaks, and moving all unvalidated/unfinished analyses to the RivetUnvalidated.so plugin library. This now has to be explicitly enabled by using the --enable-unvalidated configure switch, so your analysis won't garner you fame, fortune and attention until you've finished and checked it. Now that's what I call incentivising ;) You'll probably need to do an uninstall and clean rebuild of the src/Analyses directory. Modified: trunk/ChangeLog trunk/configure.ac trunk/data/anainfo/CDF_1994_S2952106.info trunk/data/anainfo/CDF_2009_S8233977.info trunk/data/anainfo/D0_1996_S3214044.info trunk/data/anainfo/D0_1996_S3324664.info trunk/data/anainfo/SFM_1984_S1178091.info trunk/data/anainfo/UA5_1988_S1867512.info trunk/src/Analyses/E735_1998_S3905616.cc trunk/src/Analyses/Makefile.am trunk/src/Analyses/SFM_1984_S1178091.cc trunk/src/Analyses/UA5_1988_S1867512.cc Modified: trunk/ChangeLog ============================================================================== --- trunk/ChangeLog Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/ChangeLog Thu Dec 10 17:12:40 2009 (r2169) @@ -1,7 +1,16 @@ +2009-12-10 Andy Buckley <andy at insectnation.org> + + * Creating RivetUnvalidated.so plugin library for unvalidated + analyses. Unvalidated analyses now need to be explicitly enabled + with a --enable-unvalidated flag on the configure script. + + * Various min bias analyses updated and validated. + 2009-12-10 Hendrik Hoeth <hendrik.hoeth at cern.ch> * propagate SPECIAL and HISTOGRAM sections from .plot files through compare-histos + * STAR_2006_S6860818: <pT> vs particle mass, validate analysis 2009-12-04 Andy Buckley <andy at insectnation.org> Modified: trunk/configure.ac ============================================================================== --- trunk/configure.ac Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/configure.ac Thu Dec 10 17:12:40 2009 (r2169) @@ -159,6 +159,18 @@ AM_CONDITIONAL(ENABLE_ANALYSES, [test x$enable_analyses = xyes]) +## Disable build/install of unvalidated analyses +AC_ARG_ENABLE([unvalidated], + [AC_HELP_STRING(--enable-unvalidated, [don't try to build or install standard analyses])], + [], [enable_unvalidated=no]) +if test x$enable_unvalidated = xyes; then + AC_MSG_WARN([Building unvalidated Rivet analyses, by request]) +else + AC_MSG_NOTICE([Not building unvalidated Rivet analyses]) +fi +AM_CONDITIONAL(ENABLE_UNVALIDATED, [test x$enable_unvalidated = xyes]) + + ## Build LaTeX docs if possible... AC_PATH_PROG(PDFLATEX, pdflatex) AM_CONDITIONAL(WITH_PDFLATEX, [test x$PDFLATEX != x]) Modified: trunk/data/anainfo/CDF_1994_S2952106.info ============================================================================== --- trunk/data/anainfo/CDF_1994_S2952106.info Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/data/anainfo/CDF_1994_S2952106.info Thu Dec 10 17:12:40 2009 (r2169) @@ -4,7 +4,7 @@ Experiment: CDF Collider: Tevatron Run 1 SpiresID: 2952106 -Status: NOT FUNCTIONAL +Status: UNVALIDATED - not functional Authors: - Lars Sonnenschein <Lars.Sonnenschein at cern.ch> References: Modified: trunk/data/anainfo/CDF_2009_S8233977.info ============================================================================== --- trunk/data/anainfo/CDF_2009_S8233977.info Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/data/anainfo/CDF_2009_S8233977.info Thu Dec 10 17:12:40 2009 (r2169) @@ -6,8 +6,8 @@ SpiresID: 8233977 Status: VALIDATED Authors: - - Niccolo' Moggi <niccolo.moggi at bo.infn.it> - Hendrik Hoeth <hendrik.hoeth at cern.ch> + - Niccolo' Moggi <niccolo.moggi at bo.infn.it> References: - Phys.Rev.D79:112005,2009 - doi:10.1103/PhysRevD.79.112005 Modified: trunk/data/anainfo/D0_1996_S3214044.info ============================================================================== --- trunk/data/anainfo/D0_1996_S3214044.info Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/data/anainfo/D0_1996_S3214044.info Thu Dec 10 17:12:40 2009 (r2169) @@ -4,7 +4,7 @@ Experiment: D0 Collider: Tevatron Run 1 SpiresID: 3214044 -Status: NOT FINISHED (wrong jet algorithm!) +Status: UNVALIDATED - currently wrong jet algorithm! Authors: - Frank Siegert <frank.siegert at durham.ac.uk> References: Modified: trunk/data/anainfo/D0_1996_S3324664.info ============================================================================== --- trunk/data/anainfo/D0_1996_S3324664.info Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/data/anainfo/D0_1996_S3324664.info Thu Dec 10 17:12:40 2009 (r2169) @@ -1,10 +1,10 @@ Name: D0_1996_S3324664 Year: 1996 -Summary: Azimuthal Decorrelation of Jets Widely Separated in Rapidity +Summary: Azimuthal decorrelation of jets widely separated in rapidity Experiment: D0 Collider: Tevatron Run 1 SpiresID: 3324664 -Status: NOT FINISHED (wrong jet algorithm) +Status: UNVALIDATED - currently wrong jet algorithm! Authors: - Frank Siegert <frank.siegert at durham.ac.uk> References: Modified: trunk/data/anainfo/SFM_1984_S1178091.info ============================================================================== --- trunk/data/anainfo/SFM_1984_S1178091.info Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/data/anainfo/SFM_1984_S1178091.info Thu Dec 10 17:12:40 2009 (r2169) @@ -1,20 +1,22 @@ Name: SFM_1984_S1178091 Year: 1984 -Summary: Charged multiplicity distribution in pp interactions at CERN ISR energies +Summary: Charged multiplicity distribution in pp interactions at CERN ISR energies Experiment: SFM Collider: CERN ISR SpiresID: 1178091 Status: UNVALIDATED Authors: - Holger Schulz <holger.schulz at physik.hu-berlin.de> + - Andy Buckley <andy.buckley at cern.ch> References: - Phys.Rev.D30:528,1984 RunInfo: QCD events, double-diffractive events should be turned on as well. NumEvents: 1000000 -PtCuts: +PtCuts: [0] +Energies: [30.4, 44.5, 52.2, 62.2] Description: - Charged multiplicities are measured at sqrt(s) = 30.4, 44.5, 52.2 ad 62.2 GeV - using a minimum-bias trigger. The data is sub-divided into inleastic as well - as non-single-diffractive events. However, the implementation of the - diffractive events will require some work. + Charged multiplicities are measured at sqrt(s) = 30.4, 44.5, 52.2 + and 62.2 GeV using a minimum-bias trigger. The data is sub-divided + into inleastic as well as non-single-diffractive events. However, + the implementation of the diffractive events will require some work. Modified: trunk/data/anainfo/UA5_1988_S1867512.info ============================================================================== --- trunk/data/anainfo/UA5_1988_S1867512.info Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/data/anainfo/UA5_1988_S1867512.info Thu Dec 10 17:12:40 2009 (r2169) @@ -10,10 +10,11 @@ References: - Z.Phys.C37:191-213,1988 RunInfo: - "ppbar events: non-single diffractive events need to be switched on. The trigger - implementation is the same as in UA5_1989_S1926373." -NumEvents: 1000000 + ppbar events. Non-single diffractive events need to be switched on. + The trigger implementation is the same as in UA5_1989_S1926373. +NumEvents: 100000 PtCuts: [0] +Energies: [200, 546, 900] Description: Data on two-particle pseudorapidity and multiplicity correlations of charged particles for non single-diffractive $$p\bar p - collisions$$ at Modified: trunk/src/Analyses/E735_1998_S3905616.cc ============================================================================== --- trunk/src/Analyses/E735_1998_S3905616.cc Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/src/Analyses/E735_1998_S3905616.cc Thu Dec 10 17:12:40 2009 (r2169) @@ -4,6 +4,9 @@ #include "Rivet/Tools/Logging.hh" #include "Rivet/Projections/ChargedFinalState.hh" +#include "Rivet/Projections/TriggerCDFRun0Run1.hh" +#include "Rivet/Projections/TriggerUA5.hh" + namespace Rivet { @@ -13,6 +16,7 @@ /// Constructor E735_1998_S3905616() : Analysis("E735_1998_S3905616") { setBeams(PROTON, ANTIPROTON); + _sumWTrig = 0; } @@ -20,8 +24,10 @@ //@{ void init() { - // Projection - // const ChargedFinalState cfs(); + // Projections + /// @todo E735 trigger? + //addProjection(TriggerCDFRun0Run1(), "Trigger"); + addProjection(TriggerUA5(), "Trigger"); addProjection(ChargedFinalState(), "FS"); // Histo @@ -30,15 +36,20 @@ void analyze(const Event& event) { + //const bool trigger = applyProjection<TriggerCDFRun0Run1>(event, "Trigger").minBiasDecision(); + const bool trigger = applyProjection<TriggerUA5>(event, "Trigger").nsdDecision(); + if (!trigger) vetoEvent; + const double weight = event.weight(); + _sumWTrig += weight; + const ChargedFinalState& fs = applyProjection<ChargedFinalState>(event, "FS"); const size_t numParticles = fs.particles().size(); - const double weight = event.weight(); _hist_multiplicity->fill(numParticles, weight); } void finalize() { - normalize(_hist_multiplicity); + scale(_hist_multiplicity, 1/_sumWTrig); } //@} @@ -46,9 +57,14 @@ private: + /// @name Weight counter + //@{ + double _sumWTrig; + //@} + /// @name Histograms //@{ - AIDA::IHistogram1D *_hist_multiplicity; + AIDA::IHistogram1D* _hist_multiplicity; //@} }; Modified: trunk/src/Analyses/Makefile.am ============================================================================== --- trunk/src/Analyses/Makefile.am Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/src/Analyses/Makefile.am Thu Dec 10 17:12:40 2009 (r2169) @@ -4,40 +4,58 @@ lib_LTLIBRARIES = -lib_LTLIBRARIES += RivetExampleAnalyses.la -RivetExampleAnalyses_la_SOURCES = \ - ExampleAnalysis.cc +## Unvalidated analyses: add new standard analyses here, and only +## move them into the collider-specific standard plugin libraries +## once they have been finished and checked. The --enable-unvalidated +## flag is needed to install the RivetUnvalidated library. +if ENABLE_UNVALIDATED +lib_LTLIBRARIES += RivetUnvalidated.la +RivetUnvalidated_la_SOURCES = \ + CDF_1996_S3108457.cc \ + CDF_1996_S3349578.cc \ + CDF_1996_S3418421.cc \ + CDF_2000_S4266730.cc \ + CDF_2001_S4517016.cc \ + CDF_2001_S4563131.cc \ + CDF_1994_S2952106.cc \ + CDF_2006_S6653332.cc \ + CDF_2007_S7057202.cc \ + CDF_2008_S7541902.cc \ + CDF_2008_S7782535.cc \ + CDF_2008_S8095620.cc \ + D0_1996_S3214044.cc \ + D0_1996_S3324664.cc \ + DELPHI_2003_WUD_03_11.cc \ + E735_1998_S3905616.cc \ + H1_1995_S3167097.cc \ + MC_LHC_DIJET.cc \ + MC_LHC_PHOTONJETUE.cc \ + MC_LHC_TTBAR.cc \ + SFM_1984_S1178091.cc \ + STAR_2008_S7993412.cc \ + UA1_1990_S2044935.cc \ + UA5_1988_S1867512.cc \ + ZEUS_2001_S4815815.cc +endif lib_LTLIBRARIES += RivetCDFAnalyses.la RivetCDFAnalyses_la_SOURCES = \ CDF_1988_S1865951.cc \ CDF_1990_S2089246.cc \ - CDF_1994_S2952106.cc \ - CDF_1996_S3108457.cc \ - CDF_1996_S3349578.cc \ - CDF_1996_S3418421.cc \ CDF_1998_S3618439.cc \ CDF_2000_S4155203.cc \ - CDF_2000_S4266730.cc \ - CDF_2001_S4517016.cc \ - CDF_2001_S4563131.cc \ CDF_2001_S4751469.cc \ CDF_2002_S4796047.cc \ CDF_2004_S5839831.cc \ CDF_2005_S6080774.cc \ CDF_2005_S6217184.cc \ CDF_2006_S6450792.cc \ - CDF_2006_S6653332.cc \ - CDF_2007_S7057202.cc \ - CDF_2008_S7541902.cc \ - CDF_2008_NOTE_9351.cc \ CDF_2008_LEADINGJETS.cc \ + CDF_2008_NOTE_9351.cc \ CDF_2008_S7540469.cc \ - CDF_2008_S7782535.cc \ CDF_2008_S7828950.cc \ CDF_2008_S8093652.cc \ - CDF_2008_S8095620.cc \ CDF_2009_S8233977.cc \ CDF_2009_S8383952.cc \ CDF_2009_S8436959.cc @@ -45,8 +63,6 @@ lib_LTLIBRARIES += RivetD0Analyses.la RivetD0Analyses_la_SOURCES = \ - D0_1996_S3214044.cc \ - D0_1996_S3324664.cc \ D0_2001_S4674421.cc \ D0_2004_S5992206.cc \ D0_2006_S6438750.cc \ @@ -65,9 +81,7 @@ lib_LTLIBRARIES += RivetHERAAnalyses.la RivetHERAAnalyses_la_SOURCES = \ H1_1994_S2919893.cc \ - H1_1995_S3167097.cc \ - H1_2000_S4129130.cc \ - ZEUS_2001_S4815815.cc + H1_2000_S4129130.cc lib_LTLIBRARIES += RivetLEPAnalyses.la @@ -87,16 +101,13 @@ STAR_2006_S6500200.cc \ STAR_2006_S6860818.cc \ STAR_2006_S6870392.cc \ - STAR_2008_S7993412.cc \ STAR_2009_UE_HELEN.cc lib_LTLIBRARIES += RivetSPSAnalyses.la RivetSPSAnalyses_la_SOURCES = \ - UA1_1990_S2044935.cc \ UA5_1982_S875503.cc \ UA5_1986_S1583476.cc \ - UA5_1988_S1867512.cc \ UA5_1989_S1926373.cc @@ -104,22 +115,18 @@ RivetMiscAnalyses_la_SOURCES = \ PDG_Hadron_Multiplicities.cc \ PDG_Hadron_Multiplicities_Ratios.cc \ - SFM_1984_S1178091.cc \ - E735_1998_S3905616.cc \ JADE_OPAL_2000_S4300807.cc \ BELLE_2006_S6265367.cc lib_LTLIBRARIES += RivetMCAnalyses.la RivetMCAnalyses_la_SOURCES = \ + ExampleAnalysis.cc \ MC_JetAnalysis.cc \ MC_TVT1960_PHOTONJETS.cc \ MC_TVT1960_ZJETS.cc \ MC_LHC_LEADINGJETS.cc \ - MC_LHC_DIJET.cc \ MC_LHC_DIPHOTON.cc \ - MC_LHC_PHOTONJETUE.cc \ MC_LHC_WANALYSIS.cc \ MC_LHC_ZANALYSIS.cc \ - MC_LHC_SUSY.cc \ - MC_LHC_TTBAR.cc + MC_LHC_SUSY.cc Modified: trunk/src/Analyses/SFM_1984_S1178091.cc ============================================================================== --- trunk/src/Analyses/SFM_1984_S1178091.cc Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/src/Analyses/SFM_1984_S1178091.cc Thu Dec 10 17:12:40 2009 (r2169) @@ -2,17 +2,19 @@ #include "Rivet/Analysis.hh" #include "Rivet/RivetAIDA.hh" #include "Rivet/Tools/Logging.hh" -#include "Rivet/Projections/Beam.hh" #include "Rivet/Projections/ChargedFinalState.hh" namespace Rivet { + class SFM_1984_S1178091 : public Analysis { public: /// Constructor SFM_1984_S1178091() : Analysis("SFM_1984_S1178091") { setBeams(PROTON, PROTON); + _sumW = 0; + _sumWDiff = 0; } @@ -21,131 +23,96 @@ void init() { // Projections - addProjection(Beam(), "Beam"); + /// @todo Corrected to full phase space? addProjection(ChargedFinalState(), "FS"); // Histograms - _hist_multiplicity_inel_30 = bookHistogram1D(1, 1, 1); - _hist_multiplicity_inel_45 = bookHistogram1D(1, 1, 2); - _hist_multiplicity_inel_53 = bookHistogram1D(1, 1, 3); - _hist_multiplicity_inel_63 = bookHistogram1D(1, 1, 4); - _hist_multiplicity_nsd_30 = bookHistogram1D(2, 1, 1); - _hist_multiplicity_nsd_45 = bookHistogram1D(2, 1, 2); - _hist_multiplicity_nsd_53 = bookHistogram1D(2, 1, 3); - _hist_multiplicity_nsd_63 = bookHistogram1D(2, 1, 4); + if (fuzzyEquals(sqrtS()/GeV, 30.4, 1E-1)) { + _hist_multiplicity_inel = bookHistogram1D(1, 1, 1); + _hist_multiplicity_nsd = bookHistogram1D(2, 1, 1); + } else if (fuzzyEquals(sqrtS(), 44.5, 1E-1)) { + _hist_multiplicity_inel = bookHistogram1D(1, 1, 2); + _hist_multiplicity_nsd = bookHistogram1D(2, 1, 2); + } else if (fuzzyEquals(sqrtS(), 52.2, 1E-1)) { + _hist_multiplicity_inel = bookHistogram1D(1, 1, 3); + _hist_multiplicity_nsd = bookHistogram1D(2, 1, 3); + } else if (fuzzyEquals(sqrtS(), 62.2, 1E-1)) { + _hist_multiplicity_inel = bookHistogram1D(1, 1, 4); + _hist_multiplicity_nsd = bookHistogram1D(2, 1, 4); + } + } - + + // Analyse each event void analyze(const Event& event) { const double weight = event.weight(); - const double sqrtS = applyProjection<Beam>(event, "Beam").sqrtS(); const ChargedFinalState& fs = applyProjection<ChargedFinalState>(event, "FS"); const size_t numParticles = fs.particles().size(); + /// @todo Any trigger? + // Decide whether event is of diffractive type or not - // FIXME: it is not so clear in the paper how this distinction is made. + // @todo It is not so clear in the paper how this distinction is made. // They seem to require either exactly one particle with Feynman x larger // than 0.8 to call an event diffractive or that there are no tracks // reconstructed in either of the two hemispheres. For the latter - // they require in addition also the number of cahrged particles + // they require in addition also the number of charged particles // to be smaller than 8. - int n_left(0), n_right(0), n_large_x(0); foreach (const Particle& p, fs.particles()) { // Calculate the particles' Feynman x - const double x_feyn = 2.0 * (p.momentum().pz()/GeV) / sqrtS; - if (fabs(x_feyn) > 0.8 ) n_large_x += 1; + const double x_feyn = 2.0 * fabs(p.momentum().pz())/sqrtS(); + if (x_feyn > 0.8 ) n_large_x += 1; // Pseudorapidity const double eta = p.momentum().pseudorapidity(); if (eta > 0.0) n_right += 1; else if (eta < 0.0) n_left += 1; } + getLog() << Log::DEBUG + << "N_left: " << n_left << ", " + << "N_right: " << n_right << ", " + << "N_large_x: " << n_large_x << endl; - // Not sure about the "==" - /// @todo Numerical precision problem! - bool isDiffractive = false; - if (n_large_x == 1) isDiffractive = true; - - // FIXME: Not sure about the "== 1", the paper says no charged particle + // Not sure about the "=="! + // @todo Not sure about the "== 1", the paper says no charged particle // that was reconstructed so the incoming protons must run down the beam // pipe. Since we look a the complete final state here no particle being // reconstructed should be equal to one particle (proton) in each // hemisphere. The "< 8" is also not certain. - if ((n_left == 1 || n_right == 1) && numParticles < 8 ) { - isDiffractive = true; - } - - getLog() << Log::DEBUG << "N_left: " << n_left << ", N_right: " - << n_right << ", N_large_x: " << n_large_x << endl; - - + const bool isDiffractive = (n_large_x == 1) || + ((n_left == 1 || n_right == 1) && numParticles < 8 ); + + // Increment weight counters + _sumW += weight; + _sumWDiff += weight; + // Fill histos of charged multiplicity distributions - // The inelastic samples are said to contain also diffractive events. - // - if (fuzzyEquals(sqrtS, 30.4/GeV, 1E-1)) { - if (isDiffractive) { - _hist_multiplicity_nsd_30 ->fill(numParticles, weight); - _hist_multiplicity_inel_30->fill(numParticles, weight); - } else { - _hist_multiplicity_inel_30->fill(numParticles, weight); - } - } - else if (fuzzyEquals(sqrtS, 44/GeV, 1E-1)) { - if (isDiffractive) { - _hist_multiplicity_nsd_45 ->fill(numParticles, weight); - _hist_multiplicity_inel_45->fill(numParticles, weight); - } else { - _hist_multiplicity_inel_45->fill(numParticles, weight); - } - } - else if (fuzzyEquals(sqrtS, 53/GeV, 1E-1)) { - if (isDiffractive) { - _hist_multiplicity_nsd_53 ->fill(numParticles, weight); - _hist_multiplicity_inel_53->fill(numParticles, weight); - } else { - _hist_multiplicity_inel_53->fill(numParticles, weight); - } - } - else if (fuzzyEquals(sqrtS, 63/GeV, 1E-1)) { - if (isDiffractive) { - _hist_multiplicity_nsd_63 ->fill(numParticles, weight); - _hist_multiplicity_inel_63->fill(numParticles, weight); - } - else { - _hist_multiplicity_inel_63->fill(numParticles, weight); - } - } - + _hist_multiplicity_inel->fill(numParticles, weight); + if (!isDiffractive) _hist_multiplicity_nsd->fill(numParticles, weight); } void finalize() { - normalize(_hist_multiplicity_inel_30); - normalize(_hist_multiplicity_inel_45); - normalize(_hist_multiplicity_inel_53); - normalize(_hist_multiplicity_inel_63); - normalize(_hist_multiplicity_nsd_30 ); - normalize(_hist_multiplicity_nsd_45 ); - normalize(_hist_multiplicity_nsd_53 ); - normalize(_hist_multiplicity_nsd_63 ); + scale(_hist_multiplicity_inel, 1.0/_sumWDiff); + scale(_hist_multiplicity_nsd, 1.0/_sumW ); } + //@} private: + + /// @name Weight counters + //@{ + double _sumW, _sumWDiff; + //@} /// @name Histograms //@{ - - AIDA::IHistogram1D *_hist_multiplicity_inel_30; - AIDA::IHistogram1D *_hist_multiplicity_inel_45; - AIDA::IHistogram1D *_hist_multiplicity_inel_53; - AIDA::IHistogram1D *_hist_multiplicity_inel_63; - AIDA::IHistogram1D *_hist_multiplicity_nsd_30; - AIDA::IHistogram1D *_hist_multiplicity_nsd_45; - AIDA::IHistogram1D *_hist_multiplicity_nsd_53; - AIDA::IHistogram1D *_hist_multiplicity_nsd_63; + AIDA::IHistogram1D *_hist_multiplicity_inel; + AIDA::IHistogram1D *_hist_multiplicity_nsd; //@} }; Modified: trunk/src/Analyses/UA5_1988_S1867512.cc ============================================================================== --- trunk/src/Analyses/UA5_1988_S1867512.cc Thu Dec 10 16:41:31 2009 (r2168) +++ trunk/src/Analyses/UA5_1988_S1867512.cc Thu Dec 10 17:12:40 2009 (r2169) @@ -44,7 +44,6 @@ void init() { // Projections addProjection(TriggerUA5(), "Trigger"); - addProjection(Beam(), "Beams"); // Symmetric eta interval addProjection(ChargedFinalState(-0.5, 0.5), "CFS05"); @@ -67,17 +66,17 @@ addProjection(ChargedFinalState(-3.0, -2.0), "CFS30B"); addProjection(ChargedFinalState(-3.5, -2.5), "CFS35B"); addProjection(ChargedFinalState(-4.0, -3.0), "CFS40B"); - + // Histogram booking, we have sqrt(s) = 200, 546 and 900 GeV if (fuzzyEquals(sqrtS()/GeV, 200.0, 1E-4)) { - _hist_correl_200 = bookProfile1D(2, 1, 1); - _hist_correl_asym_200 = bookProfile1D(3, 1, 1); + _hist_correl = bookProfile1D(2, 1, 1); + _hist_correl_asym = bookProfile1D(3, 1, 1); } else if (fuzzyEquals(sqrtS()/GeV, 546.0, 1E-4)) { - _hist_correl_546 = bookProfile1D(2, 1, 2); - _hist_correl_asym_546 = bookProfile1D(3, 1, 2); + _hist_correl = bookProfile1D(2, 1, 2); + _hist_correl_asym = bookProfile1D(3, 1, 2); } else if (fuzzyEquals(sqrtS()/GeV, 900.0, 1E-4)) { - _hist_correl_900 = bookProfile1D(2, 1, 3); - _hist_correl_asym_900 = bookProfile1D(3, 1, 3); + _hist_correl = bookProfile1D(2, 1, 3); + _hist_correl_asym = bookProfile1D(3, 1, 3); } } @@ -130,89 +129,35 @@ double mean_n_05 = mean(n_05); - // Fill histos - if (fuzzyEquals(sqrtS(), 200.0, 1E-4)) { - for (size_t i = 0; i < n_10f.size(); i++) { - // Fill gap size histo (Fig 14), iterate over central gap size - _hist_correl_200->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); - _hist_correl_200->fill(1.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); - _hist_correl_200->fill(2.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); - _hist_correl_200->fill(3.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); - _hist_correl_200->fill(4.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); - _hist_correl_200->fill(5.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); - _hist_correl_200->fill(6.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); - - // Fill gap-center histos (Fig 15), iterate over gap centers - // - // The first bin contains all the c_str strengths of - // the gap size histo above - _hist_correl_asym_200->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); - _hist_correl_asym_200->fill(0.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); - _hist_correl_asym_200->fill(0.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); - _hist_correl_asym_200->fill(0.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); - _hist_correl_asym_200->fill(0.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); - _hist_correl_asym_200->fill(0.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); - _hist_correl_asym_200->fill(0.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); - // Fill in c_str strength for assymetric intervals - _hist_correl_asym_200->fill(0.5, c_str(n_25f[i], mean_n_25f, n_15b[i], mean_n_15b)); - _hist_correl_asym_200->fill(1.0, c_str(n_30f[i], mean_n_30f, n_10b[i], mean_n_10b)); - _hist_correl_asym_200->fill(1.5, c_str(n_35f[i], mean_n_35f, n_05[i] , mean_n_05 )); - _hist_correl_asym_200->fill(2.0, c_str(n_40f[i], mean_n_40f, n_10f[i], mean_n_10f)); - } - } - - else if (fuzzyEquals(sqrtS(), 546.0, 1E-4)) { - for (size_t i = 0; i < n_10f.size(); i++) { - _hist_correl_546->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); - _hist_correl_546->fill(1.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); - _hist_correl_546->fill(2.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); - _hist_correl_546->fill(3.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); - _hist_correl_546->fill(4.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); - _hist_correl_546->fill(5.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); - _hist_correl_546->fill(6.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); - - _hist_correl_asym_546->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); - _hist_correl_asym_546->fill(0.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); - _hist_correl_asym_546->fill(0.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); - _hist_correl_asym_546->fill(0.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); - _hist_correl_asym_546->fill(0.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); - _hist_correl_asym_546->fill(0.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); - _hist_correl_asym_546->fill(0.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); - - _hist_correl_asym_546->fill(0.5, c_str(n_25f[i], mean_n_25f, n_15b[i], mean_n_15b)); - _hist_correl_asym_546->fill(1.0, c_str(n_30f[i], mean_n_30f, n_10b[i], mean_n_10b)); - _hist_correl_asym_546->fill(1.5, c_str(n_35f[i], mean_n_35f, n_05[i] , mean_n_05 )); - _hist_correl_asym_546->fill(2.0, c_str(n_40f[i], mean_n_40f, n_10f[i], mean_n_10f)); - } - } - - else if (fuzzyEquals(sqrtS(), 900.0, 1E-4)) { - for (size_t i = 0; i < n_10f.size(); i++) { - _hist_correl_900->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); - _hist_correl_900->fill(1.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); - _hist_correl_900->fill(2.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); - _hist_correl_900->fill(3.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); - _hist_correl_900->fill(4.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); - _hist_correl_900->fill(5.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); - _hist_correl_900->fill(6.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); - - _hist_correl_asym_900->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); - _hist_correl_asym_900->fill(0.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); - _hist_correl_asym_900->fill(0.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); - _hist_correl_asym_900->fill(0.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); - _hist_correl_asym_900->fill(0.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); - _hist_correl_asym_900->fill(0.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); - _hist_correl_asym_900->fill(0.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); - - _hist_correl_asym_900->fill(0.5, c_str(n_25f[i], mean_n_25f, n_15b[i], mean_n_15b)); - _hist_correl_asym_900->fill(1.0, c_str(n_30f[i], mean_n_30f, n_10b[i], mean_n_10b)); - _hist_correl_asym_900->fill(1.5, c_str(n_35f[i], mean_n_35f, n_05[i] , mean_n_05 )); - _hist_correl_asym_900->fill(2.0, c_str(n_40f[i], mean_n_40f, n_10f[i], mean_n_10f)); - } + for (size_t i = 0; i < n_10f.size(); i++) { + // Fill gap size histo (Fig 14), iterate over central gap size + _hist_correl->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); + _hist_correl->fill(1.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); + _hist_correl->fill(2.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); + _hist_correl->fill(3.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); + _hist_correl->fill(4.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); + _hist_correl->fill(5.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); + _hist_correl->fill(6.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); + + // Fill gap-center histos (Fig 15), iterate over gap centers + // + // The first bin contains all the c_str strengths of + // the gap size histo above + _hist_correl_asym->fill(0.0, c_str(n_10f[i], mean_n_10f, n_10b[i], mean_n_10b)); + _hist_correl_asym->fill(0.0, c_str(n_15f[i], mean_n_15f, n_15b[i], mean_n_15b)); + _hist_correl_asym->fill(0.0, c_str(n_20f[i], mean_n_20f, n_20b[i], mean_n_20b)); + _hist_correl_asym->fill(0.0, c_str(n_25f[i], mean_n_25f, n_25b[i], mean_n_25b)); + _hist_correl_asym->fill(0.0, c_str(n_30f[i], mean_n_30f, n_30b[i], mean_n_30b)); + _hist_correl_asym->fill(0.0, c_str(n_35f[i], mean_n_35f, n_35b[i], mean_n_35b)); + _hist_correl_asym->fill(0.0, c_str(n_40f[i], mean_n_40f, n_40b[i], mean_n_40b)); + // Fill in c_str strength for assymetric intervals + _hist_correl_asym->fill(0.5, c_str(n_25f[i], mean_n_25f, n_15b[i], mean_n_15b)); + _hist_correl_asym->fill(1.0, c_str(n_30f[i], mean_n_30f, n_10b[i], mean_n_10b)); + _hist_correl_asym->fill(1.5, c_str(n_35f[i], mean_n_35f, n_05[i] , mean_n_05 )); + _hist_correl_asym->fill(2.0, c_str(n_40f[i], mean_n_40f, n_10f[i], mean_n_10f)); } - - + } //@} @@ -251,16 +196,10 @@ /// @name Histograms //@{ - // Symmetric eta intervals - AIDA::IProfile1D *_hist_correl_200; - AIDA::IProfile1D *_hist_correl_546; - AIDA::IProfile1D *_hist_correl_900; - + AIDA::IProfile1D *_hist_correl; // For asymmetric eta intervals - AIDA::IProfile1D *_hist_correl_asym_200; - AIDA::IProfile1D *_hist_correl_asym_546; - AIDA::IProfile1D *_hist_correl_asym_900; + AIDA::IProfile1D *_hist_correl_asym; //@} };
More information about the Rivet-svn mailing list |