Line data Source code
1 : //-----------------------------------------------------------------------
2 : // File and Version Information:
3 : // $Id: EvtBtoKD3P.hh,v 1.1 2009-03-16 16:49:00 robbep 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 0 : 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 :
|