1 //--------------------------------------------------------------------------
4 // This software is part of the EvtGen package developed jointly
5 // for the BaBar and CLEO collaborations. If you use all or part
6 // of it, please give an appropriate acknowledgement.
8 // Copyright Information: See EvtGen/COPYRIGHT
9 // Copyright (C) 1998 Caltech, UCSB
11 // Module: EvtOmegaDalitz.cc
13 // Description: Routine to decay omega -> pi pi pi0
15 // Modification history:
17 // RYD November 24, 1996 Module created
19 //------------------------------------------------------------------------
21 #include "EvtGenBase/EvtPatches.hh"
23 #include "EvtGenBase/EvtParticle.hh"
24 #include "EvtGenBase/EvtGenKine.hh"
25 #include "EvtGenBase/EvtTensor4C.hh"
26 #include "EvtGenBase/EvtVector4C.hh"
27 #include "EvtGenBase/EvtVector3R.hh"
28 #include "EvtGenBase/EvtPDL.hh"
29 #include "EvtGenModels/EvtOmegaDalitz.hh"
30 #include "EvtGenBase/EvtReport.hh"
33 EvtOmegaDalitz::~EvtOmegaDalitz() {}
35 std::string EvtOmegaDalitz::getName(){
37 return "OMEGA_DALITZ";
42 EvtDecayBase* EvtOmegaDalitz::clone(){
44 return new EvtOmegaDalitz;
48 void EvtOmegaDalitz::init(){
50 // check that there are 0 arguments
54 checkSpinParent(EvtSpinType::VECTOR);
56 checkSpinDaughter(0,EvtSpinType::SCALAR);
57 checkSpinDaughter(1,EvtSpinType::SCALAR);
58 checkSpinDaughter(2,EvtSpinType::SCALAR);
62 void EvtOmegaDalitz::initProbMax() {
68 void EvtOmegaDalitz::decay( EvtParticle *p ){
70 p->initializePhaseSpace(getNDaug(),getDaugs());
78 EvtVector4R mompi1 = p->getDaug(0)->getP4();
79 EvtVector4R mompi2 = p->getDaug(1)->getP4();
81 EvtVector3R p1(mompi1.get(1),mompi1.get(2),mompi1.get(3));
82 EvtVector3R p2(mompi2.get(1),mompi2.get(2),mompi2.get(3));
83 EvtVector3R q=cross(p2,p1);
85 EvtVector3C e1(ep[0].get(1),ep[0].get(2),ep[0].get(3));
86 EvtVector3C e2(ep[1].get(1),ep[1].get(2),ep[1].get(3));
87 EvtVector3C e3(ep[2].get(1),ep[2].get(2),ep[2].get(3));
89 //This is an approximate formula of the maximum value that
91 double norm=1.14/(p->mass()*p->mass()/9.0-mompi1.mass2());