Back to home page

EIC code displayed by LXR

 
 

    


Warning, /JPsiDataSet/validation/README.md is written in an unsupported language. File is not indexed.

0001 # Dataset details and validation
0002 
0003 Exclusive electroproduction of J/psi off the proton (e p -> e' J/psi p', J/psi -> e+ e- with radiative decay) at 9x130 and 9x275 GeV. The datasets are part of Exclusive_Diffractive_JPSI_ABCONV_9x130 and Exclusive_Diffractive_JPSI_ABCONV_9x275. The running instructions are in the [top-level README](../README.md).
0004 
0005 ## Datasets
0006 
0007 All samples use run number (random seed) 1, 1 < Q^2 < 10 GeV^2 and 0.001 < y < 1.
0008 
0009 Original dataset:
0010 
0011 | Beam | Afterburner preset | Luminosity | Events | Total accepted cross section [nb] | Partial accepted cross section with BR [nb] | Acceptance [%] |
0012 |---|---|---|---|---|---|---|
0013 | 9x130 | ip6_ep_130x9 | 1 fb^-1 | 19,034 | 3.187455e-01 | 1.903229e-02 | 99.994747 |
0014 | 9x275 | ip6_hiacc_275x9 | 2.5 fb^-1 | 68,977 | 4.620712e-01 | 2.759027e-02 | 99.998550 |
0015 
0016 Location: root://dtn-eic.jlab.org//work/eic3/users/Olaiya/9x130_GeV/ and root://dtn-eic.jlab.org//work/eic3/users/Olaiya/9x275_GeV/
0017 
0018 New dataset (Sept 2026):
0019 
0020 | Beam | Afterburner preset | Luminosity | Events | Total accepted cross section [nb] |
0021 |---|---|---|---|---|
0022 | 9x130 | ip6_ep_130x9 | 52 fb^-1 | 982,976 | 3.165866e-01 |
0023 | 9x275 | ip6_hiacc_275x9 | 35 fb^-1 | 961,584 | 4.601208e-01 |
0024 
0025 Location: root://dtn-eic.jlab.org//work/eic3/users/Olaiya/new_9x130_GeV/ and root://dtn-eic.jlab.org//work/eic3/users/Olaiya/new_9x275_GeV/
0026 
0027 The new and original datasets are not statistically independent, see [Overlap between datasets](#overlap-between-datasets).
0028 
0029 Generator level plots: c1.pdf c2.pdf c4.pdf c5.pdf c6.pdf (not included in this repository).
0030 
0031 ## Configuration files and lAger versions
0032 
0033 jpsi-9on130.disp-jpsi-00-electron.json and jpsi-9on275.disp-jpsi-00-electron.json are the lAger configurations of the new dataset. The original dataset used the same files with "lumi" set to 1 and 2.5; these versions are in the git history (git log -p jpsi-9on130.disp-jpsi-00-electron.json).
0034 
0035 The configurations for the other beam energies (5x41, 5x100, 10x100, 10x130, 10x250, 18x275) were made from the eic examples in https://eicweb.phy.anl.gov/monte_carlo/lager/-/tree/master/examples/eic for the earlier samples generated with lAger 3.6.1, and are tagged lAger3.6.1-1.0.
0036 
0037 Both the original and the new 9x130 and 9x275 datasets were generated with lAger 3.7.0, built locally with modifications.
0038 
0039 The new 9x130 and 9x275 datasets were processed with afterburner (abconv) 0.2.1.
0040 
0041 Afterburner presets: the presets for 9x130 and 9x275 match the beam parameters stored in the new dataset files, and ip6_ep_130x10 matches the beam parameters of an existing 10x130 sample. The other presets in the top-level README follow the original instruction to use high acceptance where the afterburner provides it; they were not checked against existing samples.
0042 
0043 ## Validation and caveats
0044 
0045 Checked in Oct 2026 against lAger 3.7.0 built in eic_xl:26.10-stable (ROOT 6.40.04, PHOTOS 3.64), using the same configurations and seed.
0046 
0047 lAger 3.7.0 fix for ROOT 6.40: the lAger installed in eic-shell 26.09 and later crashes at startup, because ROOT 6.40 no longer accepts a negative PDG code with stable=true. The fix is to register the "Unknown" particle in src/lager/core/pdg.cc with stable=false instead of true; this does not change the generated events.
0048 
0049 Production level: reproduced exactly. For the original 9x130 sample the number of events, the cross section and Q2, y, W, t and the J/psi, scattered electron and recoil proton momenta are identical event by event. For the first 20,000 events of the new 9x130 and 9x275 samples, the Lorentz-invariant quantities Q2, y, W, t and M(J/psi) are identical event by event after the afterburner. An independent seed (run 2, 9x130) agrees statistically.
0050 
0051 Radiative J/psi decay (PHOTOS): not reproduced. The current build radiates slightly more often: events with no FSR photon go from 55.3% to 53.6% and the mean number of FSR photons from 0.596 to 0.615, with a correspondingly larger low-mass tail in M(e+e-). This is seen at both beam energies, and with two seeds at 9x130. The original and new datasets were produced with the same locally modified lAger build and a different PHOTOS than the current eic-shell, so their radiative decay cannot be reproduced exactly with the current software.
0052 
0053 ### Statistical independence of the radiative decay
0054 
0055 lAger does not seed PHOTOS, which uses its own random numbers. Runs with different run numbers therefore do not have independent radiative decays. With the current build, runs 1 and 2 at 9x130 have the same number of FSR photons in 73.5% of events (correlation 0.55), compared with about 41% expected for independent samples (41.5% between the original sample and run 1, which use different PHOTOS builds). The production kinematics of the two runs are independent. Samples from several runs combined for more statistics have correlated FSR.
0056 
0057 ### Overlap between datasets
0058 
0059 lAger produces the same sequence of events for the same seed, so a larger luminosity only adds events at the end. The original 9x130 sample (19,034 events) is identical, including the radiative decay, to the first 19,034 events of the new 9x130 sample. The original 9x275 sample is most likely the first 68,977 events of the new 9x275 sample; this could not be checked because its generator output is not available. The original and new samples must not be combined or treated as independent.
0060 
0061 ## Validation scripts
0062 
0063 Run inside eic-shell.
0064 
0065 compare.py - compares generator-level HepMC3 ASCII samples (kinematics, decay leptons, FSR) and writes overlay plots. The first sample is the reference.
0066 
0067 python3 compare.py OUTDIR reference=old.hepmc patched=new.hepmc
0068 
0069 compare_invariants.py - event-by-event comparison using only Lorentz-invariant quantities, so afterburned events can be compared with generator output.
0070 
0071 python3 compare_invariants.py newset=afterburned.hepmc patched=generator.hepmc
0072 
0073 fsr_corr.py - checks whether the FSR photon multiplicity is correlated between runs with different seeds.
0074 
0075 python3 fsr_corr.py reference.hepmc seed1.hepmc seed2.hepmc
0076 
0077 tree2ascii.cc - converts the first N events of a .hepmc3.tree.root file back to HepMC3 ASCII.
0078 
0079 g++ -O2 tree2ascii.cc -o tree2ascii $(HepMC3-config --cflags --libs) -lHepMC3rootIO $(root-config --cflags --libs)
0080 
0081 ./tree2ascii input.hepmc3.tree.root output.hepmc 20000