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

Go to the documentation of this file.
00001 //--------------------------------------------------------------------------
00002 //
00003 // Environment:
00004 //      This software is part of models developed at BES collaboration
00005 //      based on the EvtGen framework.  If you use all or part
00006 //      of it, please give an appropriate acknowledgement.
00007 //
00008 // Copyright Information: See EvtGen/BesCopyright
00009 //      Copyright (A) 2006      Ping Rong-Gang, Pang Cai-Ying@IHEP
00010 //
00011 // Module: EvtHelPPJ.hh
00012 //
00013 // Description: To generate psi(2S)->J/psi sigma0->J/psi pi pi.
00014 // using the chiral effective formula: Z.Phys.C73,541 by Mannel 
00015 // Modification history:
00016 //
00017 //    Ping R.G. Apr. 2007  created
00018 //------------------------------------------------------------------------
00019 //
00020 #include "EvtGenBase/EvtPatches.hh"
00021 #include <stdlib.h>
00022 #include <iostream>
00023 #include <string>
00024 #include "EvtGenBase/EvtParticle.hh"
00025 #include "EvtGenBase/EvtPDL.hh"
00026 #include "EvtGenBase/EvtGenKine.hh"
00027 #include "EvtGenModels/EvtHelPPJ.hh"
00028 #include "EvtGenBase/EvtDiracSpinor.hh"
00029 #include "EvtGenBase/EvtReport.hh"
00030 #include "EvtGenBase/EvtVector4C.hh"
00031 #include "EvtGenBase/EvtId.hh"
00032 #include "EvtGenBase/EvtHelSys.hh"
00033 #include "EvtGenBase/EvtdFunction.hh"
00034 
00035 using std::cout;
00036 using std::endl;
00037 
00038 EvtHelPPJ::~EvtHelPPJ() {}
00039 
00040 void EvtHelPPJ::getName(std::string& model_name){
00041 
00042   model_name="HelPPJ";     
00043 
00044 }
00045 
00046 
00047 
00048 EvtDecayBase* EvtHelPPJ::clone(){
00049 
00050   return new EvtHelPPJ;
00051 
00052 }
00053 
00054 void EvtHelPPJ::init(){
00055 
00056   // check that there are 0 arguments
00057   checkNArg(0);
00058   checkNDaug(3);
00059 
00060   checkSpinParent(EvtSpinType::VECTOR);
00061   
00062   checkSpinDaughter(0,EvtSpinType::VECTOR);
00063   checkSpinDaughter(1,EvtSpinType::SCALAR);
00064   checkSpinDaughter(2,EvtSpinType::SCALAR);
00065 
00066 }
00067 
00068 
00069 void EvtHelPPJ::decay(EvtParticle *p){
00070 
00071   p->initializePhaseSpace(getNDaug(),getDaugs());
00072 
00073   EvtParticle *l1, *l2,*l3;
00074   l1 = p->getDaug(0);
00075   l2 = p->getDaug(1);
00076   l3 = p->getDaug(2);
00077   EvtVector4R VP4 =l1->getP4(); //Vector Daughter
00078   EvtVector4R S1P4=l2->getP4(); //Scalar Daughter
00079   EvtVector4R S2P4=l3->getP4(); //Scalar Daughter
00080   EvtVector4R PRP4=p->getP4();  //Parent Momentum
00081   PRP4.set(1,0);
00082   PRP4.set(2,0);
00083   PRP4.set(3,0);
00084 
00085   
00086   double mpipi2=(S1P4+S2P4).mass2();
00087   double e1pi  =S1P4.get(0);  
00088   double e2pi  =S2P4.get(0);
00089   double g0    =0.3;
00090   double g1    =-0.11;
00091   double mpi   =0.1396;
00092   double mpsi  =3.097;
00093   double epsi  =VP4.get(0);
00094   double amp1  =(mpipi2-2*mpi*mpi)*g0/2+g1*e1pi*e2pi;
00095   double amp0  =amp1*epsi/mpsi;
00096 
00097 
00098   EvtHelSys angles(PRP4,VP4);   //using helicity sys.angles
00099   double tht=angles.getHelAng(1);
00100   double phi=angles.getHelAng(2);
00101   double gamma=0;
00102 
00103   vertex(0,0,Djmn(1, 1, 1,phi,tht,gamma)*amp1);
00104   vertex(0,1,Djmn(1, 1,-1,phi,tht,gamma)*amp1);
00105   vertex(0,2,Djmn(1, 1, 0,phi,tht,gamma)*amp0);
00106   vertex(1,0,Djmn(1,-1, 1,phi,tht,gamma)*amp1);
00107   vertex(1,1,Djmn(1,-1,-1,phi,tht,gamma)*amp1);
00108   vertex(1,2,Djmn(1,-1, 0,phi,tht,gamma)*amp0);
00109   vertex(2,0,Djmn(1, 0, 1,phi,tht,gamma)*amp1);
00110   vertex(2,1,Djmn(1, 0,-1,phi,tht,gamma)*amp1);
00111   vertex(2,2,Djmn(1, 0, 0,phi,tht,gamma)*amp0);
00112 
00113   return;
00114 
00115 }
00116 

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