StRoot  1
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ResonanceWidthsDM.h
1 // ResonanceWidthsDM.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2018 Torbjorn Sjostrand.
3 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
4 // Please respect the MCnet Guidelines, see GUIDELINES for details.
5 
6 // Header file for DM resonance properties: dynamical widths etc.
7 // ResonanceS, ResonanceZp: derived classes for individual resonances.
8 
9 #ifndef Pythia8_ResonanceWidthsDM_H
10 #define Pythia8_ResonanceWidthsDM_H
11 
12 #include "Pythia8/Settings.h"
13 #include "Pythia8/ParticleData.h"
14 #include "Pythia8/ResonanceWidths.h"
15 
16 namespace Pythia8 {
17 
18 //==========================================================================
19 
20 // The ResonanceS class. (S a.k.a. DMmed(s=0), PDG id 54.)
21 
22 class ResonanceS : public ResonanceWidths {
23 
24 public:
25 
26  // Constructor.
27  ResonanceS(int idResIn) {initBasic(idResIn);}
28 
29 private:
30 
31  // Couplings.
32  double gq, gX;
33  double preFac, alpS;
34  bool pScalar;
35 
36  // Initialize constants.
37  virtual void initConstants();
38 
39  // Calculate various common prefactors for the current mass.
40  virtual void calcPreFac(bool = false);
41 
42  // Caclulate width for currently considered channel.
43  virtual void calcWidth(bool calledFromInit = false);
44 
45  virtual double eta2gg();
46 
47 };
48 
49 //==========================================================================
50 
51 // The ResonanceZp class. (Zp a.k.a. DMmed(s=1), PDG id 55.)
52 
53 class ResonanceZp : public ResonanceWidths {
54 
55 public:
56 
57  // Constructor.
58  ResonanceZp(int idResIn) {initBasic(idResIn);}
59 
60 private:
61 
62  // Couplings.
63  double vu, vd, vl, vv, vX, au, ad, al, av, aX;
64  double preFac, gZp;
65 
66  // Initialize constants.
67  virtual void initConstants();
68 
69  // Calculate various common prefactors for the current mass.
70  virtual void calcPreFac(bool = false);
71 
72  // Caclulate width for currently considered channel.
73  virtual void calcWidth(bool calledFromInit = false);
74 
75 };
76 
77 //==========================================================================
78 
79 } // end namespace Pythia8
80 
81 #endif // Pythia8_ResonanceWidthsDM_H