ATLAS Offline Software
GenEvent_p6.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_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
34 public:
35 
38  GenEvent_p6();
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:
77 protected:
78 
82 
86 
89  int m_mpi;
90 
93  double m_eventScale;
94 
97  double m_alphaQCD;
98 
101  double m_alphaQED;
102 
106 #ifdef HEPMC3
107  double m_filterHT;
108  double m_filterMET;
109 #endif
110 
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 )
207  ,m_e_attribute_id ( )
208  ,m_e_attribute_name ( )
209  ,m_e_attribute_string( )
210  ,m_r_attribute_name ( )
211  ,m_r_attribute_string( )
212 {}
213 
214 inline 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
GenEvent_p6::m_alphaQED
double m_alphaQED
value of the QED coupling.
Definition: GenEvent_p6.h:101
GenEvent_p6::m_lengthUnit
int m_lengthUnit
HepMC::Units::LengthUnit casted to int.
Definition: GenEvent_p6.h:152
GenEvent_p6::m_mpi
int m_mpi
Number of multi particle interactions.
Definition: GenEvent_p6.h:89
GenEvent_p6::m_filterWeight
double m_filterWeight
value of the extra weight introduced during reweighting events in filter and value of some variables ...
Definition: GenEvent_p6.h:105
GenEvent_p6::m_momentumUnit
int m_momentumUnit
HepMC::Units::MomentumUnit casted to int.
Definition: GenEvent_p6.h:148
GenEvent_p6::m_particlesBegin
unsigned int m_particlesBegin
Begin position in the vector of particles composing this event.
Definition: GenEvent_p6.h:164
McEventCollectionCnv_p6
Definition: McEventCollectionCnv_p6.h:58
GenEvent_p6::m_signalProcessId
int m_signalProcessId
Id of the processus being generated.
Definition: GenEvent_p6.h:81
GenEvent_p6::m_signalProcessVtx
int m_signalProcessVtx
Barcode of the GenVertex holding the signal process.
Definition: GenEvent_p6.h:114
GenEvent_p6::m_verticesEnd
unsigned int m_verticesEnd
End position in the vector of vertices composing this event.
Definition: GenEvent_p6.h:160
GenEvent_p6::m_e_attribute_id
std::vector< int > m_e_attribute_id
We define those exactly as in the HepMC3::GenEvent.
Definition: GenEvent_p6.h:171
GenEvent_p6::m_crossSection
std::vector< double > m_crossSection
Container of HepMC::GenCrossSection object translated to vector<double>
Definition: GenEvent_p6.h:135
GenEvent_p6::m_particlesEnd
unsigned int m_particlesEnd
End position in the vector of particles composing this event.
Definition: GenEvent_p6.h:168
GenEvent_p6::m_randomStates
std::vector< long int > m_randomStates
Container of random numbers for the generator states.
Definition: GenEvent_p6.h:131
GenEvent_p6::m_beamParticle1
int m_beamParticle1
Barcode of the beam particle 1.
Definition: GenEvent_p6.h:118
GenEvent_p6::m_eventScale
double m_eventScale
Energy scale.
Definition: GenEvent_p6.h:93
GenEvent_p6
Definition: GenEvent_p6.h:23
GenEvent_p6::m_eventNbr
int m_eventNbr
Event number.
Definition: GenEvent_p6.h:85
xAOD::crossSection
crossSection
Definition: TruthEvent_v1.cxx:33
GenEvent_p6::GenEvent_p6
GenEvent_p6()
Default constructor.
Definition: GenEvent_p6.h:181
GenEvent_p6::m_r_attribute_name
std::vector< std::string > m_r_attribute_name
Attribute name for run info.
Definition: GenEvent_p6.h:174
GenEvent_p6::m_e_attribute_name
std::vector< std::string > m_e_attribute_name
Attribute name for event.
Definition: GenEvent_p6.h:172
GenEvent_p6::m_verticesBegin
unsigned int m_verticesBegin
Begin position in the vector of vertices composing this event.
Definition: GenEvent_p6.h:156
GenEvent_p6::m_weights
std::vector< double > m_weights
Weights for this event.
Definition: GenEvent_p6.h:127
GenEvent_p6::m_e_attribute_string
std::vector< std::string > m_e_attribute_string
Attribute serialized as string for event.
Definition: GenEvent_p6.h:173
HepMC::mpi
int mpi(const GenEvent &e)
Definition: GenEvent.h:507
GenEvent_p6::m_heavyIon
std::vector< float > m_heavyIon
Container of HepMC::HeavyIon object translated to vector<double>
Definition: GenEvent_p6.h:139
GenEvent_p6::m_beamParticle2
int m_beamParticle2
Barcode of the beam particle 2.
Definition: GenEvent_p6.h:122
GenEvent_p6::m_alphaQCD
double m_alphaQCD
value of the QCD coupling.
Definition: GenEvent_p6.h:97
GenEvent_p6::m_r_attribute_string
std::vector< std::string > m_r_attribute_string
Attribute serialized as string for run info.
Definition: GenEvent_p6.h:175
GenEvent_p6::m_pdfinfo
std::vector< double > m_pdfinfo
Container of HepMC::PdfInfo object translated to vector<double> for simplicity.
Definition: GenEvent_p6.h:144