PYTHIA  8.312
SusyResonanceWidths.h
1 // SusyResonanceWidths.h is a part of the PYTHIA event generator.
2 // Copyright (C) 2024 Torbjorn Sjostrand
3 // Main author of this file: N. Desai
4 // PYTHIA is licenced under the GNU GPL v2 or later, see COPYING for details.
5 // Please respect the MCnet Guidelines, see GUIDELINES for details.
6 
7 // Header file for SUSY resonance properties: dynamical widths etc.
8 // SusyResonanceWidths: base class for all SUSY resonances.
9 
10 #ifndef Pythia8_SusyResonanceWidths_H
11 #define Pythia8_SusyResonanceWidths_H
12 
13 #include "Pythia8/ParticleData.h"
14 #include "Pythia8/ResonanceWidths.h"
15 #include "Pythia8/SusyWidthFunctions.h"
16 #include "Pythia8/SusyCouplings.h"
17 
18 namespace Pythia8 {
19 
20 //==========================================================================
21 
23 
24 public:
25 
26  // Constructor
28 
29  // Destructor
30  virtual ~SUSYResonanceWidths() {}
31 
32 protected:
33 
34  // Virtual methods to handle model-specific (non-SM) part of initialization
35  virtual bool initBSM() override;
36  virtual bool allowCalc() override;
37  virtual bool getChannels(int) { return false; };
38 
39  static const bool DBSUSY;
40 
41 };
42 
43 //==========================================================================
44 
45 // The ResonanceSquark class handles the Squark resonances.
46 
48 
49 public:
50 
51  // Constructor.
52  ResonanceSquark(int idResIn) : s2W() {initBasic(idResIn);}
53 
54 
55 private:
56 
57  // Locally stored properties and couplings.
58 
59  // Initialize constants.
60  virtual void initConstants() override;
61 
62  // Calculate various common prefactors for the current mass.
63  virtual void calcPreFac(bool = false) override;
64 
65  bool getChannels(int idPDG) override;
66 
67  // Caclulate width for currently considered channel.
68  virtual void calcWidth(bool calledFromInit = false) override;
69 
70  double s2W;
71 
72 };
73 
74 //==========================================================================
75 
76 // The ResonanceGluino class handles the Gluino resonances.
77 
79 
80 public:
81 
82  // Constructor.
83  ResonanceGluino(int idResIn) {initBasic(idResIn);}
84 
85 private:
86 
87  bool getChannels(int idPDG) override;
88 
89  // Locally stored properties and couplings.
90 
91  // Initialize constants.
92  virtual void initConstants() override;
93 
94  // Calculate various common prefactors for the current mass.
95  virtual void calcPreFac(bool = false) override;
96 
97  // Caclulate width for currently considered channel.
98  virtual void calcWidth(bool calledFromInit = false) override;
99 
100 };
101 
102 //==========================================================================
103 
104 // The ResonanceNeut class handles the Neutralino resonances.
105 
107 
108 public:
109 
110  // Constructor.
111  ResonanceNeut(int idResIn) : kinFac2(), s2W() {initBasic(idResIn);}
112 
113 private:
114 
115  bool getChannels(int idPDG) override;
116  // Locally stored properties and couplings.
117  double kinFac2;
118 
119  // Initialize constants.
120  virtual void initConstants() override;
121 
122  // Calculate various common prefactors for the current mass.
123  virtual void calcPreFac(bool = false) override;
124 
125  // Caclulate width for currently considered channel.
126  virtual void calcWidth(bool calledFromInit = false) override;
127 
128  double s2W;
129 
130  // Functions for 3-body decays
131  /* Psi psi; */
132  /* Phi phi; */
133  /* Upsilon upsil; */
134 
135 };
136 
137 //==========================================================================
138 
139 // The ResonanceChar class handles the Chargino resonances.
140 
142 
143 public:
144 
145  // Constructor.
146  ResonanceChar(int idResIn) : kinFac2(), s2W() {initBasic(idResIn);}
147 
148 private:
149 
150  bool getChannels(int idPDG) override;
151 
152  // Locally stored properties and couplings.
153  double kinFac2;
154 
155  // Initialize constants.
156  virtual void initConstants() override;
157 
158  // Calculate various common prefactors for the current mass.
159  virtual void calcPreFac(bool = false) override;
160 
161  // Caclulate width for currently considered channel.
162  virtual void calcWidth(bool calledFromInit = false) override;
163 
164  double s2W;
165 
166  //Functions for 3-body decays
167  /* Psi psi; */
168  /* Phi phi; */
169  /* Upsilon upsil; */
170 
171 };
172 
173 //==========================================================================
174 
175 // The ResonanceSlepton class handles the Slepton/Sneutrino resonances.
176 
178 
179 public:
180 
181  // Constructor.
182  ResonanceSlepton(int idResIn) : s2W() {initBasic(idResIn);}
183 
184 private:
185 
186  bool getChannels(int idPDG) override;
187 
188  // Locally stored properties and couplings.
189 
190  // Initialize constants.
191  virtual void initConstants() override;
192 
193  // Calculate various common prefactors for the current mass.
194  virtual void calcPreFac(bool = false) override;
195 
196  // Calculate width for currently considered channel.
197  virtual void calcWidth(bool calledFromInit = false) override;
198 
199  double s2W;
200 
201  // Three-body stau decaywidth classes
202  StauWidths stauWidths;
203 
204 };
205 
206 //==========================================================================
207 
208 } // end namespace Pythia8
209 
210 #endif // end Pythia8_SusyResonanceWidths_H
ResonanceSquark(int idResIn)
Constructor.
Definition: SusyResonanceWidths.h:52
The ResonanceWidths is the base class. Also used for generic resonaces.
Definition: ResonanceWidths.h:34
The ResonanceSlepton class handles the Slepton/Sneutrino resonances.
Definition: SusyResonanceWidths.h:177
ResonanceNeut(int idResIn)
Constructor.
Definition: SusyResonanceWidths.h:111
Class StauWidths.
Definition: SusyWidthFunctions.h:53
Definition: SusyResonanceWidths.h:22
The ResonanceNeut class handles the Neutralino resonances.
Definition: SusyResonanceWidths.h:106
virtual void calcPreFac(bool=false)
Definition: ResonanceWidths.h:132
The ResonanceChar class handles the Chargino resonances.
Definition: SusyResonanceWidths.h:141
virtual void initConstants()
Initialize constants.
Definition: ResonanceWidths.h:123
virtual ~SUSYResonanceWidths()
Destructor.
Definition: SusyResonanceWidths.h:30
ResonanceGluino(int idResIn)
Constructor.
Definition: SusyResonanceWidths.h:83
Header for classes to set beam momentum and interaction vertex spread.
Definition: Analysis.h:20
The ResonanceGluino class handles the Gluino resonances.
Definition: SusyResonanceWidths.h:78
SUSYResonanceWidths()
Constructor.
Definition: SusyResonanceWidths.h:27
virtual bool initBSM() override
Virtual methods to handle model-specific (non-SM) part of initialization.
Definition: SusyResonanceWidths.cc:27
virtual void calcWidth(bool=false)
Definition: ResonanceWidths.h:136
virtual bool allowCalc() override
Definition: SusyResonanceWidths.cc:38
ResonanceSlepton(int idResIn)
Constructor.
Definition: SusyResonanceWidths.h:182
static const bool DBSUSY
Definition: SusyResonanceWidths.h:37
The ResonanceSquark class handles the Squark resonances.
Definition: SusyResonanceWidths.h:47
void initBasic(int idResIn, bool isGenericIn=false)
Set up standard properties.
Definition: ResonanceWidths.h:42
ResonanceChar(int idResIn)
Constructor.
Definition: SusyResonanceWidths.h:146