File indexing completed on 2025-08-05 08:12:06
0001 int
0002 create_pythia_dummy()
0003 {
0004
0005 ofstream ofs("pythia_dummy_new.dat");
0006
0007
0008 unsigned npart = 100;
0009
0010
0011 unsigned nevents = 10000;
0012
0013
0014 unsigned I0 = 14;
0015
0016
0017 ofs << " PYTHIA EVENT FILE " << endl;
0018 ofs << " ============================================" << endl;
0019 ofs << " I, ievent, genevent, subprocess, nucleon, targetparton, xtargparton, beamparton, xbeamparton, thetabeamprtn, truey, trueQ2, truex, trueW2, trueNu, leptonphi, s_hat, t_hat, u_hat, pt2_hat, Q2_hat, F2, F1, R, sigma_rad, SigRadCor, EBrems, photonflux, t-diff, nrTracks" << endl;
0020 ofs << " ============================================" << endl;
0021 ofs << " I K(I,1) K(I,2) K(I,3) K(I,4) K(I,5) P(I,1) P(I,2) P(I,3) P(I,4) P(I,5) V(I,1) V(I,2) V(I,3)" << endl;
0022 ofs << " ============================================" << endl;
0023
0024
0025
0026 for ( unsigned event = 0; event < nevents; event++ )
0027 {
0028 ofs << " 0 " << event << " 1 28 2212 2 0.626588 21 0.021799 0.000606 0.11143372116 1.29649562992 0.00058761008 2205.97153388399 1175.77442684038 0.45626715567 30.13077585993 -6.512950687 -23.617825173 5.105136735 5.105136735 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.000000000 0.093679142 -6.512950687 " << npart << endl;
0029 ofs << " ============================================" << endl;
0030 ofs << " 1 21 11 0 3 4 0.000000 0.000000 -18.000000 18.000000 0.000510 0.000000 0.000000 0.000000" << endl;
0031 ofs << " 2 21 2212 0 5 0 -0.000000 0.000000 275.000000 275.001601 0.938270 0.000000 0.000000 0.000000" << endl;
0032 ofs << " 3 21 11 1 0 0 -0.963526 0.472906 -15.976186 16.012200 0.000510 0.000000 0.000000 0.000000" << endl;
0033 ofs << " 4 21 22 1 0 0 0.963526 -0.472906 -2.023814 1.987800 -1.138638 0.000000 0.000000 0.000000" << endl;
0034 ofs << " 5 21 2212 2 0 0 -0.000000 -0.000000 275.000000 275.001601 0.938270 0.000000 0.000000 0.000000" << endl;
0035 ofs << " 6 21 -2 4 0 0 0.575223 -0.495057 -1.333090 1.533980 -0.000000 0.000000 0.000000 0.000000" << endl;
0036 ofs << " 7 21 2 5 0 0 0.104280 -0.005342 172.232299 172.232331 -0.000000 0.000000 0.000000 0.000000" << endl;
0037 ofs << " 8 21 21 6 0 0 -0.493961 -0.724549 3.813575 3.913096 0.000000 0.000000 0.000000 0.000000" << endl;
0038 ofs << " 9 21 2 7 0 0 0.091399 -0.004682 150.957731 150.957759 0.000000 0.000000 0.000000 0.000000" << endl;
0039 ofs << " 10 21 21 0 0 0 1.874941 -0.450971 23.470606 23.549694 0.000000 0.000000 0.000000 0.000000" << endl;
0040 ofs << " 11 21 2 0 0 0 -2.277502 -0.278261 131.300700 131.321161 0.330000 0.000000 0.000000 0.000000" << endl;
0041 ofs << " 12 11 213 4 25 26 0.233938 -0.337111 -0.113230 0.880819 0.771135 0.000000 0.000000 0.000000" << endl;
0042 ofs << " 13 1 11 3 0 0 -0.963526 0.472906 -15.976186 16.012200 0.000510 0.000000 0.000000 0.000000" << endl;
0043
0044
0045 for ( unsigned I = I0; I <= npart; I++ )
0046 {
0047
0048 double mass = 0.000510;
0049 double ptotal = (rand() % 4000 + 1) / 100.;
0050 double eta = (rand() % 900) / 100. - 4.5;
0051 double phi = (rand() % 100) / 100. * 2 * TMath::Pi();
0052
0053
0054
0055 double pt = ptotal / cosh(eta);
0056
0057
0058 TLorentzVector v1;
0059 v1.SetPtEtaPhiE(pt, eta, phi, ptotal);
0060
0061
0062
0063
0064
0065
0066
0067
0068
0069 unsigned status = 1;
0070 int pid = 11;
0071 unsigned parentI = 0;
0072 unsigned daughterfirstI = 0;
0073 unsigned daughterlastI = 0;
0074 double px = v1.Px();
0075 double py = v1.Py();
0076 double pz = v1.Pz();
0077 double E = v1.E();
0078 double m = mass;
0079 double vx = 0.0;
0080 double vy = 0.0;
0081 double vz = 0.0;
0082
0083 ofs << "\t" << I
0084 << "\t" << status << "\t" << pid << "\t" << parentI << "\t" << daughterfirstI << "\t" << daughterlastI << "\t"
0085 << px << "\t" << py << "\t" << pz << "\t" << E << "\t" << m
0086 << "\t" << vx << "\t" << vy << "\t" << vz << endl;
0087 }
0088
0089
0090 ofs << " =============== Event finished ===============" << endl;
0091
0092 }
0093
0094
0095 ofs.close();
0096 return 0;
0097 }