6 os <<
"\tpx: " << p.
px <<
" py: " << p.
py <<
" pz: " << p.
pz <<
" e: " << p.
e <<
"\n";
11 os <<
"\tnparticles: " << eh.
nparticles <<
" procid: " << eh.
pid <<
" weight: " << eh.
weight
12 <<
" trials: " << eh.
trials <<
"\n";
13 os <<
"\tscale: " << eh.
scale <<
" rscale: " << eh.
rscale <<
" fscale: " << eh.
fscale <<
" aqed: " << eh.
aqed
14 <<
" aqcd: " << eh.
aqcd <<
"\n";
15 os <<
"\tnpLO: " << eh.
npLO <<
" npNLO: " << eh.
npNLO <<
"\n";
36 std::vector<Particle> _E;
45 std::swap<Particle>(_E[0], _E[1]);
69 HighFive::Group& g_particle,
70 HighFive::Group& g_event,
74 std::vector<size_t> _vstart, _vend;
76 std::vector<int> _vid, _vstatus, _vmother1, _vmother2, _vcolor1, _vcolor2;
77 std::vector<double> _vpx, _vpy, _vpz, _ve, _vm, _vlifetime, _vspin;
79 std::vector<int> _vnparticles, _vpid, _vnpLO, _vnpNLO;
80 std::vector<size_t> _vtrials;
81 std::vector<double> _vweight, _vscale, _vrscale, _vfscale, _vaqed, _vaqcd;
86 HighFive::DataSet _start = g_index.getDataSet(
"start");
87 HighFive::DataSet _end = g_index.getDataSet(
"end");
89 HighFive::DataSet _id = g_particle.getDataSet(
"id");
90 HighFive::DataSet _status = g_particle.getDataSet(
"status");
91 HighFive::DataSet _mother1 = g_particle.getDataSet(
"mother1");
92 HighFive::DataSet _mother2 = g_particle.getDataSet(
"mother2");
93 HighFive::DataSet _color1 = g_particle.getDataSet(
"color1");
94 HighFive::DataSet _color2 = g_particle.getDataSet(
"color2");
95 HighFive::DataSet _px = g_particle.getDataSet(
"px");
96 HighFive::DataSet _py = g_particle.getDataSet(
"py");
97 HighFive::DataSet _pz = g_particle.getDataSet(
"pz");
98 HighFive::DataSet _e = g_particle.getDataSet(
"e");
99 HighFive::DataSet _m = g_particle.getDataSet(
"m");
100 HighFive::DataSet _lifetime = g_particle.getDataSet(
"lifetime");
101 HighFive::DataSet _spin = g_particle.getDataSet(
"spin");
103 HighFive::DataSet _nparticles = g_event.getDataSet(
"nparticles");
104 HighFive::DataSet _pid = g_event.getDataSet(
"pid");
105 HighFive::DataSet _weight = g_event.getDataSet(
"weight");
106 HighFive::DataSet _trials = g_event.getDataSet(
"trials");
107 HighFive::DataSet _scale = g_event.getDataSet(
"scale");
108 HighFive::DataSet _rscale = g_event.getDataSet(
"rscale");
109 HighFive::DataSet _fscale = g_event.getDataSet(
"fscale");
110 HighFive::DataSet _aqed = g_event.getDataSet(
"aqed");
111 HighFive::DataSet _aqcd = g_event.getDataSet(
"aqcd");
112 HighFive::DataSet _npLO = g_event.getDataSet(
"npLO");
113 HighFive::DataSet _npNLO = g_event.getDataSet(
"npNLO");
117 std::vector<size_t> offset_e = {first_event};
118 std::vector<size_t> readsize_e = {n_events};
122 _start.select(offset_e, readsize_e).read(_vstart);
123 _end.select(offset_e, readsize_e).read(_vend);
124 std::vector<size_t> offset_p = {_vstart.front()};
125 std::vector<size_t> readsize_p = {_vend.back() - _vstart.front()};
127 int RESP = _vend.back() - _vstart.front();
129 _vstatus.reserve(RESP);
130 _vmother1.reserve(RESP);
131 _vmother2.reserve(RESP);
132 _vcolor1.reserve(RESP);
133 _vcolor2.reserve(RESP);
139 _vlifetime.reserve(RESP);
140 _vspin.reserve(RESP);
142 _vnparticles.reserve(n_events);
143 _vpid.reserve(n_events);
144 _vweight.reserve(n_events);
145 _vtrials.reserve(n_events);
146 _vscale.reserve(n_events);
147 _vrscale.reserve(n_events);
148 _vfscale.reserve(n_events);
149 _vaqed.reserve(n_events);
150 _vaqcd.reserve(n_events);
151 _vnpLO.reserve(n_events);
152 _vnpNLO.reserve(n_events);
156 _id.select(offset_p, readsize_p).read(_vid);
157 _status.select(offset_p, readsize_p).read(_vstatus);
158 _mother1.select(offset_p, readsize_p).read(_vmother1);
159 _mother2.select(offset_p, readsize_p).read(_vmother2);
160 _color1.select(offset_p, readsize_p).read(_vcolor1);
161 _color2.select(offset_p, readsize_p).read(_vcolor2);
162 _px.select(offset_p, readsize_p).read(_vpx);
163 _py.select(offset_p, readsize_p).read(_vpy);
164 _pz.select(offset_p, readsize_p).read(_vpz);
165 _e.select(offset_p, readsize_p).read(_ve);
166 _m.select(offset_p, readsize_p).read(_vm);
167 _lifetime.select(offset_p, readsize_p).read(_vlifetime);
168 _spin.select(offset_p, readsize_p).read(_vspin);
173 _nparticles.select(offset_e, readsize_e).read(_vnparticles);
174 _pid.select(offset_e, readsize_e).read(_vpid);
175 _weight.select(offset_e, readsize_e).read(_vweight);
176 _trials.select(offset_e, readsize_e).read(_vtrials);
177 _scale.select(offset_e, readsize_e).read(_vscale);
178 _rscale.select(offset_e, readsize_e).read(_vrscale);
179 _fscale.select(offset_e, readsize_e).read(_vfscale);
180 _aqed.select(offset_e, readsize_e).read(_vaqed);
181 _aqcd.select(offset_e, readsize_e).read(_vaqcd);
182 _npLO.select(offset_e, readsize_e).read(_vnpLO);
183 _npNLO.select(offset_e, readsize_e).read(_vnpNLO);
214 std::vector<Particle> _E;
225 std::swap<Particle>(_E[0], _E[1]);
249 HighFive::Group& g_particle, HighFive::Group& g_event,
size_t first_event,
size_t n_events,
int npLO,
int npNLO) {
251 std::vector<size_t> _vstart;
253 std::vector<int> _vid, _vstatus, _vmother1, _vmother2, _vcolor1, _vcolor2;
254 std::vector<double> _vpx, _vpy, _vpz, _ve, _vm, _vlifetime, _vspin;
256 std::vector<int> _vnparticles, _vpid;
257 std::vector<size_t> _vtrials;
258 std::vector<double> _vweight, _vscale, _vrscale, _vfscale, _vaqed, _vaqcd;
262 HighFive::DataSet _start = g_event.getDataSet(
"start");
264 HighFive::DataSet _id = g_particle.getDataSet(
"id");
265 HighFive::DataSet _status = g_particle.getDataSet(
"status");
266 HighFive::DataSet _mother1 = g_particle.getDataSet(
"mother1");
267 HighFive::DataSet _mother2 = g_particle.getDataSet(
"mother2");
268 HighFive::DataSet _color1 = g_particle.getDataSet(
"color1");
269 HighFive::DataSet _color2 = g_particle.getDataSet(
"color2");
270 HighFive::DataSet _px = g_particle.getDataSet(
"px");
271 HighFive::DataSet _py = g_particle.getDataSet(
"py");
272 HighFive::DataSet _pz = g_particle.getDataSet(
"pz");
273 HighFive::DataSet _e = g_particle.getDataSet(
"e");
274 HighFive::DataSet _m = g_particle.getDataSet(
"m");
275 HighFive::DataSet _lifetime = g_particle.getDataSet(
"lifetime");
276 HighFive::DataSet _spin = g_particle.getDataSet(
"spin");
278 HighFive::DataSet _nparticles = g_event.getDataSet(
"nparticles");
279 HighFive::DataSet _pid = g_event.getDataSet(
"pid");
280 HighFive::DataSet _weight = g_event.getDataSet(
"weight");
281 HighFive::DataSet _trials = g_event.getDataSet(
"trials");
282 HighFive::DataSet _scale = g_event.getDataSet(
"scale");
283 HighFive::DataSet _rscale = g_event.getDataSet(
"rscale");
284 HighFive::DataSet _fscale = g_event.getDataSet(
"fscale");
285 HighFive::DataSet _aqed = g_event.getDataSet(
"aqed");
286 HighFive::DataSet _aqcd = g_event.getDataSet(
"aqcd");
288 std::vector<size_t> offset_e = {first_event};
289 std::vector<size_t> readsize_e = {n_events};
292 _start.select(offset_e, readsize_e).read(_vstart);
295 std::vector<size_t> offset_p = {_vstart.front()};
297 _vnparticles.reserve(n_events);
298 _nparticles.select(offset_e, readsize_e).read(_vnparticles);
300 size_t RESP = _vstart.back() - _vstart.front() + _vnparticles.back();
301 std::vector<size_t> readsize_p = {RESP};
304 _vstatus.reserve(RESP);
305 _vmother1.reserve(RESP);
306 _vmother2.reserve(RESP);
307 _vcolor1.reserve(RESP);
308 _vcolor2.reserve(RESP);
314 _vlifetime.reserve(RESP);
315 _vspin.reserve(RESP);
317 _vpid.reserve(n_events);
318 _vweight.reserve(n_events);
319 _vtrials.reserve(n_events);
320 _vscale.reserve(n_events);
321 _vrscale.reserve(n_events);
322 _vfscale.reserve(n_events);
323 _vaqed.reserve(n_events);
324 _vaqcd.reserve(n_events);
327 _id.select(offset_p, readsize_p).read(_vid);
328 _status.select(offset_p, readsize_p).read(_vstatus);
329 _mother1.select(offset_p, readsize_p).read(_vmother1);
330 _mother2.select(offset_p, readsize_p).read(_vmother2);
331 _color1.select(offset_p, readsize_p).read(_vcolor1);
332 _color2.select(offset_p, readsize_p).read(_vcolor2);
333 _px.select(offset_p, readsize_p).read(_vpx);
334 _py.select(offset_p, readsize_p).read(_vpy);
335 _pz.select(offset_p, readsize_p).read(_vpz);
336 _e.select(offset_p, readsize_p).read(_ve);
337 _m.select(offset_p, readsize_p).read(_vm);
338 _lifetime.select(offset_p, readsize_p).read(_vlifetime);
339 _spin.select(offset_p, readsize_p).read(_vspin);
341 _pid.select(offset_e, readsize_e).read(_vpid);
342 _weight.select(offset_e, readsize_e).read(_vweight);
343 _trials.select(offset_e, readsize_e).read(_vtrials);
344 _scale.select(offset_e, readsize_e).read(_vscale);
345 _rscale.select(offset_e, readsize_e).read(_vrscale);
346 _fscale.select(offset_e, readsize_e).read(_vfscale);
347 _aqed.select(offset_e, readsize_e).read(_vaqed);
348 _aqcd.select(offset_e, readsize_e).read(_vaqcd);
std::vector< Particle > mkEvent(size_t ievent) const
std::vector< double > _vpx
std::vector< int > _vnparticles
std::vector< double > _vpy
EventHeader mkEventHeader(int ievent) const
std::vector< size_t > _vtrials
std::vector< double > _vlifetime
std::vector< double > _vlifetime
std::vector< double > _vaqcd
uint16_t *__restrict__ id
std::vector< double > _vrscale
std::vector< double > _vpx
std::vector< double > _vscale
std::vector< size_t > _vstart
std::vector< Particle > mkEvent(size_t ievent) const
std::vector< int > _vcolor2
Events readEvents(HighFive::Group &g_index, HighFive::Group &g_particle, HighFive::Group &g_event, size_t first_event, size_t n_events)
std::vector< double > _vaqcd
std::vector< size_t > _vstart
std::vector< int > _vcolor1
std::vector< int > _vmother2
std::vector< double > _vm
std::vector< double > _vweight
std::vector< double > _vaqed
std::vector< size_t > _vend
EventHeader mkEventHeader(int ievent) const
std::vector< int > _vnpNLO
std::vector< double > _vpz
std::vector< double > _vspin
std::vector< double > _vm
std::vector< double > _vspin
std::vector< int > _vstatus
std::vector< double > _vpy
std::vector< int > _vnpLO
std::vector< int > _vnparticles
std::vector< int > _vstatus
std::vector< int > _vmother2
std::vector< double > _vfscale
std::vector< double > _ve
std::vector< double > _vaqed
std::vector< size_t > _vtrials
std::vector< double > _vpz
std::ostream & operator<<(std::ostream &os, Particle const &p)
std::vector< double > _vfscale
Particle mkParticle(size_t idx) const
std::vector< double > _ve
std::vector< double > _vrscale
std::vector< int > _vcolor2
Particle mkParticle(size_t idx) const
std::vector< double > _vscale
std::vector< int > _vmother1
std::vector< int > _vcolor1
HitContainer const *__restrict__ TkSoA const *__restrict__ Quality const *__restrict__ CAHitNtupletGeneratorKernelsGPU::HitToTuple const *__restrict__ int32_t int iev
std::vector< int > _vmother1
std::vector< double > _vweight