ATLAS Offline Software
Loading...
Searching...
No Matches
GenEvent_p7.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_p7.h
8// Header file for class GenEvent_p7
9// Author: S.Binet<binet@cern.ch>
10// Date: March 2007
12#ifndef GENERATOROBJECTSTPCNV_GENEVENT_P7_H
13#define GENERATOROBJECTSTPCNV_GENEVENT_P7_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_p7( 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 ,const std::vector<std::string>& r_tool_name = std::vector<std::string>()
73 ,const std::vector<std::string>& r_tool_version = std::vector<std::string>()
74 ,const std::vector<std::string>& r_tool_description = std::vector<std::string>()
75 ,const std::vector<std::string>& r_weight_names = std::vector<std::string>()
76 );
77
79 // Protected data:
81protected:
82
86
90
93 int m_mpi;
94
98
102
106
110#ifdef HEPMC3
111 double m_filterHT;
112 double m_filterMET;
113#endif
119
123
127
131 std::vector<double> m_weights;
132
135 std::vector<long int> m_randomStates;
136
139 std::vector<double> m_crossSection;
140
143 std::vector<float> m_heavyIon;
144
148 std::vector<double> m_pdfinfo;
149
153
157
160 unsigned int m_verticesBegin;
161
164 unsigned int m_verticesEnd;
165
168 unsigned int m_particlesBegin;
169
172 unsigned int m_particlesEnd;
173
175 std::vector<int> m_e_attribute_id;
176 std::vector<std::string> m_e_attribute_name;
177 std::vector<std::string> m_e_attribute_string;
178 std::vector<std::string> m_r_attribute_name;
179 std::vector<std::string> m_r_attribute_string;
180 std::vector<std::string> m_r_tool_name;
181 std::vector<std::string> m_r_tool_version;
182 std::vector<std::string> m_r_tool_description;
183 std::vector<std::string> m_r_weight_names;
184};
185
190 m_signalProcessId ( -1 ),
191 m_eventNbr ( -1 ),
192 m_mpi ( -1 ),
193 m_eventScale ( -1 ),
194 m_alphaQCD ( -1 ),
195 m_alphaQED ( -1 ),
196 m_filterWeight ( 1 ),
197#ifdef HEPMC3
198 m_filterHT ( -13 ),
199 m_filterMET ( -13 ),
200#endif
201 m_signalProcessVtx ( 0 ),
202 m_beamParticle1 ( 0 ),
203 m_beamParticle2 ( 0 ),
204 m_weights ( ),
205 m_randomStates ( ),
206 m_crossSection ( ),
207 m_heavyIon ( ),
208 m_pdfinfo ( ),
209 m_momentumUnit ( 0 ),
210 m_lengthUnit ( 0 ),
211 m_verticesBegin ( 0 ),
212 m_verticesEnd ( 0 ),
213 m_particlesBegin ( 0 ),
214 m_particlesEnd ( 0 )
220 ,m_r_tool_name( )
224{}
225
226inline GenEvent_p7::GenEvent_p7( int signalProcessId,
227 int eventNbr,
228 int mpi,
229 double eventScale,
230 double alphaQCD,
231 double alphaQED,
232 double filterWeight,
233#ifdef HEPMC3
234 double filterHT,
235 double filterMET,
236#endif
237 int signalProcessVtx,
238 int beamParticle1,
239 int beamParticle2,
240 const std::vector<double>& weights,
241 const std::vector<long int>& randomStates,
242 const std::vector<double>& crossSection,
243 const std::vector<float>& heavyIon,
244 const std::vector<double>& pdfinfo,
245 int momentumUnit,
246 int lengthUnit,
247 unsigned int verticesBegin,
248 unsigned int verticesEnd,
249 unsigned int particlesBegin,
250 unsigned int particlesEnd
251 ,const std::vector<int>& e_attribute_id
252 ,const std::vector<std::string>& e_attribute_name
253 ,const std::vector<std::string>& e_attribute_string
254 ,const std::vector<std::string>& r_attribute_name
255 ,const std::vector<std::string>& r_attribute_string
256 ,const std::vector<std::string>& r_tool_name
257 ,const std::vector<std::string>& r_tool_version
258 ,const std::vector<std::string>& r_tool_description
259 ,const std::vector<std::string>& r_weight_names
260 ) :
261 m_signalProcessId ( signalProcessId ),
262 m_eventNbr ( eventNbr ),
263 m_mpi ( mpi ),
264 m_eventScale ( eventScale ),
265 m_alphaQCD ( alphaQCD ),
266 m_alphaQED ( alphaQED ),
267 m_filterWeight ( filterWeight ),
268#ifdef HEPMC3
269 m_filterHT ( filterHT ),
270 m_filterMET ( filterMET ),
271#endif
272 m_signalProcessVtx ( signalProcessVtx ),
273 m_beamParticle1 ( beamParticle1 ),
274 m_beamParticle2 ( beamParticle2 ),
275 m_weights ( weights ),
276 m_randomStates ( randomStates ),
277 m_crossSection ( crossSection ),
278 m_heavyIon ( heavyIon ),
279 m_pdfinfo ( pdfinfo ),
280 m_momentumUnit ( momentumUnit ),
281 m_lengthUnit ( lengthUnit ),
282 m_verticesBegin ( verticesBegin ),
283 m_verticesEnd ( verticesEnd ),
284 m_particlesBegin ( particlesBegin ),
285 m_particlesEnd ( particlesEnd )
286 ,m_e_attribute_id ( e_attribute_id )
287 ,m_e_attribute_name ( e_attribute_name )
288 ,m_e_attribute_string( e_attribute_string )
289 ,m_r_attribute_name ( r_attribute_name )
290 ,m_r_attribute_string( r_attribute_string )
291 ,m_r_tool_name( r_tool_name )
292 ,m_r_tool_version( r_tool_version )
293 ,m_r_tool_description( r_tool_description )
294 ,m_r_weight_names( r_weight_names )
295{}
296
297#endif //> GENERATOROBJECTSTPCNV_GENEVENT_p7_H
unsigned int m_particlesEnd
End position in the vector of particles composing this event.
friend class McEventCollectionCnv_p7
Definition GenEvent_p7.h:29
std::vector< long int > m_randomStates
Container of random numbers for the generator states.
int m_signalProcessId
Id of the processus being generated.
Definition GenEvent_p7.h:85
int m_beamParticle2
Barcode of the beam particle 2.
std::vector< double > m_crossSection
Container of HepMC::GenCrossSection object translated to vector<double>
int m_signalProcessVtx
Barcode of the GenVertex holding the signal process.
int m_eventNbr
Event number.
Definition GenEvent_p7.h:89
std::vector< std::string > m_r_weight_names
The weight names.
int m_lengthUnit
HepMC::Units::LengthUnit casted to int.
std::vector< std::string > m_r_tool_name
Name of the used tool.
int m_beamParticle1
Barcode of the beam particle 1.
std::vector< int > m_e_attribute_id
We define those exactly as in the HepMC3::GenEvent.
double m_eventScale
Energy scale.
Definition GenEvent_p7.h:97
std::vector< double > m_weights
Weights for this event.
double m_filterWeight
value of the extra weight introduced during reweighting events in filter and value of some variables ...
unsigned int m_particlesBegin
Begin position in the vector of particles composing this event.
std::vector< std::string > m_r_attribute_string
Attribute serialized as string for run info.
unsigned int m_verticesEnd
End position in the vector of vertices composing this event.
std::vector< std::string > m_r_tool_description
Description of the used tool.
double m_alphaQCD
value of the QCD coupling.
int m_mpi
Number of multi particle interactions.
Definition GenEvent_p7.h:93
int m_momentumUnit
HepMC::Units::MomentumUnit casted to int.
GenEvent_p7()
Default constructor.
std::vector< double > m_pdfinfo
Container of HepMC::PdfInfo object translated to vector<double> for simplicity.
unsigned int m_verticesBegin
Begin position in the vector of vertices composing this event.
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>
std::vector< std::string > m_r_tool_version
Version of the used tool.
std::vector< std::string > m_r_attribute_name
Attribute name for run info.
std::vector< std::string > m_e_attribute_string
Attribute serialized as string for event.
double m_alphaQED
value of the QED coupling.