|
[Rivet-svn] r2309 - in trunk: data/plotinfo include/Rivet src/Analyses src/Coreblackhole at projects.hepforge.org blackhole at projects.hepforge.orgWed 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 |