]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtD0gammaDalitz.hh
ATO-78 - Technical changes to compare different calibrations
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtD0gammaDalitz.hh
1 //--------------------------------------------------------------------------
2 //
3 // Module: EvtGen/EvtD0gammaDalitz.hh
4 //
5 // Modification history:
6 //
7 //    JGT     February 13, 2012         Module created
8 //
9 //------------------------------------------------------------------------
10
11 #ifndef __EVTD0GAMMADALITZ_HH__
12 #define __EVTD0GAMMADALITZ_HH__
13
14 #include <vector>
15
16 #include "EvtGenBase/EvtDecayAmp.hh"
17 #include "EvtGenBase/EvtFlatte.hh"
18
19 #include "EvtGenBase/EvtSpinType.hh"
20 #include "EvtGenBase/EvtDalitzReso.hh"
21 #include "EvtGenBase/EvtCyclic3.hh"
22
23 class EvtParticle;
24
25 class EvtD0gammaDalitz : public EvtDecayAmp
26 {
27 private:
28   int _d1;
29   int _d2;
30   int _d3;
31   int _flag;
32
33   bool _isKsPiPi;
34
35   // Useful constants.
36   static const EvtSpinType::spintype& _SCALAR;
37   static const EvtSpinType::spintype& _VECTOR;
38   static const EvtSpinType::spintype& _TENSOR;
39
40   static const EvtDalitzReso::CouplingType& _EtaPic;
41   static const EvtDalitzReso::CouplingType& _PicPicKK;
42
43   static const EvtDalitzReso::NumType& _RBW;
44   static const EvtDalitzReso::NumType& _GS;
45   static const EvtDalitzReso::NumType& _KMAT;
46
47   static const EvtCyclic3::Pair& _AB;
48   static const EvtCyclic3::Pair& _AC;
49   static const EvtCyclic3::Pair& _BC;
50
51   // Values to be read or computed based on values in the evt.pdl file.
52   // IDs of the relevant particles.
53   EvtId _BP;
54   EvtId _BM;
55   EvtId _B0;
56   EvtId _B0B;
57   EvtId _D0;
58   EvtId _D0B;
59   EvtId _KM;
60   EvtId _KP;
61   EvtId _K0;
62   EvtId _K0B;
63   EvtId _KL;
64   EvtId _KS;
65   EvtId _PIM;
66   EvtId _PIP;
67
68   // Flavor of the B mother.
69   EvtId _bFlavor;
70
71   // Masses of the relevant particles.
72   double _mD0;
73   double _mKs;
74   double _mPi;
75   double _mK;
76
77   void readPDGValues();
78   void reportInvalidAndExit() const;
79
80   EvtComplex dalitzKsPiPi( const EvtDalitzPoint& point ) const;
81   EvtComplex dalitzKsKK  ( const EvtDalitzPoint& point ) const;
82
83 public:
84   EvtD0gammaDalitz();
85   virtual ~EvtD0gammaDalitz();
86
87   std::string getName();
88   EvtDecayBase* clone();
89
90   void init();
91   void initProbMax();
92
93   void decay( EvtParticle* p );
94 };
95
96 #endif