]>
Commit | Line | Data |
---|---|---|
da0e9ce3 | 1 | //----------------------------------------------------------------------- |
2 | // File and Version Information: | |
3 | // $Id: EvtBtoKD3P.hh,v 1.4 2006/10/02 01:07:45 lange Exp $ | |
4 | // | |
5 | // Environment: | |
6 | // This software is part of the EvtGen package developed jointly | |
7 | // for the BaBar and CLEO collaborations. If you use all or part | |
8 | // of it, please give an appropriate acknowledgement. | |
9 | // | |
10 | // Copyright Information: | |
11 | // Copyright (C) 2003, Colorado State University | |
12 | // | |
13 | // Module creator: | |
14 | // Abi soffer, CSU, 2003 | |
15 | //----------------------------------------------------------------------- | |
16 | ||
17 | // Decay model that does the decay B+ -> K+ D , D -> 3 psudoscalars. | |
18 | // | |
19 | // The B- daughters specified in the decay file should be K-, D0, D0, | |
20 | // where the first D0 is produced via b->c decay and the second via b->u. | |
21 | // In reality, only one D daughter exists, so the first two | |
22 | // daughters must be defined to decay to the same final state using | |
23 | // the EvtPto3P model, but with CP-conjugate amplitudes. | |
24 | // | |
25 | // For a given point in the Pto3P Dalitz plot, | |
26 | // the total amplitude is \propto [A1 + A2 r exp(i(phase))], where | |
27 | // | |
28 | // A1 & A2 are the amplitudes of the D0 and D0bar to decay into that | |
29 | // Dalitz plot point, | |
30 | // | |
31 | // r is the (positive) ratio between the A(B->B0bar K) and A(B->D0 K) | |
32 | // B decay amplitudes, | |
33 | // | |
34 | // phase is the total phase difference (weak phase + strong phase) between | |
35 | // A(B->D0bar K) and A(B->B0 K). | |
36 | // | |
37 | // Note that this model knows nothing about your convention for the | |
38 | // sign of the phase, so when specifying the decay of a B- you need to | |
39 | // change the order of D0 and D0bar and change the total phase so that | |
40 | // the sign of the weak phase flips with respect to the parameters of B+. | |
41 | // | |
42 | ||
43 | #ifndef EVT_BTOKD3P | |
44 | #define EVT_BTOKD3P | |
45 | ||
46 | class EvtParticle; | |
47 | #include "EvtGenBase/EvtDecayAmp.hh" | |
48 | #include "EvtGenBase/EvtComplex.hh" | |
49 | ||
50 | ||
51 | class EvtBtoKD3P : public EvtDecayAmp { | |
52 | ||
53 | public: | |
54 | EvtBtoKD3P(); | |
55 | EvtBtoKD3P(const EvtBtoKD3P & other); | |
56 | virtual ~EvtBtoKD3P(); | |
57 | EvtDecayBase* clone(); | |
58 | ||
59 | // Initialize model | |
60 | virtual void init(); | |
61 | virtual void initProbMax(); | |
62 | virtual void decay(EvtParticle *p); | |
63 | ||
64 | // we really have two daughters, although three are listed in the .dec file: | |
65 | virtual int nRealDaughters() { return 2;} | |
66 | ||
67 | std::string getName(); | |
68 | ||
69 | protected: | |
70 | // parameters: | |
71 | double _r; | |
72 | EvtComplex _exp; | |
73 | ||
74 | // other: | |
75 | const EvtDecayBase * _model1; | |
76 | const EvtDecayBase * _model2; | |
77 | bool _decayedOnce; | |
78 | ||
79 | }; | |
80 | ||
81 | ||
82 | #endif | |
83 | ||
84 | ||
85 | ||
86 | ||
87 |