NU JPsi Simulations

From GlueXWiki
Jump to: navigation, search

Quick Start

  1. Copy /work/halld/home/sdobbs/jpsi_mc
  2. To load software configurations, use setup_jlab.csh script, e.g., "source setup_jlab.csh"
  3. An example script can be found in /work/halld/home/robison/jpsi_mc/test2/setenv.csh
  4. Optional, check out your own copy of latest software and build it:
    1. HDDS geometry package: svn co
    2. sim-recon: git clone
    3. Designate local build area by setting HALLD_MY (usually in setenv.csh)
    4. J/psi event generator: svn co - place in local build area
  5. Build/develop plugin:

Sean's: /work/halld/home/sdobbs/halld_my/plugins/ccbar_recon

Luke's: /work/halld/home/robison/Software/halld_my/plugins/ccbar_recon


Example files are located at:


The simulation chain looks like the following:

mcsmear hdgeant.hddm
hd_root -PPLUGINS=analysis_plugin hdgeant_smeared.hddm


  • bggen_jpsi generates the 4-vectors of the reaction. It is one of the many generator programs that does so. Its configuration file is "run_jpsi.ffr", which must be soft linked to "fort.15".
  • hdgeant simulates the path of the generated particles through the detector using GEANT. Its configuration file is "".
  • mcsmear simulates the response of the detector
  • hd_root is the main analysis program


  • When analyzing simulations (e.g. running hd_root) you should set the environment variable JANA_CALIB_CONTEXT in the following way: (setenv JANA_CALIB_CONTEXT "variation=mc")
  • There's current a bug in the code for certain run values. The current example files use run 1501.

Analysis Plans

Initial goals

  • 2-track invariant mass plots for
    • all events
    • as a function of E(beam)
    • as a function of -t
  • For a realistic event sample including J/psi, pi+pi-, and continuum e+e- events. Assume ratios of 4500:1 pi+pi-:J/psi events and 2.9e6:1 generated e+e-:J/psi events, where J/psi events are defined as J/psi -> e+e- events
    • Calculated rate assumes E(beam) > 8 GeV
    • J/psi rate calculated by integrating default bggen beam flux with two-gluon exchange model cross sections stored in bggen_jpsi and using Br(J/psi -> e+e- ) = 6%
    • pi+pi- rate calculated by integrating default bggen beam flux with assumed constant pi+pi- cross section of 14.5 ub
      • Note that this includes events for all M(pi+pi-) range, so these are dominated by rho -> pi+pi- decays.
      • TODO: verify pythia model and/or use generator developed by Justin
    • e+e- rate ~9200 ub assuming: <fill in>

Further Studies

Major requirement of this analysis is to have E/p distributions agree between data and simulation, which demands matching of calorimeter energy deposition for electrons and pions. Here are some ideas to check this:

  • Electrons
    • photon -> e+e- conversions (FCAL only, probably)
      • Select oppositely charged track pairs with invariant mass ~0, assuming electron mass, common vertex should be outside target volume
    • pi0 -> gamma e+ e- Dalitz decay
      • Select oppositely charged track pairs with invariant mass ~0, pair with photon, all three particles have invariant mass consistent with pi0 mass
  • Pions
    • gamma p -> p pi+ pi-, select rho events

Other important studies include:

  • Rate at which correct beam photon is selected

Final goals

  • Extraction of J/Psi cross sections as function of E(beam) and -t
  • Efficiency v. purity for different E/p cuts

Sean's notes from 20 Nov 2015

  • Probably the analysis that with the proton reconstructed will be our main analysis at the end, but for this, I don't really understand your choice of missing mass cut - I'd probably make it looser on the left and tighter on the right.
  • Looking at the invariant mass distribution as a function (or in slices) of beam energy is probably a good idea.
  • Regarding efficiencies: a good next step would be to see what the efficiency of each cut is. I wonder if the RF bunch cut is hurting our efficiency.
  • The comment that your angular cut is correlated with invariant mass is a good one - I wonder if any high-mass pi+pi- mass events are actually rejected by it.
  • Related to that: When calculating purities, you have to be careful about how you define you event samples: Using "all pi+pi-" and "all e+e-" events is kinda misleading, since when you look the final invariant mass distribution, you're basically ignoring all the rho0 events, since you're looking at events only with M > 1.5-2.0 GeV. So really you want to choose your E/p based only on the high mass events.
    • This is extra important because the E/p distribution will generally depend on the momentum of the particles - mainly you'll see this with pion (well, non-electrons) - the short version of the story is that those showers are often due to nuclear interactions that have a complicated energy dependence, as opposed to the purely electromagnetic showers electrons make.
  • So, let's look at the invariant mass distribution. One of the interesting features of the J/psi peak is its low mass tail. This can happen due to certain types of energy loss in the detector, but probably its due to bremsstrahlung - electrons are so light they often emit photons when going through material. So, it's worth looking for photons that are reconstructed near the electrons, adding them back in to the invariant mass.
    • My philosophy right now is this: The best quality events we get will be if we reconstruct the J/psi + proton, associated it with a beam photon, and do a kinematic fit. (at that point, things look good enough that who cares about bremsstrahlung). But these are rare events, so if we can increase the efficiency by, e.g., not using info from the photon beam, we should do that as well (so, let's say, two parallel analyses).
  • We should probably talk to some other people about the background issue, since I remember we were having problems with PYTHIA. Can you put together some thrown distributions from our current pi+pi- sample and the PYTHIA-based pi+pi- sample? At least the mass v. photon energy plot. After putting these together we'll think of what to do next.

Let me know if I need to generate anything.

  • We should generate continuum e+e- events and see how those affect the total final spectrum. I have a generator for that, but need to rework a couple of things. I'll see when I can get that done.