Support #11998

Provide a better way to simulate non-standard physics inside the nucleus

Added by Gianluca Petrillo about 5 years ago. Updated over 4 years ago.

Target version:
Start date:
Due date:
% Done:


Estimated time:


The "non-standard" in the subject of the issue refers to all processes that are not natively implemented by the supported generators (focus on GENIE).

This issue arises from the intention for MicroBooNE to simulate the phenomenology of a new process (boosted dark matter) elaborated by a theorist.
While this specific process may be worked around pretty easily, since it turns into just a single proton that can be simulated with SingleGen and it is not unreasonable to neglect nucleus interactions, other processes don't have that luxury.
For example, the procedure actually used by Jeremy Hewes for neutron-antineutron oscillation events is incredibly cumbersome.
The simulated bits are decay products from a $n\bar{n}$ produced inside the nucleus and a nucleus remnant. GENIE (or an alternative program) is required for the simulation of interactions of the process products with the remaining nucleons (final state interaction, FSI).
The procedure Jeremy follows is:
  1. run a custom GENIE-based executable outputting a ROOT file
  2. run a GENIE executable dumping the ROOT format into a text file
  3. run LArSoft with a source module1 parsing that text file to produce a HEPEVT file
The custom executable uses GENIE API, so it's conceivable that the same results could be obtained in LArSoft directly.
Possible better solutions may be:
  1. have a LArSoft module similar to GENIEGen that can run an arbitrary GENIE executable and perform the output conversion as needed
  2. have a class like nutools's GENIEHelper, with the additional flexibility to allow GENIE commands to be executed
  3. have a LArSoft module able to read a HEPEVT event and run GENIE's FSI on it:
    1. read a HEPEVT file
    2. fill GENIE with that information
    3. let GENIE run FSI
    4. collect the results in the same way as the standard GENIEGen module does

Note that solution 3 does not answer Jeremy Hewes's use case since GENIE is also used to define the initial state based on nucleus characteristics.

1 That module is fairly unsupported and required some adaption (performed by MicroBooNE) to work for Jeremy's use case.


#1 Updated by Robert Hatcher about 5 years ago

Note: My (R. Hatcher) near term plan -- to satisfy immediate DUNE Near Det Task Force needs -- involves writing a module to read standard GENIE gntp.*.ghep.root files which would in this case cut out the whole "squishing" into a text file (and thus losing some auxiliary information not represented in a HEPEVT format).

#2 Updated by Katherine Lato over 4 years ago

  • Assignee set to Robert Hatcher

Via email, from Robert, that module is already written. It currently lives in the DUNE NearDetector Task Force repository, but the plan is to migrate it to NuTools.

#3 Updated by Katherine Lato over 4 years ago

  • Status changed from New to Assigned

Also available in: Atom PDF