EIC Software
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Groups Pages
starlightconstants.h
Go to the documentation of this file. Or view the newest version in sPHENIX GitHub for file starlightconstants.h
1 
2 //
3 // Copyright 2010
4 //
5 // This file is part of starlight.
6 //
7 // starlight is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // starlight is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with starlight. If not, see <http://www.gnu.org/licenses/>.
19 //
21 //
22 // File and Version Information:
23 // $Rev:: 276 $: revision of last commit
24 // $Author:: jnystrand $: author of last commit
25 // $Date:: 2016-09-13 19:54:42 +0100 #$: date of last commit
26 //
27 // Description:
28 //
29 //
30 //
32 
33 
34 #ifndef STARLIGHTCONSTANTS_H_INCLUDE
35 #define STARLIGHTCONSTANTS_H_INCLUDE
36 
37 
38 /*
39  * Constants are set here
40  */
41 namespace starlightConstants
42 {
43 
44 
45  // constants
46  static const double hbarc = 0.1973269718;
47  static const double hbarcmev = hbarc*1000.;
48  static const double pi = 3.141592654;
49  static const double twoPi = 2 * pi;
50  static const double alpha = 1/137.035999074;
51 
52  // deuteron slope parameter
53  static const double deuteronSlopePar = 9.5; // [(GeV/c)^{-2}]
54  // particle masses
55  static const double protonMass = 0.938272046; // [GeV/c^2]
56  static const double pionChargedMass = 0.13957018; // [GeV/c^2]
57  static const double pionNeutralMass = 0.1349766; // [GeV/c^2]
58  static const double kaonChargedMass = 0.493677; // [GeV/c^2]
59  static const double mel = 0.000510998928; // [GeV/c^2]
60  static const double muonMass = 0.1056583715; // [GeV/c^2]
61  static const double tauMass = 1.77682; // [GeV/c^2]
62 
63  static const double f0Mass = 0.990; // [GeV/c^2]
64  static const double f0Width = 0.100; // [GeV/c^2]
65  static const double f0BrPiPi = 1.0; // Branching ratio for pipi (set to 100%)
66  static const double etaMass = 0.547862; // [GeV/c^2]
67  static const double etaWidth = 0.00000131; // [GeV/c^2]
68  static const double etaPrimeMass = 0.95778; // [GeV/c^2]
69  static const double etaPrimeWidth = 0.000198; // [GeV/c^2]
70  static const double etaCMass = 2.9836; // [GeV/c^2]
71  static const double etaCWidth = 0.0322; // [GeV/c^2]
72  static const double f2Mass = 1.2751; // [GeV/c^2]
73  static const double f2Width = 0.1851; // [GeV/c^2]
74  static const double f2BrPiPi = 0.561; // Branching ratio for pi+pi-
75  static const double a2Mass = 1.3183; // [GeV/c^2]
76  static const double a2Width = 0.105; // [GeV/c^2]
77  static const double f2PrimeMass = 1.525; // [GeV/c^2]
78  static const double f2PrimeWidth = 0.073; // [GeV/c^2]
79  static const double f2PrimeBrKK = 0.887; // Branching ratio for KKbar
80  static const double zoverz03Mass = 1.540; // [GeV/c^2]
81 
82 
83  static const double f0PartialggWidth = 0.29E-6; // [GeV/c^2]
84  static const double etaPartialggWidth = 0.516E-6; // [GeV/c^2]
85  static const double etaPrimePartialggWidth = 4.35E-6;// [GeV/c^2]
86  static const double etaCPartialggWidth = 5.0E-6; // [GeV/c^2]
87  static const double f2PartialggWidth = 3.03E-6; // [GeV/c^2]
88  static const double a2PartialggWidth = 1.0E-6; // [GeV/c^2]
89  static const double f2PrimePartialggWidth = 0.081E-6;// [GeV/c^2]
90  static const double zoverz03PartialggWidth = 0.1E-6; // [GeV/c^2]
91 
92  static const double f0Spin = 0.0;
93  static const double etaSpin = 0.0;
94  static const double etaPrimeSpin = 0.0;
95  static const double etaCSpin = 0.0;
96  static const double f2Spin = 2.0;
97  static const double a2Spin = 2.0;
98  static const double f2PrimeSpin = 2.0;
99  static const double zoverz03Spin = 2.0;
100  static const double axionSpin = 0.0; // AXION HACK
101 
102  static const double rho0Mass = 0.769; // [GeV/c^2]
103  static const double rho0Width = 0.1517; // [GeV/c^2]
104  static const double rho0BrPiPi = 1.0; // Branching ratio pi+pi-
105  static const double rho0PrimeMass = 1.540; // [GeV/c^2]
106  static const double rho0PrimeWidth = 0.570; // [GeV/c^2]
107  static const double rho0PrimeBrPiPi = 1.0; // Branching ratio pi+pi- (set to 100%)
108  static const double OmegaMass = 0.78265; // [GeV/c^2]
109  static const double OmegaWidth = 0.00849; // [GeV/c^2]
110  static const double OmegaBrPiPi = 0.0153; // Branching ratio pi+pi-
111  static const double OmegaBrPi0Gamma = 0.0828; // Branching ratio pi0 gamma
112  static const double PhiMass = 1.019461; // [GeV/c^2]
113  static const double PhiWidth = 0.004266; // [GeV/c^2]
114  static const double PhiBrKK = 0.489; // Branching ratio K+K-
115  static const double JpsiMass = 3.096916; // [GeV/c^2]
116  static const double JpsiWidth = 0.0000929; // [GeV/c^2]
117  static const double JpsiBree = 0.05971; // Branching ratio e+e-
118  static const double JpsiBrmumu = 0.05961; // Branching ratio mu+mu-
119  static const double Psi2SMass = 3.686109; // [GeV/c^2]
120  static const double Psi2SWidth = 0.000299; // [GeV/c^2]
121  static const double Psi2SBree = 0.00789; // Branching ratio e+e-
122  static const double Psi2SBrmumu = 0.0079; // Branching ratio mu+mu-
123  static const double Upsilon1SMass = 9.46030; // [GeV/c^2]
124  static const double Upsilon1SWidth = 0.00005402; // [GeV/c^2]
125  static const double Upsilon1SBree = 0.0238; // Branching ratio e+e-
126  static const double Upsilon1SBrmumu = 0.0248; // Branching ratio mu+mu-
127  static const double Upsilon2SMass = 10.02326; // [GeV/c^2]
128  static const double Upsilon2SWidth = 0.00003198; // [GeV/c^2]
129  static const double Upsilon2SBree = 0.0191; // Branching ratio e+e-
130  static const double Upsilon2SBrmumu = 0.0193; // Branching ratio mu+mu-
131  static const double Upsilon3SMass = 10.3552; // [GeV/c^2]
132  static const double Upsilon3SWidth = 0.00002032; // [GeV/c^2]
133  static const double Upsilon3SBree = 0.0218; // Branching ratio e+e- (set to same as mu+mu-)
134  static const double Upsilon3SBrmumu = 0.0218; // Branching ratio mu+mu-
135 
137  UNKNOWN = 0,
138  ELECTRON = 11,
139  MUON = 13,
140  TAUON = 15,
141  TAUONDECAY = 10015,
142  PROTON = 212,
143  PIONNEUTRAL = 111,
144  PION = 211,
145  KAONCHARGE = 321,
146  KAONNEUTRAL = 310,
147  A2 = 115,
148  ETA = 221,
149  F2 = 225,
150  ETAPRIME = 331,
151  F2PRIME = 335,
152  ETAC = 441,
153  F0 = 9010221,
154  ZOVERZ03 = 33,
155  RHO = 113,
156  RHOZEUS = 913,
157  FOURPRONG = 999,
158  OMEGA = 223,
159  OMEGA_pi0gamma = 223022,
160  PHI = 333,
161  JPSI = 443,
162  JPSI_ee = 443011,
163  JPSI_mumu = 443013,
164  JPSI2S = 444,
165  JPSI2S_ee = 444011,
166  JPSI2S_mumu = 444013,
167  UPSILON = 553,
168  UPSILON_ee = 553011,
169  UPSILON_mumu = 553013,
170  UPSILON2S = 554,
171  UPSILON2S_ee = 554011,
172  UPSILON2S_mumu = 554013,
173  UPSILON3S = 555,
174  UPSILON3S_ee = 555011,
175  UPSILON3S_mumu = 555013,
176  AXION = 88, //AXION HACK
177  PHOTON = 22
178  };
179 
181  NOTKNOWN = 0,
187  };
188 
201  };
202 
205  PP = 1,
206  PA = 2,
207  AA = 3
208  };
209 
212  NUCLEUS = 1, //coherent gamma+A
213  NUCLEON = 2 //gamma+p or incoherent gamma+A
214  };
215 
216  //Structure for each event's set of tracks.
217  struct event{
218 
219  public:
220 
222  double px[30],py[30],pz[30];
223  int _fsParticle[30];
224  int _charge[30];
225  //To help track mothers and daughters produced through pythia.
226  int _mother1[30];
227  int _mother2[30];
228  int _daughter1[30];
229  int _daughter2[30];
230  //Normally we just set vertices to 0
231  //But for pythia, we decay additional states
233  double _vertx[10],_verty[10],_vertz[10];
234  };
235 
236 
237 } // starlightConstants
238 
239 
240 #endif // STARLIGHTCONSTANTS_H_INCLUDE
241