/home/bes3soft/bes3soft/Boss/7.0.2/dist/7.0.2/Generator/BesEvtGen/BesEvtGen-00-03-58/src/EvtGen/EvtGenModels/EvtFlatQ2.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: EvtFlatQ2.cc
00012 //
00013 // Description: B->Xu l nu with flat q2 distribution
00014 //
00015 // Modification history:
00016 //
00017 //    David Cote, U. de Montreal, 11/02/2003    Module created
00018 //
00019 //------------------------------------------------------------------------
00020 //
00021 #include "EvtGenBase/EvtPatches.hh"
00022 #include "EvtGenModels/EvtFlatQ2.hh"
00023 
00024 #include <stdlib.h>
00025 #include <fstream>
00026 #include <stdio.h>
00027 #include <string>
00028 #include "EvtGenBase/EvtGenKine.hh"
00029 #include "EvtGenBase/EvtParticle.hh"
00030 #include "EvtGenBase/EvtPDL.hh"
00031 #include "EvtGenBase/EvtReport.hh"
00032 #include "EvtGenBase/EvtDiracSpinor.hh"
00033 #include "EvtGenBase/EvtVector4C.hh"
00034 #include "EvtGenBase/EvtTensor4C.hh"
00035 using std::fstream;
00036 
00037 EvtFlatQ2::~EvtFlatQ2() {}
00038 
00039 void EvtFlatQ2::getName(std::string& model_name){
00040 
00041     model_name="FLATQ2";
00042 
00043 }
00044 
00045 EvtDecayBase* EvtFlatQ2::clone(){
00046 
00047   return new EvtFlatQ2;
00048 
00049 }
00050 
00051 
00052 void EvtFlatQ2::initProbMax(){
00053 
00054   setProbMax(100);
00055 
00056 }
00057 
00058 
00059 void EvtFlatQ2::init(){
00060 
00061   // check that there are 0 arguments
00062   checkNArg(0);
00063   checkNDaug(3);
00064 
00065   //We expect B->X l nu events
00066   checkSpinParent(EvtSpinType::SCALAR);
00067   checkSpinDaughter(1,EvtSpinType::DIRAC);
00068   checkSpinDaughter(2,EvtSpinType::NEUTRINO);
00069 
00070 }
00071 
00072 
00073 void EvtFlatQ2::decay( EvtParticle *p){
00074 
00075   p->initializePhaseSpace(getNDaug(),getDaugs());
00076 
00077   EvtVector4R p4Xu = p->getDaug(0)->getP4();
00078   double pXu_x2=p4Xu.get(1)*p4Xu.get(1);
00079   double pXu_y2=p4Xu.get(2)*p4Xu.get(2);
00080   double pXu_z2=p4Xu.get(3)*p4Xu.get(3);
00081   double pXu = sqrt(pXu_x2+pXu_y2+pXu_z2);
00082   double prob=1/pXu;
00083   
00084   if(pXu>0.01) setProb(prob);
00085 
00086   return;
00087 }
00088 
00089 

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