[Rivet-svn] r4274 - trunk/src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Tue May 14 17:41:02 BST 2013


Author: buckley
Date: Tue May 14 17:41:02 2013
New Revision: 4274

Log:
More YODA TODOs knocked off

Modified:
   trunk/src/Analyses/ATLAS_2011_I944826.cc
   trunk/src/Analyses/DELPHI_2000_S4328825.cc
   trunk/src/Analyses/MC_JetAnalysis.cc
   trunk/src/Analyses/SLD_2004_S5693039.cc

Modified: trunk/src/Analyses/ATLAS_2011_I944826.cc
==============================================================================
--- trunk/src/Analyses/ATLAS_2011_I944826.cc	Mon May 13 21:19:10 2013	(r4273)
+++ trunk/src/Analyses/ATLAS_2011_I944826.cc	Tue May 14 17:41:02 2013	(r4274)
@@ -45,35 +45,35 @@
         .acceptIdPair(PID::PROTON);
       addProjection(nstable, "nstable");
 
-      if (fuzzyEquals(sqrtS()*GeV, 7000, 1E-3)) {
-        _hist_Ks_pT      = bookHisto1D(1,1,1);
-        _hist_Ks_y       = bookHisto1D(2,1,1);
-        _hist_Ks_mult    = bookHisto1D(3,1,1);
-        _hist_L_pT       = bookHisto1D(7,1,1);
-        _hist_L_y        = bookHisto1D(8,1,1);
-        _hist_L_mult     = bookHisto1D(9,1,1);
-        _hist_Ratio_v_y  = bookScatter2D(13,1,1);
-        _hist_Ratio_v_pT = bookScatter2D(14,1,1);
-        /// @todo YODA
-        //_temp_lambda_v_y.reset(    new LWH::Histogram1D(10, 0.0, 2.5));
-        //_temp_lambdabar_v_y.reset( new LWH::Histogram1D(10, 0.0, 2.5));
-        //_temp_lambda_v_pT.reset(   new LWH::Histogram1D(18, 0.5, 4.1));
-        //_temp_lambdabar_v_pT.reset(new LWH::Histogram1D(18, 0.5, 4.1));
+      if (fuzzyEquals(sqrtS()*GeV, 7000, 1e-3)) {
+        _hist_Ks_pT      = bookHisto1D(1, 1, 1);
+        _hist_Ks_y       = bookHisto1D(2, 1, 1);
+        _hist_Ks_mult    = bookHisto1D(3, 1, 1);
+        _hist_L_pT       = bookHisto1D(7, 1, 1);
+        _hist_L_y        = bookHisto1D(8, 1, 1);
+        _hist_L_mult     = bookHisto1D(9, 1, 1);
+        _hist_Ratio_v_y  = bookScatter2D(13, 1, 1);
+        _hist_Ratio_v_pT = bookScatter2D(14, 1, 1);
+        //
+        _temp_lambda_v_y = Histo1D(10, 0.0, 2.5);
+        _temp_lambdabar_v_y = Histo1D(10, 0.0, 2.5);
+        _temp_lambda_v_pT = Histo1D(18, 0.5, 4.1);
+        _temp_lambdabar_v_pT = Histo1D(18, 0.5, 4.1);
       }
       else if (fuzzyEquals(sqrtS()*GeV, 900, 1E-3)) {
-        _hist_Ks_pT   = bookHisto1D(4,1,1);
-        _hist_Ks_y    = bookHisto1D(5,1,1);
-        _hist_Ks_mult = bookHisto1D(6,1,1);
-        _hist_L_pT    = bookHisto1D(10,1,1);
-        _hist_L_y     = bookHisto1D(11,1,1);
-        _hist_L_mult  = bookHisto1D(12,1,1);
-        _hist_Ratio_v_y      = bookScatter2D(15,1,1);
-        _hist_Ratio_v_pT     = bookScatter2D(16,1,1);
-        /// @todo YODA
-        //_temp_lambda_v_y.reset(    new LWH::Histogram1D(5, 0.0, 2.5));
-        //_temp_lambdabar_v_y.reset( new LWH::Histogram1D(5, 0.0, 2.5));
-        //_temp_lambda_v_pT.reset(   new LWH::Histogram1D(8, 0.5, 3.7));
-        //_temp_lambdabar_v_pT.reset(new LWH::Histogram1D(8, 0.5, 3.7));
+        _hist_Ks_pT   = bookHisto1D(4, 1, 1);
+        _hist_Ks_y    = bookHisto1D(5, 1, 1);
+        _hist_Ks_mult = bookHisto1D(6, 1, 1);
+        _hist_L_pT    = bookHisto1D(10, 1, 1);
+        _hist_L_y     = bookHisto1D(11, 1, 1);
+        _hist_L_mult  = bookHisto1D(12, 1, 1);
+        _hist_Ratio_v_y      = bookScatter2D(15, 1, 1);
+        _hist_Ratio_v_pT     = bookScatter2D(16, 1, 1);
+        //
+        _temp_lambda_v_y = Histo1D(5, 0.0, 2.5);
+        _temp_lambdabar_v_y = Histo1D(5, 0.0, 2.5);
+        _temp_lambda_v_pT = Histo1D(8, 0.5, 3.7);
+        _temp_lambdabar_v_pT = Histo1D(8, 0.5, 3.7);
       }
     }
 
@@ -89,6 +89,7 @@
         double dx = prodPos.x() - decPos.x();
         return add_quad(dx, dy);
       }
+      /// @todo Yuck... prefer limits<double>::max()
       else return 9999999.;
     }
 
@@ -171,7 +172,7 @@
 
         case PID::K0S:
           flightd = getPerpFlightDistance(p);
-          if (!inRange(flightd, 4., 450.) ) { //< @todo Need units
+          if (!inRange(flightd/mm, 4., 450.) ) {
             MSG_DEBUG("Kaon failed flight distance cut:" << flightd);
             break;
           }
@@ -189,24 +190,21 @@
             break;
           }
           flightd = getPerpFlightDistance(p);
-          if (!inRange(flightd, 17., 450.)) { //< @todo Need units
-            MSG_DEBUG("Lambda failed flight distance cut:" << flightd);
+          if (!inRange(flightd/mm, 17., 450.)) {
+            MSG_DEBUG("Lambda failed flight distance cut:" << flightd/mm << " mm");
             break;
           }
           if ( daughtersSurviveCuts(p) ) {
             if (p.pdgId() == PID::LAMBDA) {
-              /// @todo YODA
-              //_temp_lambda_v_y    ->fill(fabs(y), weight);
-              //_temp_lambda_v_pT   ->fill(pT,      weight);
+              _temp_lambda_v_y.fill(fabs(y), weight);
+              _temp_lambda_v_pT.fill(pT/GeV, weight);
               _hist_L_y->fill(y, weight);
               _hist_L_pT->fill(pT/GeV, weight);
               _sum_w_lambda += weight;
               n_LAMBDA++;
-            }
-            else if (p.pdgId() == -PID::LAMBDA) {
-              /// @todo YODA
-              //_temp_lambdabar_v_y ->fill(fabs(y), weight);
-              //_temp_lambdabar_v_pT->fill(pT,      weight);
+            } else if (p.pdgId() == -PID::LAMBDA) {
+             _temp_lambdabar_v_y.fill(fabs(y), weight);
+              _temp_lambdabar_v_pT.fill(pT/GeV, weight);
             }
           }
           break;
@@ -223,54 +221,44 @@
 
     /// Normalise histograms etc., after the run
     void finalize() {
-      MSG_INFO("Events that pass the trigger: " << _sum_w_passed);
-      MSG_INFO("Kshort events: " << _sum_w_ks);
-      MSG_INFO("Lambda events: " << _sum_w_lambda);
+      MSG_DEBUG("# Events that pass the trigger: " << _sum_w_passed);
+      MSG_DEBUG("# Kshort events: " << _sum_w_ks);
+      MSG_DEBUG("# Lambda events: " << _sum_w_lambda);
 
+      /// @todo Replace with normalize()?
       scale(_hist_Ks_pT,   1.0/_sum_w_ks);
       scale(_hist_Ks_y,    1.0/_sum_w_ks);
       scale(_hist_Ks_mult, 1.0/_sum_w_passed);
 
+      /// @todo Replace with normalize()?
       scale(_hist_L_pT,   1.0/_sum_w_lambda);
       scale(_hist_L_y,    1.0/_sum_w_lambda);
       scale(_hist_L_mult, 1.0/_sum_w_passed);
 
-      /// @todo YODA
-      //// Division of histograms to obtain lambdabar/lambda ratios
-      //if (fuzzyEquals(sqrtS()*GeV, 7000, 1E-3)) {
-      //  histogramFactory().divide(histoPath("d13-x01-y01"),  *_temp_lambdabar_v_y, *_temp_lambda_v_y );
-      //  histogramFactory().divide(histoPath("d14-x01-y01"), *_temp_lambdabar_v_pT, *_temp_lambda_v_pT);
-      //}
-      //else if (fuzzyEquals(sqrtS()*GeV, 900, 1E-3)) {
-      //  histogramFactory().divide(histoPath("d15-x01-y01"),  *_temp_lambdabar_v_y, *_temp_lambda_v_y );
-      //  histogramFactory().divide(histoPath("d16-x01-y01"), *_temp_lambdabar_v_pT, *_temp_lambda_v_pT);
-      //}
+      // Division of histograms to obtain lambda_bar/lambda ratios
+      divide(_temp_lambdabar_v_y, _temp_lambda_v_y, _hist_Ratio_v_y);
+      divide(_temp_lambdabar_v_pT, _temp_lambda_v_pT, _hist_Ratio_v_pT);
     }
 
 
-
   private:
 
-    // Data members like post-cuts event weight counters go here
-    double _sum_w_ks    ;
-    double _sum_w_lambda;
-    double _sum_w_passed;
-
-    /// @name Histograms
-    Histo1DPtr _hist_Ks_pT;
-    Histo1DPtr _hist_Ks_y;
-    Histo1DPtr _hist_Ks_mult;
-
-    Histo1DPtr _hist_L_pT;
-    Histo1DPtr _hist_L_y;
-    Histo1DPtr _hist_L_mult;
-
-    Scatter2DPtr _hist_Ratio_v_pT;
-    Scatter2DPtr _hist_Ratio_v_y;
-
-    /// @todo YODA
-    //shared_ptr<LWH::Histogram1D> _temp_lambda_v_y,  _temp_lambdabar_v_y;
-    //shared_ptr<LWH::Histogram1D> _temp_lambda_v_pT, _temp_lambdabar_v_pT;
+    /// Counters
+    double _sum_w_ks, _sum_w_lambda, _sum_w_passed;
+
+    /// @name Persistent histograms
+    //@{
+    Histo1DPtr _hist_Ks_pT, _hist_Ks_y, _hist_Ks_mult;
+    Histo1DPtr _hist_L_pT, _hist_L_y, _hist_L_mult;
+    Scatter2DPtr _hist_Ratio_v_pT, _hist_Ratio_v_y;
+    //@}
+
+    /// @name Temporary histograms
+    //@{
+    Histo1D _temp_lambda_v_y, _temp_lambdabar_v_y;
+    Histo1D _temp_lambda_v_pT, _temp_lambdabar_v_pT;
+    //@}
+
   };
 
 

Modified: trunk/src/Analyses/DELPHI_2000_S4328825.cc
==============================================================================
--- trunk/src/Analyses/DELPHI_2000_S4328825.cc	Mon May 13 21:19:10 2013	(r4273)
+++ trunk/src/Analyses/DELPHI_2000_S4328825.cc	Tue May 14 17:41:02 2013	(r4274)
@@ -92,39 +92,30 @@
 
 
     void finalize() {
-      // @todo YODA
-      //// bottom
-      //const double avgNumPartsBottom = _weightedTotalChargedPartNumBottom / _weightBottom;
-      //AIDA::IDataPointSet * multB = bookDataPointSet(1, 1, 1);
-      //for (int i = 0; i < multB->size(); ++i) {
-      //  if (fuzzyEquals(sqrtS(), multB->point(i)->coordinate(0)->value(), 0.01)) {
-      //    multB->point(i)->coordinate(1)->setValue(avgNumPartsBottom);
-      //  }
-      //}
-      //// charm
-      //const double avgNumPartsCharm = _weightedTotalChargedPartNumCharm / _weightCharm;
-      //AIDA::IDataPointSet * multC = bookDataPointSet(1, 1, 2);
-      //for (int i = 0; i < multC->size(); ++i) {
-      //  if (fuzzyEquals(sqrtS(), multC->point(i)->coordinate(0)->value(), 0.01)) {
-      //    multC->point(i)->coordinate(1)->setValue(avgNumPartsCharm);
-      //  }
-      //}
-      //// light
-      //const double avgNumPartsLight = _weightedTotalChargedPartNumLight / _weightLight;
-      //AIDA::IDataPointSet * multL = bookDataPointSet(1, 1, 3);
-      //for (int i = 0; i < multL->size(); ++i) {
-      //  if (fuzzyEquals(sqrtS(), multL->point(i)->coordinate(0)->value(), 0.01)) {
-      //    multL->point(i)->coordinate(1)->setValue(avgNumPartsLight);
-      //  }
-      //}
-      //// bottom-light
-      //AIDA::IDataPointSet * multD = bookDataPointSet(1, 1, 4);
-      //for (int i = 0; i < multD->size(); ++i) {
-      //  if (fuzzyEquals(sqrtS(), multD->point(i)->coordinate(0)->value(), 0.01)) {
-      //    multD->point(i)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
-      //  }
-      //}
+      // Bottom
+      const double avgNumPartsBottom = _weightedTotalChargedPartNumBottom / _weightBottom;
+      foreach (Point2D& p, bookScatter2D(1, 1, 1)->points()) {
+        if (fuzzyEquals(sqrtS()/GeV, p.x(), 0.01)) p.setY(avgNumPartsBottom);
+      }
+
+      // Charm
+      const double avgNumPartsCharm = _weightedTotalChargedPartNumCharm / _weightCharm;
+      foreach (Point2D& p, bookScatter2D(1, 1, 2)->points()) {
+        if (fuzzyEquals(sqrtS()/GeV, p.x(), 0.01)) p.setY(avgNumPartsCharm);
+      }
+
+      // Light
+      const double avgNumPartsLight = _weightedTotalChargedPartNumLight / _weightLight;
+      foreach (Point2D& p, bookScatter2D(1, 1, 3)->points()) {
+        if (fuzzyEquals(sqrtS()/GeV, p.x(), 0.01)) p.setY(avgNumPartsLight);
+      }
+
+      // Bottom-light
+      foreach (Point2D& p, bookScatter2D(1, 1, 4)->points()) {
+        if (fuzzyEquals(sqrtS()/GeV, p.x(), 0.01)) p.setY(avgNumPartsBottom - avgNumPartsLight);
+      }
     }
+
     //@}
 
 
@@ -145,6 +136,7 @@
     //@}
   };
 
+
   // The hook for the plugin system
   DECLARE_RIVET_PLUGIN(DELPHI_2000_S4328825);
 

Modified: trunk/src/Analyses/MC_JetAnalysis.cc
==============================================================================
--- trunk/src/Analyses/MC_JetAnalysis.cc	Mon May 13 21:19:10 2013	(r4273)
+++ trunk/src/Analyses/MC_JetAnalysis.cc	Tue May 14 17:41:02 2013	(r4274)
@@ -15,7 +15,7 @@
       _h_pT_jet(njet),
       _h_eta_jet(njet), _h_eta_jet_plus(njet), _h_eta_jet_minus(njet),
       _h_rap_jet(njet), _h_rap_jet_plus(njet), _h_rap_jet_minus(njet),
-     _h_mass_jet(njet)
+      _h_mass_jet(njet)
   {
     setNeedsCrossSection(true); // legitimate use, since a base class has no .info file!
   }
@@ -152,13 +152,8 @@
       scale(_h_rap_jet[i], crossSection()/sumOfWeights());
 
       // Create eta/rapidity ratio plots
-      stringstream etaname;
-      etaname << "jet_eta_pmratio_" << i+1;
-      // \todo YODA divide
-      // histogramFactory().divide(histoPath(etaname.str()), *_h_eta_jet_plus[i], *_h_eta_jet_minus[i]);
-      stringstream rapname;
-      rapname << "jet_y_pmratio_" << i+1;
-      // histogramFactory().divide(histoPath(rapname.str()), *_h_rap_jet_plus[i], *_h_rap_jet_minus[i]);
+      divide(*_h_eta_jet_plus[i], *_h_eta_jet_minus[i], bookScatter2D("jet_eta_pmratio_" + lexical_cast<string>(i+1)));
+      divide(*_h_rap_jet_plus[i], *_h_rap_jet_minus[i], bookScatter2D("jet_y_pmratio_" + lexical_cast<string>(i+1)));
     }
 
     // Scale the d{eta,R} histograms
@@ -181,10 +176,9 @@
         double relerr_i = _h_jet_multi_inclusive->bin(i).areaErr()/_h_jet_multi_inclusive->bin(i).area();
         double relerr_j = _h_jet_multi_inclusive->bin(i+1).areaErr()/_h_jet_multi_inclusive->bin(i+1).area();
         double err = ratio * (relerr_i + relerr_j);
-
-	Point2D & pt = _h_jet_multi_ratio->point(i);
-	pt.setY(ratio);
-	pt.setYErr(err);
+        Point2D & pt = _h_jet_multi_ratio->point(i);
+        pt.setY(ratio);
+        pt.setYErr(err);
       }
     }
 

Modified: trunk/src/Analyses/SLD_2004_S5693039.cc
==============================================================================
--- trunk/src/Analyses/SLD_2004_S5693039.cc	Mon May 13 21:19:10 2013	(r4273)
+++ trunk/src/Analyses/SLD_2004_S5693039.cc	Tue May 14 17:41:02 2013	(r4274)
@@ -209,7 +209,8 @@
       addProjection(ChargedFinalState(), "FS");
       addProjection(InitialQuarks(), "IQF");
       addProjection(Thrust(FinalState()), "Thrust");
-      // histograms
+
+      // Book histograms
       _histPCharged   = bookHisto1D( 1, 1, 1);
       _histXpPiPlus   = bookHisto1D( 2, 1, 2);
       _histXpKPlus    = bookHisto1D( 3, 1, 2);
@@ -256,83 +257,73 @@
 
     /// Finalize
     void finalize() {
-      // @todo YODA
-      //// multiplicities
-      //// bottom
-      //const double avgNumPartsBottom = _weightedTotalChargedPartNumBottom / _weightBottom;
-      //AIDA::IDataPointSet * multB = bookDataPointSet(8, 2, 3);
-      //multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
-      //// charm
-      //const double avgNumPartsCharm = _weightedTotalChargedPartNumCharm / _weightCharm;
-      //AIDA::IDataPointSet * multC = bookDataPointSet(8, 2, 2);
-      //multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
-      //// light
-      //const double avgNumPartsLight = _weightedTotalChargedPartNumLight / _weightLight;
-      //AIDA::IDataPointSet * multL = bookDataPointSet(8, 2, 1);
-      //multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
-      //// charm-light
-      //AIDA::IDataPointSet * multD1 = bookDataPointSet(8, 3, 2);
-      //multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
-      //// bottom-light
-      //AIDA::IDataPointSet * multD2 = bookDataPointSet(8, 3, 3);
-      //multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
-
-
-      divide(*_histRPiMinus - *_histRPiPlus,*_histRPiMinus + *_histRPiPlus,
-	     _h_PiM_PiP);
-
-      divide(*_histRKMinus - *_histRKPlus,*_histRKMinus + *_histRKPlus,
-	     _h_KM_KP);
-
-      divide(*_histRProton - *_histRPBar,*_histRProton + *_histRPBar,
-	     _h_Pr_PBar);
-
-      // histograms
-      Analysis::scale(_histPCharged   ,1./sumOfWeights());
-      Analysis::scale(_histXpPiPlus   ,1./sumOfWeights());
-      Analysis::scale(_histXpKPlus    ,1./sumOfWeights());
-      Analysis::scale(_histXpProton   ,1./sumOfWeights());
-      Analysis::scale(_histXpPiPlusTotal ,1./sumOfWeights());
-      Analysis::scale(_histXpKPlusTotal  ,1./sumOfWeights());
-      Analysis::scale(_histXpProtonTotal ,1./sumOfWeights());
-      Analysis::scale(_histXpPiPlusL  ,1./_weightLight);
-      Analysis::scale(_histXpPiPlusC  ,1./_weightCharm);
-      Analysis::scale(_histXpPiPlusB  ,1./_weightBottom);
-      Analysis::scale(_histXpKPlusL   ,1./_weightLight);
-      Analysis::scale(_histXpKPlusC   ,1./_weightCharm);
-      Analysis::scale(_histXpKPlusB   ,1./_weightBottom);
-      Analysis::scale(_histXpProtonL  ,1./_weightLight);
-      Analysis::scale(_histXpProtonC  ,1./_weightCharm);
-      Analysis::scale(_histXpProtonB  ,1./_weightBottom);
-
-      Analysis::scale(_histXpChargedL ,1./_weightLight);
-      Analysis::scale(_histXpChargedC ,1./_weightCharm);
-      Analysis::scale(_histXpChargedB ,1./_weightBottom);
-
-      Analysis::scale(_multPiPlusL   ,1./_weightLight);
-      Analysis::scale(_multPiPlusC   ,1./_weightCharm);
-      Analysis::scale(_multPiPlusB   ,1./_weightBottom);
-      Analysis::scale(_multKPlusL    ,1./_weightLight);
-      Analysis::scale(_multKPlusC    ,1./_weightCharm);
-      Analysis::scale(_multKPlusB    ,1./_weightBottom);
-      Analysis::scale(_multProtonL   ,1./_weightLight);
-      Analysis::scale(_multProtonC   ,1./_weightCharm);
-      Analysis::scale(_multProtonB   ,1./_weightBottom);
-
-      // paper suggests this should be 0.5/weight but has to be 1.
-      // to get normalisations right
-      Analysis::scale(_histRPiPlus ,1./_weightLight);
-      Analysis::scale(_histRPiMinus,1./_weightLight);
-      Analysis::scale(_histRKPlus  ,1./_weightLight);
-      Analysis::scale(_histRKMinus ,1./_weightLight);
-      Analysis::scale(_histRProton ,1./_weightLight);
-      Analysis::scale(_histRPBar   ,1./_weightLight);
 
+      // Multiplicities
+      /// @todo Errors
+      // Bottom
+      const double avgNumPartsBottom = _weightedTotalChargedPartNumBottom / _weightBottom;
+      bookScatter2D(8, 2, 3)->point(0).setY(avgNumPartsBottom);
+      // Charm
+      const double avgNumPartsCharm = _weightedTotalChargedPartNumCharm / _weightCharm;
+      bookScatter2D(8, 2, 2)->point(0).setY(avgNumPartsCharm);
+      // Light
+      const double avgNumPartsLight = _weightedTotalChargedPartNumLight / _weightLight;
+      bookScatter2D(8, 2, 1)->point(0).setY(avgNumPartsLight);
+      // Charm - light
+      bookScatter2D(8, 3, 2)->point(0).setY(avgNumPartsCharm - avgNumPartsLight);
+      // Bottom - light
+      bookScatter2D(8, 3, 3)->point(0).setY(avgNumPartsBottom - avgNumPartsLight);
+
+      // Do divisions
+      divide(*_histRPiMinus - *_histRPiPlus, *_histRPiMinus + *_histRPiPlus, _h_PiM_PiP);
+      divide(*_histRKMinus - *_histRKPlus, *_histRKMinus + *_histRKPlus, _h_KM_KP);
+      divide(*_histRProton - *_histRPBar, *_histRProton + *_histRPBar, _h_Pr_PBar);
+
+      // Scale histograms
+      scale(_histPCharged,      1./sumOfWeights());
+      scale(_histXpPiPlus,      1./sumOfWeights());
+      scale(_histXpKPlus,       1./sumOfWeights());
+      scale(_histXpProton,      1./sumOfWeights());
+      scale(_histXpPiPlusTotal, 1./sumOfWeights());
+      scale(_histXpKPlusTotal,  1./sumOfWeights());
+      scale(_histXpProtonTotal, 1./sumOfWeights());
+      scale(_histXpPiPlusL,     1./_weightLight);
+      scale(_histXpPiPlusC,     1./_weightCharm);
+      scale(_histXpPiPlusB,     1./_weightBottom);
+      scale(_histXpKPlusL,      1./_weightLight);
+      scale(_histXpKPlusC,      1./_weightCharm);
+      scale(_histXpKPlusB,      1./_weightBottom);
+      scale(_histXpProtonL,     1./_weightLight);
+      scale(_histXpProtonC,     1./_weightCharm);
+      scale(_histXpProtonB,     1./_weightBottom);
+
+      scale(_histXpChargedL, 1./_weightLight);
+      scale(_histXpChargedC, 1./_weightCharm);
+      scale(_histXpChargedB, 1./_weightBottom);
+
+      scale(_multPiPlusL, 1./_weightLight);
+      scale(_multPiPlusC, 1./_weightCharm);
+      scale(_multPiPlusB, 1./_weightBottom);
+      scale(_multKPlusL,  1./_weightLight);
+      scale(_multKPlusC,  1./_weightCharm);
+      scale(_multKPlusB,  1./_weightBottom);
+      scale(_multProtonL, 1./_weightLight);
+      scale(_multProtonC, 1./_weightCharm);
+      scale(_multProtonB, 1./_weightBottom);
+
+      // Paper suggests this should be 0.5/weight but it has to be 1.0 to get normalisations right...
+      scale(_histRPiPlus,  1./_weightLight);
+      scale(_histRPiMinus, 1./_weightLight);
+      scale(_histRKPlus,   1./_weightLight);
+      scale(_histRKMinus,  1./_weightLight);
+      scale(_histRProton,  1./_weightLight);
+      scale(_histRPBar,    1./_weightLight);
     }
+
     //@}
 
-  private:
 
+  private:
 
     /// @name Multiplicities
     //@{
@@ -350,92 +341,25 @@
 
     // Histograms
     //@{
-    Histo1DPtr _histPCharged  ;
-    Histo1DPtr _histXpPiPlus  ;
-    Histo1DPtr _histXpKPlus   ;
-    Histo1DPtr _histXpProton  ;
-    Histo1DPtr _histXpPiPlusTotal;
-    Histo1DPtr _histXpKPlusTotal ;
-    Histo1DPtr _histXpProtonTotal;
-    Histo1DPtr _histXpPiPlusL ;
-    Histo1DPtr _histXpPiPlusC ;
-    Histo1DPtr _histXpPiPlusB ;
-    Histo1DPtr _histXpKPlusL  ;
-    Histo1DPtr _histXpKPlusC  ;
-    Histo1DPtr _histXpKPlusB  ;
-    Histo1DPtr _histXpProtonL ;
-    Histo1DPtr _histXpProtonC ;
-    Histo1DPtr _histXpProtonB ;
-    Histo1DPtr _histXpChargedL;
-    Histo1DPtr _histXpChargedC;
-    Histo1DPtr _histXpChargedB;
-    Histo1DPtr _multPiPlusL ;
-    Histo1DPtr _multPiPlusC ;
-    Histo1DPtr _multPiPlusB ;
-    Histo1DPtr _multKPlusL  ;
-    Histo1DPtr _multKPlusC  ;
-    Histo1DPtr _multKPlusB  ;
-    Histo1DPtr _multProtonL ;
-    Histo1DPtr _multProtonC ;
-    Histo1DPtr _multProtonB ;
-    Histo1DPtr _histRPiPlus ;
-    Histo1DPtr _histRPiMinus;
-    Histo1DPtr _histRKPlus  ;
-    Histo1DPtr _histRKMinus ;
-    Histo1DPtr _histRProton ;
-    Histo1DPtr _histRPBar   ;
-
-    Scatter2DPtr _h_PiM_PiP;
-    Scatter2DPtr _h_KM_KP;
-    Scatter2DPtr _h_Pr_PBar;
-
+    Histo1DPtr _histPCharged;
+    Histo1DPtr _histXpPiPlus, _histXpKPlus, _histXpProton;
+    Histo1DPtr _histXpPiPlusTotal, _histXpKPlusTotal, _histXpProtonTotal;
+    Histo1DPtr _histXpPiPlusL, _histXpPiPlusC, _histXpPiPlusB;
+    Histo1DPtr _histXpKPlusL, _histXpKPlusC, _histXpKPlusB;
+    Histo1DPtr _histXpProtonL, _histXpProtonC, _histXpProtonB;
+    Histo1DPtr _histXpChargedL, _histXpChargedC, _histXpChargedB;
+    Histo1DPtr _multPiPlusL, _multPiPlusC, _multPiPlusB;
+    Histo1DPtr _multKPlusL, _multKPlusC, _multKPlusB;
+    Histo1DPtr _multProtonL, _multProtonC, _multProtonB;
+    Histo1DPtr _histRPiPlus, _histRPiMinus, _histRKPlus;
+    Histo1DPtr _histRKMinus, _histRProton, _histRPBar;
+    Scatter2DPtr _h_PiM_PiP, _h_KM_KP, _h_Pr_PBar;
     //@}
 
-    // @todo YODA
-    //void scale(AIDA::IDataPointSet*& histo, double scale) {
-    //  if (!histo) {
-    //    MSG_ERROR("Failed to scale histo=NULL in analysis "
-    //              << name() << " (scale=" << scale << ")");
-    //    return;
-    //  }
-    //  const string hpath = tree().findPath(dynamic_cast<const AIDA::IManagedObject&>(*histo));
-    //  MSG_TRACE("Scaling histo " << hpath);
-
-    //  vector<double> x, y, ex, ey;
-    //  for (size_t i = 0, N = histo->size(); i < N; ++i) {
-
-    //    IDataPoint * point = histo->point(i);
-    //    assert(point->dimension()==2);
-    //    x .push_back(point->coordinate(0)->value());
-    //    ex.push_back(0.5*(point->coordinate(0)->errorPlus()+
-    //                      point->coordinate(0)->errorMinus()));
-    //    y .push_back(point->coordinate(1)->value()*scale);
-    //    ey.push_back(0.5*scale*(point->coordinate(1)->errorPlus()+
-    //                            point->coordinate(1)->errorMinus()));
-    //  }
-    //  string title = histo->title();
-    //  string xtitle = histo->xtitle();
-    //  string ytitle = histo->ytitle();
-
-    //  tree().mkdir("/tmpnormalize");
-    //  tree().mv(hpath, "/tmpnormalize");
-
-    //  if (hpath.find(" ") != string::npos) {
-    //    throw Error("Histogram path '" + hpath + "' is invalid: spaces are not permitted in paths");
-    //  }
-    //  AIDA::IDataPointSet* dps = datapointsetFactory().createXY(hpath, title, x, y, ex, ey);
-    //  dps->setXTitle(xtitle);
-    //  dps->setYTitle(ytitle);
-
-    //  tree().rm(tree().findPath(dynamic_cast<AIDA::IManagedObject&>(*histo)));
-    //  tree().rmdir("/tmpnormalize");
-
-    //  // Set histo pointer to null - it can no longer be used.
-    //  histo = 0;
-    //}
   };
 
-  // The hook for the plugin system
+
+  // Hook for the plugin system
   DECLARE_RIVET_PLUGIN(SLD_2004_S5693039);
 
 }


More information about the Rivet-svn mailing list