eic-smear  1.0.3
A collection of ROOT classes for Monte Carlo events and a fast-smearing code simulating detector effects for the Electron-Ion Collider task force
EventPythia.h
Go to the documentation of this file.
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  protected:
309  // Inline comments after field names will appear in ROOT
310  // when EventPythia::Dump() is called.
311  Int_t nucleon;
312  Int_t tgtparton;
314  Int_t beamparton;
316  Int_t genevent;
319  Double32_t xtgtparton;
320  Double32_t xbeamparton;
322  Double32_t thetabeamparton;
324  Double32_t leptonphi;
327  Double32_t F1;
329  Double32_t sigma_rad;
330  Double32_t t_hat;
331  Double32_t u_hat;
333  Double32_t Q2_hat;
335  Double32_t SigRadCor;
337  Double32_t EBrems;
338  Double32_t photonflux;
340  Double32_t trueY;
341  Double32_t trueQ2;
343  Double32_t trueX;
345  Double32_t trueW2;
346  Double32_t trueNu;
347  Double32_t F2;
348  Double32_t R;
349  Double32_t pt2_hat;
350  Double32_t sHat;
352  ClassDef(erhic::EventPythia, 1)
354 };
355 
356 inline void EventPythia::SetNucleon(int n) {
357  nucleon = n;
358 }
359 
360 inline void EventPythia::SetTargetParton(int n) {
361  tgtparton = n;
362 }
363 
364 inline void EventPythia::SetBeamParton(int n) {
365  beamparton = n;
366 }
367 
368 inline void EventPythia::SetGenEvent(int n) {
369  genevent = n;
370 }
371 
372 inline void EventPythia::SetTargetPartonX(double xB) {
373  xtgtparton = xB;
374 }
375 
376 inline void EventPythia::SetBeamPartonX(double xB) {
377  xbeamparton = xB;
378 }
379 
380 inline void EventPythia::SetBeamPartonTheta(double radians) {
381  thetabeamparton = radians;
382 }
383 
384 inline void EventPythia::SetLeptonPhi(double radians) {
385  leptonphi = radians;
386 }
387 
388 inline void EventPythia::SetF1(double f1) {
389  F1 = f1;
390 }
391 
392 inline void EventPythia::SetF2(double f2) {
393  F2 = f2;
394 }
395 
396 inline void EventPythia::SetSigmaRad(double sr) {
397  sigma_rad = sr;
398 }
399 
400 inline void EventPythia::SetHardS(double s) {
401  sHat = s;
402 }
403 
404 inline void EventPythia::SetHardT(double t) {
405  t_hat = t;
406 }
407 
408 inline void EventPythia::SetHardU(double u) {
409  u_hat = u;
410 }
411 
412 inline void EventPythia::SetHardQ2(double Q2) {
413  Q2_hat = Q2;
414 }
415 
416 inline void EventPythia::SetHardPt2(double pt2) {
417  pt2_hat = pt2;
418 }
419 
420 inline void EventPythia::SetSigRadCor(double s) {
421  SigRadCor = s;
422 }
423 
424 inline void EventPythia::SetEBrems(double e) {
425  EBrems = e;
426 }
427 
428 inline void EventPythia::SetPhotonFlux(double f) {
429  photonflux = f;
430 }
431 
432 inline void EventPythia::SetTrueY(double inelasticity) {
433  trueY = inelasticity;
434 }
435 
436 inline void EventPythia::SetTrueQ2(double Q2) {
437  trueQ2 = Q2;
438 }
439 
440 inline void EventPythia::SetTrueX(double xB) {
441  trueX = xB;
442 }
443 
444 inline void EventPythia::SetTrueW2(double W2) {
445  trueW2 = W2;
446 }
447 
448 inline void EventPythia::SetTrueNu(double Nu) {
449  trueNu = Nu;
450 }
451 
452 inline void EventPythia::SetR(double r) {
453  R = r;
454 }
455 
456 inline int EventPythia::GetGenEvent() const {
457  return genevent;
458 }
459 
460 inline double EventPythia::GetTargetPartonX() const {
461  return xtgtparton;
462 }
463 
464 inline double EventPythia::GetBeamPartonX() const {
465  return xbeamparton;
466 }
467 
468 inline double EventPythia::GetBeamPartonTheta() const {
469  return thetabeamparton;
470 }
471 
472 inline double EventPythia::GetLeptonPhi() const {
473  return leptonphi;
474 }
475 
476 inline double EventPythia::GetF1() const {
477  return F1;
478 }
479 
480 inline double EventPythia::GetF2() const {
481  return F2;
482 }
483 
484 inline double EventPythia::GetSigmaRad() const {
485  return sigma_rad;
486 }
487 
488 inline double EventPythia::GetHardS() const {
489  return sHat;
490 }
491 
492 inline double EventPythia::GetHardT() const {
493  return t_hat;
494 }
495 
496 inline double EventPythia::GetHardU() const {
497  return u_hat;
498 }
499 
500 inline double EventPythia::GetHardQ2() const {
501  return Q2_hat;
502 }
503 
504 inline double EventPythia::GetHardPt2() const {
505  return pt2_hat;
506 }
507 
508 inline double EventPythia::GetSigRadCor() const {
509  return SigRadCor;
510 }
511 
512 inline double EventPythia::GetEBrems() const {
513  return EBrems;
514 }
515 
516 inline double EventPythia::GetPhotonFlux() const {
517  return photonflux;
518 }
519 
520 inline double EventPythia::GetTrueY() const {
521  return trueY;
522 }
523 
524 inline double EventPythia::GetTrueQ2() const {
525  return trueQ2;
526 }
527 
528 inline double EventPythia::GetTrueX() const {
529  return trueX;
530 }
531 
532 inline double EventPythia::GetTrueW2() const {
533  return trueW2;
534 }
535 
536 inline double EventPythia::GetTrueNu() const {
537  return trueNu;
538 }
539 
540 inline double EventPythia::GetR() const {
541  return R;
542 }
543 
544 } // namespace erhic
545 
546 #endif // INCLUDE_EICSMEAR_ERHIC_EVENTPYTHIA_H_
virtual void SetBeamParton(int n)
Definition: EventPythia.h:364
virtual const ParticleMC * ScatteredLepton() const
Definition: EventPythia.cxx:71
Pythia 6 DIS event.
Definition: EventPythia.h:28
Double32_t Q2_hat
Definition: EventPythia.h:334
virtual void SetHardPt2(double pt2)
Definition: EventPythia.h:416
Double32_t SigRadCor
Value used for radiative corrections.
Definition: EventPythia.h:336
virtual void SetF1(double f1)
Definition: EventPythia.h:388
virtual double GetTargetPartonX() const
Definition: EventPythia.h:460
virtual double GetTrueX() const
Definition: EventPythia.h:528
virtual void SetTargetPartonX(double xB)
Definition: EventPythia.h:372
virtual void SetBeamPartonTheta(double radians)
Definition: EventPythia.h:380
virtual void SetTargetParton(int n)
Definition: EventPythia.h:360
virtual void SetNucleon(int n)
Definition: EventPythia.h:356
virtual void SetHardT(double t)
Definition: EventPythia.h:404
virtual double GetBeamPartonX() const
Definition: EventPythia.h:464
virtual void SetGenEvent(int n)
Definition: EventPythia.h:368
Double32_t u_hat
Definition: EventPythia.h:332
Double32_t trueW2
Generated W2 of the event.
Definition: EventPythia.h:345
virtual void SetBeamPartonX(double xB)
Definition: EventPythia.h:376
virtual double GetTrueQ2() const
Definition: EventPythia.h:524
virtual void SetF2(double f2)
Definition: EventPythia.h:392
virtual double GetHardPt2() const
Definition: EventPythia.h:504
Double32_t leptonphi
Definition: EventPythia.h:326
Double32_t t_hat
Definition: EventPythia.h:330
Double32_t thetabeamparton
Definition: EventPythia.h:323
EventPythia(const std::string &str="")
Definition: EventPythia.cxx:20
virtual double GetTrueW2() const
Definition: EventPythia.h:532
virtual void SetLeptonPhi(double radians)
Definition: EventPythia.h:384
virtual double GetTrueNu() const
Definition: EventPythia.h:536
virtual double GetF2() const
Definition: EventPythia.h:480
virtual double GetF1() const
Definition: EventPythia.h:476
virtual void SetHardS(double s)
Definition: EventPythia.h:400
Double32_t trueQ2
Definition: EventPythia.h:342
virtual void SetSigmaRad(double sr)
Definition: EventPythia.h:396
Double32_t xbeamparton
Definition: EventPythia.h:321
Double32_t trueNu
Generated nu of the event.
Definition: EventPythia.h:346
Double32_t trueX
Generated x of the event.
Definition: EventPythia.h:344
virtual void SetR(double r)
Definition: EventPythia.h:452
virtual double GetEBrems() const
Definition: EventPythia.h:512
virtual bool Parse(const std::string &)
Definition: EventPythia.cxx:50
Double32_t R
Value used for radiative corrections.
Definition: EventPythia.h:348
virtual double GetPhotonFlux() const
Definition: EventPythia.h:516
virtual void SetHardQ2(double Q2)
Definition: EventPythia.h:412
virtual double GetHardU() const
Definition: EventPythia.h:496
Double32_t EBrems
Definition: EventPythia.h:337
virtual int GetGenEvent() const
Definition: EventPythia.h:456
Int_t genevent
Trials required for this event.
Definition: EventPythia.h:318
virtual double GetLeptonPhi() const
Definition: EventPythia.h:472
virtual void SetSigRadCor(double s)
Definition: EventPythia.h:420
virtual ~EventPythia()
Definition: EventPythia.cxx:48
Double32_t F2
Value used for radiative corrections.
Definition: EventPythia.h:347
Double32_t sigma_rad
Value used for radiative corrections.
Definition: EventPythia.h:329
Double32_t trueY
Definition: EventPythia.h:340
Double32_t pt2_hat
Definition: EventPythia.h:349
virtual double GetBeamPartonTheta() const
Definition: EventPythia.h:468
virtual double GetHardS() const
Definition: EventPythia.h:488
virtual void SetTrueX(double x)
Definition: EventPythia.h:440
virtual void SetTrueNu(double Nu)
Definition: EventPythia.h:448
Double32_t photonflux
Flux factor, see VINT(319)
Definition: EventPythia.h:339
virtual double GetSigmaRad() const
Definition: EventPythia.h:484
Double32_t x
Bjorken scaling variable.
Definition: EventDis.h:181
Double32_t F1
Value used for radiative corrections.
Definition: EventPythia.h:328
virtual void SetTrueW2(double W2)
Definition: EventPythia.h:444
virtual double GetHardT() const
Definition: EventPythia.h:492
virtual void SetEBrems(double e)
Definition: EventPythia.h:424
virtual double GetHardQ2() const
Definition: EventPythia.h:500
virtual void SetHardU(double u)
Definition: EventPythia.h:408
virtual double GetR() const
Definition: EventPythia.h:540
virtual double GetSigRadCor() const
Definition: EventPythia.h:508
virtual double GetTrueY() const
Definition: EventPythia.h:520
virtual void SetTrueQ2(double Q2)
Definition: EventPythia.h:436
Double32_t xtgtparton
Definition: EventPythia.h:319
virtual void SetTrueY(double inelasticity)
Definition: EventPythia.h:432
virtual void SetPhotonFlux(double f)
Definition: EventPythia.h:428