[Rivet-svn] r3678 - in trunk: data/anainfo data/plotinfo data/refdata src/Analyses

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Sat Apr 14 15:48:05 BST 2012


Author: richardn
Date: Sat Apr 14 15:48:04 2012
New Revision: 3678

Log:
added missing leading particle distributions

Modified:
   trunk/data/anainfo/SLD_1999_S3743934.info
   trunk/data/anainfo/SLD_2004_S5693039.info
   trunk/data/plotinfo/SLD_1999_S3743934.plot
   trunk/data/plotinfo/SLD_2004_S5693039.plot
   trunk/data/refdata/SLD_1999_S3743934.aida
   trunk/src/Analyses/SLD_1999_S3743934.cc
   trunk/src/Analyses/SLD_2004_S5693039.cc

Modified: trunk/data/anainfo/SLD_1999_S3743934.info
==============================================================================
--- trunk/data/anainfo/SLD_1999_S3743934.info	Fri Apr 13 09:47:49 2012	(r3677)
+++ trunk/data/anainfo/SLD_1999_S3743934.info	Sat Apr 14 15:48:04 2012	(r3678)
@@ -20,9 +20,7 @@
   Measurement of scaled momentum distributions and fragmentation functions
   in flavour tagged events at SLC. SLD measured these
   observables in uds-, c-, and b-events separately. An inclusive
-  measurement is also included. The measurements of leading particles, and
-  differences between particles and antiparticles need polarized beams
-  and are currently omitted.
+  measurement is also included.
 BibKey: Abe:1998zs
 BibTeX: '@Article{Abe:1998zs,
      author    = "Abe, K. and others",

Modified: trunk/data/anainfo/SLD_2004_S5693039.info
==============================================================================
--- trunk/data/anainfo/SLD_2004_S5693039.info	Fri Apr 13 09:47:49 2012	(r3677)
+++ trunk/data/anainfo/SLD_2004_S5693039.info	Sat Apr 14 15:48:04 2012	(r3678)
@@ -18,9 +18,7 @@
 PtCuts: [0]
 Description: Measurements of the differential production rates of stable charged particles in hadronic $Z^0$ decays, and of charged pions,
    kaons and protons identified over a wide momentum range. In addition to flavour-inclusive $Z^0$ decays, measurements are made for $Z^0$
-   decays into light ($u$, $d$, $s$), $c$ and $b$ primary flavors. The measurements of leading particles, and
-  differences between particles and antiparticles need polarized beams
-  and are currently omitted.
+   decays into light ($u$, $d$, $s$), $c$ and $b$ primary flavors.
 BibKey: Abe:2003iy
 BibTeX: '@Article{Abe:2003iy,
      author    = "Abe, Koya and others",

Modified: trunk/data/plotinfo/SLD_1999_S3743934.plot
==============================================================================
--- trunk/data/plotinfo/SLD_1999_S3743934.plot	Fri Apr 13 09:47:49 2012	(r3677)
+++ trunk/data/plotinfo/SLD_1999_S3743934.plot	Sat Apr 14 15:48:04 2012	(r3678)
@@ -89,7 +89,6 @@
 XLabel=$x_p$
 YLabel=$\text{d}N/\text{d}x_p$
 # END PLOT
-
 # BEGIN PLOT /SLD_1999_S3743934/d12-x01-y01
 Title=$K^+$ scaled momentum, (uds) events
 XLabel=$x_p$
@@ -245,3 +244,527 @@
 XLabel=$x_p$
 YLabel=$\text{d}N/\text{d}x_p$
 # END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d26-x01-y01
+Title=$R^q_{\pi^+}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to\pi^+)+N(\bar q\to\pi^-)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\pi^+}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d26-x01-y02
+Title=$R^q_{\pi^-}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to\pi^-)+N(\bar q\to\pi^+)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\pi^-}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d27-x01-y01
+Title=$D^q_{\pi^-}=(R^q_{\pi^-}-R^q_{\pi^+})/(R^q_{\pi^-}+R^q_{\pi^+})$
+XLabel=$x_p$
+YLabel=$D^q_{\pi^-}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d28-x01-y01
+Title=$R^q_{K^{*0}}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to K^{*0})+N(\bar q\to \bar K^{*0})\right]$
+XLabel=$x_p$
+YLabel=$R^q_{K^{*0}}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d28-x01-y02
+Title=$R^q_{\bar K^{*0}}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to \bar K^{*0})+N(\bar q\to K^{*0})\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\bar K^{*0}}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d29-x01-y01
+Title=$D^q_{\bar K^{*0}}=(R^q_{\bar K^{*0}}-R^q_{K^{*0}})/(R^q_{\bar K^{*0}}+R^q_{K^{*0}})$
+XLabel=$x_p$
+YLabel=$D^q_{\bar K^{*0}}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d30-x01-y01
+Title=$R^q_{K^+}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to K^+)+N(\bar q\to K^-)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{K^+}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d30-x01-y02
+Title=$R^q_{K^-}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to K^-)+N(\bar q\to K^+)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{K^-}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d31-x01-y01
+Title=$D^q_{K^-}=(R^q_{K^-}-R^q_{K^+})/(R^q_{K^-}+R^q_{K^+})$
+XLabel=$x_p$
+YLabel=$D^q_{K^-}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d32-x01-y01
+Title=$R^q_{p}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to p)+N(\bar q\to \bar p)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{p}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d32-x01-y02
+Title=$R^q_{\bar p}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to \bar p)+N(\bar q\to p)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\bar p}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d33-x01-y01
+Title=$D^q_{p}=(R^q_{p}-R^q_{\bar p})/(R^q_{p}+R^q_{\bar p})$
+XLabel=$x_p$
+YLabel=$D^q_{p}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d34-x01-y01
+Title=$R^q_{\Lambda^0}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to \Lambda^0)+N(\bar q\to \bar \Lambda^0)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\Lambda^0}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d34-x01-y02
+Title=$R^q_{\bar \Lambda^0}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to \bar \Lambda^0)+N(\bar q\to \Lambda^0)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\bar \Lambda^0}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d35-x01-y01
+Title=$D^q_{\Lambda^0}=(R^q_{\Lambda^0}-R^q_{\bar \Lambda^0})/(R^q_{\Lambda^0}+R^q_{\bar \Lambda^0})$
+XLabel=$x_p$
+YLabel=$D^q_{\Lambda^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d24-x01-y01
+Title=Multiplicity of $\pi^\pm$
+XLabel=
+YLabel=$N_{\pi^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x02-y01
+Title=Multiplicity of $K^\pm$
+XLabel=
+YLabel=$N_{K^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x03-y01
+Title=Multiplicity of $K^0,\bar K^0$
+XLabel=
+YLabel=$N_{K^0,\bar K^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x04-y01
+Title=Multiplicity of $K^{*0},\bar K^{*0}$
+XLabel=
+YLabel=$N_{K^{*0},\bar K^{*0}}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x05-y01
+Title=Multiplicity of $\phi$
+XLabel=
+YLabel=$N_{\phi}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x06-y01
+Title=Multiplicity of $p,\bar p$
+XLabel=
+YLabel=$N_{p,\bar p}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x07-y01
+Title=Multiplicity of $\Lambda^0, \bar \Lambda^0$
+XLabel=
+YLabel=$N_{\Lambda^0, \bar \Lambda^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d24-x01-y02
+Title=Multiplicity of $\pi^\pm$ in ($uds$) events
+XLabel=
+YLabel=$N_{\pi^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x02-y02
+Title=Multiplicity of $K^\pm$ in ($uds$) events
+XLabel=
+YLabel=$N_{K^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x03-y02
+Title=Multiplicity of $K^0,\bar K^0$ in ($uds$) events
+XLabel=
+YLabel=$N_{K^0,\bar K^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x04-y02
+Title=Multiplicity of $K^{*0},\bar K^{*0}$ in ($uds$) events
+XLabel=
+YLabel=$N_{K^{*0},\bar K^{*0}}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x05-y02
+Title=Multiplicity of $\phi$ in ($uds$) events
+XLabel=
+YLabel=$N_{\phi}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x06-y02
+Title=Multiplicity of $p,\bar p$ in ($uds$) events
+XLabel=
+YLabel=$N_{p,\bar p}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x07-y02
+Title=Multiplicity of $\Lambda^0, \bar \Lambda^0$ in ($uds$) events
+XLabel=
+YLabel=$N_{\Lambda^0, \bar \Lambda^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d24-x01-y03
+Title=Multiplicity of $\pi^\pm$ in $c$ events
+XLabel=
+YLabel=$N_{\pi^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x02-y03
+Title=Multiplicity of $K^\pm$ in $c$ events
+XLabel=
+YLabel=$N_{K^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x03-y03
+Title=Multiplicity of $K^0,\bar K^0$ in $c$ events
+XLabel=
+YLabel=$N_{K^0,\bar K^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x04-y03
+Title=Multiplicity of $K^{*0},\bar K^{*0}$ in $c$ events
+XLabel=
+YLabel=$N_{K^{*0},\bar K^{*0}}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x05-y03
+Title=Multiplicity of $\phi$ in $c$ events
+XLabel=
+YLabel=$N_{\phi}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x06-y03
+Title=Multiplicity of $p,\bar p$ in $c$ events
+XLabel=
+YLabel=$N_{p,\bar p}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x07-y03
+Title=Multiplicity of $\Lambda^0, \bar \Lambda^0$ in $c$ events
+XLabel=
+YLabel=$N_{\Lambda^0, \bar \Lambda^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d24-x01-y04
+Title=Multiplicity of $\pi^\pm$ in $b$ events
+XLabel=
+YLabel=$N_{\pi^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x02-y04
+Title=Multiplicity of $K^\pm$ in $b$ events
+XLabel=
+YLabel=$N_{K^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x03-y04
+Title=Multiplicity of $K^0,\bar K^0$ in $b$ events
+XLabel=
+YLabel=$N_{K^0,\bar K^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x04-y04
+Title=Multiplicity of $K^{*0},\bar K^{*0}$ in $b$ events
+XLabel=
+YLabel=$N_{K^{*0},\bar K^{*0}}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x05-y04
+Title=Multiplicity of $\phi$ in $b$ events
+XLabel=
+YLabel=$N_{\phi}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x06-y04
+Title=Multiplicity of $p,\bar p$ in $b$ events
+XLabel=
+YLabel=$N_{p,\bar p}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d24-x07-y04
+Title=Multiplicity of $\Lambda^0, \bar \Lambda^0$ in $b$ events
+XLabel=
+YLabel=$N_{\Lambda^0, \bar \Lambda^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d25-x01-y01
+Title=Multiplicity difference $c$-$uds$ for $\pi^\pm$
+XLabel=
+YLabel=$\delta_{cl}^{\pi^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x02-y01
+Title=Multiplicity difference $c$-$uds$ for $K^\pm$
+XLabel=
+YLabel=$\delta_{cl}^{K^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x03-y01
+Title=Multiplicity difference $c$-$uds$ for $K^0,\bar K^0$
+XLabel=
+YLabel=$\delta_{cl}^{K^0,\bar K^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x04-y01
+Title=Multiplicity difference $c$-$uds$ for $K^{*0},\bar K^{*0}$
+XLabel=
+YLabel=$\delta_{cl}^{K^{*0},\bar K^{*0}}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x05-y01
+Title=Multiplicity difference $c$-$uds$ for $\phi$
+XLabel=
+YLabel=$\delta_{cl}^{\phi}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x06-y01
+Title=Multiplicity difference $c$-$uds$ for $p,\bar p$
+XLabel=
+YLabel=$\delta_{cl}^{p,\bar p}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x07-y01
+Title=Multiplicity difference $c$-$uds$ for $\Lambda^0, \bar \Lambda^0$
+XLabel=
+YLabel=$\delta_{cl}^{\Lambda^0, \bar \Lambda^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_1999_S3743934/d25-x01-y02
+Title=Multiplicity difference $b$-$uds$ for $\pi^\pm$
+XLabel=
+YLabel=$\delta_{cl}^{\pi^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x02-y02
+Title=Multiplicity difference $b$-$uds$ for $K^\pm$
+XLabel=
+YLabel=$\delta_{cl}^{K^\pm}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x03-y02
+Title=Multiplicity difference $b$-$uds$ for $K^0,\bar K^0$
+XLabel=
+YLabel=$\delta_{cl}^{K^0,\bar K^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x04-y02
+Title=Multiplicity difference $b$-$uds$ for $K^{*0},\bar K^{*0}$
+XLabel=
+YLabel=$\delta_{cl}^{K^{*0},\bar K^{*0}}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x05-y02
+Title=Multiplicity difference $b$-$uds$ for $\phi$
+XLabel=
+YLabel=$\delta_{cl}^{\phi}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x06-y02
+Title=Multiplicity difference $b$-$uds$ for $p,\bar p$
+XLabel=
+YLabel=$\delta_{cl}^{p,\bar p}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_1999_S3743934/d25-x07-y02
+Title=Multiplicity difference $b$-$uds$ for $\Lambda^0, \bar \Lambda^0$
+XLabel=
+YLabel=$\delta_{cl}^{\Lambda^0, \bar \Lambda^0}$ 
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT

Modified: trunk/data/plotinfo/SLD_2004_S5693039.plot
==============================================================================
--- trunk/data/plotinfo/SLD_2004_S5693039.plot	Fri Apr 13 09:47:49 2012	(r3677)
+++ trunk/data/plotinfo/SLD_2004_S5693039.plot	Sat Apr 14 15:48:04 2012	(r3678)
@@ -84,16 +84,28 @@
 Title=$\pi^\pm$ multiplicity
 XLabel=$x_p$
 YLabel=$\text{d}N/\text{d}x_p$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d03-x02-y02
 Title=$K^\pm$  multiplicity
 XLabel=$x_p$
 YLabel=$\text{d}N/\text{d}x_p$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d04-x02-y02
 Title=$p,\bar p$ multiplicity
 XLabel=$x_p$
 YLabel=$\text{d}N/\text{d}x_p$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 
 
@@ -101,69 +113,117 @@
 Title=$\pi^\pm$ multiplicity, ($uds$) events
 XLabel=
 YLabel=$N_{\pi^\pm}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d05-x02-y02
 Title=$\pi^\pm$ multiplicity, $c$ events
 XLabel=
 YLabel=$N_{\pi^\pm}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d05-x02-y03
 Title=$\pi^\pm$ multiplicity, $b$ events
 XLabel=
 YLabel=$N_{\pi^\pm}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d06-x02-y01
 Title=$K^\pm$ multiplicity, ($uds$) events
 XLabel=
 YLabel=$N_{K^\pm}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d06-x02-y02
 Title=$K^\pm$ multiplicity, $c$ events
 XLabel=
 YLabel=$N_{K^\pm}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d06-x02-y03
 Title=$K^\pm$ multiplicity, $b$ events
 XLabel=
 YLabel=$N_{K^\pm}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d07-x02-y01
 Title=$p, \bar p$ multiplicity, ($uds$) events
 XLabel=
 YLabel=$N_{p, \bar p}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d07-x02-y02
 Title=$p, \bar p$ multiplicity, $c$ events
 XLabel=
 YLabel=$N_{p, \bar p}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d07-x02-y03
 Title=$p, \bar p$ multiplicity, $b$ events
 XLabel=
 YLabel=$N_{p, \bar p}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d08-x02-y01
 Title=Charged particle multiplicity, ($uds$) events
 XLabel=
 YLabel=$N_{\text{charged}}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d08-x02-y02
 Title=Charged particle multiplicity, $c$ events
 XLabel=
 YLabel=$N_{\text{charged}}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 # BEGIN PLOT /SLD_2004_S5693039/d08-x02-y03
 Title=Charged particle multiplicity, $b$ events
 XLabel=
 YLabel=$N_{\text{charged}}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
 # END PLOT
 
 # BEGIN PLOT /SLD_2004_S5693039/d08-x03-y02
 Title=Difference in Charged multiplicity between $c$ and $uds$ events
 XLabel=$E_\mathrm{CMS}/GeV$
 YLabel=$\delta_{bl}$
-LegendXPos=0.20
-LegendYPos=0.85
+LegendXPos=0.60
+LegendYPos=0.5
 FullRange=1
 LogY=0
 # END PLOT
@@ -171,8 +231,90 @@
 Title=Difference in Charged multiplicity between $b$ and $uds$ events
 XLabel=$E_\mathrm{CMS}/GeV$
 YLabel=$\delta_{bl}$
+LegendXPos=0.60
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+
+# BEGIN PLOT /SLD_2004_S5693039/d09-x01-y01
+Title=$R^q_{\pi^+}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to\pi^+)+N(\bar q\to\pi^-)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\pi^+}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d09-x01-y02
+Title=$R^q_{\pi^-}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to\pi^-)+N(\bar q\to\pi^+)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\pi^-}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d09-x01-y03
+Title=$D^q_{\pi^-}=(R^q_{\pi^-}-R^q_{\pi^+})/(R^q_{\pi^-}+R^q_{\pi^+})$
+XLabel=$x_p$
+YLabel=$D^q_{\pi^-}$ [\%]
 LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d10-x01-y01
+Title=$R^q_{K^+}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to K^+)+N(\bar q\to K^-)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{K^+}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d10-x01-y02
+Title=$R^q_{K^-}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to K^-)+N(\bar q\to K^+)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{K^-}$
+LegendXPos=0.60
 LegendYPos=0.85
 FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d10-x01-y03
+Title=$D^q_{K^-}=(R^q_{K^-}-R^q_{K^+})/(R^q_{K^-}+R^q_{K^+})$
+XLabel=$x_p$
+YLabel=$D^q_{K^-}$ [\%]
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
 LogY=0
 # END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d11-x01-y01
+Title=$R^q_{p}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to p)+N(\bar q\to \bar p)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{p}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d11-x01-y02
+Title=$R^q_{\bar p}=\frac1{2N_{\rm events}}\frac{\text{d}}{\text{d}x_p}\left[N(q\to \bar p)+N(\bar q\to p)\right]$
+XLabel=$x_p$
+YLabel=$R^q_{\bar p}$
+LegendXPos=0.60
+LegendYPos=0.85
+FullRange=1
+LogY=1
+# END PLOT
+# BEGIN PLOT /SLD_2004_S5693039/d11-x01-y03
+Title=$D^q_{p}=(R^q_{p}-R^q_{\bar p})/(R^q_{p}+R^q_{\bar p})$
+XLabel=$x_p$
+YLabel=$D^q_{p}$ [\%]
+LegendXPos=0.20
+LegendYPos=0.5
+FullRange=1
+LogY=0
+# END PLOT
\ No newline at end of file

Modified: trunk/data/refdata/SLD_1999_S3743934.aida
==============================================================================
--- trunk/data/refdata/SLD_1999_S3743934.aida	Fri Apr 13 09:47:49 2012	(r3677)
+++ trunk/data/refdata/SLD_1999_S3743934.aida	Sat Apr 14 15:48:04 2012	(r3678)
@@ -1058,6 +1058,12 @@
       <measurement value="0.6" errorPlus="0.05385164807134505" errorMinus="0.05385164807134505"/>
     </dataPoint>
   </dataPointSet>
+  <dataPointSet name="d05-x02-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(Q=HAD))*D(N)/DX" >
+    <dataPoint>
+      <measurement value="0.253" errorPlus="0.244" errorMinus="0.244"/>
+      <measurement value="1.9" errorPlus="0.07280109889280519" errorMinus="0.07280109889280519"/>
+    </dataPoint>
+  </dataPointSet>
   <dataPointSet name="d07-x01-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(Q=HAD))*D(N)/DX" >
     <dataPoint>
       <measurement value="0.015" errorPlus="0.002999999999999999" errorMinus="9.999999999999992E-4"/>
@@ -1120,6 +1126,12 @@
       <measurement value="0.15" errorPlus="0.03605551275463989" errorMinus="0.03605551275463989"/>
     </dataPoint>
   </dataPointSet>
+  <dataPointSet name="d07-x02-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(Q=HAD))*D(N)/DX" >
+    <dataPoint>
+      <measurement value="0.2555" errorPlus="0.2415" errorMinus="0.2415"/>
+      <measurement value="0.37" errorPlus="0.022360679774997897" errorMinus="0.022360679774997897"/>
+    </dataPoint>
+  </dataPointSet>
   <dataPointSet name="d08-x01-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(Q=HAD))*D(N)/DX" >
     <dataPoint>
       <measurement value="0.033" errorPlus="0.015" errorMinus="0.015000000000000003"/>
@@ -1146,6 +1158,12 @@
       <measurement value="0.051" errorPlus="0.00565685424949238" errorMinus="0.00565685424949238"/>
     </dataPoint>
   </dataPointSet>
+  <dataPointSet name="d08-x02-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(Q=HAD))*D(N)/DX" >
+    <dataPoint>
+      <measurement value="0.509" errorPlus="0.491" errorMinus="0.491"/>
+      <measurement value="0.647" errorPlus="0.03640054944640259" errorMinus="0.03640054944640259"/>
+    </dataPoint>
+  </dataPointSet>
   <dataPointSet name="d09-x01-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(Q=HAD))*D(N)/DX" >
     <dataPoint>
       <measurement value="0.037" errorPlus="0.020000000000000004" errorMinus="0.019"/>
@@ -1172,6 +1190,12 @@
       <measurement value="0.0089" errorPlus="0.0018601075237738274" errorMinus="0.0018601075237738274"/>
     </dataPoint>
   </dataPointSet>
+  <dataPointSet name="d09-x02-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(Q=HAD))*D(N)/DX" >
+    <dataPoint>
+      <measurement value="0.509" errorPlus="0.491" errorMinus="0.491"/>
+      <measurement value="0.0985" errorPlus="0.00717007670809734" errorMinus="0.00717007670809734"/>
+    </dataPoint>
+  </dataPointSet>
   <dataPointSet name="d10-x01-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="(1/N(C=HAD)*D(N(Q=UDS))/DX" >
     <dataPoint>
       <measurement value="0.009" errorPlus="0.0010000000000000009" errorMinus="9.999999999999992E-4"/>
@@ -4024,4 +4048,256 @@
       <measurement value="0.75" errorPlus="0.37" errorMinus="0.37"/>
     </dataPoint>
   </dataPointSet>
+  <dataPointSet name="d24-x01-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult PI+ + PI-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="16.84" errorPlus="0.37" errorMinus="0.37"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x02-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult K+ + K-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="2.22" errorPlus="0.16" errorMinus="0.16"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x03-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult K0 + KBAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="2.01" errorPlus="0.08" errorMinus="0.08"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x04-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult K*0 + K*BAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.707" errorPlus="0.041" errorMinus="0.041"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x05-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult PHI" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.105" errorPlus="0.008" errorMinus="0.008"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x06-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds P + PBAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="1.03" errorPlus="0.13" errorMinus="0.13"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x07-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds LAMBDA + LAMBDABAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.395" errorPlus="0.022" errorMinus="0.022"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x01-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds PI+ + PI-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="16.46" errorPlus="0.47" errorMinus="0.47"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x02-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds K+ + K-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="2.04" errorPlus="0.15" errorMinus="0.15"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x03-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds K0 + KBAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="1.86" errorPlus="0.09" errorMinus="0.09"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x04-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds K*0 + K*BAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.727" errorPlus="0.081" errorMinus="0.081"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x05-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds PHI" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.091" errorPlus="0.021" errorMinus="0.021"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x06-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds P + PBAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="1.06" errorPlus="0.14" errorMinus="0.14"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x07-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult uds LAMBDA + LAMBDABAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.421" errorPlus="0.030" errorMinus="0.030"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x01-y03" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c PI+ + PI-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="16.30" errorPlus="1.01" errorMinus="1.01"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x02-y03" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c K+ + K-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="2.47" errorPlus="0.28" errorMinus="0.28"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x03-y03" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c K0 + KBAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="1.86" errorPlus="0.21" errorMinus="0.21"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x04-y03" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c K*0 + K*BAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.561" errorPlus="0.316" errorMinus="0.316"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x05-y03" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c PHI" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.131" errorPlus="0.091" errorMinus="0.091"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x06-y03" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c P + PBAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="1.06" errorPlus="0.21" errorMinus="0.21"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x07-y03" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c LAMBDA + LAMBDABAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.341" errorPlus="0.088" errorMinus="0.088"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x01-y04" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b PI+ + PI-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="18.36" errorPlus="0.52" errorMinus="0.52"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x02-y04" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b K+ + K-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="2.40" errorPlus="0.19" errorMinus="0.19"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x03-y04" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b K0 + KBAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="2.11" errorPlus="0.11" errorMinus="0.11"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x04-y04" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b K*0 + K*BAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.768" errorPlus="0.124" errorMinus="0.124"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x05-y04" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b PHI" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.121" errorPlus="0.026" errorMinus="0.026"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x06-y04" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b P + PBAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.91" errorPlus="0.13" errorMinus="0.13"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d24-x07-y04" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b LAMBDA + LAMBDABAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.383" errorPlus="0.032" errorMinus="0.032"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x01-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c-uds PI+ + PI-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="-0.15" errorPlus="0.96" errorMinus="0.96"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x02-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c-uds K+ + K-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.43" errorPlus="0.23" errorMinus="0.23"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x03-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c-uds K0 + KBAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.01" errorPlus="0.21" errorMinus="0.21"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x04-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c-uds K*0 + K*BAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="-0.166" errorPlus="0.321" errorMinus="0.321"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x05-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c-uds PHI" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.040" errorPlus="0.093" errorMinus="0.093"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x06-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c-uds P + PBAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.01" errorPlus="0.17" errorMinus="0.17"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x07-y01" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult c-uds LAMBDA + LAMBDABAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="-0.080" errorPlus="0.091" errorMinus="0.091"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x01-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b-uds PI+ + PI-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="1.91" errorPlus="0.36" errorMinus="0.36"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x02-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b-uds K+ + K-" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.36" errorPlus="0.10" errorMinus="0.10"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x03-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b-uds K0 + KBAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.25" errorPlus="0.09" errorMinus="0.09"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x04-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b-uds K*0 + K*BAR0" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.041" errorPlus="0.132" errorMinus="0.132"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x05-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b-uds PHI" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="0.030" errorPlus="0.031" errorMinus="0.031"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x06-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b-uds P + PBAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="-0.15" errorPlus="0.07" errorMinus="0.07"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d25-x07-y02" dimension="2" path="/REF/SLD_1999_S3743934" title="Mult b-uds LAMBDA + LAMBDABAR" >
+    <dataPoint>
+      <measurement value="91.2" errorPlus="0.5" errorMinus="0.5"/>
+      <measurement value="-0.038" errorPlus="0.039" errorMinus="0.039"/>
+    </dataPoint>
+  </dataPointSet>
 </aida>

Modified: trunk/src/Analyses/SLD_1999_S3743934.cc
==============================================================================
--- trunk/src/Analyses/SLD_1999_S3743934.cc	Fri Apr 13 09:47:49 2012	(r3677)
+++ trunk/src/Analyses/SLD_1999_S3743934.cc	Sat Apr 14 15:48:04 2012	(r3678)
@@ -7,6 +7,7 @@
 #include "Rivet/Projections/UnstableFinalState.hh"
 #include "Rivet/Projections/ChargedFinalState.hh"
 #include "Rivet/Projections/InitialQuarks.hh"
+#include "Rivet/Projections/Thrust.hh"
 #include "LWH/AIManagedObject.h"
 using namespace AIDA;
 
@@ -19,13 +20,13 @@
   public:
 
     /// Constructor
-    SLD_1999_S3743934() : Analysis("SLD_1999_S3743934")
-    {
-      // Counters
-      _SumOfudsWeights = 0;
-      _SumOfcWeights = 0;
-      _SumOfbWeights = 0;
-    }
+    SLD_1999_S3743934() : Analysis("SLD_1999_S3743934"),
+			  _SumOfudsWeights(0.), _SumOfcWeights(0.),
+			  _SumOfbWeights(0.),	  
+			  _multPiPlus(4,0.),_multKPlus(4,0.),_multK0(4,0.),
+			  _multKStar0(4,0.),_multPhi(4,0.),
+			  _multProton(4,0.),_multLambda(4,0.)
+    {}
 
 
     /// @name Analysis methods
@@ -52,25 +53,35 @@
       MSG_DEBUG("Avg beam momentum = " << meanBeamMom);
       int flavour = 0;
       const InitialQuarks& iqf = applyProjection<InitialQuarks>(e, "IQF");
-      
+   
       // If we only have two quarks (qqbar), just take the flavour.
       // If we have more than two quarks, look for the highest energetic q-qbar pair.
+      ParticleVector quarks;
       if (iqf.particles().size() == 2) {
         flavour = abs( iqf.particles().front().pdgId() );
+	quarks = iqf.particles();
       }
       else {
-        map<int, double> quarkmap;
+        map<int, Particle > quarkmap;
         foreach (const Particle& p, iqf.particles()) {
-          if (quarkmap[p.pdgId()] < p.momentum().E()) {
-            quarkmap[p.pdgId()] = p.momentum().E();
-          }
+          if (quarkmap.find(p.pdgId())==quarkmap.end())
+	    quarkmap[p.pdgId()] = p;
+	  else if (quarkmap[p.pdgId()].momentum().E() < p.momentum().E())
+	    quarkmap[p.pdgId()] = p;
         }
         double maxenergy = 0.;
         for (int i = 1; i <= 5; ++i) {
-          if (quarkmap[i]+quarkmap[-i] > maxenergy) {
-            flavour = i;
-          }
+	  double energy(0.);
+	  if(quarkmap.find( i)!=quarkmap.end())
+	    energy += quarkmap[ i].momentum().E();
+	  if(quarkmap.find(-i)!=quarkmap.end())
+	    energy += quarkmap[-i].momentum().E();
+          if (energy > maxenergy) flavour = i;
         }
+	if(quarkmap.find( flavour)!=quarkmap.end())
+	  quarks.push_back(quarkmap[ flavour]);
+	if(quarkmap.find(-flavour)!=quarkmap.end())
+	  quarks.push_back(quarkmap[-flavour]);
       }
       switch (flavour) {
       case 1: case 2: case 3:
@@ -83,54 +94,89 @@
         _SumOfbWeights += weight;
         break;
       }
+      // thrust axis for projections
+      Vector3 axis = applyProjection<Thrust>(e, "Thrust").thrustAxis();
+      double dot(0.);
+      if(!quarks.empty()) {
+	dot = quarks[0].momentum().vector3().dot(axis);
+	if(quarks[0].pdgId()<0) dot *= -1.;
+      }
 
       foreach (const Particle& p, fs.particles()) {
 	const double xp = p.momentum().vector3().mod()/meanBeamMom;
+	// if in quark or antiquark hemisphere
+	bool quark = p.momentum().vector3().dot(axis)*dot>0.;
 	_histXpChargedN->fill(xp, weight);
 	int id = abs(p.pdgId());
 	// charged pions
 	if(id==PIPLUS) {
 	  _histXpPiPlusN->fill(xp, weight);
+	  _multPiPlus[0] += weight;
 	  switch (flavour) {
 	  case DQUARK: case UQUARK: case SQUARK:
+	    _multPiPlus[1] += weight;
 	    _histXpPiPlusLight->fill(xp, weight);
-         break;
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRPiPlus->fill(xp, weight);
+	    else
+	      _histRPiMinus->fill(xp, weight);
+	    break;
 	  case CQUARK:
+	    _multPiPlus[2] += weight;
 	    _histXpPiPlusCharm->fill(xp, weight);
 	    break;
 	  case BQUARK:
+	    _multPiPlus[3] += weight;
 	    _histXpPiPlusBottom->fill(xp, weight);
 	    break;
 	  }
 	}
 	else if(id==KPLUS) {
 	  _histXpKPlusN->fill(xp, weight);
+	  _multKPlus[0] += weight;
 	  switch (flavour) {
 	  case DQUARK: case UQUARK: case SQUARK:
+	    _multKPlus[1] += weight;
 	    _tempXpKPlusLight->fill(xp, weight);
 	    _histXpKPlusLight->fill(xp, weight);
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRKPlus->fill(xp, weight);
+	    else
+	      _histRKMinus->fill(xp, weight);
+	    break;
          break;
 	  case CQUARK:
+	    _multKPlus[2] += weight;
 	    _histXpKPlusCharm->fill(xp, weight);
 	    _tempXpKPlusCharm->fill(xp, weight);
 	    break;
 	  case BQUARK:
+	    _multKPlus[3] += weight;
 	    _histXpKPlusBottom->fill(xp, weight);
 	    break;
 	  }
 	}
 	else if(id==PROTON) {
 	  _histXpProtonN->fill(xp, weight);
+	  _multProton[0] += weight;
 	  switch (flavour) {
 	  case DQUARK: case UQUARK: case SQUARK:
+	    _multProton[1] += weight;
 	    _tempXpProtonLight->fill(xp, weight);
 	    _histXpProtonLight->fill(xp, weight);
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRProton->fill(xp, weight);
+	    else
+	      _histRPBar  ->fill(xp, weight);
+	    break;
          break;
 	  case CQUARK:
+	    _multProton[2] += weight;
 	    _tempXpProtonCharm->fill(xp, weight);
 	    _histXpProtonCharm->fill(xp, weight);
 	    break;
 	  case BQUARK:
+	    _multProton[3] += weight;
 	    _histXpProtonBottom->fill(xp, weight);
 	    break;
 	  }
@@ -139,61 +185,88 @@
       const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS");
       foreach (const Particle& p, ufs.particles()) {
 	const double xp = p.momentum().vector3().mod()/meanBeamMom;
+	// if in quark or antiquark hemisphere
+	bool quark = p.momentum().vector3().dot(axis)*dot>0.;
 	int id = abs(p.pdgId());
 	if(id==LAMBDA) {
+	  _multLambda[0] += weight;
 	  _histXpLambdaN->fill(xp, weight);
 	  switch (flavour) {
 	  case DQUARK: case UQUARK: case SQUARK:
+	    _multLambda[1] += weight;
 	    _histXpLambdaLight->fill(xp, weight);
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRLambda->fill(xp, weight);
+	    else
+	      _histRLBar  ->fill(xp, weight);
 	    break;
 	  case CQUARK:
+	    _multLambda[2] += weight;
 	    _histXpLambdaCharm->fill(xp, weight);
 	    break;
 	  case BQUARK:
+	    _multLambda[3] += weight;
 	    _histXpLambdaBottom->fill(xp, weight);
 	    break;
 	  }
 	}
 	else if(id==313) {
+	  _multKStar0[0] += weight;
 	  _histXpKStar0N->fill(xp, weight);
 	  switch (flavour) {
 	  case DQUARK: case UQUARK: case SQUARK:
+	    _multKStar0[1] += weight;
 	    _tempXpKStar0Light->fill(xp, weight);
 	    _histXpKStar0Light->fill(xp, weight);
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRKS0   ->fill(xp, weight);
+	    else
+	      _histRKSBar0->fill(xp, weight);
+	    break;
 	    break;
 	  case CQUARK:
+	    _multKStar0[2] += weight;
 	    _tempXpKStar0Charm->fill(xp, weight);
 	    _histXpKStar0Charm->fill(xp, weight);
 	    break;
 	  case BQUARK:
+	    _multKStar0[3] += weight;
 	    _histXpKStar0Bottom->fill(xp, weight);
 	    break;
 	  }
 	}
 	else if(id==333) {
+	  _multPhi[0] += weight;
 	  _histXpPhiN->fill(xp, weight);
 	  switch (flavour) {
 	  case DQUARK: case UQUARK: case SQUARK:
+	    _multPhi[1] += weight;
 	    _histXpPhiLight->fill(xp, weight);
 	    break;
 	  case CQUARK:
+	    _multPhi[2] += weight;
 	    _histXpPhiCharm->fill(xp, weight);
 	    break;
 	  case BQUARK:
+	    _multPhi[3] += weight;
 	    _histXpPhiBottom->fill(xp, weight);
 	    break;
 	  }
 	}
 	else if(id==K0S || id == K0L) {
+	  _multK0[0] += weight;
 	  _histXpK0N->fill(xp, weight);
 	  switch (flavour) {
 	  case DQUARK: case UQUARK: case SQUARK:
+	    _multK0[1] += weight;
 	    _histXpK0Light->fill(xp, weight);
 	    break;
 	  case CQUARK:
+	    _multK0[2] += weight;
 	    _histXpK0Charm->fill(xp, weight);
 	    break;
 	  case BQUARK:
+	    _multK0[3] += weight;
 	    _histXpK0Bottom->fill(xp, weight);
 	    break;
 	  }
@@ -201,14 +274,13 @@
       }
     }
 
-
     void init() {
       // Projections
       addProjection(Beam(), "Beams");
       addProjection(ChargedFinalState(), "FS");
       addProjection(UnstableFinalState(), "UFS");
       addProjection(InitialQuarks(), "IQF");
-
+      addProjection(Thrust(FinalState()), "Thrust");
       _histXpPiPlusN      = bookHistogram1D( 1, 1, 2);
       _histXpKPlusN       = bookHistogram1D( 2, 1, 2);
       _histXpProtonN      = bookHistogram1D( 3, 1, 2);
@@ -217,6 +289,7 @@
       _histXpLambdaN      = bookHistogram1D( 7, 1, 1);
       _histXpKStar0N      = bookHistogram1D( 8, 1, 1);
       _histXpPhiN         = bookHistogram1D( 9, 1, 1);
+
       _histXpPiPlusLight  = bookHistogram1D(10, 1, 1);
       _histXpPiPlusCharm  = bookHistogram1D(10, 1, 2);
       _histXpPiPlusBottom = bookHistogram1D(10, 1, 3);
@@ -238,6 +311,7 @@
       _histXpPhiLight   = bookHistogram1D(22, 1, 1);
       _histXpPhiCharm   = bookHistogram1D(22, 1, 2);
       _histXpPhiBottom  = bookHistogram1D(22, 1, 3);
+
       _tempXpKPlusCharm  = bookHistogram1D( "tempXpKPlusCharm" ,
 					    binEdges(13,1,1),"tempXpKPlusCharm" ,"X","Y");
       _tempXpKPlusLight  = bookHistogram1D( "tempXpKPlusLight" ,
@@ -250,6 +324,18 @@
 					    binEdges(17,1,1),"tempXpProtonCharm","X","Y");
       _tempXpProtonLight = bookHistogram1D( "tempXpProtonLight",
 					    binEdges(17,1,1),"tempXpProtonLight","X","Y");
+
+      _histRPiPlus  = bookHistogram1D( 26, 1, 1);
+      _histRPiMinus = bookHistogram1D( 26, 1, 2);
+      _histRKS0     = bookHistogram1D( 28, 1, 1);
+      _histRKSBar0  = bookHistogram1D( 28, 1, 2);
+      _histRKPlus   = bookHistogram1D( 30, 1, 1);
+      _histRKMinus  = bookHistogram1D( 30, 1, 2);
+      _histRProton  = bookHistogram1D( 32, 1, 1);
+      _histRPBar    = bookHistogram1D( 32, 1, 2);
+      _histRLambda  = bookHistogram1D( 34, 1, 1);
+      _histRLBar    = bookHistogram1D( 34, 1, 2);
+
     }
 
 
@@ -295,10 +381,36 @@
       histogramFactory().destroy(_tempXpKStar0Light);
       histogramFactory().destroy(_tempXpProtonCharm);
       histogramFactory().destroy(_tempXpProtonLight);
+      // leading particles
+      AIDA::IHistogram1D * num = histogramFactory().subtract(dir + "/n1",*_histRPiMinus,*_histRPiPlus);
+      AIDA::IHistogram1D * den = histogramFactory().add     (dir + "/n2",*_histRPiMinus,*_histRPiPlus);
+      h   = histogramFactory().divide(dir +"/d27-x01-y01",*num,*den);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
+      num = histogramFactory().subtract(dir + "/n3",*_histRKSBar0,*_histRKS0);
+      den = histogramFactory().add     (dir + "/n4",*_histRKSBar0,*_histRKS0);
+      h   = histogramFactory().divide(dir +"/d29-x01-y01",*num,*den);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
+      num = histogramFactory().subtract(dir + "/n5",*_histRKMinus,*_histRKPlus);
+      den = histogramFactory().add     (dir + "/n6",*_histRKMinus,*_histRKPlus);
+      h   = histogramFactory().divide(dir +"/d31-x01-y01",*num,*den);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
+      num = histogramFactory().subtract(dir + "/n7",*_histRProton,*_histRPBar);
+      den = histogramFactory().add     (dir + "/n8",*_histRProton,*_histRPBar);
+      h   = histogramFactory().divide(dir +"/d33-x01-y01",*num,*den);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
+      num = histogramFactory().subtract(dir + "/n9" ,*_histRLambda,*_histRLBar);
+      den = histogramFactory().add     (dir + "/n10",*_histRLambda,*_histRLBar);
+      h   = histogramFactory().divide(dir +"/d35-x01-y01",*num,*den);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
       // then the rest
-      Analysis::scale(_histXpPiPlusN,1./sumOfWeights());
-      Analysis::scale(_histXpKPlusN,1./sumOfWeights());
-      Analysis::scale(_histXpProtonN,1./sumOfWeights());
+      Analysis::scale(_histXpPiPlusN    ,1./sumOfWeights());
+      Analysis::scale(_histXpKPlusN     ,1./sumOfWeights());
+      Analysis::scale(_histXpProtonN    ,1./sumOfWeights());
       Analysis::scale(_histXpChargedN,1./sumOfWeights());
       Analysis::scale(_histXpK0N,1./sumOfWeights());
       Analysis::scale(_histXpLambdaN,1./sumOfWeights());
@@ -325,6 +437,186 @@
       Analysis::scale(_histXpPhiLight ,1./_SumOfudsWeights);
       Analysis::scale(_histXpPhiCharm ,1./_SumOfcWeights);
       Analysis::scale(_histXpPhiBottom,1./_SumOfbWeights);
+      Analysis::scale(_histRPiPlus ,1./_SumOfudsWeights);
+      Analysis::scale(_histRPiMinus,1./_SumOfudsWeights);
+      Analysis::scale(_histRKS0    ,1./_SumOfudsWeights);
+      Analysis::scale(_histRKSBar0 ,1./_SumOfudsWeights);
+      Analysis::scale(_histRKPlus  ,1./_SumOfudsWeights);
+      Analysis::scale(_histRKMinus ,1./_SumOfudsWeights);
+      Analysis::scale(_histRProton ,1./_SumOfudsWeights);
+      Analysis::scale(_histRPBar   ,1./_SumOfudsWeights);
+      Analysis::scale(_histRLambda ,1./_SumOfudsWeights);
+      Analysis::scale(_histRLBar   ,1./_SumOfudsWeights);
+
+      // multiplicities
+      AIDA::IDataPointSet * multA;
+      AIDA::IDataPointSet * multL;
+      AIDA::IDataPointSet * multC;
+      AIDA::IDataPointSet * multB;
+      AIDA::IDataPointSet * multD1;
+      AIDA::IDataPointSet * multD2;
+      double  avgNumPartsAll,avgNumPartsLight,avgNumPartsCharm, avgNumPartsBottom;
+      // pi+/-
+      // all
+      avgNumPartsAll = _multPiPlus[0]/sumOfWeights();
+      multA = bookDataPointSet(24, 1, 1);
+      multA->point(0)->coordinate(1)->setValue(avgNumPartsAll);
+      // light
+      avgNumPartsLight = _multPiPlus[1]/_SumOfudsWeights;
+      multL = bookDataPointSet(24, 1, 2);
+      multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
+      // charm
+      avgNumPartsCharm = _multPiPlus[2]/_SumOfcWeights;
+      multC = bookDataPointSet(24, 1, 3);
+      multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
+      // bottom
+      avgNumPartsBottom = _multPiPlus[3]/_SumOfbWeights;
+      multB = bookDataPointSet(24, 1, 4);
+      multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
+      // charm-light
+      multD1 = bookDataPointSet(25, 1, 1);
+      multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
+      // bottom-light
+      multD2 = bookDataPointSet(25, 1, 2);
+      multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
+      // K+/-
+      // all
+      avgNumPartsAll = _multKPlus[0]/sumOfWeights();
+      multA = bookDataPointSet(24, 2, 1);
+      multA->point(0)->coordinate(1)->setValue(avgNumPartsAll);
+      // light
+      avgNumPartsLight = _multKPlus[1]/_SumOfudsWeights;
+      multL = bookDataPointSet(24, 2, 2);
+      multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
+      // charm
+      avgNumPartsCharm = _multKPlus[2]/_SumOfcWeights;
+      multC = bookDataPointSet(24, 2, 3);
+      multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
+      // bottom
+      avgNumPartsBottom = _multKPlus[3]/_SumOfbWeights;
+      multB = bookDataPointSet(24, 2, 4);
+      multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
+      // charm-light
+      multD1 = bookDataPointSet(25, 2, 1);
+      multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
+      // bottom-light
+      multD2 = bookDataPointSet(25, 2, 2);
+      multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
+      // K0
+      // all
+      avgNumPartsAll = _multK0[0]/sumOfWeights();
+      multA = bookDataPointSet(24, 3, 1);
+      multA->point(0)->coordinate(1)->setValue(avgNumPartsAll);
+      // light
+      avgNumPartsLight = _multK0[1]/_SumOfudsWeights;
+      multL = bookDataPointSet(24, 3, 2);
+      multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
+      // charm
+      avgNumPartsCharm = _multK0[2]/_SumOfcWeights;
+      multC = bookDataPointSet(24, 3, 3);
+      multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
+      // bottom
+      avgNumPartsBottom = _multK0[3]/_SumOfbWeights;
+      multB = bookDataPointSet(24, 3, 4);
+      multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
+      // charm-light
+      multD1 = bookDataPointSet(25, 3, 1);
+      multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
+      // bottom-light
+      multD2 = bookDataPointSet(25, 3, 2);
+      multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
+      // K*0
+      // all
+      avgNumPartsAll = _multKStar0[0]/sumOfWeights();
+      multA = bookDataPointSet(24, 4, 1);
+      multA->point(0)->coordinate(1)->setValue(avgNumPartsAll);
+      // light
+      avgNumPartsLight = _multKStar0[1]/_SumOfudsWeights;
+      multL = bookDataPointSet(24, 4, 2);
+      multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
+      // charm
+      avgNumPartsCharm = _multKStar0[2]/_SumOfcWeights;
+      multC = bookDataPointSet(24, 4, 3);
+      multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
+      // bottom
+      avgNumPartsBottom = _multKStar0[3]/_SumOfbWeights;
+      multB = bookDataPointSet(24, 4, 4);
+      multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
+      // charm-light
+      multD1 = bookDataPointSet(25, 4, 1);
+      multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
+      // bottom-light
+      multD2 = bookDataPointSet(25, 4, 2);
+      multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
+      // phi
+      // all
+      avgNumPartsAll = _multPhi[0]/sumOfWeights();
+      multA = bookDataPointSet(25, 5, 1);
+      multA->point(0)->coordinate(1)->setValue(avgNumPartsAll);
+      // light
+      avgNumPartsLight = _multPhi[1]/_SumOfudsWeights;
+      multL = bookDataPointSet(24, 5, 2);
+      multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
+      // charm
+      avgNumPartsCharm = _multPhi[2]/_SumOfcWeights;
+      multC = bookDataPointSet(24, 5, 3);
+      multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
+      // bottom
+      avgNumPartsBottom = _multPhi[3]/_SumOfbWeights;
+      multB = bookDataPointSet(24, 5, 4);
+      multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
+      // charm-light
+      multD1 = bookDataPointSet(25, 5, 1);
+      multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
+      // bottom-light
+      multD2 = bookDataPointSet(25, 5, 2);
+      multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
+      // p
+      // all
+      avgNumPartsAll = _multProton[0]/sumOfWeights();
+      multA = bookDataPointSet(24, 6, 1);
+      multA->point(0)->coordinate(1)->setValue(avgNumPartsAll);
+      // light
+      avgNumPartsLight = _multProton[1]/_SumOfudsWeights;
+      multL = bookDataPointSet(24, 6, 2);
+      multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
+      // charm
+      avgNumPartsCharm = _multProton[2]/_SumOfcWeights;
+      multC = bookDataPointSet(24, 6, 3);
+      multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
+      // bottom
+      avgNumPartsBottom = _multProton[3]/_SumOfbWeights;
+      multB = bookDataPointSet(24, 6, 4);
+      multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
+      // charm-light
+      multD1 = bookDataPointSet(25, 6, 1);
+      multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
+      // bottom-light
+      multD2 = bookDataPointSet(25, 6, 2);
+      multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
+      // Lambda
+      // all
+      avgNumPartsAll = _multLambda[0]/sumOfWeights();
+      multA = bookDataPointSet(24, 7, 1);
+      multA->point(0)->coordinate(1)->setValue(avgNumPartsAll);
+      // light
+      avgNumPartsLight = _multLambda[1]/_SumOfudsWeights;
+      multL = bookDataPointSet(24, 7, 2);
+      multL->point(0)->coordinate(1)->setValue(avgNumPartsLight);
+      // charm
+      avgNumPartsCharm = _multLambda[2]/_SumOfcWeights;
+      multC = bookDataPointSet(24, 7, 3);
+      multC->point(0)->coordinate(1)->setValue(avgNumPartsCharm);
+      // bottom
+      avgNumPartsBottom = _multLambda[3]/_SumOfbWeights;
+      multB = bookDataPointSet(24, 7, 4);
+      multB->point(0)->coordinate(1)->setValue(avgNumPartsBottom);
+      // charm-light
+      multD1 = bookDataPointSet(25, 7, 1);
+      multD1->point(0)->coordinate(1)->setValue(avgNumPartsCharm -avgNumPartsLight);
+      // bottom-light
+      multD2 = bookDataPointSet(25, 7, 2);
+      multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
     }
 
     //@}
@@ -377,18 +669,20 @@
     /// particles - used to calculate average number of particles for the
     /// inclusive single particle distributions' normalisations.
     double _SumOfudsWeights,_SumOfcWeights,_SumOfbWeights;
+    vector<double> _multPiPlus,_multKPlus,_multK0,_multKStar0,
+      _multPhi,_multProton,_multLambda;
 
     AIDA::IHistogram1D *_histXpPiPlusSig;   
-    AIDA::IHistogram1D *_histXpPiPlusN;     
+    AIDA::IHistogram1D *_histXpPiPlusN;        
     AIDA::IHistogram1D *_histXpKPlusSig;    
-    AIDA::IHistogram1D *_histXpKPlusN;      
+    AIDA::IHistogram1D *_histXpKPlusN;        
     AIDA::IHistogram1D *_histXpProtonSig;   
-    AIDA::IHistogram1D *_histXpProtonN;     
+    AIDA::IHistogram1D *_histXpProtonN;       
     AIDA::IHistogram1D *_histXpChargedN;    
     AIDA::IHistogram1D *_histXpK0N;    
     AIDA::IHistogram1D *_histXpLambdaN;     
     AIDA::IHistogram1D *_histXpKStar0N;     
-    AIDA::IHistogram1D *_histXpPhiN;       
+    AIDA::IHistogram1D *_histXpPhiN;
     AIDA::IHistogram1D *_histXpPiPlusLight; 
     AIDA::IHistogram1D *_histXpPiPlusCharm; 
     AIDA::IHistogram1D *_histXpPiPlusBottom;
@@ -416,6 +710,16 @@
     AIDA::IHistogram1D *_tempXpKStar0Light;
     AIDA::IHistogram1D *_tempXpProtonCharm;
     AIDA::IHistogram1D *_tempXpProtonLight;
+    AIDA::IHistogram1D *_histRPiPlus ;
+    AIDA::IHistogram1D *_histRPiMinus;
+    AIDA::IHistogram1D *_histRKS0    ;
+    AIDA::IHistogram1D *_histRKSBar0 ;
+    AIDA::IHistogram1D *_histRKPlus  ;
+    AIDA::IHistogram1D *_histRKMinus ;
+    AIDA::IHistogram1D *_histRProton ;
+    AIDA::IHistogram1D *_histRPBar   ;
+    AIDA::IHistogram1D *_histRLambda ;
+    AIDA::IHistogram1D *_histRLBar   ;
     //@}
 
   };

Modified: trunk/src/Analyses/SLD_2004_S5693039.cc
==============================================================================
--- trunk/src/Analyses/SLD_2004_S5693039.cc	Fri Apr 13 09:47:49 2012	(r3677)
+++ trunk/src/Analyses/SLD_2004_S5693039.cc	Sat Apr 14 15:48:04 2012	(r3678)
@@ -6,6 +6,7 @@
 #include "Rivet/Projections/FinalState.hh"
 #include "Rivet/Projections/ChargedFinalState.hh"
 #include "Rivet/Projections/InitialQuarks.hh"
+#include "Rivet/Projections/Thrust.hh"
 #include "LWH/AIManagedObject.h"
 using namespace AIDA;
 
@@ -41,7 +42,6 @@
       MSG_DEBUG("Passed ncharged cut");
       // Get event weight for histo filling
       const double weight = e.weight();
-   
       // Get beams and average beam momentum
       const ParticlePair& beams = applyProjection<Beam>(e, "Beams").beams();
       const double meanBeamMom = ( beams.first.momentum().vector3().mod() +
@@ -52,22 +52,32 @@
    
       // If we only have two quarks (qqbar), just take the flavour.
       // If we have more than two quarks, look for the highest energetic q-qbar pair.
+      ParticleVector quarks;
       if (iqf.particles().size() == 2) {
         flavour = abs( iqf.particles().front().pdgId() );
+	quarks = iqf.particles();
       }
       else {
-        map<int, double> quarkmap;
+        map<int, Particle > quarkmap;
         foreach (const Particle& p, iqf.particles()) {
-          if (quarkmap[p.pdgId()] < p.momentum().E()) {
-            quarkmap[p.pdgId()] = p.momentum().E();
-          }
+          if (quarkmap.find(p.pdgId())==quarkmap.end())
+	    quarkmap[p.pdgId()] = p;
+	  else if (quarkmap[p.pdgId()].momentum().E() < p.momentum().E())
+	    quarkmap[p.pdgId()] = p;
         }
         double maxenergy = 0.;
         for (int i = 1; i <= 5; ++i) {
-          if (quarkmap[i]+quarkmap[-i] > maxenergy) {
-            flavour = i;
-          }
+	  double energy(0.);
+	  if(quarkmap.find( i)!=quarkmap.end())
+	    energy += quarkmap[ i].momentum().E();
+	  if(quarkmap.find(-i)!=quarkmap.end())
+	    energy += quarkmap[-i].momentum().E();
+          if (energy > maxenergy) flavour = i;
         }
+	if(quarkmap.find( flavour)!=quarkmap.end())
+	  quarks.push_back(quarkmap[ flavour]);
+	if(quarkmap.find(-flavour)!=quarkmap.end())
+	  quarks.push_back(quarkmap[-flavour]);
       }
       // total multiplicities
       switch (flavour) {
@@ -84,11 +94,21 @@
         _weightedTotalChargedPartNumBottom += numParticles * weight;
         break;
       }
-      // spectra and individuall multiplicities
+      // thrust axis for projections
+      Vector3 axis = applyProjection<Thrust>(e, "Thrust").thrustAxis();
+      double dot(0.);
+      if(!quarks.empty()) {
+	dot = quarks[0].momentum().vector3().dot(axis);
+	if(quarks[0].pdgId()<0) dot *= -1.;
+      }
+      // spectra and individual multiplicities
       foreach (const Particle& p, fs.particles()) {
 	double pcm = p.momentum().vector3().mod();
 	const double xp = pcm/meanBeamMom;
 
+	// if in quark or antiquark hemisphere
+	bool quark = p.momentum().vector3().dot(axis)*dot>0.;
+
 	_histPCharged ->fill(pcm     , weight);
 	// all charged
 	switch (flavour) {
@@ -112,6 +132,10 @@
 	  case DQUARK: case UQUARK: case SQUARK:
 	    _histXpPiPlusL->fill(xp, weight);
 	    _multPiPlusL->fill(sqrtS(), weight);
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRPiPlus->fill(xp, weight);
+	    else
+	      _histRPiMinus->fill(xp, weight);
 	    break;
 	  case CQUARK:
 	    _histXpPiPlusC->fill(xp, weight);
@@ -130,6 +154,10 @@
 	  case DQUARK: case UQUARK: case SQUARK:
 	    _histXpKPlusL->fill(xp, weight);
 	    _multKPlusL->fill(sqrtS(), weight);
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRKPlus->fill(xp, weight);
+	    else
+	      _histRKMinus->fill(xp, weight);
 	    break;
 	  case CQUARK:
 	    _histXpKPlusC->fill(xp, weight);
@@ -148,6 +176,10 @@
 	  case DQUARK: case UQUARK: case SQUARK:
 	    _histXpProtonL->fill(xp, weight);
 	    _multProtonL->fill(sqrtS(), weight);
+	    if( ( quark && p.pdgId()>0 ) || ( !quark && p.pdgId()<0 ))
+	      _histRProton->fill(xp, weight);
+	    else
+	      _histRPBar  ->fill(xp, weight);
 	    break;
 	  case CQUARK:
 	    _histXpProtonC->fill(xp, weight);
@@ -166,7 +198,9 @@
       // Projections
       addProjection(Beam(), "Beams");
       addProjection(ChargedFinalState(), "FS");
-      addProjection(InitialQuarks(), "IQF"); 
+      addProjection(InitialQuarks(), "IQF");
+      addProjection(Thrust(FinalState()), "Thrust");
+      // histograms 
       _histPCharged   = bookHistogram1D( 1, 1, 1);
       _histXpPiPlus   = bookHistogram1D( 2, 1, 2);
       _histXpKPlus    = bookHistogram1D( 3, 1, 2);
@@ -197,6 +231,13 @@
       _multProtonC  = bookHistogram1D( 7, 2, 2);
       _multProtonB  = bookHistogram1D( 7, 2, 3);
 
+      _histRPiPlus  = bookHistogram1D( 9, 1, 1);
+      _histRPiMinus = bookHistogram1D( 9, 1, 2);
+      _histRKPlus   = bookHistogram1D(10, 1, 1);
+      _histRKMinus  = bookHistogram1D(10, 1, 2);
+      _histRProton  = bookHistogram1D(11, 1, 1);
+      _histRPBar    = bookHistogram1D(11, 1, 2);
+
     }
 
 
@@ -221,37 +262,67 @@
       // bottom-light
       AIDA::IDataPointSet * multD2 = bookDataPointSet(8, 3, 3);
       multD2->point(0)->coordinate(1)->setValue(avgNumPartsBottom-avgNumPartsLight);
+
+      const string dir = histoDir();
+      AIDA::IHistogram1D * num = histogramFactory().subtract(dir + "/n1",*_histRPiMinus,*_histRPiPlus);
+      AIDA::IHistogram1D * den = histogramFactory().add     (dir + "/n2",*_histRPiMinus,*_histRPiPlus);
+      AIDA::IDataPointSet* h   = histogramFactory().divide(dir +"/d09-x01-y03",*num,*den);
+      scale(h,100.);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
+      num = histogramFactory().subtract(dir + "/n3",*_histRKMinus,*_histRKPlus);
+      den = histogramFactory().add     (dir + "/n4",*_histRKMinus,*_histRKPlus);
+      h   = histogramFactory().divide(dir +"/d10-x01-y03",*num,*den);
+      scale(h,100.);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
+      num = histogramFactory().subtract(dir + "/n5",*_histRProton,*_histRPBar);
+      den = histogramFactory().add     (dir + "/n6",*_histRProton,*_histRPBar);
+      h   = histogramFactory().divide(dir +"/d11-x01-y03",*num,*den);
+      scale(h,100.);
+      histogramFactory().destroy(num);
+      histogramFactory().destroy(den);
+
       // 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);
+      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);
 
     }
     //@}
@@ -303,8 +374,55 @@
     AIDA::IHistogram1D *_multProtonL ;
     AIDA::IHistogram1D *_multProtonC ;
     AIDA::IHistogram1D *_multProtonB ;
+    AIDA::IHistogram1D *_histRPiPlus ;
+    AIDA::IHistogram1D *_histRPiMinus;
+    AIDA::IHistogram1D *_histRKPlus  ;
+    AIDA::IHistogram1D *_histRKMinus ;
+    AIDA::IHistogram1D *_histRProton ;
+    AIDA::IHistogram1D *_histRPBar   ;
     //@}
     
+    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


More information about the Rivet-svn mailing list