12 #include <FairPrimaryGenerator.h>
22 using namespace Pythia8;
43 fPythia.setRndmEnginePtr(fRandomEngine);
45 cout <<
"Beam Momentum " << fMom << endl;
46 fPythia.init(fId, 2212, 0., 0., fMom, 0., 0., 0.);
61 for (
int i = 0; i < fPythia.event.size(); i++) {
62 if (fPythia.event[i].isFinal()) {
65 Int_t im = fPythia.event[i].mother1();
66 if (fPythia.event[im].id() == fHNL) {
68 Double_t z = fPythia.event[i].zProd();
69 Double_t x = abs(fPythia.event[i].xProd());
70 Double_t
y = abs(fPythia.event[i].yProd());
72 if (z < 11000. && z > 7000. && x < 250. &&
y < 250.) {
86 for (Int_t ii = 0; ii < fPythia.event.size(); ii++) {
87 if (fPythia.event[ii].isFinal()) {
88 Bool_t wanttracking =
true;
90 Int_t im = fPythia.event[ii].mother1();
91 if (fPythia.event[im].id() != fHNL) {
96 Double_t z = fPythia.event[ii].zProd();
97 Double_t x = fPythia.event[ii].xProd();
98 Double_t
y = fPythia.event[ii].yProd();
99 Double_t pz = fPythia.event[ii].pz();
100 Double_t px = fPythia.event[ii].px();
101 Double_t py = fPythia.event[ii].py();
102 cpg->AddTrack((Int_t)fPythia.event[ii].id(), px, py, pz, x,
y, z, (Int_t)fPythia.event[ii].mother1(),
111 if (fHNL != 0 && fPythia.event[ii].id() == fHNL) {
112 Int_t im = (Int_t)fPythia.event[ii].mother1();
113 Double_t z = fPythia.event[ii].zProd();
114 Double_t x = fPythia.event[ii].xProd();
115 Double_t
y = fPythia.event[ii].yProd();
116 Double_t pz = fPythia.event[ii].pz();
117 Double_t px = fPythia.event[ii].px();
118 Double_t py = fPythia.event[ii].py();
119 cpg->AddTrack((Int_t)fPythia.event[im].id(), px, py, pz, x,
y, z, 0,
false);
120 cpg->AddTrack((Int_t)fPythia.event[ii].id(), px, py, pz, x,
y, z, im,
false);
134 fPythia.readString(par);
135 cout <<
"fPythia.readString(\"" << par <<
"\")" << endl;
141 fPythia.settings.listAll();
146 fPythia.particleData.list(arg);
147 cout <<
"canDecay " << fPythia.particleData.canDecay(arg) <<
" " << fPythia.particleData.mayDecay(arg) << endl;