/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtEtaDalitz.cc

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 // Environment:
00004 //      This software is part of the EvtGen package developed jointly
00005 //      for the BaBar and CLEO collaborations.  If you use all or part
00006 //      of it, please give an appropriate acknowledgement.
00007 //
00008 // Copyright Information: See EvtGen/COPYRIGHT
00009 //      Copyright (C) 1998      Caltech, UCSB
00010 //
00011 // Module: EvtEtaDalitz.cc
00012 //
00013 // Description: Routine to decay eta -> pi+ pi- pi0
00014 //
00015 // Modification history:
00016 //
00017 //    DJL/RYD     July 23, 1997        Module created
00018 //
00019 //------------------------------------------------------------------------
00020 // 
00021 #include "EvtGenBase/EvtPatches.hh"
00022 #include <stdlib.h>
00023 #include "EvtGenBase/EvtParticle.hh"
00024 #include "EvtGenBase/EvtGenKine.hh"
00025 #include "EvtGenBase/EvtPDL.hh"
00026 #include "EvtGenModels/EvtEtaDalitz.hh"
00027 #include "EvtGenBase/EvtReport.hh"
00028 #include <string>
00029 
00030 EvtEtaDalitz::~EvtEtaDalitz() {}
00031 
00032 void EvtEtaDalitz::getName(std::string& model_name){
00033 
00034   model_name="ETA_DALITZ";     
00035 
00036 }
00037 
00038 
00039 EvtDecayBase* EvtEtaDalitz::clone(){
00040 
00041   return new EvtEtaDalitz;
00042 
00043 }
00044 
00045 void EvtEtaDalitz::init(){
00046 
00047   // check that there are 0 arguments
00048   checkNArg(0);
00049   checkNDaug(3);
00050 
00051   checkSpinParent(EvtSpinType::SCALAR);
00052 
00053   checkSpinDaughter(0,EvtSpinType::SCALAR);
00054   checkSpinDaughter(1,EvtSpinType::SCALAR);
00055   checkSpinDaughter(2,EvtSpinType::SCALAR);
00056 }
00057 
00058 
00059 void EvtEtaDalitz::initProbMax(){
00060 
00061   setProbMax(2.1);
00062 
00063 }
00064 
00065 void EvtEtaDalitz::decay( EvtParticle *p){
00066 
00067   p->initializePhaseSpace(getNDaug(),getDaugs());
00068 
00069   EvtVector4R mompi0 = p->getDaug(2)->getP4();
00070   double masspip = p->getDaug(0)->mass();
00071   double masspim = p->getDaug(1)->mass();
00072   double masspi0 = p->getDaug(2)->mass();
00073   double m_eta = p->mass();
00074 
00075   double y;
00076 
00077   //The decay amplitude coems from Layter et al PRD 7 pA2M5.
00078   //this reference doesn't make sence!!!
00079 
00080   y=(mompi0.get(0)-masspi0)*(3.0/(m_eta-masspip-masspim-masspi0))-1.0;
00081 
00082   EvtComplex amp(sqrt(1.0-1.07*y),0.0);
00083 
00084   vertex(amp);
00085 
00086   return ;
00087    
00088 }
00089 
00090 

Generated on Tue Nov 29 23:12:18 2016 for BOSS_7.0.2 by  doxygen 1.4.7