There are really two things to be done here: 1) Add resonance and elastic cross sections; 2) Add resonance and elastic PV asymmetries; For 1), it's simply to find/research for the latest resonance structure functions and elastic form factor fits, then add them to the code. One difficulty would be to judge for each event whether the res, elastic, or the DIS formula should be used. One can try cutson W: if (event is elastic) then use elastic elseif (event is res) then use res else use DIS <- this is the cross_section() you already have endif But there might be problem between different regions, i.e. the transition may not be smooth. Another way is to consult if there is already some way to deal with the transition region. See below Note 1: Note 1: Latest resonance F2 and R's are from Hall C data (Thia Keppel or Eric Christy are the person to ask for the Hall C code. Peter Bosted is a good person to ask for advice too since he usually have an answer to whatever question you may have). The Hall C code may already have smooth transitions built in; Note 2: Latest form factor fits are almost "everywhere". For 2), the research part will take some time: 2a) Find in HAPPEX thesis and references on formula for elastic PV asymmetries; Put in form factor fits for calculation; 2b) Find in literature (SLAC SPIRES search) on data or formula for resonance PV asymmetries; 2c) Study the resonance cross section (structure function) code from part 1), and use the same parametrization method to "create" a resonance structure for the PV asymmetry for resonances. Of course, if there is no data, then you can put in arbitrary amplitude and width for each resonance.