|
[Rivet-svn] r3671 - in trunk: data/anainfo data/plotinfo src/Analysesblackhole at projects.hepforge.org blackhole at projects.hepforge.orgWed Apr 11 15:14:55 BST 2012
Author: richardn Date: Wed Apr 11 15:14:55 2012 New Revision: 3671 Log: BaBar tau decay analysis added Added: trunk/data/anainfo/BABAR_2007_S7266081.info - copied, changed from r3667, trunk/data/anainfo/BABAR_2007_S6895344.info trunk/data/plotinfo/BABAR_2007_S7266081.plot - copied, changed from r3667, trunk/data/plotinfo/BABAR_2007_S6895344.plot trunk/src/Analyses/BABAR_2007_S7266081.cc - copied, changed from r3667, trunk/src/Analyses/ARGUS_1993_S2789213.cc Modified: trunk/data/anainfo/Makefile.am trunk/data/plotinfo/Makefile.am trunk/src/Analyses/Makefile.am Copied and modified: trunk/data/anainfo/BABAR_2007_S7266081.info (from r3667, trunk/data/anainfo/BABAR_2007_S6895344.info) ============================================================================== --- trunk/data/anainfo/BABAR_2007_S6895344.info Tue Apr 10 08:03:31 2012 (r3667, copy source) +++ trunk/data/anainfo/BABAR_2007_S7266081.info Wed Apr 11 15:14:55 2012 (r3671) @@ -1,34 +1,37 @@ -Name: BABAR_2007_S6895344 -Summary: Inclusive $\Lambda_c^+$ Production in $e^+e^-$ Annihilation at $\sqrt{s}=10.54$ GeV and in $\Upsilon(4S)$ Decays. +Name: BABAR_2007_S7266081 +Summary: Measurements of Semi-Leptonic Tau Decays into Three Charged Hadrons Status: VALIDATED Authors: - Peter Richardson <Peter.Richardson at durham.ac.uk> References: - - Phys.Rev. D75 (2007) 012003 - - hep-ex/0609004 + - Phys.Rev.Lett.100:011801,2008 + - arXiv:0707.2981 + - SLAC-R-936 RunInfo: - $e^+ e^-$ analysis on the $\Upsilon(4S)$ resonance, with CoM boost -- 8.0~GeV~($e^−$) and 3.5~GeV~($e^+$) + Tau production, can be any process but original data was in $e^+ e^-$ at the $\Upsilon(4S)$ resonance, with CoM boost -- 8.0~GeV~($e^−$) and 3.5~GeV~($e^+$) NumEvents: 1000000 -SpiresID: 6895344 +SpiresID: 7266081 Beams: [e+, e-] -Energies: [[3.5, 8.0],[3.5,7.91]] +Energies: [[3.5, 8.0]] PtCuts: [0] -Description: Measurements of the total production rates and momentum distributions of the charmed baryon $\Lambda_c^+$ in - $e^+e^- \to$ hadrons at a centre-of-mass energy of 10.54 GeV and in $\Upsilon(4S)$ decays. -BibKey: Aubert:2006cp -BibTeX: '@article{Aubert:2006cp, - author = "Aubert, Bernard and others", - title = "{Inclusive $\Lambda_c^+$ Production in $e^+ e^-$ Annihilations - at $\sqrt{s}=10.54$ GeV and in $\Upsilon(4S)$ Decays}", - collaboration = "BABAR Collaboration", - journal = "Phys.Rev.", - volume = "D75", - pages = "012003", - doi = "10.1103/PhysRevD.75.012003", - year = "2007", - eprint = "hep-ex/0609004", - archivePrefix = "arXiv", - primaryClass = "hep-ex", - reportNumber = "SLAC-PUB-12074, BABAR-PUB-06-054", - SLACcitation = "%%CITATION = HEP-EX/0609004;%%", +Description: Measurement of tau decays to three charged hadrons using + a data sample corresponding to an integrated luminosity of 342 $fb^{-1}$ collected + with the BABAR detector at the SLAC PEP-II electron-positron storage ring operating + at a center-of-mass energy near 10.58 GeV. +BibKey: Aubert:2007mh +BibTeX: '@Article{Aubert:2007mh, + author = "Aubert, Bernard and others", + collaboration = "BABAR", + title = "{Exclusive branching fraction measurements of semileptonic + tau decays into three charged hadrons, $\tau^- \to \phi + \pi^- \nu_\tau$ and $\tau^- \to \phi K^- \nu_\tau$}", + journal = "Phys. Rev. Lett.", + volume = "100", + year = "2008", + pages = "011801", + eprint = "0707.2981", + archivePrefix = "arXiv", + primaryClass = "hep-ex", + doi = "10.1103/PhysRevLett.100.011801", + SLACcitation = "%%CITATION = 0707.2981;%%" }' Modified: trunk/data/anainfo/Makefile.am ============================================================================== --- trunk/data/anainfo/Makefile.am Tue Apr 10 12:33:07 2012 (r3670) +++ trunk/data/anainfo/Makefile.am Wed Apr 11 15:14:55 2012 (r3671) @@ -45,6 +45,7 @@ ATLAS_2012_I1094568.info \ BABAR_2005_S6181155.info \ BABAR_2007_S6895344.info \ + BABAR_2007_S7266081.info \ BELLE_2001_S4598261.info \ BELLE_2006_S6265367.info \ CDF_1988_S1865951.info \ Copied and modified: trunk/data/plotinfo/BABAR_2007_S7266081.plot (from r3667, trunk/data/plotinfo/BABAR_2007_S6895344.plot) ============================================================================== --- trunk/data/plotinfo/BABAR_2007_S6895344.plot Tue Apr 10 08:03:31 2012 (r3667, copy source) +++ trunk/data/plotinfo/BABAR_2007_S7266081.plot Wed Apr 11 15:14:55 2012 (r3671) @@ -1,30 +1,88 @@ - -# BEGIN PLOT /BABAR_2007_S6895344/d01-x01-y01 -Title=$\Lambda_c^+$ scaled momentum in the continuum region -XLabel=$x_p$ -YLabel=$1/\sigma\times\text{d}\sigma/\text{d}x_p$ +# BEGIN PLOT /BABAR_2007_S7266081/d01-x01-y01 +Title=$\pi^-\pi^-\pi^+$ mass in $\tau^-\to\pi^-\pi^-\pi^+\nu_\tau$ decays +XLabel=$m_{\pi^-\pi^-\pi^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{\pi^-\pi^-\pi^+}$ [ $\text{GeV}^{-1}$] YLog=0 # END PLOT - -# BEGIN PLOT /BABAR_2007_S6895344/d03-x01-y01 -Title=$\Lambda_c^+$ scaled momentum in the resonance region -XLabel=$x_p$ -YLabel=$1/\sigma\times\text{d}\sigma/\text{d}x_p$ +# BEGIN PLOT /BABAR_2007_S7266081/d02-x01-y01 +Title=$\pi^-\pi^+$ mass in $\tau^-\to\pi^-\pi^-\pi^+\nu_\tau$ decays +XLabel=$m_{\pi^-\pi^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{\pi^-\pi^+}$ [ $\text{GeV}^{-1}$] YLog=0 # END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d03-x01-y01 +Title=$K^-\pi^-\pi^+$ mass in $\tau^-\to K^-\pi^-\pi^+\nu_\tau$ decays +XLabel=$m_{K^-\pi^-\pi^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{K^-\pi^-\pi^+}$ [ $\text{GeV}^{-1}$] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d04-x01-y01 +Title=$K^-\pi^+$ mass in $\tau^-\to K^-\pi^-\pi^+\nu_\tau$ decays +XLabel=$m_{K^-\pi^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{K^-\pi^+}$ [ $\text{GeV}^{-1}$] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d05-x01-y01 +Title=$\pi^-\pi^+$ mass in $\tau^-\to K^-\pi^-\pi^+\nu_\tau$ decays +XLabel=$m_{\pi^-\pi^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{\pi^-\pi^+}$ [ $\text{GeV}^{-1}$] +YLog=0 +# END PLOT -# BEGIN PLOT /BABAR_2007_S6895344/d02-x01-y01 -Title=Production rate for $\Lambda_c^++\bar{\Lambda}_c^-$ in the continuum region -XLabel=$\sqrt{s}/\text{GeV}$ -YLabel=$N(\Lambda_c^++\bar{\Lambda}_c^-)/N(q\bar q)$ +# BEGIN PLOT /BABAR_2007_S7266081/d06-x01-y01 +Title=$K^-\pi^-K^+$ mass in $\tau^-\to K^-\pi^-K^+\nu_\tau$ decays +XLabel=$m_{K^-\pi^-K^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{K^-\pi^-K^+}$ [ $\text{GeV}^{-1}$] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d07-x01-y01 +Title=$K^-K^+$ mass in $\tau^-\to K^-\pi^-K^+\nu_\tau$ decays +XLabel=$m_{K^-K^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{K^-K^+}$ [ $\text{GeV}^{-1}$] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d08-x01-y01 +Title=$\pi^-K^+$ mass in $\tau^-\to K^-\pi^-K^+\nu_\tau$ decays +XLabel=$m_{\pi^-K^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{\pi^-K^+}$ [ $\text{GeV}^{-1}$] YLog=0 # END PLOT -# BEGIN PLOT /BABAR_2007_S6895344/d04-x01-y01 -Title=Cross Section for $e^+e^-\to \Lambda_c^++\bar{\Lambda}_c^-+X$ in the resonance region -XLabel=$\sqrt{s}/\text{GeV}$ -YLabel=$N(\Lambda_c^++\bar{\Lambda}_c^-)/N(q\bar q)$ +# BEGIN PLOT /BABAR_2007_S7266081/d09-x01-y01 +Title=$K^-K^-K^+$ mass in $\tau^-\to K^-K^-K^+\nu_\tau$ decays +XLabel=$m_{K^-K^-K^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{K^-K^-K^+}$ [ $\text{GeV}^{-1}$] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d10-x01-y01 +Title=$K^-K^+$ mass in $\tau^-\to K^-K^-K^+\nu_\tau$ decays +XLabel=$m_{K^-K^+}$ [GeV] +YLabel=$1/\Gamma\text{d}\Gamma/\text{d}m_{K^-K^+}$ [ $\text{GeV}^{-1}$] YLog=0 # END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d11-x01-y01 +Title=Branching ratio for $\tau^-\to\pi^-\pi^-\pi^+\nu_\tau$ decays +XLabel= +YLabel=$\matrhcal{B}(\tau^-\to\pi^-\pi^-\pi^+\nu_\tau)$ [\%] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d12-x01-y01 +Title=Branching ratio for $\tau^-\to K^-\pi^-\pi^+\nu_\tau$ decays +XLabel= +YLabel=$\matrhcal{B}(\tau^-\to K^-\pi^-\pi^+\nu_\tau)$ [\%] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d13-x01-y01 +Title=Branching ratio for $\tau^-\to K^-\pi^-K^+\nu_\tau$ decays +XLabel= +YLabel=$\matrhcal{B}(\tau^-\to K^-\pi^-K^+\nu_\tau)$ [\%] +YLog=0 +# END PLOT +# BEGIN PLOT /BABAR_2007_S7266081/d14-x01-y01 +Title=Branching ratio for $\tau^-\to K^-K^-K^+\nu_\tau$ decays +XLabel= +YLabel=$\matrhcal{B}(\tau^-\to K^-K^-K^+\nu_\tau)$ [\%] +YLog=0 +# END PLOT Modified: trunk/data/plotinfo/Makefile.am ============================================================================== --- trunk/data/plotinfo/Makefile.am Tue Apr 10 12:33:07 2012 (r3670) +++ trunk/data/plotinfo/Makefile.am Wed Apr 11 15:14:55 2012 (r3671) @@ -40,6 +40,7 @@ ATLAS_2012_I1094568.plot \ BABAR_2005_S6181155.plot \ BABAR_2007_S6895344.plot \ + BABAR_2007_S7266081.plot \ BELLE_2001_S4598261.plot \ BELLE_2006_S6265367.plot \ CDF_1988_S1865951.plot \ Copied and modified: trunk/src/Analyses/BABAR_2007_S7266081.cc (from r3667, trunk/src/Analyses/ARGUS_1993_S2789213.cc) ============================================================================== --- trunk/src/Analyses/ARGUS_1993_S2789213.cc Tue Apr 10 08:03:31 2012 (r3667, copy source) +++ trunk/src/Analyses/BABAR_2007_S7266081.cc Wed Apr 11 15:14:55 2012 (r3671) @@ -3,286 +3,194 @@ #include "Rivet/Analysis.hh" #include "Rivet/RivetAIDA.hh" #include "Rivet/Tools/ParticleIdUtils.hh" -#include "Rivet/Projections/Beam.hh" #include "Rivet/Projections/UnstableFinalState.hh" #include "Rivet/ParticleName.hh" namespace Rivet { - /// @brief ARGUS vector meson production + /// @brief BABAR tau lepton to three charged hadrons /// @author Peter Richardson - class ARGUS_1993_S2789213 : public Analysis { + class BABAR_2007_S7266081 : public Analysis { public: - ARGUS_1993_S2789213() - : Analysis("ARGUS_1993_S2789213"), - _weightSum_cont(0.),_weightSum_Ups1(0.),_weightSum_Ups4(0.) + BABAR_2007_S7266081() + : Analysis("BABAR_2007_S7266081"), _weight_total(0.), + _weight_pipippi(0.),_weight_Kpipi(0.),_weight_KpiK(0.),_weight_KKK(0.) { } void analyze(const Event& e) { - const double weight = e.weight(); - const Beam beamproj = applyProjection<Beam>(e, "Beams"); - const double s = sqr(beamproj.sqrtS()); - const double roots = sqrt(s); const UnstableFinalState& ufs = applyProjection<UnstableFinalState>(e, "UFS"); - // find the upsilons - ParticleVector upsilons; - // first in unstable final state - foreach (const Particle& p, ufs.particles()) - if(p.pdgId()==300553 || p.pdgId()==553 ) upsilons.push_back(p); - // then in whole event if fails - if(upsilons.empty()) { - foreach (GenParticle* p, Rivet::particles(e.genEvent())) { - if( p->pdg_id() != 300553 && p->pdg_id() != 553 ) continue; - const GenVertex* pv = p->production_vertex(); - bool passed = true; - if (pv) { - for (GenVertex::particles_in_const_iterator - pp = pv->particles_in_const_begin() ; - pp != pv->particles_in_const_end() ; ++pp) { - if ( p->pdg_id() == (*pp)->pdg_id() ) { - passed = false; - break; - } - } - } - if(passed) upsilons.push_back(Particle(*p)); + // find the taus + ParticleVector taus; + foreach (const Particle& p, ufs.particles()) { + if(abs(p.pdgId())!=15) continue; + _weight_total += 1.; + ParticleVector pip,pim,Kp,Km; + unsigned int nstable = 0.; + // get the boost to the rest frame + LorentzTransform cms_boost; + if(p.momentum().vector3().mod()>0.001) + cms_boost = LorentzTransform(-p.momentum().boostVector()); + // find the decay products we want + findDecayProducts(p.genParticle(),nstable,pip,pim,Kp,Km); + if(p.pdgId()<0) { + swap(pip,pim); + swap(Kp ,Km ); } - } - - // continuum - if(upsilons.empty()) { - _weightSum_cont += weight; - unsigned int nOmega(0),nRho0(0),nKStar0(0),nKStarPlus(0),nPhi(0); - foreach (const Particle& p, ufs.particles()) { - int id = abs(p.pdgId()); - double xp = 2.*p.momentum().t()/roots; - double beta = p.momentum().vector3().mod()/p.momentum().t(); - if(id==113) { - _hist_cont_Rho0->fill(xp,weight/beta); - ++nRho0; - } - else if(id==313) { - _hist_cont_KStar0->fill(xp,weight/beta); - ++nKStar0; - } - else if(id==223) { - _hist_cont_Omega->fill(xp,weight/beta); - ++nOmega; - } - else if(id==323) { - _hist_cont_KStarPlus->fill(xp,weight/beta); - ++nKStarPlus; - } - else if(id==333) { - ++nPhi; - } + if(nstable!=4) continue; + // pipipi + if(pim.size()==2&&pip.size()==1) { + _weight_pipippi += 1.; + _hist_pipipi_pipipi-> + fill((pip[0].momentum()+pim[0].momentum()+pim[1].momentum()).mass(),1.); + _hist_pipipi_pipi-> + fill((pip[0].momentum()+pim[0].momentum()).mass(),1.); + _hist_pipipi_pipi-> + fill((pip[0].momentum()+pim[1].momentum()).mass(),1.); } - _mult_cont_Omega ->fill(10.45,weight*nOmega ); - _mult_cont_Rho0 ->fill(10.45,weight*nRho0 ); - _mult_cont_KStar0 ->fill(10.45,weight*nKStar0 ); - _mult_cont_KStarPlus->fill(10.45,weight*nKStarPlus); - _mult_cont_Phi ->fill(10.45,weight*nPhi ); - } - else { - // find an upsilons - foreach (const Particle& ups, upsilons) { - int parentId = ups.pdgId(); - if(parentId==553) - _weightSum_Ups1 += weight; - else - _weightSum_Ups4 += weight; - ParticleVector unstable; - // find the decay products we want - findDecayProducts(ups.genParticle(),unstable); - LorentzTransform cms_boost; - if(ups.momentum().vector3().mod()>0.001) - cms_boost = LorentzTransform(-ups.momentum().boostVector()); - double mass = ups.momentum().mass(); - unsigned int nOmega(0),nRho0(0),nKStar0(0),nKStarPlus(0),nPhi(0); - foreach(const Particle & p , unstable) { - int id = abs(p.pdgId()); - FourMomentum p2 = cms_boost.transform(p.momentum()); - double xp = 2.*p2.t()/mass; - double beta = p2.vector3().mod()/p2.t(); - if(id==113) { - if(parentId==553) _hist_Ups1_Rho0->fill(xp,weight/beta); - else _hist_Ups4_Rho0->fill(xp,weight/beta); - ++nRho0; - } - else if(id==313) { - if(parentId==553) _hist_Ups1_KStar0->fill(xp,weight/beta); - else _hist_Ups4_KStar0->fill(xp,weight/beta); - ++nKStar0; - } - else if(id==223) { - if(parentId==553) _hist_Ups1_Omega->fill(xp,weight/beta); - ++nOmega; - } - else if(id==323) { - if(parentId==553) _hist_Ups1_KStarPlus->fill(xp,weight/beta); - else _hist_Ups4_KStarPlus->fill(xp,weight/beta); - ++nKStarPlus; - } - else if(id==333) { - ++nPhi; - } - } - if(parentId==553) { - _mult_Ups1_Omega ->fill(9.46,weight*nOmega ); - _mult_Ups1_Rho0 ->fill(9.46,weight*nRho0 ); - _mult_Ups1_KStar0 ->fill(9.46,weight*nKStar0 ); - _mult_Ups1_KStarPlus->fill(9.46,weight*nKStarPlus); - _mult_Ups1_Phi ->fill(9.46,weight*nPhi ); - } - else { - _mult_Ups4_Omega ->fill(10.58,weight*nOmega ); - _mult_Ups4_Rho0 ->fill(10.58,weight*nRho0 ); - _mult_Ups4_KStar0 ->fill(10.58,weight*nKStar0 ); - _mult_Ups4_KStarPlus->fill(10.58,weight*nKStarPlus); - _mult_Ups4_Phi ->fill(10.58,weight*nPhi ); - } + else if(pim.size()==1&&pip.size()==1&&Km.size()==1) { + _weight_Kpipi += 1.; + _hist_Kpipi_Kpipi-> + fill((pim[0].momentum()+pip[0].momentum()+Km[0].momentum()).mass(),1.); + _hist_Kpipi_Kpi-> + fill((pip[0].momentum()+Km[0].momentum()).mass(),1.); + _hist_Kpipi_pipi-> + fill((pim[0].momentum()+pip[0].momentum()).mass(),1.); + } + else if(Kp.size()==1&&Km.size()==1&&pim.size()==1) { + _weight_KpiK += 1.; + _hist_KpiK_KpiK-> + fill((Kp[0].momentum()+Km[0].momentum()+pim[0].momentum()).mass(),1.); + _hist_KpiK_KK-> + fill((Kp[0].momentum()+Km[0].momentum()).mass(),1.); + _hist_KpiK_piK-> + fill((Kp[0].momentum()+pim[0].momentum()).mass(),1.); + } + else if(Kp.size()==1&&Km.size()==2) { + _weight_KKK += 1.; + _hist_KKK_KKK-> + fill((Kp[0].momentum()+Km[0].momentum()+Km[1].momentum()).mass(),1.); + _hist_KKK_KK-> + fill((Kp[0].momentum()+Km[0].momentum()).mass(),1.); + _hist_KKK_KK-> + fill((Kp[0].momentum()+Km[1].momentum()).mass(),1.); } } } // analyze void finalize() { - if(_weightSum_cont>0.) { - scale(_mult_cont_Omega , 1./_weightSum_cont); - scale(_mult_cont_Rho0 , 1./_weightSum_cont); - scale(_mult_cont_KStar0 , 1./_weightSum_cont); - scale(_mult_cont_KStarPlus, 1./_weightSum_cont); - scale(_mult_cont_Phi , 1./_weightSum_cont); - scale(_hist_cont_KStarPlus, 1./_weightSum_cont); - scale(_hist_cont_KStar0 , 1./_weightSum_cont); - scale(_hist_cont_Rho0 , 1./_weightSum_cont); - scale(_hist_cont_Omega , 1./_weightSum_cont); - } - if(_weightSum_Ups1>0.) { - scale(_mult_Ups1_Omega , 1./_weightSum_Ups1); - scale(_mult_Ups1_Rho0 , 1./_weightSum_Ups1); - scale(_mult_Ups1_KStar0 , 1./_weightSum_Ups1); - scale(_mult_Ups1_KStarPlus, 1./_weightSum_Ups1); - scale(_mult_Ups1_Phi , 1./_weightSum_Ups1); - scale(_hist_Ups1_KStarPlus, 1./_weightSum_Ups1); - scale(_hist_Ups1_KStar0 , 1./_weightSum_Ups1); - scale(_hist_Ups1_Rho0 , 1./_weightSum_Ups1); - scale(_hist_Ups1_Omega , 1./_weightSum_Ups1); - } - if(_weightSum_Ups4>0.) { - scale(_mult_Ups4_Omega , 1./_weightSum_Ups4); - scale(_mult_Ups4_Rho0 , 1./_weightSum_Ups4); - scale(_mult_Ups4_KStar0 , 1./_weightSum_Ups4); - scale(_mult_Ups4_KStarPlus, 1./_weightSum_Ups4); - scale(_mult_Ups4_Phi , 1./_weightSum_Ups4); - scale(_hist_Ups4_KStarPlus, 1./_weightSum_Ups4); - scale(_hist_Ups4_KStar0 , 1./_weightSum_Ups4); - scale(_hist_Ups4_Rho0 , 1./_weightSum_Ups4); - } + if(_weight_pipippi>0.) { + scale(_hist_pipipi_pipipi, 1./_weight_pipippi); + scale(_hist_pipipi_pipi ,0.5/_weight_pipippi); + } + if(_weight_Kpipi>0.) { + scale(_hist_Kpipi_Kpipi , 1./_weight_Kpipi); + scale(_hist_Kpipi_Kpi , 1./_weight_Kpipi); + scale(_hist_Kpipi_pipi , 1./_weight_Kpipi); + } + if(_weight_KpiK>0.) { + scale(_hist_KpiK_KpiK , 1./_weight_KpiK); + scale(_hist_KpiK_KK , 1./_weight_KpiK); + scale(_hist_KpiK_piK , 1./_weight_KpiK); + } + if(_weight_KKK>0.) { + scale(_hist_KKK_KKK , 1./_weight_KKK); + scale(_hist_KKK_KK ,0.5/_weight_KKK); + } + AIDA::IDataPointSet * br_pipipi = bookDataPointSet(11,1,1); + br_pipipi->point(0)->coordinate(1)->setValue ( 100.*_weight_pipippi/_weight_total); + br_pipipi->point(0)->coordinate(1)->setErrorPlus ( 100.*sqrt(_weight_pipippi)/_weight_total); + br_pipipi->point(0)->coordinate(1)->setErrorMinus( 100.*sqrt(_weight_pipippi)/_weight_total); + AIDA::IDataPointSet * br_Kpipi = bookDataPointSet(12,1,1); + br_Kpipi->point(0)->coordinate(1)->setValue ( 100.*_weight_Kpipi/_weight_total); + br_Kpipi->point(0)->coordinate(1)->setErrorPlus ( 100.*sqrt(_weight_Kpipi)/_weight_total); + br_Kpipi->point(0)->coordinate(1)->setErrorMinus( 100.*sqrt(_weight_Kpipi)/_weight_total); + AIDA::IDataPointSet * br_KpiK = bookDataPointSet(13,1,1); + br_KpiK->point(0)->coordinate(1)->setValue ( 100.*_weight_KpiK/_weight_total); + br_KpiK->point(0)->coordinate(1)->setErrorPlus ( 100.*sqrt(_weight_KpiK)/_weight_total); + br_KpiK->point(0)->coordinate(1)->setErrorMinus( 100.*sqrt(_weight_KpiK)/_weight_total); + AIDA::IDataPointSet * br_KKK = bookDataPointSet(14,1,1); + br_KKK->point(0)->coordinate(1)->setValue ( 100.*_weight_KKK/_weight_total); + br_KKK->point(0)->coordinate(1)->setErrorPlus ( 100.*sqrt(_weight_KKK)/_weight_total); + br_KKK->point(0)->coordinate(1)->setErrorMinus( 100.*sqrt(_weight_KKK)/_weight_total); } // finalize - void init() { - addProjection(Beam(), "Beams"); addProjection(UnstableFinalState(), "UFS"); - _mult_cont_Omega = bookHistogram1D( 1,1,1); - _mult_cont_Rho0 = bookHistogram1D( 1,1,2); - _mult_cont_KStar0 = bookHistogram1D( 1,1,3); - _mult_cont_KStarPlus = bookHistogram1D( 1,1,4); - _mult_cont_Phi = bookHistogram1D( 1,1,5); - - _mult_Ups1_Omega = bookHistogram1D( 2,1,1); - _mult_Ups1_Rho0 = bookHistogram1D( 2,1,2); - _mult_Ups1_KStar0 = bookHistogram1D( 2,1,3); - _mult_Ups1_KStarPlus = bookHistogram1D( 2,1,4); - _mult_Ups1_Phi = bookHistogram1D( 2,1,5); - - _mult_Ups4_Omega = bookHistogram1D( 3,1,1); - _mult_Ups4_Rho0 = bookHistogram1D( 3,1,2); - _mult_Ups4_KStar0 = bookHistogram1D( 3,1,3); - _mult_Ups4_KStarPlus = bookHistogram1D( 3,1,4); - _mult_Ups4_Phi = bookHistogram1D( 3,1,5); - - _hist_cont_KStarPlus = bookHistogram1D( 4,1,1); - _hist_Ups1_KStarPlus = bookHistogram1D( 5,1,1); - _hist_Ups4_KStarPlus = bookHistogram1D( 6,1,1); - - _hist_cont_KStar0 = bookHistogram1D( 7,1,1); - _hist_Ups1_KStar0 = bookHistogram1D( 8,1,1); - _hist_Ups4_KStar0 = bookHistogram1D( 9,1,1); - - _hist_cont_Rho0 = bookHistogram1D(10,1,1); - _hist_Ups1_Rho0 = bookHistogram1D(11,1,1); - _hist_Ups4_Rho0 = bookHistogram1D(12,1,1); - - _hist_cont_Omega = bookHistogram1D(13,1,1); - _hist_Ups1_Omega = bookHistogram1D(14,1,1); + _hist_pipipi_pipipi = bookHistogram1D( 1,1,1); + _hist_pipipi_pipi = bookHistogram1D( 2,1,1); + _hist_Kpipi_Kpipi = bookHistogram1D( 3,1,1); + _hist_Kpipi_Kpi = bookHistogram1D( 4,1,1); + _hist_Kpipi_pipi = bookHistogram1D( 5,1,1); + _hist_KpiK_KpiK = bookHistogram1D( 6,1,1); + _hist_KpiK_KK = bookHistogram1D( 7,1,1); + _hist_KpiK_piK = bookHistogram1D( 8,1,1); + _hist_KKK_KKK = bookHistogram1D( 9,1,1); + _hist_KKK_KK = bookHistogram1D(10,1,1); } // init private: //@{ - AIDA::IHistogram1D* _mult_cont_Omega ; - AIDA::IHistogram1D* _mult_cont_Rho0 ; - AIDA::IHistogram1D* _mult_cont_KStar0 ; - AIDA::IHistogram1D* _mult_cont_KStarPlus; - AIDA::IHistogram1D* _mult_cont_Phi ; - - AIDA::IHistogram1D* _mult_Ups1_Omega ; - AIDA::IHistogram1D* _mult_Ups1_Rho0 ; - AIDA::IHistogram1D* _mult_Ups1_KStar0 ; - AIDA::IHistogram1D* _mult_Ups1_KStarPlus; - AIDA::IHistogram1D* _mult_Ups1_Phi ; - - AIDA::IHistogram1D* _mult_Ups4_Omega ; - AIDA::IHistogram1D* _mult_Ups4_Rho0 ; - AIDA::IHistogram1D* _mult_Ups4_KStar0 ; - AIDA::IHistogram1D* _mult_Ups4_KStarPlus; - AIDA::IHistogram1D* _mult_Ups4_Phi ; - - AIDA::IHistogram1D* _hist_cont_KStarPlus; - AIDA::IHistogram1D* _hist_Ups1_KStarPlus; - AIDA::IHistogram1D* _hist_Ups4_KStarPlus; - - AIDA::IHistogram1D* _hist_cont_KStar0 ; - AIDA::IHistogram1D* _hist_Ups1_KStar0 ; - AIDA::IHistogram1D* _hist_Ups4_KStar0 ; - - AIDA::IHistogram1D* _hist_cont_Rho0 ; - AIDA::IHistogram1D* _hist_Ups1_Rho0 ; - AIDA::IHistogram1D* _hist_Ups4_Rho0 ; - - AIDA::IHistogram1D* _hist_cont_Omega ; - AIDA::IHistogram1D* _hist_Ups1_Omega ; + AIDA::IHistogram1D* _hist_pipipi_pipipi; + AIDA::IHistogram1D* _hist_pipipi_pipi ; + AIDA::IHistogram1D* _hist_Kpipi_Kpipi ; + AIDA::IHistogram1D* _hist_Kpipi_Kpi ; + AIDA::IHistogram1D* _hist_Kpipi_pipi ; + AIDA::IHistogram1D* _hist_KpiK_KpiK ; + AIDA::IHistogram1D* _hist_KpiK_KK ; + AIDA::IHistogram1D* _hist_KpiK_piK ; + AIDA::IHistogram1D* _hist_KKK_KKK ; + AIDA::IHistogram1D* _hist_KKK_KK ; // count of weights - double _weightSum_cont,_weightSum_Ups1,_weightSum_Ups4; + double _weight_total,_weight_pipippi,_weight_Kpipi,_weight_KpiK,_weight_KKK; //@} - void findDecayProducts(const GenParticle & p, - ParticleVector & unstable) { + void findDecayProducts(const GenParticle & p, unsigned int & nstable, + ParticleVector & pip, ParticleVector & pim, + ParticleVector & Kp, ParticleVector & Km) { const GenVertex* dv = p.end_vertex(); for (GenVertex::particles_out_const_iterator pp = dv->particles_out_const_begin(); pp != dv->particles_out_const_end(); ++pp) { - int id = abs((*pp)->pdg_id()); - if(id == 113 || id == 313 || id == 323 || - id == 333 || id == 223 ) { - unstable.push_back(Particle(**pp)); + int id = (*pp)->pdg_id(); + if( id == PI0 ) + ++nstable; + else if ( id == K0S) + ++nstable; + else if(id==PIPLUS) { + pip.push_back(Particle(**pp)); + ++nstable; + } + else if(id==PIMINUS) { + pim.push_back(Particle(**pp)); + ++nstable; + } + else if(id==KPLUS) { + Kp.push_back(Particle(**pp)); + ++nstable; + } + else if(id==KMINUS) { + Km.push_back(Particle(**pp)); + ++nstable; + } + else if((*pp)->end_vertex()) { + findDecayProducts(**pp,nstable,pip,pim,Kp,Km); } - else if((*pp)->end_vertex()) - findDecayProducts(**pp,unstable); + else + ++nstable; } } }; // The hook for the plugin system - DECLARE_RIVET_PLUGIN(ARGUS_1993_S2789213); + DECLARE_RIVET_PLUGIN(BABAR_2007_S7266081); } Modified: trunk/src/Analyses/Makefile.am ============================================================================== --- trunk/src/Analyses/Makefile.am Tue Apr 10 12:33:07 2012 (r3670) +++ trunk/src/Analyses/Makefile.am Wed Apr 11 15:14:55 2012 (r3671) @@ -270,6 +270,7 @@ ARGUS_1993_S2789213.cc \ BABAR_2005_S6181155.cc \ BABAR_2007_S6895344.cc \ + BABAR_2007_S7266081.cc \ BELLE_2001_S4598261.cc \ BELLE_2006_S6265367.cc \ CLEO_2004_S5809304.cc
More information about the Rivet-svn mailing list |