thepeg is hosted by Hepforge, IPPP Durham
ThePEG  2.2.1
LesHouches.h
1 // -*- C++ -*-
2 //
3 // LesHouches.h is a part of ThePEG - Toolkit for HEP Event Generation
4 // Copyright (C) 1999-2019 Leif Lonnblad
5 //
6 // ThePEG 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 THEPEG_LesHouches_H
10 #define THEPEG_LesHouches_H
11 //
12 // This is the declaration of the LesHouches class.
13 //
14 
15 #include "ThePEG/Config/ThePEG.h"
16 
17 namespace ThePEG {
18 
26 class HEPRUP {
27 
28 public:
29 
35  HEPRUP() : IDWTUP(0), NPRUP(0) {}
37 
38 public:
39 
45  void resize(int nrup) {
46  NPRUP = nrup;
47  resize();
48  }
49 
55  void resize() {
56  XSECUP.resize(NPRUP);
57  XERRUP.resize(NPRUP);
58  XMAXUP.resize(NPRUP);
59  LPRUP.resize(NPRUP);
60  }
61 
65  pair<long,long> IDBMUP;
66 
70  pair<double,double> EBMUP;
71 
76  pair<int,int> PDFGUP;
77 
82  pair<int,int> PDFSUP;
83 
89  int IDWTUP;
90 
95  int NPRUP;
96 
100  vector<double> XSECUP;
101 
106  vector<double> XERRUP;
107 
111  vector<double> XMAXUP;
112 
116  vector<int> LPRUP;
117 
118 };
119 
120 
128 class HEPEUP {
129 
130 public:
131 
138  : NUP(0), IDPRUP(0), XWGTUP(0.0), XPDWUP(0.0, 0.0),
139  SCALUP(0.0), AQEDUP(0.0), AQCDUP(0.0) {}
141 
142 public:
143 
149  void resize(int nup) {
150  NUP = nup;
151  resize();
152  }
153 
159  void resize() {
160  IDUP.resize(NUP);
161  ISTUP.resize(NUP);
162  MOTHUP.resize(NUP);
163  ICOLUP.resize(NUP);
164  PUP.resize(NUP);
165  VTIMUP.resize(NUP);
166  SPINUP.resize(NUP);
167  }
168 
172  int NUP;
173 
177  int IDPRUP;
178 
182  double XWGTUP;
183 
190  pair<double,double> XPDWUP;
191 
196  double SCALUP;
197 
201  double AQEDUP;
202 
206  double AQCDUP;
207 
211  vector<long> IDUP;
212 
216  vector<int> ISTUP;
217 
222  vector< pair<int,int> > MOTHUP;
223 
228  vector< pair<int,int> > ICOLUP;
229 
234  vector< array<double,5> > PUP;
235 
240  vector<double> VTIMUP;
241 
247  vector<double> SPINUP;
248 
249 };
250 
251 }
252 
253 #endif /* THEPEG_LesHouches_H */
pair< double, double > XPDWUP
The PDF weights for the two incoming partons.
Definition: LesHouches.h:190
pair< int, int > PDFSUP
The id number the PDF used for the beams according to the PDFLib specification.
Definition: LesHouches.h:82
vector< double > XSECUP
The cross sections for the different subprocesses in pb.
Definition: LesHouches.h:100
pair< int, int > PDFGUP
The author group for the PDF used for the beams according to the PDFLib specification.
Definition: LesHouches.h:76
void resize(int nrup)
Set the NPRUP variable, corresponding to the number of sub-processes, to nrup, and resize all relevan...
Definition: LesHouches.h:45
vector< pair< int, int > > MOTHUP
Indices for the first and last mother for the particle entries in this event.
Definition: LesHouches.h:222
vector< pair< int, int > > ICOLUP
The colour-line indices (first(second) is (anti)colour) for the particle entries in this event...
Definition: LesHouches.h:228
int IDWTUP
Master switch indicating how the ME generator envisages the events weights should be interpreted acco...
Definition: LesHouches.h:89
This is the main namespace within which all identifiers in ThePEG are declared.
Definition: FactoryBase.h:28
This is the main config header file for ThePEG.
vector< array< double, 5 > > PUP
Lab frame momentum (Px, Py, Pz, E and M in GeV) for the particle entries in this event.
Definition: LesHouches.h:234
double AQCDUP
The value of the QCD coupling used in this event.
Definition: LesHouches.h:206
int NPRUP
The number of different subprocesses in this file (should typically be just one)
Definition: LesHouches.h:95
vector< int > LPRUP
The subprocess code for the different subprocesses.
Definition: LesHouches.h:116
vector< double > SPINUP
Spin info for the particle entries in this event given as the cosine of the angle between the spin ve...
Definition: LesHouches.h:247
vector< double > XERRUP
The statistical error in the cross sections for the different subprocesses in pb. ...
Definition: LesHouches.h:106
vector< long > IDUP
The PDG id&#39;s for the particle entries in this event.
Definition: LesHouches.h:211
pair< double, double > EBMUP
Energy of beam particles given in GeV.
Definition: LesHouches.h:70
void resize(int nup)
Set the NUP variable, corresponding to the number of particles in the current event, to nup, and resize all relevant vectors accordingly.
Definition: LesHouches.h:149
HEPRUP()
Default constructor.
Definition: LesHouches.h:35
double AQEDUP
The value of the QED coupling used in this event.
Definition: LesHouches.h:201
HEPEUP()
Default constructor.
Definition: LesHouches.h:137
The HEPEUP class is a simple container corresponding to the Les Houches accord (hep-ph/0109068) commo...
Definition: LesHouches.h:128
vector< double > VTIMUP
Invariant lifetime (c*tau, distance from production to decay im mm) for the particle entries in this ...
Definition: LesHouches.h:240
int IDPRUP
The subprocess code for this event (as given in LPRUP).
Definition: LesHouches.h:177
The HEPRUP class is a simple container corresponding to the Les Houches accord (hep-ph/0109068) commo...
Definition: LesHouches.h:26
int NUP
The number of particle entries in the current event.
Definition: LesHouches.h:172
vector< double > XMAXUP
The maximum event weights (in XWGTUP) for different subprocesses.
Definition: LesHouches.h:111
void resize()
Assuming the NPRUP variable, corresponding to the number of sub-processes, is correctly set...
Definition: LesHouches.h:55
void resize()
Assuming the NUP variable, corresponding to the number of particles in the current event...
Definition: LesHouches.h:159
pair< long, long > IDBMUP
PDG id&#39;s of beam particles.
Definition: LesHouches.h:65
double XWGTUP
The weight for this event.
Definition: LesHouches.h:182
double SCALUP
The scale in GeV used in the calculation of the PDF&#39;s in this event.
Definition: LesHouches.h:196
vector< int > ISTUP
The status codes for the particle entries in this event.
Definition: LesHouches.h:216