[Rivet-svn] r1705 - in trunk: data/anainfo include/Rivet/Analyses src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Mon Jul 20 11:19:19 BST 2009


Author: fsiegert
Date: Mon Jul 20 11:19:19 2009
New Revision: 1705

Log:
Streamline CDF_2008_S7828950 analysis:
 - make use of convenience provided by the FastJets projection
 - get rid of unnecessary sum_of_weights_in_histo counters, by simply 
   scaling the histograms in the end, instead of normalising them
Changes have been compared to the original version of the analysis and
give the exact same numbers. They also look reasonable compared to
Sherpa's internal analysis, so marking it as VALIDATED.

Modified:
   trunk/data/anainfo/CDF_2008_S7828950.info
   trunk/include/Rivet/Analyses/CDF_2008_S7828950.hh
   trunk/src/Analyses/CDF_2008_S7828950.cc

Modified: trunk/data/anainfo/CDF_2008_S7828950.info
==============================================================================
--- trunk/data/anainfo/CDF_2008_S7828950.info	Mon Jul 20 00:03:14 2009	(r1704)
+++ trunk/data/anainfo/CDF_2008_S7828950.info	Mon Jul 20 11:19:19 2009	(r1705)
@@ -4,16 +4,17 @@
 Experiment: CDF
 Collider: Tevatron Run 2
 SpiresID: 7828950
-Status: UNVALIDATED
+Status: VALIDATED
 Authors:
  - Craig Group <group at fnal.gov>
+ - Frank Siegert <frank.siegert at durham.ac.uk>
 References:
  - arXiv:0807.2204
  - Phys.Rev.D78:052006,2008
 RunInfo:
   Requires $2\rightarrow{2}$ QCD scattering processes. The minimum jet Et is 62 GeV, so a cut on kinematic pTmin may be required for good statistics.
 NumEvents: 1000000
-PtCuts: [0]
+PtCuts: [62]
 Description:
   Measurement of the inclusive jet cross section in $p\bar{p}$
   collisions at $\sqrt{s}=1.96$ TeV as a function of jet Et, for Et $>$

Modified: trunk/include/Rivet/Analyses/CDF_2008_S7828950.hh
==============================================================================
--- trunk/include/Rivet/Analyses/CDF_2008_S7828950.hh	Mon Jul 20 00:03:14 2009	(r1704)
+++ trunk/include/Rivet/Analyses/CDF_2008_S7828950.hh	Mon Jul 20 11:19:19 2009	(r1705)
@@ -38,18 +38,9 @@
 
 
   private:
-
-    /// Min jet \f$ p_T \f$ cut.
-    /// @todo Make static const and UPPERCASE?
-    const double _jetMinPT;
     
-    /// Counter for the number of events analysed (actually the sum of weights, hence double).
-    double _eventsTried;
-
     /// @name Histograms
     //@{
-    /// The number of events in each histogram
-    map<AIDA::IHistogram1D*, double> _eventsPassed;
 
     /// The y bin width of each histogram
     map<AIDA::IHistogram1D*, double> _yBinWidths;

Modified: trunk/src/Analyses/CDF_2008_S7828950.cc
==============================================================================
--- trunk/src/Analyses/CDF_2008_S7828950.cc	Mon Jul 20 00:03:14 2009	(r1704)
+++ trunk/src/Analyses/CDF_2008_S7828950.cc	Mon Jul 20 11:19:19 2009	(r1705)
@@ -10,13 +10,12 @@
 
 
   CDF_2008_S7828950::CDF_2008_S7828950()
-    : Analysis("CDF_2008_S7828950"),
-      _jetMinPT(62.0*GeV)
+    : Analysis("CDF_2008_S7828950")
   {
     setBeams(PROTON, ANTIPROTON);
     //setSqrtS(1960*GeV);
     const FinalState fs;
-    addProjection(FastJets(fs, FastJets::CDFMIDPOINT, 0.7), "JetsM07"); //??
+    addProjection(FastJets(fs, FastJets::CDFMIDPOINT, 0.7, 62.0*GeV), "JetsM07");
     setNeedsCrossSection(true);
   }
 
@@ -33,10 +32,8 @@
     _binnedHistosR07.addHistogram(1.6, 2.1, bookHistogram1D(5, 1, 1));
 
     size_t yind = 0;
-    for (vector<AIDA::IHistogram1D*>::const_iterator histIt = _binnedHistosR07.getHistograms().begin();
-        histIt != _binnedHistosR07.getHistograms().end(); ++histIt){
-      _eventsPassed[*histIt] = 0.0;
-      _yBinWidths[*histIt] = 2.0 * (_ybins[yind+1]-_ybins[yind]); 
+    foreach (AIDA::IHistogram1D* hist, _binnedHistosR07.getHistograms()) {
+      _yBinWidths[hist] = 2.0 * (_ybins[yind+1]-_ybins[yind]);
       ++yind;
     }
   }
@@ -46,34 +43,16 @@
   void CDF_2008_S7828950::analyze(const Event& event) {
     const double weight = event.weight();    
     
-    const PseudoJets jetListM07 = applyProjection<FastJets>(event, "JetsM07").pseudoJets();
-    set< IHistogram1D*> passed;
-    for (PseudoJets::const_iterator jet = jetListM07.begin(); jet != jetListM07.end(); ++jet) {
-      const double pt = jet->perp();
-      if (pt > _jetMinPT) {
-        AIDA::IHistogram1D* histo = _binnedHistosR07.fill(fabs(jet->rapidity()), pt, weight);
-        if (histo != 0) {
-          if (histo->coordToIndex(pt) != IAxis::OVERFLOW_BIN) {
-            passed.insert(histo);
-	    _eventsPassed[histo] += weight;
-          }
-        }
-      }
-    }    
+    foreach (const Jet& jet, applyProjection<FastJets>(event, "JetsM07").jets()) {
+      _binnedHistosR07.fill(fabs(jet.momentum().rapidity()), jet.momentum().pT(), weight);
+    }
   }  
 
 
   // Normalise histograms to cross-section
   void CDF_2008_S7828950::finalize() {
-    Log log = getLog();
-    const double xSecPerEvent = crossSection()/nanobarn / sumOfWeights();
-    log << Log::INFO << "Cross-section = " << crossSection()/nanobarn << " nb" << endl;
-
-    for (map<IHistogram1D*,double>::iterator histIt = _eventsPassed.begin(),
-           histJt = _yBinWidths.begin(); histIt != _eventsPassed.end(); ++histIt, ++histJt) {
-      IHistogram1D* hist = histIt->first;
-      const double xSec = xSecPerEvent * histIt->second / histJt->second;
-      normalize(hist, xSec);
+    foreach (AIDA::IHistogram1D* hist, _binnedHistosR07.getHistograms()) {
+      scale(hist, crossSection()/nanobarn/sumOfWeights()/_yBinWidths[hist]);
     }
   }
 


More information about the Rivet-svn mailing list