[Rivet-svn] r2309 - in trunk: data/plotinfo include/Rivet src/Analyses src/Core

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Wed Mar 3 23:24:58 GMT 2010


Author: fsiegert
Date: Wed Mar  3 23:24:58 2010
New Revision: 2309

Log:
Improvements in MC analyses:
 - set correct mass window in MC_WJETS
 - add convenience method for specifying logarithmic bin edges
 - use that to make the MC analyses more fit for variable sqrt(s)
   (it was impossible otherwise to find a smart choice for e.g. the 
   Z pT range for arbitrary sqrt(s))

Modified:
   trunk/data/plotinfo/MC_DIPHOTON.plot
   trunk/data/plotinfo/MC_JETS.plot
   trunk/data/plotinfo/MC_PHOTONJETS.plot
   trunk/data/plotinfo/MC_WJETS.plot
   trunk/data/plotinfo/MC_ZJETS.plot
   trunk/include/Rivet/Analysis.hh
   trunk/src/Analyses/MC_DIPHOTON.cc
   trunk/src/Analyses/MC_JetAnalysis.cc
   trunk/src/Analyses/MC_PHOTONJETS.cc
   trunk/src/Analyses/MC_WJETS.cc
   trunk/src/Analyses/MC_ZJETS.cc
   trunk/src/Core/Analysis.cc

Modified: trunk/data/plotinfo/MC_DIPHOTON.plot
==============================================================================
--- trunk/data/plotinfo/MC_DIPHOTON.plot	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/data/plotinfo/MC_DIPHOTON.plot	Wed Mar  3 23:24:58 2010	(r2309)
@@ -2,12 +2,14 @@
 Title=Invariant mass of diphoton pair
 XLabel=$M_{\gamma \gamma}$ (GeV/$c^2$)
 YLabel=$\mathrm{d}\sigma/\mathrm{d}M_{\gamma \gamma}$ (pb/(GeV/$c^2$))
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_DIPHOTON/pT_PP
 Title=Transverse momentum of diphoton pair
 XLabel=$p_{\perp}^{\gamma \gamma}$ (GeV/$c$)
 YLabel=$\mathrm{d}\sigma/\mathrm{d}p_{\perp}^{\gamma \gamma}$ (pb/(GeV/$c$))
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_DIPHOTON/dphi_PP

Modified: trunk/data/plotinfo/MC_JETS.plot
==============================================================================
--- trunk/data/plotinfo/MC_JETS.plot	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/data/plotinfo/MC_JETS.plot	Wed Mar  3 23:24:58 2010	(r2309)
@@ -199,23 +199,27 @@
 Title=
 XLabel=$p_\perp(\text{jet 1})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 1})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_JETS/jet_pT_2
 Title=
 XLabel=$p_\perp(\text{jet 2})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 2})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_JETS/jet_pT_3
 Title=
 XLabel=$p_\perp(\text{jet 3})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 3})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_JETS/jet_pT_4
 Title=
 XLabel=$p_\perp(\text{jet 4})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 4})$
+LogX=1
 # END PLOT
 

Modified: trunk/data/plotinfo/MC_PHOTONJETS.plot
==============================================================================
--- trunk/data/plotinfo/MC_PHOTONJETS.plot	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/data/plotinfo/MC_PHOTONJETS.plot	Wed Mar  3 23:24:58 2010	(r2309)
@@ -20,6 +20,7 @@
 Title=Photon $p_\perp$
 XLabel=$p_\perp^{\gamma}$ [GeV]
 YLabel=$\text{d}\sigma/\text{d}y_{\gamma}$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_PHOTONJETS/photon_y
@@ -229,23 +230,27 @@
 Title=
 XLabel=$p_\perp(\text{jet 1})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 1})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_PHOTONJETS/jet_pT_2
 Title=
 XLabel=$p_\perp(\text{jet 2})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 2})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_PHOTONJETS/jet_pT_3
 Title=
 XLabel=$p_\perp(\text{jet 3})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 3})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_PHOTONJETS/jet_pT_4
 Title=
 XLabel=$p_\perp(\text{jet 4})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 4})$
+LogX=1
 # END PLOT
 

Modified: trunk/data/plotinfo/MC_WJETS.plot
==============================================================================
--- trunk/data/plotinfo/MC_WJETS.plot	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/data/plotinfo/MC_WJETS.plot	Wed Mar  3 23:24:58 2010	(r2309)
@@ -20,6 +20,7 @@
 Title=W $p_\perp$
 XLabel=$p_\perp^{\text{W}}$ [GeV]
 YLabel=$\text{d}\sigma/\text{d}p_\perp^{\text{W}}$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_WJETS/W_pT_peak
@@ -44,6 +45,7 @@
 Title=Lepton $p_\perp$
 XLabel=$p_\perp^{\text{l}}$ [GeV]
 YLabel=$\text{d}\sigma/\text{d}p_\perp^{\text{l}}$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_WJETS/lepton_eta
@@ -253,23 +255,27 @@
 Title=
 XLabel=$p_\perp(\text{jet 1})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 1})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_WJETS/jet_pT_2
 Title=
 XLabel=$p_\perp(\text{jet 2})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 2})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_WJETS/jet_pT_3
 Title=
 XLabel=$p_\perp(\text{jet 3})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 3})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_WJETS/jet_pT_4
 Title=
 XLabel=$p_\perp(\text{jet 4})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 4})$
+LogX=1
 # END PLOT
 

Modified: trunk/data/plotinfo/MC_ZJETS.plot
==============================================================================
--- trunk/data/plotinfo/MC_ZJETS.plot	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/data/plotinfo/MC_ZJETS.plot	Wed Mar  3 23:24:58 2010	(r2309)
@@ -20,6 +20,7 @@
 Title=Z $p_\perp$
 XLabel=$p_\perp^{\text{Z}}$ [GeV]
 YLabel=$\text{d}\sigma/\text{d}p_\perp^{\text{Z}}$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_ZJETS/Z_pT_peak
@@ -44,6 +45,7 @@
 Title=Lepton $p_\perp$
 XLabel=$p_\perp^{\text{l}}$ [GeV]
 YLabel=$\text{d}\sigma/\text{d}p_\perp^{\text{l}}$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_ZJETS/lepton_eta
@@ -253,23 +255,27 @@
 Title=
 XLabel=$p_\perp(\text{jet 1})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 1})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_ZJETS/jet_pT_2
 Title=
 XLabel=$p_\perp(\text{jet 2})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 2})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_ZJETS/jet_pT_3
 Title=
 XLabel=$p_\perp(\text{jet 3})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 3})$
+LogX=1
 # END PLOT
 
 # BEGIN PLOT /MC_ZJETS/jet_pT_4
 Title=
 XLabel=$p_\perp(\text{jet 4})$
 YLabel=$\text{d}\sigma/\text{d}p_\perp(\text{jet 4})$
+LogX=1
 # END PLOT
 

Modified: trunk/include/Rivet/Analysis.hh
==============================================================================
--- trunk/include/Rivet/Analysis.hh	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/include/Rivet/Analysis.hh	Wed Mar  3 23:24:58 2010	(r2309)
@@ -271,6 +271,9 @@
     /// Get bin edges for a numbered histo (using ref AIDA caching)
     const BinEdges& binEdges(size_t datasetId, size_t xAxisId, size_t yAxisId) const;
 
+    /// Get bin edges with logarithmic widths
+    BinEdges logBinEdges(size_t nbins, double lower, double upper);
+
     /// Book a 1D histogram with @a nbins uniformly distributed across the range @a lower - @a upper .
     /// (NB. this returns a pointer rather than a reference since it will
     /// have to be stored in the analysis class - there's no point in forcing users to explicitly

Modified: trunk/src/Analyses/MC_DIPHOTON.cc
==============================================================================
--- trunk/src/Analyses/MC_DIPHOTON.cc	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/src/Analyses/MC_DIPHOTON.cc	Wed Mar  3 23:24:58 2010	(r2309)
@@ -28,8 +28,8 @@
       ifs.acceptId(PHOTON);
       addProjection(ifs, "IFS");
 
-      _h_m_PP = bookHistogram1D("m_PP", 50, 10.0, 500.0);
-      _h_pT_PP = bookHistogram1D("pT_PP", 50, 0.0, 200.0);
+      _h_m_PP = bookHistogram1D("m_PP", logBinEdges(50, 1.0, 0.25*sqrtS()));
+      _h_pT_PP = bookHistogram1D("pT_PP", logBinEdges(50, 1.0, 0.25*sqrtS()));
       _h_dphi_PP = bookHistogram1D("dphi_PP", 20, 0.0, M_PI);
     }
 

Modified: trunk/src/Analyses/MC_JetAnalysis.cc
==============================================================================
--- trunk/src/Analyses/MC_JetAnalysis.cc	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/src/Analyses/MC_JetAnalysis.cc	Wed Mar  3 23:24:58 2010	(r2309)
@@ -36,7 +36,7 @@
       pTname<<"jet_pT_"<<i+1;
       double pTmax = 1.0/(double(i)+2.0)*sqrtS()/GeV/2.0;
       int nbins = 100/(i+1);
-      _h_pT_jet[i] = bookHistogram1D(pTname.str(), nbins, 0.0, pTmax);
+      _h_pT_jet[i] = bookHistogram1D(pTname.str(), logBinEdges(nbins, 10.0, pTmax));
    
       stringstream etaname;
       etaname<<"jet_eta_"<<i+1;

Modified: trunk/src/Analyses/MC_PHOTONJETS.cc
==============================================================================
--- trunk/src/Analyses/MC_PHOTONJETS.cc	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/src/Analyses/MC_PHOTONJETS.cc	Wed Mar  3 23:24:58 2010	(r2309)
@@ -39,7 +39,7 @@
       FastJets jetpro(vfs, FastJets::KT, 0.7, 20.0*GeV);
       addProjection(jetpro, "Jets");
 
-      _h_photon_pT = bookHistogram1D("photon_pT", 50, 0.0, 0.25*sqrtS());
+      _h_photon_pT = bookHistogram1D("photon_pT", logBinEdges(50, 1.0, 0.5*sqrtS()));
       _h_photon_y = bookHistogram1D("photon_y", 20, -1.0, 1.0);
       _h_photon_jet1_deta = bookHistogram1D("photon_jet1_deta", 50, -5.0, 5.0);
       _h_photon_jet1_dphi = bookHistogram1D("photon_jet1_dphi", 20, 0.0, M_PI);

Modified: trunk/src/Analyses/MC_WJETS.cc
==============================================================================
--- trunk/src/Analyses/MC_WJETS.cc	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/src/Analyses/MC_WJETS.cc	Wed Mar  3 23:24:58 2010	(r2309)
@@ -29,14 +29,14 @@
       FastJets jetpro(wfinder.remainingFinalState(), FastJets::KT, 0.7, 20.0*GeV);
       addProjection(jetpro, "Jets");
 
-      _h_W_mass = bookHistogram1D("W_mass", 50, 66.0, 116.0);
-      _h_W_pT = bookHistogram1D("W_pT", 100, 0.0, 0.25*sqrtS());
+      _h_W_mass = bookHistogram1D("W_mass", 50, 55.0, 105.0);
+      _h_W_pT = bookHistogram1D("W_pT", logBinEdges(100, 1.0, 0.5*sqrtS()));
       _h_W_pT_peak = bookHistogram1D("W_pT_peak", 25, 0.0, 25.0);
       _h_W_y = bookHistogram1D("W_y", 40, -4.0, 4.0);
       _h_W_phi = bookHistogram1D("W_phi", 25, 0.0, TWOPI);
       _h_W_jet1_deta = bookHistogram1D("W_jet1_deta", 50, -5.0, 5.0);
       _h_W_jet1_dR = bookHistogram1D("W_jet1_dR", 25, 0.5, 7.0);
-      _h_lepton_pT = bookHistogram1D("lepton_pT", 100, 0.0, 0.25*sqrtS());
+      _h_lepton_pT = bookHistogram1D("lepton_pT", logBinEdges(100, 10.0, 0.25*sqrtS()));
       _h_lepton_eta = bookHistogram1D("lepton_eta", 40, -4.0, 4.0);
    
       MC_JetAnalysis::init();

Modified: trunk/src/Analyses/MC_ZJETS.cc
==============================================================================
--- trunk/src/Analyses/MC_ZJETS.cc	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/src/Analyses/MC_ZJETS.cc	Wed Mar  3 23:24:58 2010	(r2309)
@@ -30,13 +30,13 @@
       addProjection(jetpro, "Jets");
 
       _h_Z_mass = bookHistogram1D("Z_mass", 50, 66.0, 116.0);
-      _h_Z_pT = bookHistogram1D("Z_pT", 100, 0.0, 0.25*sqrtS());
+      _h_Z_pT = bookHistogram1D("Z_pT", logBinEdges(100, 1.0, 0.5*sqrtS()));
       _h_Z_pT_peak = bookHistogram1D("Z_pT_peak", 25, 0.0, 25.0);
       _h_Z_y = bookHistogram1D("Z_y", 40, -4.0, 4.0);
       _h_Z_phi = bookHistogram1D("Z_phi", 25, 0.0, TWOPI);
       _h_Z_jet1_deta = bookHistogram1D("Z_jet1_deta", 50, -5.0, 5.0);
       _h_Z_jet1_dR = bookHistogram1D("Z_jet1_dR", 25, 0.5, 7.0);
-      _h_lepton_pT = bookHistogram1D("lepton_pT", 100, 0.0, 0.25*sqrtS());
+      _h_lepton_pT = bookHistogram1D("lepton_pT", logBinEdges(100, 10.0, 0.25*sqrtS()));
       _h_lepton_eta = bookHistogram1D("lepton_eta", 40, -4.0, 4.0);
    
       MC_JetAnalysis::init();

Modified: trunk/src/Core/Analysis.cc
==============================================================================
--- trunk/src/Core/Analysis.cc	Wed Mar  3 17:11:47 2010	(r2308)
+++ trunk/src/Core/Analysis.cc	Wed Mar  3 23:24:58 2010	(r2309)
@@ -289,6 +289,19 @@
   }
 
 
+  BinEdges Analysis::logBinEdges(size_t nbins, double lower, double upper) {
+    assert(lower>0.0);
+    assert(upper>lower);
+    double loglower=log10(lower);
+    double logupper=log10(upper);
+    vector<double> binedges;
+    double stepwidth=(logupper-loglower)/double(nbins);
+    for (size_t i=0; i<=nbins; ++i) {
+      binedges.push_back(pow(10.0, loglower+double(i)*stepwidth));
+    }
+    return binedges;
+  }
+
   IHistogram1D* Analysis::bookHistogram1D(size_t datasetId, size_t xAxisId,
                                           size_t yAxisId, const string& title,
                                           const string& xtitle, const string& ytitle)


More information about the Rivet-svn mailing list