EIC Software
Reference for
EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
EventPythia.h
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file EventPythia.h
1
10
#ifndef INCLUDE_EICSMEAR_ERHIC_EVENTPYTHIA_H_
11
#define INCLUDE_EICSMEAR_ERHIC_EVENTPYTHIA_H_
12
13
#include <string>
14
15
#include <Rtypes.h>
16
17
#include "
eicsmear/erhic/EventMC.h
"
18
19
namespace
erhic {
20
28
class
EventPythia
:
public
EventMC
{
29
public
:
39
explicit
EventPythia
(
const
std::string& str =
""
);
40
44
virtual
~EventPythia
();
45
52
virtual
bool
Parse
(
const
std::string&);
53
58
virtual
void
SetNucleon
(
int
n
);
59
65
virtual
void
SetTargetParton
(
int
n);
66
72
virtual
void
SetBeamParton
(
int
n);
73
78
virtual
void
SetGenEvent
(
int
n);
79
83
virtual
void
SetTargetPartonX
(
double
xB);
84
88
virtual
void
SetBeamPartonX
(
double
xB);
89
94
virtual
void
SetBeamPartonTheta
(
double
radians);
95
100
virtual
void
SetLeptonPhi
(
double
radians);
101
105
virtual
void
SetF1
(
double
f1);
106
110
virtual
void
SetF2
(
double
f2
);
111
115
virtual
void
SetSigmaRad
(
double
sr);
116
120
virtual
void
SetHardS
(
double
s
);
121
125
virtual
void
SetHardT
(
double
t
);
126
130
virtual
void
SetHardU
(
double
u
);
131
135
virtual
void
SetHardQ2
(
double
Q2);
136
140
virtual
void
SetHardPt2
(
double
pt2
);
141
145
virtual
void
SetSigRadCor
(
double
s);
146
150
virtual
void
SetEBrems
(
double
e
);
151
155
virtual
void
SetPhotonFlux
(
double
f);
156
160
virtual
void
SetTrueY
(
double
inelasticity);
161
165
virtual
void
SetTrueQ2
(
double
Q2);
166
170
virtual
void
SetTrueX
(
double
x
);
171
175
virtual
void
SetTrueW2
(
double
W2);
176
180
virtual
void
SetTrueNu
(
double
Nu);
181
185
virtual
void
SetR
(
double
r);
186
190
virtual
int
GetGenEvent
()
const
;
191
195
virtual
double
GetTargetPartonX
()
const
;
196
200
virtual
double
GetBeamPartonX
()
const
;
201
206
virtual
double
GetBeamPartonTheta
()
const
;
207
213
virtual
double
GetLeptonPhi
()
const
;
214
218
virtual
double
GetF1
()
const
;
219
223
virtual
double
GetF2
()
const
;
224
228
virtual
double
GetSigmaRad
()
const
;
229
233
virtual
double
GetHardS
()
const
;
234
238
virtual
double
GetHardT
()
const
;
239
243
virtual
double
GetHardU
()
const
;
244
248
virtual
double
GetHardQ2
()
const
;
249
253
virtual
double
GetHardPt2
()
const
;
254
258
virtual
double
GetSigRadCor
()
const
;
259
263
virtual
double
GetEBrems
()
const
;
264
268
virtual
double
GetPhotonFlux
()
const
;
269
273
virtual
double
GetTrueY
()
const
;
274
278
virtual
double
GetTrueQ2
()
const
;
279
283
virtual
double
GetTrueX
()
const
;
284
288
virtual
double
GetTrueW2
()
const
;
289
293
virtual
double
GetTrueNu
()
const
;
294
298
virtual
double
GetR
()
const
;
299
306
virtual
const
ParticleMC
*
ScatteredLepton
()
const
;
307
308
// Let them all be public; this access method dances for POD does not make sense;
309
//protected:
310
// Inline comments after field names will appear in ROOT
311
// when EventPythia::Dump() is called.
312
Int_t
nucleon
;
313
314
Int_t
tgtparton
;
315
316
Int_t
beamparton
;
317
318
319
Int_t
genevent
;
320
Double32_t
xtgtparton
;
321
322
Double32_t
xbeamparton
;
323
324
Double32_t
thetabeamparton
;
325
326
327
Double32_t
leptonphi
;
328
329
Double32_t
F1
;
330
Double32_t
sigma_rad
;
331
Double32_t
t_hat
;
332
333
Double32_t
u_hat
;
334
335
Double32_t
Q2_hat
;
336
337
Double32_t
SigRadCor
;
338
Double32_t
EBrems
;
339
340
Double32_t
photonflux
;
341
Double32_t
trueY
;
342
343
Double32_t
trueQ2
;
344
345
Double32_t
trueX
;
346
Double32_t
trueW2
;
347
Double32_t
trueNu
;
348
Double32_t
F2
;
349
Double32_t
R
;
350
Double32_t
pt2_hat
;
351
352
Double32_t
sHat
;
353
354
ClassDef(
erhic::EventPythia
, 2)
355
};
356
357
inline
void
EventPythia::SetNucleon
(
int
n
) {
358
nucleon
=
n
;
359
}
360
361
inline
void
EventPythia::SetTargetParton
(
int
n
) {
362
tgtparton
=
n
;
363
}
364
365
inline
void
EventPythia::SetBeamParton
(
int
n
) {
366
beamparton
=
n
;
367
}
368
369
inline
void
EventPythia::SetGenEvent
(
int
n
) {
370
genevent
=
n
;
371
}
372
373
inline
void
EventPythia::SetTargetPartonX
(
double
xB) {
374
xtgtparton
= xB;
375
}
376
377
inline
void
EventPythia::SetBeamPartonX
(
double
xB) {
378
xbeamparton
= xB;
379
}
380
381
inline
void
EventPythia::SetBeamPartonTheta
(
double
radians) {
382
thetabeamparton
= radians;
383
}
384
385
inline
void
EventPythia::SetLeptonPhi
(
double
radians) {
386
leptonphi
= radians;
387
}
388
389
inline
void
EventPythia::SetF1
(
double
f1) {
390
F1
= f1;
391
}
392
393
inline
void
EventPythia::SetF2
(
double
f2
) {
394
F2
=
f2
;
395
}
396
397
inline
void
EventPythia::SetSigmaRad
(
double
sr) {
398
sigma_rad
= sr;
399
}
400
401
inline
void
EventPythia::SetHardS
(
double
s
) {
402
sHat
=
s
;
403
}
404
405
inline
void
EventPythia::SetHardT
(
double
t
) {
406
t_hat
=
t
;
407
}
408
409
inline
void
EventPythia::SetHardU
(
double
u
) {
410
u_hat
=
u
;
411
}
412
413
inline
void
EventPythia::SetHardQ2
(
double
Q2) {
414
Q2_hat
= Q2;
415
}
416
417
inline
void
EventPythia::SetHardPt2
(
double
pt2
) {
418
pt2_hat
=
pt2
;
419
}
420
421
inline
void
EventPythia::SetSigRadCor
(
double
s
) {
422
SigRadCor
=
s
;
423
}
424
425
inline
void
EventPythia::SetEBrems
(
double
e
) {
426
EBrems
=
e
;
427
}
428
429
inline
void
EventPythia::SetPhotonFlux
(
double
f) {
430
photonflux
= f;
431
}
432
433
inline
void
EventPythia::SetTrueY
(
double
inelasticity) {
434
trueY
= inelasticity;
435
}
436
437
inline
void
EventPythia::SetTrueQ2
(
double
Q2) {
438
trueQ2
= Q2;
439
}
440
441
inline
void
EventPythia::SetTrueX
(
double
xB) {
442
trueX
= xB;
443
}
444
445
inline
void
EventPythia::SetTrueW2
(
double
W2) {
446
trueW2
= W2;
447
}
448
449
inline
void
EventPythia::SetTrueNu
(
double
Nu) {
450
trueNu
= Nu;
451
}
452
453
inline
void
EventPythia::SetR
(
double
r) {
454
R
= r;
455
}
456
457
inline
int
EventPythia::GetGenEvent
()
const
{
458
return
genevent
;
459
}
460
461
inline
double
EventPythia::GetTargetPartonX
()
const
{
462
return
xtgtparton
;
463
}
464
465
inline
double
EventPythia::GetBeamPartonX
()
const
{
466
return
xbeamparton
;
467
}
468
469
inline
double
EventPythia::GetBeamPartonTheta
()
const
{
470
return
thetabeamparton
;
471
}
472
473
inline
double
EventPythia::GetLeptonPhi
()
const
{
474
return
leptonphi
;
475
}
476
477
inline
double
EventPythia::GetF1
()
const
{
478
return
F1
;
479
}
480
481
inline
double
EventPythia::GetF2
()
const
{
482
return
F2
;
483
}
484
485
inline
double
EventPythia::GetSigmaRad
()
const
{
486
return
sigma_rad
;
487
}
488
489
inline
double
EventPythia::GetHardS
()
const
{
490
return
sHat
;
491
}
492
493
inline
double
EventPythia::GetHardT
()
const
{
494
return
t_hat
;
495
}
496
497
inline
double
EventPythia::GetHardU
()
const
{
498
return
u_hat
;
499
}
500
501
inline
double
EventPythia::GetHardQ2
()
const
{
502
return
Q2_hat
;
503
}
504
505
inline
double
EventPythia::GetHardPt2
()
const
{
506
return
pt2_hat
;
507
}
508
509
inline
double
EventPythia::GetSigRadCor
()
const
{
510
return
SigRadCor
;
511
}
512
513
inline
double
EventPythia::GetEBrems
()
const
{
514
return
EBrems
;
515
}
516
517
inline
double
EventPythia::GetPhotonFlux
()
const
{
518
return
photonflux
;
519
}
520
521
inline
double
EventPythia::GetTrueY
()
const
{
522
return
trueY
;
523
}
524
525
inline
double
EventPythia::GetTrueQ2
()
const
{
526
return
trueQ2
;
527
}
528
529
inline
double
EventPythia::GetTrueX
()
const
{
530
return
trueX
;
531
}
532
533
inline
double
EventPythia::GetTrueW2
()
const
{
534
return
trueW2
;
535
}
536
537
inline
double
EventPythia::GetTrueNu
()
const
{
538
return
trueNu
;
539
}
540
541
inline
double
EventPythia::GetR
()
const
{
542
return
R
;
543
}
544
545
546
class
EventBeagle
:
public
EventPythia
{
547
public
:
548
explicit
EventBeagle
(
const
std::string& str =
""
);
549
550
~EventBeagle
();
551
552
bool
RequiresEaParticleFields
() {
return
true
; };
553
554
bool
Parse
(
const
std::string&);
555
557
//put in the public region to be easily accessed
558
Int_t
lepton
;
559
Int_t
Atarg
;
560
Int_t
Ztarg
;
561
Double32_t
pzlep
;
562
Double32_t
pztarg
;
563
Double32_t
pznucl
;
564
Double32_t
crang
;
565
Double32_t
crori
;
566
Double32_t
b
;
567
Double32_t
Phib
;
568
Double32_t
Thickness
;
569
Double32_t
ThickScl
;
570
Int_t
Ncollt
;
571
Int_t
Ncolli
;
572
Int_t
Nwound
;
573
Int_t
Nwdch
;
574
Int_t
Nnevap
;
575
Int_t
Npevap
;
576
Int_t
Aremn
;
577
Int_t
NINC
;
578
Int_t
NINCch
;
579
Double32_t
d1st
;
580
Double32_t
davg
;
581
Double32_t
pxf
;
582
Double32_t
pyf
;
583
Double32_t
pzf
;
584
Double32_t
Eexc
;
585
Double32_t
RAevt
;
586
Double32_t
User1
;
587
Double32_t
User2
;
588
Double32_t
User3
;
589
590
ClassDef(
erhic::EventBeagle
, 1)
591
};
592
593
}
// namespace erhic
594
595
#endif // INCLUDE_EICSMEAR_ERHIC_EVENTPYTHIA_H_
eic-smear
blob
master
include
eicsmear
erhic
EventPythia.h
Built by
Jin Huang
. updated:
Mon Jan 22 2024 12:43:32
using
1.8.2 with
EIC GitHub integration