[Rivet-svn] r3222 - branches/2011-07-aida2yoda/src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Tue Jul 19 19:54:59 BST 2011


Author: hoeth
Date: Tue Jul 19 19:54:58 2011
New Revision: 3222

Log:
ATLAS analyses are YODAized

Modified:
   branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_CONF_2010_049.cc
   branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8894728.cc
   branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8918562.cc
   branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8994773.cc
   branches/2011-07-aida2yoda/src/Analyses/ATLAS_2011_S9002537.cc
   branches/2011-07-aida2yoda/src/Analyses/Makefile.am

Modified: branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_CONF_2010_049.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_CONF_2010_049.cc	Tue Jul 19 19:02:33 2011	(r3221)
+++ branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_CONF_2010_049.cc	Tue Jul 19 19:54:58 2011	(r3222)
@@ -4,7 +4,6 @@
 #include "Rivet/Projections/ChargedFinalState.hh"
 #include "Rivet/Projections/FastJets.hh"
 #include "Rivet/Tools/Logging.hh"
-#include "LWH/Histogram1D.h"
 
 namespace Rivet {
 

Modified: branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8894728.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8894728.cc	Tue Jul 19 19:02:33 2011	(r3221)
+++ branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8894728.cc	Tue Jul 19 19:54:58 2011	(r3222)
@@ -3,8 +3,6 @@
 #include "Rivet/RivetYODA.hh"
 #include "Rivet/Projections/ChargedFinalState.hh"
 #include "Rivet/Tools/Logging.hh"
-#include "LWH/Profile1D.h"
-#include "LWH/Histogram1D.h"
 
 namespace Rivet {
 
@@ -12,29 +10,27 @@
   namespace {
 
     inline void _moments_to_stddev(Profile1DPtr moment_profiles[], Scatter2DPtr target_dps) {
-      for (int b = 0; b < target_dps->size(); ++b) { // loop over bins
-        /// @todo Assuming unit weights here! Should use N_effective = sumW**2/sumW2? How?
-        const double numentries = moment_profiles[0]->binEntries(b);
-        const double var = moment_profiles[1]->bin(b).area() - intpow(moment_profiles[0]->bin(b).area(), 2);
+      for (size_t b = 0; b < target_dps->numPoints(); ++b) { // loop over points
+        /// @todo Assuming unit weights here! Should use N_effective = sumW**2/sumW2?
+        const double numentries = moment_profiles[0]->bin(b).numEntries();
+        const double var = moment_profiles[1]->bin(b).mean() - intpow(moment_profiles[0]->bin(b).mean(), 2);
         const double sd = isZero(var) ? 0 : sqrt(var); //< Numerical safety check
-        target_dps->point(b)->coordinate(1)->setValue(sd);
+        target_dps->point(b).setY(sd);
         if (sd == 0 || numentries < 3) {
           cerr << "Need at least 3 bin entries and a non-zero central value to calculate "
                << "an error on standard deviation profiles (bin " << b << ")" << endl;
-          target_dps->point(b)->coordinate(1)->setErrorPlus(0);
-          target_dps->point(b)->coordinate(1)->setErrorMinus(0);
+          target_dps->point(b).setYErr(0);
           continue;
         }
         // c2(y) = m4(x) - 4 m3(x) m1(x) - m2(x)^2 + 8 m2(x) m1(x)^2 - 4 m1(x)^4
-        const double var_on_var = moment_profiles[3]->bin(b).area()
-          - 4 * moment_profiles[2]->bin(b).area() * moment_profiles[0]->bin(b).area()
-          - intpow(moment_profiles[1]->bin(b).area(), 2)
-          + 8 * moment_profiles[1]->bin(b).area() * intpow(moment_profiles[0]->bin(b).area(), 2)
-          - 4 * intpow(moment_profiles[0]->bin(b).area(), 4);
+        const double var_on_var = moment_profiles[3]->bin(b).mean()
+          - 4 * moment_profiles[2]->bin(b).mean() * moment_profiles[0]->bin(b).mean()
+          - intpow(moment_profiles[1]->bin(b).mean(), 2)
+          + 8 * moment_profiles[1]->bin(b).mean() * intpow(moment_profiles[0]->bin(b).mean(), 2)
+          - 4 * intpow(moment_profiles[0]->bin(b).mean(), 4);
         const double stderr_on_var = sqrt(var_on_var/(numentries-2.0));
         const double stderr_on_sd = stderr_on_var / (2.0*sd);
-        target_dps->point(b)->coordinate(1)->setErrorPlus(stderr_on_sd);
-        target_dps->point(b)->coordinate(1)->setErrorMinus(stderr_on_sd);
+        target_dps->point(b).setYErr(stderr_on_sd);
       }
     }
 
@@ -74,8 +70,8 @@
       // Standard deviation profiles
       // First the higher moments of main profiles to calculate variance and error on variance...
       for (size_t i = 1; i < 4; ++i) {
-        _hist_nch_transverse_500[i] = new LWH::Profile1D(binEdges(1+isqrts, 1, 1));
-        _hist_ptsum_transverse_500[i] = new LWH::Profile1D(binEdges(3+isqrts, 1, 1));
+        _hist_nch_transverse_500[i].reset(new Profile1D(binEdges(1+isqrts, 1, 1)));
+        _hist_ptsum_transverse_500[i].reset(new Profile1D(binEdges(3+isqrts, 1, 1)));
       }
       // Then the data point sets into which the results will be inserted
       _dps_sdnch_transverse_500   = bookScatter2D(5+isqrts, 1, 1);
@@ -152,8 +148,8 @@
       vector<double> num500(3, 0), ptSum500(3, 0.0);
       // Temporary histos that bin Nch and pT in dPhi.
       // NB. Only one of each needed since binnings are the same for the energies and pT cuts
-      LWH::Histogram1D hist_num_dphi_500(binEdges(13,1,1));
-      LWH::Histogram1D hist_pt_dphi_500(binEdges(15,1,1));
+      Histo1D hist_num_dphi_500(binEdges(13,1,1));
+      Histo1D hist_pt_dphi_500(binEdges(15,1,1));
       foreach (const Particle& p, particles500) {
         const double pT = p.momentum().pT();
         const double dPhi = deltaPhi(philead, p.momentum().phi());
@@ -228,14 +224,14 @@
       for (size_t i = 0; i < nbins; ++i) {
         // First Nch
         const double binmean_num = hist_num_dphi_500.bin(i).xMean();
-        const double binvalue_num = hist_num_dphi_500.bin(i).area()/hist_num_dphi_500.axis().binWidth(i)/10.0;
+        const double binvalue_num = hist_num_dphi_500.bin(i).area()/hist_num_dphi_500.bin(i).width()/10.0;
         if (pTlead/GeV >= ptcut[0]) _hist_N_vs_dPhi_1_500->fill(binmean_num, binvalue_num, weight);
         if (pTlead/GeV >= ptcut[1]) _hist_N_vs_dPhi_2_500->fill(binmean_num, binvalue_num, weight);
         if (pTlead/GeV >= ptcut[2]) _hist_N_vs_dPhi_3_500->fill(binmean_num, binvalue_num, weight);
         if (pTlead/GeV >= ptcut[3]) _hist_N_vs_dPhi_5_500->fill(binmean_num, binvalue_num, weight);
         // Then pT
         const double binmean_pt = hist_pt_dphi_500.bin(i).xMean();
-        const double binvalue_pt = hist_pt_dphi_500.bin(i).area()/hist_pt_dphi_500.axis().binWidth(i)/10.0;
+        const double binvalue_pt = hist_pt_dphi_500.bin(i).area()/hist_pt_dphi_500.bin(i).width()/10.0;
         if (pTlead/GeV >= ptcut[0]) _hist_pT_vs_dPhi_1_500->fill(binmean_pt, binvalue_pt, weight);
         if (pTlead/GeV >= ptcut[1]) _hist_pT_vs_dPhi_2_500->fill(binmean_pt, binvalue_pt, weight);
         if (pTlead/GeV >= ptcut[2]) _hist_pT_vs_dPhi_3_500->fill(binmean_pt, binvalue_pt, weight);

Modified: branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8918562.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8918562.cc	Tue Jul 19 19:02:33 2011	(r3221)
+++ branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8918562.cc	Tue Jul 19 19:54:58 2011	(r3222)
@@ -15,7 +15,7 @@
     /// Helper for collectively filling Nch, pT, eta, and pT vs. Nch histograms
     void fillPtEtaNch(const ChargedFinalState& cfs, int nchcut, double weight,
                       Histo1DPtr h_nch, Histo1DPtr h_pt,
-                      Histo1DPtr h_eta, Profile1DPtr h_ptnch = 0) {
+                      Histo1DPtr h_eta, Profile1DPtr h_ptnch = Profile1DPtr()) {
 
       // Get number of particles and skip if event fails cut
       const int nch = cfs.size();
@@ -84,7 +84,7 @@
         _hist_pt500_nch1_pt = bookHisto1D(9, 1, 1);
         _hist_pt500_nch1_eta = bookHisto1D(2, 1, 1);
         // This one histogram might be called while unbooked, so ensure its pointer is null!
-        _hist_pt500_nch1_ptnch = 0;
+        _hist_pt500_nch1_ptnch = Profile1DPtr();
 
       } else if (fuzzyEquals(sqrtS()/GeV, 7000)) {
 
@@ -160,34 +160,34 @@
 
       if (!fuzzyEquals(sqrtS()/GeV, 2360)) {
         if (_sumW_pt100_nch2 > 0) {
-          _hist_pt100_nch2_nch->scale(1.0/_sumW_pt100_nch2);
-          _hist_pt100_nch2_pt->scale(1.0/_sumW_pt100_nch2/TWOPI/5);
-          _hist_pt100_nch2_eta->scale(1.0/_sumW_pt100_nch2);
+          scale(_hist_pt100_nch2_nch, 1.0/_sumW_pt100_nch2);
+          scale(_hist_pt100_nch2_pt, 1.0/_sumW_pt100_nch2/TWOPI/5);
+          scale(_hist_pt100_nch2_eta, 1.0/_sumW_pt100_nch2);
         }
 
         if (_sumW_pt100_nch20 > 0) {
-          _hist_pt100_nch20_nch->scale(1.0/_sumW_pt100_nch20);
-          _hist_pt100_nch20_pt->scale(1.0/_sumW_pt100_nch20/TWOPI/5);
-          _hist_pt100_nch20_eta->scale(1.0/_sumW_pt100_nch20);
+          scale(_hist_pt100_nch20_nch, 1.0/_sumW_pt100_nch20);
+          scale(_hist_pt100_nch20_pt, 1.0/_sumW_pt100_nch20/TWOPI/5);
+          scale(_hist_pt100_nch20_eta, 1.0/_sumW_pt100_nch20);
         }
 
         if (_sumW_pt500_nch6 > 0) {
-          _hist_pt500_nch6_nch->scale(1.0/_sumW_pt500_nch6);
-          _hist_pt500_nch6_pt->scale(1.0/_sumW_pt500_nch6/TWOPI/5);
-          _hist_pt500_nch6_eta->scale(1.0/_sumW_pt500_nch6);
+          scale(_hist_pt500_nch6_nch, 1.0/_sumW_pt500_nch6);
+          scale(_hist_pt500_nch6_pt, 1.0/_sumW_pt500_nch6/TWOPI/5);
+          scale(_hist_pt500_nch6_eta, 1.0/_sumW_pt500_nch6);
         }
 
         if (_sumW_pt2500_nch1 > 0) {
-          _hist_pt2500_nch1_nch->scale(1.0/_sumW_pt2500_nch1);
-          _hist_pt2500_nch1_pt->scale(1.0/_sumW_pt2500_nch1/TWOPI/5);
-          _hist_pt2500_nch1_eta->scale(1.0/_sumW_pt2500_nch1);
+          scale(_hist_pt2500_nch1_nch, 1.0/_sumW_pt2500_nch1);
+          scale(_hist_pt2500_nch1_pt, 1.0/_sumW_pt2500_nch1/TWOPI/5);
+          scale(_hist_pt2500_nch1_eta, 1.0/_sumW_pt2500_nch1);
         }
       }
 
       if (_sumW_pt500_nch1 > 0) {
-        _hist_pt500_nch1_nch->scale(1.0/_sumW_pt500_nch1);
-        _hist_pt500_nch1_pt->scale(1.0/_sumW_pt500_nch1/TWOPI/5);
-        _hist_pt500_nch1_eta->scale(1.0/_sumW_pt500_nch1);
+        scale(_hist_pt500_nch1_nch, 1.0/_sumW_pt500_nch1);
+        scale(_hist_pt500_nch1_pt, 1.0/_sumW_pt500_nch1/TWOPI/5);
+        scale(_hist_pt500_nch1_eta, 1.0/_sumW_pt500_nch1);
       }
     }
 

Modified: branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8994773.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8994773.cc	Tue Jul 19 19:02:33 2011	(r3221)
+++ branches/2011-07-aida2yoda/src/Analyses/ATLAS_2010_S8994773.cc	Tue Jul 19 19:54:58 2011	(r3222)
@@ -3,8 +3,6 @@
 #include "Rivet/RivetYODA.hh"
 #include "Rivet/Projections/FinalState.hh"
 #include "Rivet/Tools/Logging.hh"
-#include "LWH/Profile1D.h"
-#include "LWH/Histogram1D.h"
 
 namespace Rivet {
 
@@ -64,7 +62,7 @@
       vector<double> num500(3, 0), ptSum500(3, 0.0);
       // Temporary histos that bin N in dPhi.
       // NB. Only one of each needed since binnings are the same for the energies and pT cuts
-      LWH::Histogram1D hist_num_dphi_500(binEdges(13+isqrts,1,1));
+      Histo1D hist_num_dphi_500(binEdges(13+isqrts,1,1));
       foreach (const Particle& p, particles500) {
         const double pT = p.momentum().pT();
         const double dPhi = deltaPhi(philead, p.momentum().phi());
@@ -93,7 +91,7 @@
       const size_t nbins = binEdges(13+isqrts,1,1).size() - 1;
       for (size_t i = 0; i < nbins; ++i) {
         const double binmean_num = hist_num_dphi_500.bin(i).xMean();
-        const double binvalue_num = hist_num_dphi_500.bin(i).area()/hist_num_dphi_500.axis().binWidth(i)/10.0;
+        const double binvalue_num = hist_num_dphi_500.bin(i).area()/hist_num_dphi_500.bin(i).width()/10.0;
         if (pTlead/GeV >= 1.0) _hist_N_vs_dPhi_1_500->fill(binmean_num, binvalue_num, weight);
         if (pTlead/GeV >= 2.0) _hist_N_vs_dPhi_2_500->fill(binmean_num, binvalue_num, weight);
         if (pTlead/GeV >= 3.0) _hist_N_vs_dPhi_3_500->fill(binmean_num, binvalue_num, weight);
@@ -103,7 +101,6 @@
 
 
     void finalize() {
-      // nothing
     }
 
 

Modified: branches/2011-07-aida2yoda/src/Analyses/ATLAS_2011_S9002537.cc
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/ATLAS_2011_S9002537.cc	Tue Jul 19 19:02:33 2011	(r3221)
+++ branches/2011-07-aida2yoda/src/Analyses/ATLAS_2011_S9002537.cc	Tue Jul 19 19:54:58 2011	(r3222)
@@ -76,30 +76,32 @@
 
     /// Normalise histograms etc., after the run
     void finalize() {
-      int Nbins = _h_plus->axis().bins();
-      std::vector<double> asym, asym_err;
+      int Nbins = _h_plus->numBins();
       for (int i=0; i<Nbins; i++) {
         double num   = _h_plus->bin(i).area() - _h_minus->bin(i).area();
         double denom = _h_plus->bin(i).area() + _h_minus->bin(i).area();
-        double err   = _h_plus->binError(i)  + _h_minus->binError(i);
+        double err   = _h_plus->bin(i).areaError()  + _h_minus->bin(i).areaError();
 
+        double asym, asym_err;
         if (num==0 || denom==0) {
-          asym.push_back(0.);
-          asym_err.push_back(0.);
+          asym = 0;
+          asym_err = 0;
         }
         else {
-          asym.push_back(num/denom);
-          asym_err.push_back(num/denom*((err/num)+(err/denom)));
+          asym = num/denom;
+          asym_err = num/denom*((err/num)+(err/denom));
         }
+        _h_asym->point(i).setY(asym);
+        _h_asym->point(i).setYErr(asym_err);
       }
-      _h_asym->setCoordinate(1, asym, asym_err);
 
-      histogramFactory().destroy(_h_plus);
-      histogramFactory().destroy(_h_minus);
+      // todo YODA deleteplot
+      // histogramFactory().destroy(_h_plus);
+      // histogramFactory().destroy(_h_minus);
     }
 
   private:
-    AIDA::IHistogram1D  *_h_plus, *_h_minus;
+    Histo1DPtr  _h_plus, _h_minus;
     Scatter2DPtr _h_asym;
 
   };

Modified: branches/2011-07-aida2yoda/src/Analyses/Makefile.am
==============================================================================
--- branches/2011-07-aida2yoda/src/Analyses/Makefile.am	Tue Jul 19 19:02:33 2011	(r3221)
+++ branches/2011-07-aida2yoda/src/Analyses/Makefile.am	Tue Jul 19 19:54:58 2011	(r3222)
@@ -41,25 +41,25 @@
     ALICE_2010_S8624100.cc
 
 
-# lib_LTLIBRARIES += RivetATLASAnalyses.la
-# RivetATLASAnalyses_la_SOURCES = \
-#     ATLAS_2010_S8591806.cc \
-#     ATLAS_2010_S8817804.cc \
-#     ATLAS_2010_S8894728.cc \
-#     ATLAS_2010_S8914702.cc \
-#     ATLAS_2010_S8918562.cc \
-#     ATLAS_2010_S8919674.cc \
-#     ATLAS_2011_S8924791.cc \
-#     ATLAS_2011_S8971293.cc \
-#     ATLAS_2010_S8994773.cc \
-#     ATLAS_2011_S8983313.cc \
-#     ATLAS_2011_S9002537.cc
-# if ENABLE_UNVALIDATED
-# RivetATLASAnalyses_la_SOURCES += \
-#     ATLAS_2010_CONF_2010_049.cc \
-#     ATLAS_2011_S9019561.cc \
-#     ATLAS_2011_CONF_2011_090.cc
-# endif
+lib_LTLIBRARIES += RivetATLASAnalyses.la
+RivetATLASAnalyses_la_SOURCES = \
+    ATLAS_2010_S8591806.cc \
+    ATLAS_2010_S8817804.cc \
+    ATLAS_2010_S8894728.cc \
+    ATLAS_2010_S8914702.cc \
+    ATLAS_2010_S8918562.cc \
+    ATLAS_2010_S8919674.cc \
+    ATLAS_2011_S8924791.cc \
+    ATLAS_2011_S8971293.cc \
+    ATLAS_2010_S8994773.cc \
+    ATLAS_2011_S8983313.cc \
+    ATLAS_2011_S9002537.cc
+if ENABLE_UNVALIDATED
+RivetATLASAnalyses_la_SOURCES += \
+    ATLAS_2010_CONF_2010_049.cc \
+    ATLAS_2011_S9019561.cc \
+    ATLAS_2011_CONF_2011_090.cc
+endif
 
 
 lib_LTLIBRARIES += RivetCMSAnalyses.la


More information about the Rivet-svn mailing list