StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
EvtBtoKD3P.hh
1 //-----------------------------------------------------------------------
2 // File and Version Information:
3 // $Id: EvtBtoKD3P.hh,v 1.1 2016/09/23 18:37:36 jwebb 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