]> git.uio.no Git - u/mrichter/AliRoot.git/blob - TEvtGen/EvtGenModels/EvtBtoKD3P.hh
added a histogram
[u/mrichter/AliRoot.git] / TEvtGen / EvtGenModels / EvtBtoKD3P.hh
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