herwig is hosted by Hepforge, IPPP Durham
Herwig  7.2.1
DtoKPiPiE691.h
1 // -*- C++ -*-
2 //
3 // DtoKPiPiE691.h is a part of Herwig - A multi-purpose Monte Carlo event generator
4 // Copyright (C) 2002-2019 The Herwig Collaboration
5 //
6 // Herwig is licenced under version 3 of the GPL, see COPYING for details.
7 // Please respect the MCnet academic guidelines, see GUIDELINES for details.
8 //
9 #ifndef HERWIG_DtoKPiPiE691_H
10 #define HERWIG_DtoKPiPiE691_H
11 //
12 // This is the declaration of the DtoKPiPiE691 class.
13 //
14 
15 #include "Herwig/Decay/DecayIntegrator.h"
16 #include "Herwig/Decay/DecayPhaseSpaceMode.h"
17 
18 namespace Herwig {
19 
20 using namespace ThePEG;
21 
29 
30 public:
34  DtoKPiPiE691();
35 
42  virtual int modeNumber(bool & cc, tcPDPtr parent,
43  const tPDVector & children) const;
44 
53  double me2( const int ichan,const Particle & part,
54  const ParticleVector & decay, MEOption meopt) const;
55 
61  virtual void dataBaseOutput(ofstream & os,bool header) const;
62 
63 public:
64 
71  void persistentOutput(PersistentOStream & os) const;
72 
78  void persistentInput(PersistentIStream & is, int version);
80 
87  static void Init();
88 
89 protected:
90 
103  double decayAngle(const Lorentz5Momentum & pparent,
104  const Lorentz5Momentum & pres,
105  const Lorentz5Momentum & p1) const {
106  Energy2 dot = pparent*p1, mREp = pres*pparent;
107  Energy2 mRE1 = pres*p1, mp2 = pparent.mass2();
108  Energy2 mres2 = pres.mass2(), m12 = p1.mass2();
109  return (dot*mres2-mREp*mRE1)/
110  sqrt((mREp*mREp-mres2*mp2)*(mRE1*mRE1-mres2*m12));
111  }
112 
121  Complex amplitude(int ispin, double costheta,Energy mAB,
122  Energy wres, Energy mres) const {
123  double s = 0.;
124  switch(ispin) {
125  case 0: s = 1.; break;
126  case 1: s = costheta; break;
127  case 2: s = 1.5*sqr(costheta)-0.5; break;
128  default: assert(false);
129  }
130  Complex bw = sqrt(0.5*wres/GeV/Constants::pi)*GeV/
131  (mAB-mres-complex<Energy>(ZERO,0.5*wres));
132  return s*bw;
133  }
135 
136 protected:
137 
144  virtual IBPtr clone() const {return new_ptr(*this);}
145 
150  virtual IBPtr fullclone() const {return new_ptr(*this);}
152 
153 protected:
154 
162  virtual void doinit();
163 
168  virtual void doinitrun();
170 
171 private:
172 
177  DtoKPiPiE691 & operator=(const DtoKPiPiE691 &) = delete;
178 
179 private:
180 
188  double _a1NR;
189 
193  double _phi1NR;
194 
198  double _a1K892;
199 
203  double _phi1K892;
204 
208  double _a1K1430;
209 
213  double _phi1K1430;
214 
218  double _a1K1680;
219 
223  double _phi1K1680;
224 
228  double _a2NR;
229 
233  double _phi2NR;
234 
238  double _a2K8920;
239 
243  double _phi2K8920;
244 
248  double _a2K892m;
249 
253  double _phi2K892m;
254 
258  double _a2rho;
259 
263  double _phi2rho;
264 
268  double _a3NR;
269 
273  double _phi3NR;
274 
278  double _a3K892;
279 
283  double _phi3K892;
284 
288  double _a3rho;
289 
293  double _phi3rho;
295 
304 
309 
314 
319 
324 
329 
334 
339 
344 
349 
355 
364 
368  Energy _mK8920;
369 
373  Energy _wK8920;
374 
378  Energy _mK892m;
379 
383  Energy _wK892m;
384 
388  Energy _mK1680;
389 
393  Energy _wK1680;
394 
398  Energy _mK1430;
399 
403  Energy _wK1430;
404 
408  Energy _mrho0;
409 
413  Energy _wrho0;
414 
418  Energy _mrhop;
419 
423  Energy _wrhop;
425 
433  vector<double> _maxwgt;
434 
438  vector<double> _weights;
440 
444  mutable RhoDMatrix _rho;
445 };
446 
447 }
448 
449 #endif /* HERWIG_DtoKPiPiE691_H */
double _a1K1430
Amplitude of the component for .
Definition: DtoKPiPiE691.h:208
double _phi3K892
Phase of the component for .
Definition: DtoKPiPiE691.h:283
Energy _mrho0
Mass of the .
Definition: DtoKPiPiE691.h:408
double _phi2NR
Phase of the non-resonant component for .
Definition: DtoKPiPiE691.h:233
double sqrt(int x)
Complex _c1K1680
Amplitude of the component for .
Definition: DtoKPiPiE691.h:318
Complex _c2NR
Amplitude of the non-resonant component for .
Definition: DtoKPiPiE691.h:323
std::complex< double > Complex
Complex _c2K8920
Amplitude of the for .
Definition: DtoKPiPiE691.h:328
Energy _wrhop
Width of the .
Definition: DtoKPiPiE691.h:423
Energy _mK8920
Mass of the .
Definition: DtoKPiPiE691.h:368
Here is the documentation of the DtoKPiPiE691 class.
Definition: DtoKPiPiE691.h:28
double _a1NR
Amplitudes and phases for the different components.
Definition: DtoKPiPiE691.h:188
double _phi1K892
Phase of the component for .
Definition: DtoKPiPiE691.h:203
double _phi3rho
Phase of the component for .
Definition: DtoKPiPiE691.h:293
Complex _c1NR
Complex amplitudes for use in the matrix element.
Definition: DtoKPiPiE691.h:303
double _a3K892
Amplitude of the component for .
Definition: DtoKPiPiE691.h:278
ThePEG::Ptr< InterfacedBase >::pointer IBPtr
bool _localparameters
Masses and widths of the various resonances.
Definition: DtoKPiPiE691.h:363
Complex _c3NR
Amplitude of the non-resonant component for .
Definition: DtoKPiPiE691.h:343
constexpr auto sqr(const T &x) -> decltype(x *x)
Energy _mrhop
Mass of the .
Definition: DtoKPiPiE691.h:418
double _a2rho
Amplitude of the component for .
Definition: DtoKPiPiE691.h:258
Energy _wK1680
Width of the .
Definition: DtoKPiPiE691.h:393
double decayAngle(const Lorentz5Momentum &pparent, const Lorentz5Momentum &pres, const Lorentz5Momentum &p1) const
Methods to calculate the amplitudes for a given channel.
Definition: DtoKPiPiE691.h:103
double _phi3NR
Phase of the non-resonant component for .
Definition: DtoKPiPiE691.h:273
Energy _mK1430
Mass of the .
Definition: DtoKPiPiE691.h:398
Energy _wK1430
Width of the .
Definition: DtoKPiPiE691.h:403
double _a3rho
Amplitude of the component for .
Definition: DtoKPiPiE691.h:288
MEOption
Enum for the matrix element option.
double _phi2rho
Phase of the component for .
Definition: DtoKPiPiE691.h:263
Complex _c1K892
Amplitude of the component for .
Definition: DtoKPiPiE691.h:308
Complex amplitude(int ispin, double costheta, Energy mAB, Energy wres, Energy mres) const
Calculate the amplitude.
Definition: DtoKPiPiE691.h:121
vector< tPDPtr > tPDVector
vector< double > _weights
Weights for the different integration channels.
Definition: DtoKPiPiE691.h:438
Main class for Decayers implementing multi-channel phase space integration.
ThePEG::Ptr< ParticleData >::transient_const_pointer tcPDPtr
Energy _mK892m
Mass of the .
Definition: DtoKPiPiE691.h:378
Energy _wrho0
Width of the .
Definition: DtoKPiPiE691.h:413
Complex _c1K1430
Amplitude of the component for .
Definition: DtoKPiPiE691.h:313
double _phi2K892m
Phase of the component for .
Definition: DtoKPiPiE691.h:253
double _a2NR
Amplitude of the non-resonant component for .
Definition: DtoKPiPiE691.h:228
double _a2K892m
Amplitude of the component for .
Definition: DtoKPiPiE691.h:248
double _phi1K1680
Phase of the component for .
Definition: DtoKPiPiE691.h:223
Energy _mK1680
Mass of the .
Definition: DtoKPiPiE691.h:388
Complex _c3K892
Amplitude of the component for .
Definition: DtoKPiPiE691.h:348
Energy _wK8920
Width of the .
Definition: DtoKPiPiE691.h:373
Complex _c2K892m
Amplitude of the for .
Definition: DtoKPiPiE691.h:333
virtual IBPtr clone() const
Make a simple clone of this object.
Definition: DtoKPiPiE691.h:144
double _phi1NR
Phase of the non-resonant component for .
Definition: DtoKPiPiE691.h:193
Complex _c2rho
Amplitude of the for .
Definition: DtoKPiPiE691.h:338
double _phi2K8920
Phase of the component for .
Definition: DtoKPiPiE691.h:243
-*- C++ -*-
double _a1K892
Amplitude of the component for .
Definition: DtoKPiPiE691.h:198
Complex _c3rho
Amplitude of the component for .
Definition: DtoKPiPiE691.h:353
double _phi1K1430
Phase of the component for .
Definition: DtoKPiPiE691.h:213
vector< double > _maxwgt
Parameters for the phase-space integration.
Definition: DtoKPiPiE691.h:433
vector< PPtr > ParticleVector
double _a2K8920
Amplitude of the component for .
Definition: DtoKPiPiE691.h:238
virtual IBPtr fullclone() const
Make a clone of this object, possibly modifying the cloned object to make it sane.
Definition: DtoKPiPiE691.h:150
Energy _wK892m
Width of the .
Definition: DtoKPiPiE691.h:383
constexpr ZeroUnit ZERO
double _a1K1680
Amplitude of the component for .
Definition: DtoKPiPiE691.h:218
double _a3NR
Amplitude of the non-resonant component for .
Definition: DtoKPiPiE691.h:268
RhoDMatrix _rho
Spin density matrix.
Definition: DtoKPiPiE691.h:444