ATLAS Offline Software
GenEvent_p7.h
Go to the documentation of this file.
1 
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
34 public:
35 
38  GenEvent_p7();
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:
81 protected:
82 
86 
90 
93  int m_mpi;
94 
97  double m_eventScale;
98 
101  double m_alphaQCD;
102 
105  double m_alphaQED;
106 
110 #ifdef HEPMC3
111  double m_filterHT;
112  double m_filterMET;
113 #endif
114 
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 )
215  ,m_e_attribute_id ( )
216  ,m_e_attribute_name ( )
217  ,m_e_attribute_string( )
218  ,m_r_attribute_name ( )
219  ,m_r_attribute_string( )
220  ,m_r_tool_name( )
221  ,m_r_tool_version( )
222  ,m_r_tool_description( )
223  ,m_r_weight_names( )
224 {}
225 
226 inline 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
GenEvent_p7::m_alphaQCD
double m_alphaQCD
value of the QCD coupling.
Definition: GenEvent_p7.h:101
GenEvent_p7::m_crossSection
std::vector< double > m_crossSection
Container of HepMC::GenCrossSection object translated to vector<double>
Definition: GenEvent_p7.h:139
GenEvent_p7::m_verticesBegin
unsigned int m_verticesBegin
Begin position in the vector of vertices composing this event.
Definition: GenEvent_p7.h:160
GenEvent_p7::m_heavyIon
std::vector< float > m_heavyIon
Container of HepMC::HeavyIon object translated to vector<double>
Definition: GenEvent_p7.h:143
GenEvent_p7
Definition: GenEvent_p7.h:23
GenEvent_p7::m_signalProcessVtx
int m_signalProcessVtx
Barcode of the GenVertex holding the signal process.
Definition: GenEvent_p7.h:118
GenEvent_p7::m_weights
std::vector< double > m_weights
Weights for this event.
Definition: GenEvent_p7.h:131
GenEvent_p7::m_momentumUnit
int m_momentumUnit
HepMC::Units::MomentumUnit casted to int.
Definition: GenEvent_p7.h:152
GenEvent_p7::m_lengthUnit
int m_lengthUnit
HepMC::Units::LengthUnit casted to int.
Definition: GenEvent_p7.h:156
GenEvent_p7::m_e_attribute_name
std::vector< std::string > m_e_attribute_name
Attribute name for event.
Definition: GenEvent_p7.h:176
GenEvent_p7::m_verticesEnd
unsigned int m_verticesEnd
End position in the vector of vertices composing this event.
Definition: GenEvent_p7.h:164
GenEvent_p7::m_eventScale
double m_eventScale
Energy scale.
Definition: GenEvent_p7.h:97
GenEvent_p7::m_particlesEnd
unsigned int m_particlesEnd
End position in the vector of particles composing this event.
Definition: GenEvent_p7.h:172
GenEvent_p7::m_r_tool_version
std::vector< std::string > m_r_tool_version
Version of the used tool.
Definition: GenEvent_p7.h:181
GenEvent_p7::m_beamParticle1
int m_beamParticle1
Barcode of the beam particle 1.
Definition: GenEvent_p7.h:122
GenEvent_p7::m_particlesBegin
unsigned int m_particlesBegin
Begin position in the vector of particles composing this event.
Definition: GenEvent_p7.h:168
GenEvent_p7::m_e_attribute_string
std::vector< std::string > m_e_attribute_string
Attribute serialized as string for event.
Definition: GenEvent_p7.h:177
GenEvent_p7::m_alphaQED
double m_alphaQED
value of the QED coupling.
Definition: GenEvent_p7.h:105
GenEvent_p7::m_filterWeight
double m_filterWeight
value of the extra weight introduced during reweighting events in filter and value of some variables ...
Definition: GenEvent_p7.h:109
GenEvent_p7::m_beamParticle2
int m_beamParticle2
Barcode of the beam particle 2.
Definition: GenEvent_p7.h:126
xAOD::crossSection
crossSection
Definition: TruthEvent_v1.cxx:33
GenEvent_p7::m_randomStates
std::vector< long int > m_randomStates
Container of random numbers for the generator states.
Definition: GenEvent_p7.h:135
weights
Definition: herwig7_interface.h:38
GenEvent_p7::m_e_attribute_id
std::vector< int > m_e_attribute_id
We define those exactly as in the HepMC3::GenEvent.
Definition: GenEvent_p7.h:175
GenEvent_p7::m_mpi
int m_mpi
Number of multi particle interactions.
Definition: GenEvent_p7.h:93
GenEvent_p7::m_signalProcessId
int m_signalProcessId
Id of the processus being generated.
Definition: GenEvent_p7.h:85
HepMC::mpi
int mpi(const GenEvent &e)
Definition: GenEvent.h:629
GenEvent_p7::m_r_attribute_string
std::vector< std::string > m_r_attribute_string
Attribute serialized as string for run info.
Definition: GenEvent_p7.h:179
GenEvent_p7::m_r_attribute_name
std::vector< std::string > m_r_attribute_name
Attribute name for run info.
Definition: GenEvent_p7.h:178
McEventCollectionCnv_p7
Definition: McEventCollectionCnv_p7.h:58
GenEvent_p7::m_eventNbr
int m_eventNbr
Event number.
Definition: GenEvent_p7.h:89
GenEvent_p7::m_r_tool_name
std::vector< std::string > m_r_tool_name
Name of the used tool.
Definition: GenEvent_p7.h:180
GenEvent_p7::m_r_tool_description
std::vector< std::string > m_r_tool_description
Description of the used tool.
Definition: GenEvent_p7.h:182
GenEvent_p7::m_r_weight_names
std::vector< std::string > m_r_weight_names
The weight names.
Definition: GenEvent_p7.h:183
GenEvent_p7::m_pdfinfo
std::vector< double > m_pdfinfo
Container of HepMC::PdfInfo object translated to vector<double> for simplicity.
Definition: GenEvent_p7.h:148
GenEvent_p7::GenEvent_p7
GenEvent_p7()
Default constructor.
Definition: GenEvent_p7.h:189