ATLAS Offline Software
Loading...
Searching...
No Matches
GenEvent_p6.h
Go to the documentation of this file.
1
2
3/*
4 Copyright (C) 2002-2023 CERN for the benefit of the ATLAS collaboration
5*/
6
7// GenEvent_p6.h
8// Header file for class GenEvent_p6
9// Author: S.Binet<binet@cern.ch>
10// Date: March 2007
12#ifndef GENERATOROBJECTSTPCNV_GENEVENT_P6_H
13#define GENERATOROBJECTSTPCNV_GENEVENT_P6_H
14
15// STL includes
16#include <vector>
17#include <utility> //> for std::pair
18
19// forward declarations
21
23{
25 // Friend classes
27
28 // Make the AthenaPoolCnv class our friend
30
32 // Public methods
34public:
35
39
42 GenEvent_p6( int signalProcessId,
43 int eventNbr,
44 int mpi,
45 double eventScale,
46 double alphaQCD,
47 double alphaQED,
48 double filterWeight,
49#ifdef HEPMC3
50 double filterHT,
51 double filterMET,
52#endif
53 int signalProcessVtx,
54 int beamParticle1,
55 int beamParticle2,
56 const std::vector<double>& weights,
57 const std::vector<long int>& randomStates,
58 const std::vector<double>& crossSection,
59 const std::vector<float>& heavyIon,
60 const std::vector<double>& pdfinfo,
61 int momentumUnit,
62 int lengthUnit,
63 unsigned int verticesBegin,
64 unsigned int verticesEnd,
65 unsigned int particlesBegin,
66 unsigned int particlesEnd
67 ,const std::vector<int>& e_attribute_id = std::vector<int>()
68 ,const std::vector<std::string>& e_attribute_name = std::vector<std::string>()
69 ,const std::vector<std::string>& e_attribute_string = std::vector<std::string>()
70 ,const std::vector<std::string>& r_attribute_name = std::vector<std::string>()
71 ,const std::vector<std::string>& r_attribute_string = std::vector<std::string>()
72 );
73
75 // Protected data:
77protected:
78
82
86
89 int m_mpi;
90
94
97 double m_alphaQCD;
98
102
106#ifdef HEPMC3
107 double m_filterHT;
108 double m_filterMET;
109#endif
115
119
123
127 std::vector<double> m_weights;
128
131 std::vector<long int> m_randomStates;
132
135 std::vector<double> m_crossSection;
136
139 std::vector<float> m_heavyIon;
140
144 std::vector<double> m_pdfinfo;
145
149
153
156 unsigned int m_verticesBegin;
157
160 unsigned int m_verticesEnd;
161
164 unsigned int m_particlesBegin;
165
168 unsigned int m_particlesEnd;
169
171 std::vector<int> m_e_attribute_id;
172 std::vector<std::string> m_e_attribute_name;
173 std::vector<std::string> m_e_attribute_string;
174 std::vector<std::string> m_r_attribute_name;
175 std::vector<std::string> m_r_attribute_string;
176};
177
182 m_signalProcessId ( -1 ),
183 m_eventNbr ( -1 ),
184 m_mpi ( -1 ),
185 m_eventScale ( -1 ),
186 m_alphaQCD ( -1 ),
187 m_alphaQED ( -1 ),
188 m_filterWeight ( 1 ),
189#ifdef HEPMC3
190 m_filterHT ( -13 ),
191 m_filterMET ( -13 ),
192#endif
193 m_signalProcessVtx ( 0 ),
194 m_beamParticle1 ( 0 ),
195 m_beamParticle2 ( 0 ),
196 m_weights ( ),
197 m_randomStates ( ),
198 m_crossSection ( ),
199 m_heavyIon ( ),
200 m_pdfinfo ( ),
201 m_momentumUnit ( 0 ),
202 m_lengthUnit ( 0 ),
203 m_verticesBegin ( 0 ),
204 m_verticesEnd ( 0 ),
205 m_particlesBegin ( 0 ),
206 m_particlesEnd ( 0 )
212{}
213
214inline GenEvent_p6::GenEvent_p6( int signalProcessId,
215 int eventNbr,
216 int mpi,
217 double eventScale,
218 double alphaQCD,
219 double alphaQED,
220 double filterWeight,
221#ifdef HEPMC3
222 double filterHT,
223 double filterMET,
224#endif
225 int signalProcessVtx,
226 int beamParticle1,
227 int beamParticle2,
228 const std::vector<double>& weights,
229 const std::vector<long int>& randomStates,
230 const std::vector<double>& crossSection,
231 const std::vector<float>& heavyIon,
232 const std::vector<double>& pdfinfo,
233 int momentumUnit,
234 int lengthUnit,
235 unsigned int verticesBegin,
236 unsigned int verticesEnd,
237 unsigned int particlesBegin,
238 unsigned int particlesEnd
239 ,const std::vector<int>& e_attribute_id
240 ,const std::vector<std::string>& e_attribute_name
241 ,const std::vector<std::string>& e_attribute_string
242 ,const std::vector<std::string>& r_attribute_name
243 ,const std::vector<std::string>& r_attribute_string
244 ) :
245 m_signalProcessId ( signalProcessId ),
246 m_eventNbr ( eventNbr ),
247 m_mpi ( mpi ),
248 m_eventScale ( eventScale ),
249 m_alphaQCD ( alphaQCD ),
250 m_alphaQED ( alphaQED ),
251 m_filterWeight ( filterWeight ),
252#ifdef HEPMC3
253 m_filterHT ( filterHT ),
254 m_filterMET ( filterMET ),
255#endif
256 m_signalProcessVtx ( signalProcessVtx ),
257 m_beamParticle1 ( beamParticle1 ),
258 m_beamParticle2 ( beamParticle2 ),
259 m_weights ( weights ),
260 m_randomStates ( randomStates ),
261 m_crossSection ( crossSection ),
262 m_heavyIon ( heavyIon ),
263 m_pdfinfo ( pdfinfo ),
264 m_momentumUnit ( momentumUnit ),
265 m_lengthUnit ( lengthUnit ),
266 m_verticesBegin ( verticesBegin ),
267 m_verticesEnd ( verticesEnd ),
268 m_particlesBegin ( particlesBegin ),
269 m_particlesEnd ( particlesEnd )
270 ,m_e_attribute_id ( e_attribute_id )
271 ,m_e_attribute_name ( e_attribute_name )
272 ,m_e_attribute_string( e_attribute_string )
273 ,m_r_attribute_name ( r_attribute_name )
274 ,m_r_attribute_string( r_attribute_string )
275{}
276
277#endif //> GENERATOROBJECTSTPCNV_GENEVENT_p6_H
double m_alphaQED
value of the QED coupling.
int m_momentumUnit
HepMC::Units::MomentumUnit casted to int.
int m_signalProcessId
Id of the processus being generated.
Definition GenEvent_p6.h:81
unsigned int m_particlesBegin
Begin position in the vector of particles composing this event.
std::vector< double > m_crossSection
Container of HepMC::GenCrossSection object translated to vector<double>
int m_mpi
Number of multi particle interactions.
Definition GenEvent_p6.h:89
int m_eventNbr
Event number.
Definition GenEvent_p6.h:85
std::vector< long int > m_randomStates
Container of random numbers for the generator states.
std::vector< std::string > m_r_attribute_name
Attribute name for run info.
unsigned int m_verticesEnd
End position in the vector of vertices composing this event.
std::vector< int > m_e_attribute_id
We define those exactly as in the HepMC3::GenEvent.
unsigned int m_verticesBegin
Begin position in the vector of vertices composing this event.
std::vector< double > m_pdfinfo
Container of HepMC::PdfInfo object translated to vector<double> for simplicity.
friend class McEventCollectionCnv_p6
Definition GenEvent_p6.h:29
std::vector< double > m_weights
Weights for this event.
int m_beamParticle1
Barcode of the beam particle 1.
GenEvent_p6()
Default constructor.
std::vector< std::string > m_e_attribute_string
Attribute serialized as string for event.
int m_signalProcessVtx
Barcode of the GenVertex holding the signal process.
int m_beamParticle2
Barcode of the beam particle 2.
unsigned int m_particlesEnd
End position in the vector of particles composing this event.
double m_eventScale
Energy scale.
Definition GenEvent_p6.h:93
double m_alphaQCD
value of the QCD coupling.
Definition GenEvent_p6.h:97
int m_lengthUnit
HepMC::Units::LengthUnit casted to int.
std::vector< std::string > m_r_attribute_string
Attribute serialized as string for run info.
double m_filterWeight
value of the extra weight introduced during reweighting events in filter and value of some variables ...
std::vector< std::string > m_e_attribute_name
Attribute name for event.
std::vector< float > m_heavyIon
Container of HepMC::HeavyIon object translated to vector<double>