|
[Rivet-svn] r3501 - in trunk: data/anainfo data/plotinfo data/refdata src/Analysesblackhole at projects.hepforge.org blackhole at projects.hepforge.orgMon 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 |