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

blackhole at projects.hepforge.org blackhole at projects.hepforge.org
Mon Dec 5 14:48:53 GMT 2011


Author: holsch
Date: Mon Dec  5 14:48:53 2011
New Revision: 3501

Log:
Add ALEPH charm fragmentation of full LEP data set at 91.2GeV

Added:
   trunk/data/anainfo/ALEPH_1999_S4193598.info
   trunk/data/plotinfo/ALEPH_1999_S4193598.plot
   trunk/data/refdata/ALEPH_1999_S4193598.aida
   trunk/src/Analyses/ALEPH_1999_S4193598.cc
Modified:
   trunk/data/anainfo/Makefile.am
   trunk/data/plotinfo/Makefile.am
   trunk/data/refdata/Makefile.am
   trunk/src/Analyses/Makefile.am

Added: trunk/data/anainfo/ALEPH_1999_S4193598.info
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/data/anainfo/ALEPH_1999_S4193598.info	Mon Dec  5 14:48:53 2011	(r3501)
@@ -0,0 +1,36 @@
+Name: ALEPH_1999_S4193598
+Year: 1999
+Summary: Scaled energy distribution of D^* at LEP
+Experiment: ALEPH
+Collider: LEP
+SpiresID: 4193598
+Status: VALIDATED
+Authors:
+ - Holger Schulz <hschulz at physik.hu-berlin.de>
+References:
+ - Eur.Phys.J.C16:597-611,2000
+ - hep-ex/9909032
+ - CERN-EP-99-094
+RunInfo:
+  Hadronic Z-decays at 91.2 GeV.
+NumEvents: 1000000
+NeedCrossSection: no
+Beams: [e+, e-]
+Energies: [91.2]
+Description:
+  'Study of Charm Production in Z Decays. Here, only the scaled energy distribution
+of $D^{*\pm}$ is implemented. Should be very important for fragmentation tuning.'
+BibKey: Barate:1999bg
+BibTeX: '@article{Barate:1999bg,
+      author         = "Barate, R. and others",
+      title          = "{Study of charm production in Z decays}",
+      collaboration  = "ALEPH Collaboration",
+      journal        = "Eur.Phys.J.",
+      volume         = "C16",
+      pages          = "597-611",
+      doi            = "10.1007/s100520000421",
+      year           = "2000",
+      eprint         = "hep-ex/9909032",
+      archivePrefix  = "arXiv",
+      primaryClass   = "hep-ex",
+}'

Modified: trunk/data/anainfo/Makefile.am
==============================================================================
--- trunk/data/anainfo/Makefile.am	Thu Dec  1 14:41:21 2011	(r3500)
+++ trunk/data/anainfo/Makefile.am	Mon Dec  5 14:48:53 2011	(r3501)
@@ -2,6 +2,7 @@
   ALEPH_1991_S2435284.info \
   ALEPH_1996_S3486095.info \
   ALEPH_1996_S3196992.info \
+  ALEPH_1999_S4193598.info \
   ALEPH_2004_S5765862.info \
   ALICE_2010_S8624100.info \
   ALICE_2010_S8625980.info \

Added: trunk/data/plotinfo/ALEPH_1999_S4193598.plot
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/data/plotinfo/ALEPH_1999_S4193598.plot	Mon Dec  5 14:48:53 2011	(r3501)
@@ -0,0 +1,6 @@
+# BEGIN PLOT /ALEPH_1999_S4193598/d01-x01-y01
+Title=Scaled energy of $D^{*\pm}$ in $e^+e^-\to Z\to\text{hadronic}$ at $\sqrt{s}=91.2$~GeV
+XLabel=$X_E$
+YLabel=$1/N_\text{Zhad} \text{d}N(D^{*})/\text{d}X_E$
+LogY=0
+# END PLOT

Modified: trunk/data/plotinfo/Makefile.am
==============================================================================
--- trunk/data/plotinfo/Makefile.am	Thu Dec  1 14:41:21 2011	(r3500)
+++ trunk/data/plotinfo/Makefile.am	Mon Dec  5 14:48:53 2011	(r3501)
@@ -2,6 +2,7 @@
   ALEPH_1991_S2435284.plot \
   ALEPH_1996_S3486095.plot \
   ALEPH_1996_S3196992.plot \
+  ALEPH_1999_S4193598.plot \
   ALEPH_2004_S5765862.plot \
   ALICE_2010_S8624100.plot \
   ALICE_2010_S8625980.plot \

Added: trunk/data/refdata/ALEPH_1999_S4193598.aida
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/data/refdata/ALEPH_1999_S4193598.aida	Mon Dec  5 14:48:53 2011	(r3501)
@@ -0,0 +1,108 @@
+<?xml version="1.0" ?>
+<!DOCTYPE aida SYSTEM "http://aida.freehep.org/schemas/3.3/aida.dtd">
+<aida version="3.3">
+  <implementation version="1.1" package="Rivet"/>
+  <dataPointSet name="d01-x01-y01" dimension="2"
+      path="/REF/ALEPH_1999_S4193598" title="Scaled energy of $D^{*\pm}$ in $Z\to e^+e+-$ at $\sqrt{s}=91.2$~GeV">
+    <dimension dim="0" title="$X_E$"/>
+    <dimension dim="1" title="$1/N_\text{Zhad} \text{d}N(D^{*})/\text{d}X_E$"/>
+    <annotation>
+      <item key="Title" value="Scaled energy of $D^{*\pm}$ in $Z\to e^+e+-$ at $\sqrt{s}=91.2$~GeV" sticky="true"/>
+      <item key="AidaPath" value="/REF/ALEPH_1999_S4193598/d01-x01-y01" sticky="true"/>
+    </annotation>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="1.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="6.300000e-04" value="7.470000e-03" errorMinus="6.300000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="1.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="4.900000e-04" value="9.030000e-03" errorMinus="4.900000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="2.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="4.400000e-04" value="1.042000e-02" errorMinus="4.400000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="2.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="4.300000e-04" value="1.076000e-02" errorMinus="4.300000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="3.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="3.800000e-04" value="9.890000e-03" errorMinus="3.800000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="3.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="3.500000e-04" value="8.970000e-03" errorMinus="3.500000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="4.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="3.200000e-04" value="8.170000e-03" errorMinus="3.200000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="4.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="2.800000e-04" value="6.940000e-03" errorMinus="2.800000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="5.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="2.700000e-04" value="6.730000e-03" errorMinus="2.700000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="5.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="2.400000e-04" value="5.560000e-03" errorMinus="2.400000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="6.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="2.200000e-04" value="4.940000e-03" errorMinus="2.200000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="6.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="1.800000e-04" value="3.490000e-03" errorMinus="1.800000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="7.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="1.700000e-04" value="3.130000e-03" errorMinus="1.700000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="7.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="1.400000e-04" value="2.000000e-03" errorMinus="1.400000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="8.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="1.100000e-04" value="1.270000e-03" errorMinus="1.100000e-04"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="8.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="7.000000e-05" value="5.000000e-04" errorMinus="7.000000e-05"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="9.250000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="5.000000e-05" value="2.700000e-04" errorMinus="5.000000e-05"/>
+    </dataPoint>
+    <dataPoint>
+      <measurement errorPlus="2.500000e-02" value="9.750000e-01" errorMinus="2.500000e-02"/>
+      <measurement errorPlus="3.000000e-05" value="6.000000e-05" errorMinus="3.000000e-05"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d02-x01-y01" dimension="2"
+      path="/REF/ALEPH_1999_S4193598" title="BR(D*+- --> D0PI+)*BR(D0 --> K-PI+)*MULT(Q=D*+-)">
+    <annotation>
+      <item key="Title" value="BR(D*+- --> D0PI+)*BR(D0 --> K-PI+)*MULT(Q=D*+-)" sticky="true"/>
+      <item key="AidaPath" value="/REF/ALEPH_1999_S4193598/d02-x01-y01" sticky="true"/>
+    </annotation>
+    <dataPoint>
+      <measurement errorPlus="5.000000e-01" value="5.000000e-01" errorMinus="5.000000e-01"/>
+      <measurement errorPlus="9.835141e-05" value="5.114000e-03" errorMinus="9.835141e-05"/>
+    </dataPoint>
+  </dataPointSet>
+  <dataPointSet name="d03-x01-y01" dimension="2"
+      path="/REF/ALEPH_1999_S4193598" title="SIG(Q=CCBAR)/SIG(Q=HADS)">
+    <annotation>
+      <item key="Title" value="SIG(Q=CCBAR)/SIG(Q=HADS)" sticky="true"/>
+      <item key="AidaPath" value="/REF/ALEPH_1999_S4193598/d03-x01-y01" sticky="true"/>
+    </annotation>
+    <dataPoint>
+      <measurement errorPlus="5.000000e-01" value="9.120000e+01" errorMinus="5.000000e-01"/>
+      <measurement errorPlus="1.248119e-02" value="1.738000e-01" errorMinus="1.248119e-02"/>
+    </dataPoint>
+  </dataPointSet>
+</aida>

Modified: trunk/data/refdata/Makefile.am
==============================================================================
--- trunk/data/refdata/Makefile.am	Thu Dec  1 14:41:21 2011	(r3500)
+++ trunk/data/refdata/Makefile.am	Mon Dec  5 14:48:53 2011	(r3501)
@@ -6,6 +6,7 @@
   ALEPH_1991_S2435284.aida       \
   ALEPH_1996_S3486095.aida       \
   ALEPH_1996_S3196992.aida       \
+  ALEPH_1999_S4193598.aida       \
   ALEPH_2004_S5765862.aida       \
   ALICE_2010_S8624100.aida       \
   ALICE_2010_S8625980.aida       \

Added: trunk/src/Analyses/ALEPH_1999_S4193598.cc
==============================================================================
--- /dev/null	00:00:00 1970	(empty, because file is newly added)
+++ trunk/src/Analyses/ALEPH_1999_S4193598.cc	Mon Dec  5 14:48:53 2011	(r3501)
@@ -0,0 +1,143 @@
+// -*- C++ -*-
+#include "Rivet/Analysis.hh"
+#include "Rivet/RivetAIDA.hh"
+#include "Rivet/Tools/Logging.hh"
+#include "Rivet/Projections/Beam.hh"
+#include "HepMC/GenParticle.h"
+#include "HepMC/GenVertex.h"
+#include "Rivet/Projections/ChargedFinalState.hh"
+#include "Rivet/Projections/UnstableFinalState.hh"
+
+bool hasDecayedTo(const Rivet::Particle& p, int id1, int id2) {
+  bool decision = false;
+  const HepMC::GenParticle& genp = p.genParticle();
+  //HepMC::GenVertex* prodV = genp.production_vertex();
+  HepMC::GenVertex* decV  = genp.end_vertex();
+  std::vector<int> decids;
+  if (decV->particles_out_size() == 2) {
+    for (HepMC::GenVertex::particles_out_const_iterator pp = decV->particles_out_const_begin() ;
+         pp != decV->particles_out_const_end() ; ++pp) {
+      decids.push_back(fabs((*pp)->pdg_id()));
+    }
+    if ( (decids[0] == fabs(id1) && decids[1] == fabs(id2)) || (decids[1] == fabs(id1) && decids[0] == fabs(id2)) ) decision = true;
+
+  };
+  return decision;
+}
+
+bool hasDecayedTo(const HepMC::GenParticle* p, int id1, int id2) {
+  bool decision = false;
+  HepMC::GenVertex* decV  = p->end_vertex();
+  std::vector<int> decids;
+  std::vector<int> decids2;
+  if (decV->particles_out_size() == 2) {
+    for (HepMC::GenVertex::particles_out_const_iterator pp = decV->particles_out_const_begin() ;
+         pp != decV->particles_out_const_end() ; ++pp) {
+      decids.push_back(fabs((*pp)->pdg_id()));
+      decids2.push_back((*pp)->pdg_id());
+    }
+    if ( (decids[0] == fabs(id1) && decids[1] == fabs(id2)) || (decids[1] == fabs(id1) && decids[0] == fabs(id2)) ) {
+      decision = true;
+      std::cout << decids2[0] <<  " " << decids2[1] << std::endl;
+    }
+
+  };
+  return decision;
+}
+
+namespace Rivet {
+
+
+  class ALEPH_1999_S4193598 : public Analysis {
+  public:
+
+    /// @name Constructors etc.
+    //@{
+
+    /// Constructor
+    ALEPH_1999_S4193598()
+      : Analysis("ALEPH_1999_S4193598")
+    {
+      _sumWpassed = 0.0;
+    }
+
+    //@}
+
+
+  public:
+
+    /// Book histograms and initialise projections before the run
+    void init() {
+
+      addProjection(Beam(), "Beams");
+      addProjection(UnstableFinalState(), "UFS");
+      addProjection(ChargedFinalState(), "CFS");
+
+      _h_Xe_Ds = bookHistogram1D(1, 1, 1);
+
+
+    }
+
+
+    /// Perform the per-event analysis
+    void analyze(const Event& event) {
+      const double weight = event.weight();
+
+      // Trigger condition
+      const ChargedFinalState& cfs = applyProjection<ChargedFinalState>(event, "CFS");
+      if (cfs.size() < 5) vetoEvent;
+      
+      _sumWpassed += weight;
+
+      const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(event, "UFS");
+
+      // Get beams and average beam momentum
+      const ParticlePair& beams = applyProjection<Beam>(event, "Beams").beams();
+      const double meanBeamMom = ( beams.first.momentum().vector3().mod() +
+                                   beams.second.momentum().vector3().mod() ) / 2.0/GeV;
+     
+      foreach (const Particle& p, ufs.particles()) {
+        
+        const PdgId pid = fabs(p.pdgId());
+
+
+        switch (pid) {
+        case 413:
+
+          // Accept all D*+- decays. Normalisation to D0 + pi+- in finalize()
+          
+          // Scaled energy.
+          const double energy = p.momentum().E()/GeV;
+          const double scaledEnergy = energy/meanBeamMom;
+          _h_Xe_Ds->fill(scaledEnergy, weight);
+
+          break;
+        }
+      }
+    }
+
+
+    /// Normalise histograms etc., after the run
+    void finalize() {
+
+      // Scale to the product of branching fractions D0*->D0 pi  x  D0->Kpi(charged)
+      // Numbers are taken from PDG 2010
+      scale(_h_Xe_Ds, 0.677*0.0389/_sumWpassed);
+
+    }
+
+  private:
+    double _sumWpassed;
+
+  private:
+
+    AIDA::IHistogram1D *_h_Xe_Ds;
+
+  };
+
+
+
+  // The hook for the plugin system
+  DECLARE_RIVET_PLUGIN(ALEPH_1999_S4193598);
+
+}

Modified: trunk/src/Analyses/Makefile.am
==============================================================================
--- trunk/src/Analyses/Makefile.am	Thu Dec  1 14:41:21 2011	(r3500)
+++ trunk/src/Analyses/Makefile.am	Mon Dec  5 14:48:53 2011	(r3501)
@@ -192,6 +192,7 @@
     ALEPH_1991_S2435284.cc \
     ALEPH_1996_S3486095.cc \
     ALEPH_1996_S3196992.cc \
+    ALEPH_1999_S4193598.cc \
     ALEPH_2004_S5765862.cc \
     DELPHI_1995_S3137023.cc \
     DELPHI_1996_S3430090.cc \


More information about the Rivet-svn mailing list