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 double filterHT,
50 double filterMET,
51 int signalProcessVtx,
52 int beamParticle1,
53 int beamParticle2,
54 const std::vector<double>& weights,
55 const std::vector<long int>& randomStates,
56 const std::vector<double>& crossSection,
57 const std::vector<float>& heavyIon,
58 const std::vector<double>& pdfinfo,
59 int momentumUnit,
60 int lengthUnit,
61 unsigned int verticesBegin,
62 unsigned int verticesEnd,
63 unsigned int particlesBegin,
64 unsigned int particlesEnd
65 ,const std::vector<int>& e_attribute_id = std::vector<int>()
66 ,const std::vector<std::string>& e_attribute_name = std::vector<std::string>()
67 ,const std::vector<std::string>& e_attribute_string = std::vector<std::string>()
68 ,const std::vector<std::string>& r_attribute_name = std::vector<std::string>()
69 ,const std::vector<std::string>& r_attribute_string = std::vector<std::string>()
70 );
71
73 // Protected data:
75protected:
76
80
84
87 int m_mpi;
88
92
95 double m_alphaQCD;
96
99 double m_alphaQED;
100
111
115
119
123 std::vector<double> m_weights;
124
127 std::vector<long int> m_randomStates;
128
131 std::vector<double> m_crossSection;
132
135 std::vector<float> m_heavyIon;
136
140 std::vector<double> m_pdfinfo;
141
145
149
152 unsigned int m_verticesBegin;
153
156 unsigned int m_verticesEnd;
157
160 unsigned int m_particlesBegin;
161
164 unsigned int m_particlesEnd;
165
167 std::vector<int> m_e_attribute_id;
168 std::vector<std::string> m_e_attribute_name;
169 std::vector<std::string> m_e_attribute_string;
170 std::vector<std::string> m_r_attribute_name;
171 std::vector<std::string> m_r_attribute_string;
172};
173
178 m_signalProcessId ( -1 ),
179 m_eventNbr ( -1 ),
180 m_mpi ( -1 ),
181 m_eventScale ( -1 ),
182 m_alphaQCD ( -1 ),
183 m_alphaQED ( -1 ),
184 m_filterWeight ( 1 ),
185 m_filterHT ( -13 ),
186 m_filterMET ( -13 ),
187 m_signalProcessVtx ( 0 ),
188 m_beamParticle1 ( 0 ),
189 m_beamParticle2 ( 0 ),
190 m_weights ( ),
191 m_randomStates ( ),
192 m_crossSection ( ),
193 m_heavyIon ( ),
194 m_pdfinfo ( ),
195 m_momentumUnit ( 0 ),
196 m_lengthUnit ( 0 ),
197 m_verticesBegin ( 0 ),
198 m_verticesEnd ( 0 ),
199 m_particlesBegin ( 0 ),
200 m_particlesEnd ( 0 )
206{}
207
208inline GenEvent_p6::GenEvent_p6( int signalProcessId,
209 int eventNbr,
210 int mpi,
211 double eventScale,
212 double alphaQCD,
213 double alphaQED,
214 double filterWeight,
215 double filterHT,
216 double filterMET,
217 int signalProcessVtx,
218 int beamParticle1,
219 int beamParticle2,
220 const std::vector<double>& weights,
221 const std::vector<long int>& randomStates,
222 const std::vector<double>& crossSection,
223 const std::vector<float>& heavyIon,
224 const std::vector<double>& pdfinfo,
225 int momentumUnit,
226 int lengthUnit,
227 unsigned int verticesBegin,
228 unsigned int verticesEnd,
229 unsigned int particlesBegin,
230 unsigned int particlesEnd
231 ,const std::vector<int>& e_attribute_id
232 ,const std::vector<std::string>& e_attribute_name
233 ,const std::vector<std::string>& e_attribute_string
234 ,const std::vector<std::string>& r_attribute_name
235 ,const std::vector<std::string>& r_attribute_string
236 ) :
237 m_signalProcessId ( signalProcessId ),
238 m_eventNbr ( eventNbr ),
239 m_mpi ( mpi ),
240 m_eventScale ( eventScale ),
241 m_alphaQCD ( alphaQCD ),
242 m_alphaQED ( alphaQED ),
243 m_filterWeight ( filterWeight ),
244 m_filterHT ( filterHT ),
245 m_filterMET ( filterMET ),
246 m_signalProcessVtx ( signalProcessVtx ),
247 m_beamParticle1 ( beamParticle1 ),
248 m_beamParticle2 ( beamParticle2 ),
249 m_weights ( weights ),
250 m_randomStates ( randomStates ),
251 m_crossSection ( crossSection ),
252 m_heavyIon ( heavyIon ),
253 m_pdfinfo ( pdfinfo ),
254 m_momentumUnit ( momentumUnit ),
255 m_lengthUnit ( lengthUnit ),
256 m_verticesBegin ( verticesBegin ),
257 m_verticesEnd ( verticesEnd ),
258 m_particlesBegin ( particlesBegin ),
259 m_particlesEnd ( particlesEnd )
260 ,m_e_attribute_id ( e_attribute_id )
261 ,m_e_attribute_name ( e_attribute_name )
262 ,m_e_attribute_string( e_attribute_string )
263 ,m_r_attribute_name ( r_attribute_name )
264 ,m_r_attribute_string( r_attribute_string )
265{}
266
267#endif //> GENERATOROBJECTSTPCNV_GENEVENT_p6_H
double m_filterMET
double m_alphaQED
value of the QED coupling.
Definition GenEvent_p6.h:99
int m_momentumUnit
HepMC::Units::MomentumUnit casted to int.
int m_signalProcessId
Id of the processus being generated.
Definition GenEvent_p6.h:79
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:87
int m_eventNbr
Event number.
Definition GenEvent_p6.h:83
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:91
double m_alphaQCD
value of the QCD coupling.
Definition GenEvent_p6.h:95
double m_filterHT
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>.