Fix bug in building local list of valid files.
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtEtaDalitz.cpp
1 //--------------------------------------------------------------------------
2 //
3 // Environment:
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.
7 //
8 // Copyright Information: See EvtGen/COPYRIGHT
9 //      Copyright (C) 1998      Caltech, UCSB
10 //
11 // Module: EvtEtaDalitz.cc
12 //
13 // Description: Routine to decay eta -> pi+ pi- pi0
14 //
15 // Modification history:
16 //
17 //    DJL/RYD     July 23, 1997        Module created
18 //
19 //------------------------------------------------------------------------
20 // 
21 #include "EvtGenBase/EvtPatches.hh"
22 #include <stdlib.h>
23 #include "EvtGenBase/EvtParticle.hh"
24 #include "EvtGenBase/EvtGenKine.hh"
25 #include "EvtGenBase/EvtPDL.hh"
26 #include "EvtGenModels/EvtEtaDalitz.hh"
27 #include "EvtGenBase/EvtReport.hh"
28 #include <string>
29
30 EvtEtaDalitz::~EvtEtaDalitz() {}
31
32 std::string EvtEtaDalitz::getName(){
33
34   return "ETA_DALITZ";     
35
36 }
37
38
39 EvtDecayBase* EvtEtaDalitz::clone(){
40
41   return new EvtEtaDalitz;
42
43 }
44
45 void EvtEtaDalitz::init(){
46
47   // check that there are 0 arguments
48   checkNArg(0);
49   checkNDaug(3);
50
51   checkSpinParent(EvtSpinType::SCALAR);
52
53   checkSpinDaughter(0,EvtSpinType::SCALAR);
54   checkSpinDaughter(1,EvtSpinType::SCALAR);
55   checkSpinDaughter(2,EvtSpinType::SCALAR);
56 }
57
58
59 void EvtEtaDalitz::initProbMax(){
60
61   setProbMax(2.1);
62
63 }
64
65 void EvtEtaDalitz::decay( EvtParticle *p){
66
67   p->initializePhaseSpace(getNDaug(),getDaugs());
68
69   EvtVector4R mompi0 = p->getDaug(2)->getP4();
70   double masspip = p->getDaug(0)->mass();
71   double masspim = p->getDaug(1)->mass();
72   double masspi0 = p->getDaug(2)->mass();
73   double m_eta = p->mass();
74
75   double y;
76
77   //The decay amplitude coems from Layter et al PRD 7 2565 (1973).
78
79   y=(mompi0.get(0)-masspi0)*(3.0/(m_eta-masspip-masspim-masspi0))-1.0;
80
81   EvtComplex amp(sqrt(1.0-1.07*y),0.0);
82
83   vertex(amp);
84
85   return ;
86    
87 }
88
89